mirror of
https://github.com/mauriceboe/TREK.git
synced 2026-10-19 05:26:47 +00:00
d110f8f0ce
A freshly scaffolded plugin could not load anywhere: the npm package is
ESM-only (no require condition in its exports map), so the scaffold's
require('trek-plugin-sdk') threw ERR_PACKAGE_PATH_NOT_EXPORTED under
`trek-plugin dev` - and the runtime injection the wiki promised for the
plugin child never existed, so a packed plugin (node_modules stripped)
crashed with MODULE_NOT_FOUND after a real install.
- plugin child: inject a frozen {definePlugin, PLUGIN_API_VERSION} shim
for require('trek-plugin-sdk'); subpaths fail with a pointed error
- trek-plugin dev: inject the exact same shim, so a fresh scaffold runs
with zero npm install and dev parity with production holds
- npm package: ship a real CommonJS build (dist/cjs + require export
conditions) so the installed package also requires cleanly on Node 18+
- create: scaffold a package.json (type commonjs, SDK as devDependency,
npx scripts); print resolvable `npx trek-plugin-sdk ...` hints
- wiki: package.json in the scaffold tree + publishing checklist, and
document the zero-install dev flow
44 lines
1.6 KiB
JSON
44 lines
1.6 KiB
JSON
{
|
|
"name": "trek-plugin-sdk",
|
|
"version": "1.2.1",
|
|
"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",
|
|
"author": "mauriceboe",
|
|
"homepage": "https://github.com/mauriceboe/TREK/wiki/Plugin-Development",
|
|
"repository": { "type": "git", "url": "git+https://github.com/mauriceboe/TREK.git", "directory": "plugin-sdk" },
|
|
"bugs": { "url": "https://github.com/mauriceboe/TREK/issues" },
|
|
"engines": { "node": ">=18" },
|
|
"publishConfig": { "access": "public" },
|
|
"main": "./dist/index.js",
|
|
"types": "./dist/index.d.ts",
|
|
"exports": {
|
|
".": {
|
|
"import": { "types": "./dist/index.d.ts", "default": "./dist/index.js" },
|
|
"require": { "types": "./dist/cjs/index.d.ts", "default": "./dist/cjs/index.js" }
|
|
},
|
|
"./testing": {
|
|
"import": { "types": "./dist/mock-host.d.ts", "default": "./dist/mock-host.js" },
|
|
"require": { "types": "./dist/cjs/mock-host.d.ts", "default": "./dist/cjs/mock-host.js" }
|
|
}
|
|
},
|
|
"bin": {
|
|
"trek-plugin-sdk": "./dist/cli/trek-plugin.js",
|
|
"trek-plugin": "./dist/cli/trek-plugin.js",
|
|
"create-trek-plugin": "./dist/cli/create.js"
|
|
},
|
|
"files": ["dist"],
|
|
"scripts": {
|
|
"build": "tsc -p tsconfig.json && tsc -p tsconfig.cjs.json && node scripts/finish-cjs.mjs",
|
|
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
"test": "vitest run",
|
|
"prepublishOnly": "npm run build && npm test"
|
|
},
|
|
"devDependencies": {
|
|
"@types/node": "^22.0.0",
|
|
"typescript": "^5.6.0",
|
|
"vitest": "^2.1.0"
|
|
},
|
|
"keywords": ["trek", "plugin", "sdk"]
|
|
}
|