Skip to content

feat: migrate from Node.js/npm to Bun with Vite bundler#1

Closed
MiltonTulli wants to merge 4 commits intomainfrom
feature/migrate-to-bun
Closed

feat: migrate from Node.js/npm to Bun with Vite bundler#1
MiltonTulli wants to merge 4 commits intomainfrom
feature/migrate-to-bun

Conversation

@MiltonTulli
Copy link
Owner

@MiltonTulli MiltonTulli commented Jan 14, 2026

Summary

  • Replace npm with Bun as package manager and runtime
  • Replace Webpack with Vite as bundler
  • Update all scripts to use Bun commands
  • Update GitHub Actions workflows to use oven-sh/setup-bun
  • Change dev server port from 3030 to 3000
  • Replace jsdom with happy-dom for Vitest (ESM compatibility)

Changes

File Change
package.json Add packageManager, update scripts, remove eslintConfig
bunfig.toml New Bun configuration
vite.config.ts New Vite configuration (replaces webpack.config.js)
index.html Moved from public/ to root (Vite requirement)
vitest.config.ts Changed environment to happy-dom
playwright.config.ts Updated port and commands
scripts/*.sh Updated to use Bun commands
.github/workflows/*.yml Migrated from setup-node to setup-bun
README.md, CLAUDE.md Updated documentation

Removed

  • .nvmrc - No longer needed
  • package-lock.json - Replaced by bun.lock
  • webpack.config.js - Replaced by Vite
  • eslintConfig in package.json - Using Biome

Test plan

  • bun install - Installs dependencies correctly
  • bun start - Dev server runs on port 3000
  • bun run build - Production build succeeds
  • bun run test:run - All 65 tests pass
  • bun run typecheck - No TypeScript errors
  • bun run format && bun run lint - No issues

🤖 Generated with Claude Code


Note

Adopts Bun for package management/runtime and Vite for builds, with corresponding CI/CD and documentation updates.

  • Replace npm/Webpack with bun + vite; dev server now on port 3000
  • Update GitHub Actions: use oven-sh/setup-bun@v2 and bun install/run in deploy-gh-pages.yml, deploy-pr-preview.yml, e2e.yml, and hash-deploy-build.yml; Playwright installed via bunx
  • Keep Node 20 setup only where needed for the custom IPFS deploy action; no functional change to deploy steps
  • Docs refreshed (README.md, CLAUDE.md) to Bun/Vite commands; remove .nvmrc

Written by Cursor Bugbot for commit fde76ed. This will update automatically on new commits. Configure here.

AugustoL and others added 4 commits January 14, 2026 11:26
Prevent false subdomain detection on openscan.eth.link and
openscan.eth.limo which was causing unwanted redirects to the
base domain (eth.link/eth.limo).
Switch from conditional BrowserRouter/HashRouter to HashRouter
everywhere. This fixes the refresh issue on IPFS gateways where
deep URLs would fail to resolve since IPFS cannot handle
client-side routing paths.
- Replace npm with Bun as package manager and runtime
- Replace Webpack with Vite as bundler
- Update all scripts to use Bun commands
- Update GitHub Actions workflows to use oven-sh/setup-bun
- Update documentation (README.md, CLAUDE.md)
- Change dev server port from 3030 to 3000
- Replace jsdom with happy-dom for Vitest (ESM compatibility)
- Remove eslintConfig (using Biome instead)
@MiltonTulli MiltonTulli force-pushed the feature/migrate-to-bun branch from 27b7a34 to fde76ed Compare January 14, 2026 14:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants