feat: migrate from Node.js/npm to Bun #149
Open
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
oven-sh/setup-bunChanges
package.jsonpackageManager, update scripts, remove eslintConfigbunfig.tomlvite.config.tsindex.htmlvitest.config.tsplaywright.config.tsscripts/*.sh.github/workflows/*.ymlREADME.md,CLAUDE.mdRemoved
.nvmrc- No longer neededpackage-lock.json- Replaced bybun.lockwebpack.config.js- Replaced by ViteeslintConfigin package.json - Using BiomeTest plan
bun install- Installs dependencies correctlybun start- Dev server runs on port 3000bun run build- Production build succeedsbun run test:run- All 65 tests passbun run typecheck- No TypeScript errorsbun run format && bun run lint- No issues🤖 Generated with Claude Code
Note
Migrates project tooling from Node/npm + Webpack to Bun + Vite, updating CI and documentation accordingly.
oven-sh/setup-bun@v2andbun install; E2E usesbunx playwrightandbun run test:e2e; IPFS hash deploy builds with Bun and retains Node setup only to install action deps; minor GH Pages deploy cleanupREADME.mdandCLAUDE.mdrewritten to use Bun commands, Vite config, and new dev server port (3000); environment/config examples updated.nvmrcand npm-specific guidanceWritten by Cursor Bugbot for commit fde271e. This will update automatically on new commits. Configure here.
CI Status
The build-and-deploy (PR Preview) check is expected to fail until this PR is merged.
Why?
This PR migrates the project from npm/Webpack to Bun/Vite. The deploy-pr-preview.yml workflow uses pull_request_target, which executes the workflow file from the base branch (main), not from
the PR branch.
Since main still has the old Node.js/npm configuration that looks for package-lock.json (which this PR removes), the workflow fails when trying to cache npm dependencies.
This is a chicken-and-egg problem: the updated workflow needs to be in main to work, but it can't get there until this PR is merged.
Once merged, future PRs will use the correct Bun configuration and the preview deployments will work again.