fix(cli): pin @types/bun and @bunli/* to concrete versions to stop CI type-drift (#226)

CI runs `bun install` (not --frozen-lockfile) and the CLIs' package.json
pinned @types/bun, @bunli/core, and @bunli/utils to "latest", so each fresh
install could resolve a different version than the lockfile. When a "latest"
bun-types resolved that didn't satisfy the tsconfig (lib: ["ESNext"] with no
DOM, types: ["bun-types"] as the only source of Response/URL/fetch globals),
`bun run typecheck` failed across every .ts file - a transient red on PRs that
never touched TypeScript (observed on #207, which changes only SKILL.md).

Pin the three previously-floating dev/framework deps to the versions the
lockfiles already resolve, so behavior is unchanged and the drift class is
gone:
- @types/bun: latest -> 1.3.14  (all 6 CLIs)
- @bunli/core:  latest -> 0.9.1  (jobbank, jobdanmark, jobindex, jobnet)
- @bunli/utils: latest -> 0.6.0  (jobbank, jobdanmark, jobindex, jobnet)

The ^-ranged deps (node-html-parser, zod, typescript) are left as-is; they are
semver-guarded and were not the cause. No lockfiles committed (bun.lock stays
gitignored per existing policy). Verified: all 6 CLIs install and `bun run
typecheck` clean with the pins.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Mads Lorentzen
2026-07-22 17:18:46 +02:00
committed by GitHub
co-authored by Claude Opus 4.8
parent 905f6e0946
commit a68028bc54
6 changed files with 14 additions and 14 deletions
@@ -15,6 +15,6 @@
"dependencies": {}, "dependencies": {},
"devDependencies": { "devDependencies": {
"typescript": "^5.4.0", "typescript": "^5.4.0",
"@types/bun": "latest" "@types/bun": "1.3.14"
} }
} }
@@ -13,13 +13,13 @@
"typecheck": "tsc --noEmit" "typecheck": "tsc --noEmit"
}, },
"dependencies": { "dependencies": {
"@bunli/core": "latest", "@bunli/core": "0.9.1",
"@bunli/utils": "latest", "@bunli/utils": "0.6.0",
"node-html-parser": "^6.1.13", "node-html-parser": "^6.1.13",
"zod": "^3.23.0" "zod": "^3.23.0"
}, },
"devDependencies": { "devDependencies": {
"@types/bun": "latest", "@types/bun": "1.3.14",
"typescript": "^5.4.0" "typescript": "^5.4.0"
} }
} }
@@ -13,13 +13,13 @@
"typecheck": "tsc --noEmit" "typecheck": "tsc --noEmit"
}, },
"dependencies": { "dependencies": {
"@bunli/core": "latest", "@bunli/core": "0.9.1",
"@bunli/utils": "latest", "@bunli/utils": "0.6.0",
"node-html-parser": "^6.1.0", "node-html-parser": "^6.1.0",
"zod": "^3.23.0" "zod": "^3.23.0"
}, },
"devDependencies": { "devDependencies": {
"typescript": "^5.4.0", "typescript": "^5.4.0",
"@types/bun": "latest" "@types/bun": "1.3.14"
} }
} }
@@ -13,13 +13,13 @@
"typecheck": "tsc --noEmit" "typecheck": "tsc --noEmit"
}, },
"dependencies": { "dependencies": {
"@bunli/core": "latest", "@bunli/core": "0.9.1",
"@bunli/utils": "latest", "@bunli/utils": "0.6.0",
"node-html-parser": "^6.1.13", "node-html-parser": "^6.1.13",
"zod": "^3.23.0" "zod": "^3.23.0"
}, },
"devDependencies": { "devDependencies": {
"typescript": "^5.4.0", "typescript": "^5.4.0",
"@types/bun": "latest" "@types/bun": "1.3.14"
} }
} }
@@ -13,12 +13,12 @@
"typecheck": "tsc --noEmit" "typecheck": "tsc --noEmit"
}, },
"dependencies": { "dependencies": {
"@bunli/core": "latest", "@bunli/core": "0.9.1",
"@bunli/utils": "latest", "@bunli/utils": "0.6.0",
"zod": "^3.23.0" "zod": "^3.23.0"
}, },
"devDependencies": { "devDependencies": {
"typescript": "^5.4.0", "typescript": "^5.4.0",
"@types/bun": "latest" "@types/bun": "1.3.14"
} }
} }
@@ -15,6 +15,6 @@
"dependencies": {}, "dependencies": {},
"devDependencies": { "devDependencies": {
"typescript": "^5.4.0", "typescript": "^5.4.0",
"@types/bun": "latest" "@types/bun": "1.3.14"
} }
} }