feat: migrate from npm to bun package manager#766
Merged
Conversation
072aadd to
c70d782
Compare
evan-gray
reviewed
Dec 12, 2025
Contributor
evan-gray
left a comment
There was a problem hiding this comment.
just leaving comments for now as it seems like something is failing in CI
83f4409 to
ea0fac5
Compare
17aa623 to
831a1b4
Compare
- Replace npm with bun across all Dockerfiles, Makefiles, CI workflows - Add bunfig.toml with hoisted linker for npm-compatible node_modules - Add trustedDependencies for native packages with JS fallbacks - Update GitHub Actions to use oven-sh/setup-bun@v2 - Update documentation and test file comments - Preserve npm pack and registry publish commands as requested - Standardize test script naming (test:ci → test in solana) - Update Anchor.toml to reference correct test script
831a1b4 to
b74397d
Compare
Remove Android SDK (~14GB) to prevent 'no space left on device' errors when loading cli-local Docker image to local daemon.
dvgui
previously approved these changes
Jan 9, 2026
dvgui
previously approved these changes
Jan 9, 2026
1837fb9 to
e9cbf5e
Compare
evan-gray
requested changes
Jan 10, 2026
dbcae88 to
578e422
Compare
Instead of stripping workspaces from package.json (which requires bun install and risks dependency drift), create dummy package.json files for missing workspace directories. This allows using bun ci with frozen lockfile, ensuring reproducible builds.
- Run Jest with Node instead of Bun (compatibility issues) - Run jest from repo root directory - Add init container with health checks for all services - Use curl image for proper HTTP POST support in health checks - Use container port 8545 for eth-devnet2 headless service - Configure test RPC endpoints for Kubernetes service DNS names - Set CI=true env var for proper test configuration
4c576df to
1349092
Compare
evan-gray
previously approved these changes
Jan 12, 2026
evan-gray
approved these changes
Jan 12, 2026
evgeniko
reviewed
Jan 12, 2026
evgeniko
approved these changes
Jan 12, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Migrates the entire repository from npm to bun for package management, improving install speed and consistency.
Core Changes
npm install/npm ciwithbun install/bun cinpm runwithbun run/bunxnpxwithbunxoven/bun:1.3.4-alpinebunfig.tomlwith supply chain protection (24hr minimum release age)oven-sh/setup-bun@v2package-lock.json,cli/package-lock.json,cli/bun.lockb)Bun Compatibility Fixes
bun ciwith dummy workspaces to maintain lockfile integrity and prevent dependency drift.CI Improvements
Tilt Test Stability
CI=trueenv var for proper test configurationcache_fromfor Docker layer cachingbackoffLimitto 2 for retry resiliencePreserved
npm packcommands (required for packaging)npm publishcommands (required for registry publishing)Related PRs
Test plan
sdk.yml,cli.yml,solana.yml,prettier.yml)Dockerfile.cli,sdk/Dockerfile,solana/Dockerfile)bun install && bun run build && bun run testpasses