build: migrate from pnpm to bun as package manager#28
Merged
vanceingalls merged 3 commits intomainfrom Mar 24, 2026
Merged
Conversation
VA-851 [Pre-Migration] Configure ESLint, Prettier, and conventional commits
ContextThe codebase currently has no linting or formatting enforcement. Code is clean by convention, but OSS contributors need automated guardrails. Team feedback: "I love when an open source repo has this." What to do
Why before portWe want the OSS repo's first commit to already have these configs in place and all code conforming. No "fix linting" commits in public history. |
This was referenced Mar 23, 2026
Collaborator
Author
This was referenced Mar 23, 2026
44bcd24 to
89c1776
Compare
5d0bd45 to
601afe2
Compare
89c1776 to
432910e
Compare
601afe2 to
cac6c16
Compare
69344f0 to
f4dd394
Compare
cac6c16 to
1d41ad2
Compare
ed54754 to
5db2d37
Compare
1d41ad2 to
54ea1eb
Compare
5db2d37 to
dd29d9c
Compare
miguel-heygen
approved these changes
Mar 24, 2026
54ea1eb to
b2f5350
Compare
dd29d9c to
0d8ca40
Compare
Keep pnpm for publish workflow only (publishConfig overrides + provenance). Bun handles install, run, and exec for all other workflows. - Add workspaces field to root package.json for bun workspace support - Replace pnpm setup with oven-sh/setup-bun in CI and release workflows - Update all scripts to use bun run / bun run --filter / bunx - Replace npx with bunx in lefthook hooks - Update CONTRIBUTING.md with bun commands - Delete pnpm-lock.yaml, add bun.lock - Keep pnpm-workspace.yaml for publish workflow compatibility Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
0d8ca40 to
5b8e57f
Compare
b2f5350 to
a6c5e08
Compare
5b8e57f to
0c5cc70
Compare
4 tasks
1 task
3 tasks
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
publishConfigoverrides +--provenance)bun installreplacespnpm install(~4-5x faster cold installs)bun runreplacespnpm run(~28x less startup overhead)bunxreplacesnpxin lefthook hooksoven-sh/setup-bun@v2+actions/setup-node@v4)pnpm-lock.yamlremoved,bun.lockgeneratedpnpm-workspace.yamlkept for publish compatibilitypackages/cli/src/) unchanged — shipped to end users who may not have bunPart 5/5 of VA-851
Test plan
bun run lint— 0 errorsbun run format:check— all files passbun run build— all 5 packages buildpublish.ymlunchanged (pnpm stays for npm publishing)bunx/bun runreferences in shipped source code (packages/*/src/)