Migrate project tooling from Node to Bun#106
Conversation
781fe94 to
337e4e0
Compare
There was a problem hiding this comment.
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:testimports - 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.
There was a problem hiding this comment.
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.
This PR migrates from Node/Jest/npm tooling to Bun across the entire repo and include other minor tooling updates.
Note
Tooling migration to Bun
oven-sh/setup-bun), runsbun install,bun run typecheck/lint/format:check, andbun test --coverage; build usesbun run buildin.github/workflows/main.ymlbun.lock,bunfig.toml; introduces Husky pre-commit hook running Bun tasks (.husky/pre-commit).cursorrules,CLAUDE.md,README.md, anddemo/audio/README.md(commands, testing withbun:test, happy-dom, demo dev servers)/.travis.yml,/.eslintrc.cjs; minor.gitignorecleanupWritten by Cursor Bugbot for commit 3496adb. This will update automatically on new commits. Configure here.