Repository navigation
build: upgrade bun to 1.4.3 and use bun check for typecheck - #126
Conversation
Bump @types/bun and bun-types to 1.4.3. This pulls @types/node 26, which keeps the process.on overload typechecking.
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
There was a problem hiding this comment.
Code Review
This pull request updates the Bun version from 1.3.5 to 1.4.3 in mise.toml and package.json, updating the lockfile dependencies accordingly. Additionally, it replaces the typecheck script across multiple packages to use bun check instead of tsc --noEmit. The reviewer recommends explicitly declaring @types/node in the root package.json devDependencies to avoid fragile lockfile-only resolution and ensure build robustness.
[Medium impact] The PR appears safe to merge; the previous finding is fixed and no new actionable issues were found. SummaryPins Bun 1.4.3 for local development and CI, and switches seven workspace checks to
Reviews (2) · Last reviewed commit: "chore: apply AI code review suggestions" · Reviewed by Greptile |
Declare @types/node ^26.6.5 explicitly and raise the Bun minimum to 1.4.3 in engines and ARCHITECTURE.md.
|
/gemini review |
|
There was a problem hiding this comment.
Review completed against the latest diff
Reply with feedback, questions, or to request a fix.
Turn on auto-fix | Re-trigger cubic
There was a problem hiding this comment.
No issues found across 13 files
Architecture diagram
sequenceDiagram
participant Dev as Developer
participant Mise as Mise Toolchain
participant CI as GitHub Actions
participant Turbo as Turborepo Orchestrator
participant PKG as Workspace Packages
participant Bun as Bun Runtime (1.4.3)
participant TSC as TypeScript Compiler
participant Lock as bun.lock
Note over Dev,Bun: Toolchain Version Pinning
Dev->>Mise: Run `mise install`
Mise->>Bun: Install/activate Bun 1.4.3
Dev->>Bun: Run `bun install --frozen-lockfile`
Bun->>Lock: Resolve dependencies (1.4.3 lockfile)
Note over CI,Turbo: CI Pipeline
CI->>CI: Setup Bun 1.4.3 (pinned, not latest)
CI->>Turbo: Run `turbo typecheck`
Note over Turbo,PKG: Typecheck Pipeline
Turbo->>PKG: Dispatch typecheck task
PKG->>PKG: Run "typecheck" script
PKG->>Bun: NEW: `bun check -p tsconfig.json`
alt Workspace packages (binaries, code, dora, format, logger, lsp, hooks/scripts)
Bun->>TSC: Invoke built-in TypeScript engine (multithreaded)
TSC-->>Bun: Same diagnostics as tsc
Bun-->>PKG: Typecheck results
else Non-workspace (examples/lsp-typescript)
PKG->>TSC: Keep `tsc --noEmit` (unchanged)
TSC-->>PKG: Typecheck results
end
Note over PKG,Bun: Type Compatibility
PKG->>Lock: Resolve bun-types 1.4.3 + @types/node 26.6.5
Lock-->>Bun: Provide merged process.on() overloads
Bun->>PKG: OK: process.on('SIGTERM'/'SIGINT') compiles (TS2345 resolved)
Note over PKG,Bun: Success Path
Bun-->>Turbo: All checks pass
Turbo-->>CI: Pipeline green
Note over CI,PKG: Unhappy Path (pre-existing)
CI->>PKG: Integration tests (code-lsp)
PKG->>Bun: Run test suite
Bun-->>PKG: 8 pre-existing failures (VueServer/DartServer)
PKG-->>CI: Failures self-contained (also fail on main)
CI->>CI: Accept known failures (not from this PR)
There was a problem hiding this comment.
Code Review
This pull request upgrades the Bun package manager version from 1.3.5 to 1.4.3 across the repository's configuration files and updates the typecheck scripts in several package.json files to use bun check. However, feedback indicates that bun check is not a valid Bun command and will cause runtime errors, suggesting to revert to tsc or use bun x tsc --noEmit instead.
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |



Summary
Upgrade Bun to 1.4.3 and switch the
typecheckscripts to Bun 1.4's built-in type checker (bun check), which reports the same errors astscand runs multithreaded.What changed
mise.tomland thepackageManagerfield, and refreshbun.lock.bun-version: 1.4.3(waslatest) in the lint, typecheck, and test jobs of.github/workflows/ci.ymland in.github/workflows/release-please.yml, so CI matches the local toolchain.typecheckfromtsc -p tsconfig.json --noEmittobun check -p tsconfig.jsoninpackages/{binaries,code,dora,format,logger,lsp}andhooks/scripts. The rootturbo typecheckis unchanged.bun.lock,@types/bunandbun-typesmove to 1.4.3, and the transitive@types/nodemoves from 25.0.3 to 26.6.5.Scope
examples/lsp-typescriptis not a workspace and keepstsc --noEmit.Tradeoffs
bun-types1.4.3 declares aprocess.on("memoryPressure")overload onProcess. With@types/node25,Processinheritson()fromInternalEventEmitter<ProcessEventMap>, so the new overload hides it. Thenprocess.on('SIGTERM'|'SIGINT')inpackages/lsp/src/multiplexer.ts:306–307fails with TS2345 under bothtscandbun check.@types/node26 declareson()directly onProcess, so the overloads merge. The lockfile-only bump to@types/node26 is therefore required.Blast radius
Re-resolving the lockfile with Bun 1.4 also deduped some lint-tooling dependencies (
jsonc-eslint-parser3.1.0,yaml2.9.0) and synced stale workspace versions. These are lockfile-only changes. Contributors need Bun 1.4.3 (mise install).Verification
bun install --frozen-lockfilereports no changes.bun run typecheckpasses for all 7 packages, andbun run lintpasses.mainwith Bun 1.3.5, so they are pre-existing and depend on external language servers.Related issue
No linked issue.
Checklist
bun run test) — no new tests; the 8 failures listed above are pre-existingbun run lint)BREAKING CHANGE:note is includedSummary by cubic
Upgrades Bun to 1.4.3 and switches the
typecheckscripts fromtscto Bun's built-inbun check, which reports the same errors more quickly.mise.toml, thepackageManagerandenginesfields,ARCHITECTURE.md, and CI workflows; previously CI usedlatestand local dev used 1.3.5.tsc -p tsconfig.json --noEmitwithbun check -p tsconfig.jsonin all workspace packages exceptexamples/lsp-typescript, which is not a workspace.bun checkreports the same errors astscand runs multithreaded.Migration
miseneed to runmise installto pick up Bun 1.4.3.@types/bun/bun-typesmove to 1.4.3 and@types/nodebecomes a direct dependency at version 26.6.5; the bump is required becausebun-types1.4.3 hidesprocess.onoverloads from@types/node25.Written for commit b29bf34. Summary will update on new commits.