Skip to content

Conversation

@MiltonTulli
Copy link

@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

Migrates project tooling from Node/npm + Webpack to Bun + Vite, updating CI and documentation accordingly.

  • CI: All GitHub Actions workflows now use oven-sh/setup-bun@v2 and bun install; E2E uses bunx playwright and bun run test:e2e; IPFS hash deploy builds with Bun and retains Node setup only to install action deps; minor GH Pages deploy cleanup
  • Docs: README.md and CLAUDE.md rewritten to use Bun commands, Vite config, and new dev server port (3000); environment/config examples updated
  • Chore: Remove .nvmrc and npm-specific guidance

Written 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.

@AugustoL
Copy link
Collaborator

@MiltonTulli Thanks a lot for the PR, im in for a change on stack, but what would be the pros of changing to bun & vite?
Since this decision will impact the entire codebase of the explorer, we will also need the approval of @MatiasOS as well.

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