Files
kandev/apps/cli/package.json
T
José Almeida ac3e8eeb7d fix(release): pin optionalDependencies to bootstrap version in committed source
CI was failing because apps/cli/package.json declared optionalDependencies
at 0.16.0 but only 0.0.0-bootstrap exists on npm for those packages. The
lockfile couldn't resolve, and `pnpm install --frozen-lockfile` rejected
the working tree.

Pin optionalDependencies to 0.0.0-bootstrap in the committed source so the
lockfile resolves cleanly. The release workflow now bumps them to the real
version inside publish-npm.sh, just before publishing main kandev — at
which point the matching @kdlbs/runtime-*@VERSION tarballs have already
been published earlier in the same step. This avoids the chicken-and-egg
where the prepare job tried to bump optional deps to a version that didn't
yet exist on npm.

Workflow changes:
- prepare job: only bumps the main package version, not optional deps.
- publish-npm.sh: rewrites optionalDependencies to $VERSION right before
  the main `npm publish`, after the 5 runtime packages have been published.

The published kandev@X.Y.Z still has its optionalDependencies pinned to
matching @kdlbs/runtime-*@X.Y.Z. Only the local source uses the bootstrap
pin for development convenience.
2026-05-04 22:44:26 +01:00

46 lines
1.2 KiB
JSON

{
"name": "kandev",
"version": "0.17.0",
"private": false,
"description": "Launcher for Kandev — manage tasks, orchestrate agents, review changes, and ship value",
"license": "AGPL-3.0-only",
"type": "commonjs",
"bin": {
"kandev": "bin/cli.js"
},
"main": "dist/cli.js",
"files": [
"bin",
"dist"
],
"engines": {
"npm": ">=7"
},
"optionalDependencies": {
"@kdlbs/runtime-linux-x64": "0.0.0-bootstrap",
"@kdlbs/runtime-linux-arm64": "0.0.0-bootstrap",
"@kdlbs/runtime-darwin-x64": "0.0.0-bootstrap",
"@kdlbs/runtime-darwin-arm64": "0.0.0-bootstrap",
"@kdlbs/runtime-win32-x64": "0.0.0-bootstrap"
},
"dependencies": {
"tar": "^7.5.11",
"tree-kill": "^1.2.2"
},
"devDependencies": {
"@types/node": "^20",
"esbuild": "^0.24.0",
"tsx": "^4.15.7",
"typescript": "^5",
"vitest": "^1.6.0"
},
"scripts": {
"dev": "unset npm_config_prefix && tsx src/cli.ts",
"build": "tsc -p tsconfig.json",
"bundle": "esbuild dist/cli.js --bundle --platform=node --format=cjs --outfile=dist/cli.bundle.js",
"start": "node dist/cli.js",
"test": "vitest run",
"prepublishOnly": "pnpm build"
}
}