Skip to content

Migrate project tooling from Node to Bun#106

Merged
EvandroLG merged 17 commits intomasterfrom
chore/migrate-to-bun
Jan 17, 2026
Merged

Migrate project tooling from Node to Bun#106
EvandroLG merged 17 commits intomasterfrom
chore/migrate-to-bun

Conversation

@EvandroLG
Copy link
Copy Markdown
Owner

@EvandroLG EvandroLG commented Jan 9, 2026

This PR migrates from Node/Jest/npm tooling to Bun across the entire repo and include other minor tooling updates.

  • Update root and demo to use Bun
  • Replace Jest with Bun's test runner
  • Update CI to install and run everything through Bun
  • Update ESLint to v9
  • Update Husky to v9
  • Update docs to reflect the changes for humans and LLMs

Note

Tooling migration to Bun

  • CI now uses Bun (oven-sh/setup-bun), runs bun install, bun run typecheck/lint/format:check, and bun test --coverage; build uses bun run build in .github/workflows/main.yml
  • Adds Bun artifacts: bun.lock, bunfig.toml; introduces Husky pre-commit hook running Bun tasks (.husky/pre-commit)
  • Updates documentation and guidelines to Bun: .cursorrules, CLAUDE.md, README.md, and demo/audio/README.md (commands, testing with bun:test, happy-dom, demo dev servers)
  • Removes legacy configs: /.travis.yml, /.eslintrc.cjs; minor .gitignore cleanup

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

@EvandroLG EvandroLG self-assigned this Jan 9, 2026
@EvandroLG EvandroLG force-pushed the chore/migrate-to-bun branch from 781fe94 to 337e4e0 Compare January 17, 2026 08:53
@EvandroLG EvandroLG requested a review from Copilot January 17, 2026 09:10
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR migrates the project's tooling infrastructure from Node.js/Jest to Bun, replacing the test framework, build tools, and development workflow while maintaining the same functionality.

Changes:

  • Replaced Jest with Bun's native test runner and updated all test files to use bun:test imports
  • Migrated from npm to Bun for package management and script execution
  • Replaced webpack with Bun's built-in server for demo applications

Reviewed changes

Copilot reviewed 34 out of 42 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
package.json Updated scripts to use Bun commands and replaced Jest dependencies with Bun equivalents
test-setup.ts Added happy-dom global registration for test environment setup
src/audio/tests/Audio.test.ts Migrated Jest mocks to Bun's mock() and spyOn() API
src/audio/tests/utils.test.ts Added Bun test imports
src/playlist/tests/AudioPlaylist.test.ts Migrated Jest test utilities to Bun equivalents
src/playlist/tests/utils.test.ts Added Bun test imports
src/tests/EventEmitter.test.ts Replaced Jest mocks with Bun mocks
src/tests/EventHanlder.test.ts Updated mock creation and removed jest.mock() calls
src/audio/Audio.ts Removed unused error parameter and replaced ternary with if/else
src/playlist/AudioPlaylist.ts Replaced ternary with if/else for toggle method
scripts/build.sh Updated to use bunx instead of direct microbundle execution
bunfig.toml Added Bun test configuration
.husky/pre-commit Updated pre-commit hooks to use Bun commands
.github/workflows/main.yml Migrated CI/CD from Node.js to Bun runtime
eslint.config.mjs Migrated to flat ESLint config format
demo/audio/server.ts Added Bun-based development server
demo/playlist/server.ts Added Bun-based development server
demo/audio/package.json Replaced webpack with Bun commands
demo/playlist/package.json Replaced webpack with Bun commands
README.md Updated documentation to include Bun installation and usage
CLAUDE.md Updated tooling documentation to reflect Bun migration
.cursorrules Updated project standards to reflect Bun testing approach

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/__tests__/EventHandler.test.ts
@EvandroLG EvandroLG marked this pull request as ready for review January 17, 2026 09:16
Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 2 potential issues.

Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.

This PR is being reviewed by Cursor Bugbot

Details

You are on the Bugbot Free tier. On this plan, Bugbot will review limited PRs each billing cycle.

To receive Bugbot reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.

Comment thread .github/workflows/main.yml
Comment thread .github/workflows/main.yml
@EvandroLG EvandroLG merged commit 226f9d4 into master Jan 17, 2026
5 checks passed
@EvandroLG EvandroLG deleted the chore/migrate-to-bun branch January 17, 2026 09:22
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