mirror of
https://github.com/mauriceboe/TREK.git
synced 2026-10-19 05:26:47 +00:00
7318ee0d42
The author-facing SDK, a standalone dependency-free package (not wired into the app workspaces, so it can't affect the app build). - definePlugin + the full plugin type surface (PluginContext, PluginRoute, PluginJob, PhotoProvider, CalendarSource) mirroring what the isolated runtime injects; PLUGIN_API_VERSION. - createMockHost (trek-plugin-sdk/testing): a PluginContext that enforces the SAME permission model + membership checks, so authors can unit-test that their plugin degrades gracefully — no running TREK needed. - validateManifest: the exact rules the registry CI runs, so a local pass predicts a CI pass. - CLIs: create-trek-plugin (scaffolds a working plugin + README + starter iframe) and trek-plugin validate (manifest + README sanity). Consolidating the server loader to import this shared validator is a follow-up.
30 lines
903 B
JSON
30 lines
903 B
JSON
{
|
|
"name": "trek-plugin-sdk",
|
|
"version": "1.0.0",
|
|
"description": "SDK for building TREK plugins: types, definePlugin, a mock host, manifest validation, and the create-trek-plugin / trek-plugin CLIs.",
|
|
"type": "module",
|
|
"license": "MIT",
|
|
"main": "./dist/index.js",
|
|
"types": "./dist/index.d.ts",
|
|
"exports": {
|
|
".": { "types": "./dist/index.d.ts", "import": "./dist/index.js" },
|
|
"./testing": { "types": "./dist/mock-host.d.ts", "import": "./dist/mock-host.js" }
|
|
},
|
|
"bin": {
|
|
"create-trek-plugin": "./dist/cli/create.js",
|
|
"trek-plugin": "./dist/cli/trek-plugin.js"
|
|
},
|
|
"files": ["dist"],
|
|
"scripts": {
|
|
"build": "tsc -p tsconfig.json",
|
|
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
"test": "vitest run"
|
|
},
|
|
"devDependencies": {
|
|
"@types/node": "^22.0.0",
|
|
"typescript": "^5.6.0",
|
|
"vitest": "^2.1.0"
|
|
},
|
|
"keywords": ["trek", "plugin", "sdk"]
|
|
}
|