Switch the package manager from pnpm to Bun 1.4 - #18
Merged
Conversation
Pin bun@1.4.0, replace the pnpm workspace and lockfile with bun workspaces and bun.lock, and update scripts, CI, and docs to match. Co-authored-by: Ben Davis <bmdavis419@users.noreply.github.com>
📝 WalkthroughWalkthroughThe repository migrated package management and command execution from pnpm to Bun. CI, release scripts, local tooling, workspace scripts, deployment skills, and documentation now use Bun 1.4 commands. ChangesBun migration
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
Comment |
bmdavis419
marked this pull request as ready for review
August 21, 2026 04:11
Switch this repo from pnpm 11 to Bun 1.4.0, the current stable release.
What changed
packageManageris nowbun@1.4.0, withworkspacesinpackage.jsoninstead ofpnpm-workspace.yamlpnpm-lock.yamlis gone;bun.lockis the lockfilescripts/release.sh, andscripts/create-local-key.mjscallbun/bun xoven-sh/setup-bunandbun install --frozen-lockfilepostinstallchmods@effect/tsgo'slib/tscon Linux, which is still shipped without the executable bitHow to run things now
bun installbun check/bun run test/bun releasebun adrive …for the repo CLIapps/web:cd apps/web && bun x wrangler …bun testis Bun's own runner, so the workspace Vitest suite isbun run test.Node 26 is still required. The published CLI bundle stays a Node script.
Verified locally on Bun 1.4.0 / Node 26.7.0
bun install --frozen-lockfile(356 installs, lockfile unchanged)bun run format:checkbun run check(shared, CLI, web, plus forbidden-pattern scan)bun run test(225 tests: 16 shared, 192 web, 17 CLI)bun adrive --versionandbun --filter @adrive/cli buildbun audit --prod(no vulnerabilities)Note
Switch package manager from
pnpmtobun1.4pnpmtobun.bun.lock, setsengines.bunto>=1.4.0, and defines theworkspacesarray in package.json.oven-sh/setup-bunand runs checks, tests, and builds viabun run.packageManagerin package.json now specifiesbun@1.4.0instead ofpnpm@11.10.0.Macroscope summarized cb2e73d.
Greptile Summary
This change replaces pnpm with Bun 1.4 across workspace configuration, local commands, release automation, CI, and documentation. It also adds an install-time executable permission repair for the Effect TypeScript compiler.
No defects were confirmed.
T-Rex validation blocked
The required package manager runtime is missing: only Bun 1.3.14 is available, while the project requires Bun 1.4 or newer. The available version rejects
bun.locklockfileVersion 2 before dependencies can install, so installation, postinstall, workspace checks, tests, and CLI build validation could not run under a supported Bun version. The same frozen-install control completed successfully on the base revision with the available runtime.Confidence Score: 5/5
No confirmed product defect blocks merging this migration.
No final findings were emitted. The package-manager migration could not be exercised with Bun 1.4 or newer because that required runtime is unavailable.
Files Needing Attention: When Bun 1.4 or newer is available, validate
bun.lock, the rootpackage.jsonscripts and postinstall hook,apps/web/package.json,packages/cli/package.json, and.github/workflows/cli-release.ymlwith a fresh frozen install and the full check, test, and release-build commands.What T-Rex did
Reviews (1): Last reviewed commit: "Switch the package manager from pnpm to ..." | Re-trigger Greptile