Skip to content

Migrate from Bun to Node.js/npm#13

Merged
SawyerHood merged 6 commits intomainfrom
feature/node-npm-migration
Dec 20, 2025
Merged

Migrate from Bun to Node.js/npm#13
SawyerHood merged 6 commits intomainfrom
feature/node-npm-migration

Conversation

@SawyerHood
Copy link
Owner

Summary

  • Replace Bun runtime with Node.js/npm for broader compatibility
  • Update all package scripts to use npx tsx instead of bun x tsx
  • Update documentation (CLAUDE.md, README.md, SKILL.md) with new commands
  • Update server.sh startup script to use npm

Files Changed

File Changes
package.json Scripts now use npx tsx
server.sh Uses npm install and npx tsx
CLAUDE.md Updated build commands and guidelines
SKILL.md All code examples use npx tsx
README.md Prerequisites changed to Node.js v18+, updated installation steps

Test plan

  • Run npm install in skills/dev-browser/
  • Run npm run start-server and verify server starts
  • Run npx tsc --noEmit to verify TypeScript compiles
  • Run npm test to verify tests pass

🤖 Generated with Claude Code

SawyerHood and others added 6 commits December 20, 2025 09:08
Replace all Bun-specific commands with Node.js/npm equivalents:
- bun install → npm install
- bun run → npm run
- bun x tsx → npx tsx

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Required for npx tsc --noEmit to work on fresh installs.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Replace oven-sh/setup-bun with actions/setup-node@v4
- Use npm ci for deterministic installs
- Add package-lock.json for skills/dev-browser
- Remove @types/bun from root devDependencies

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Required for npm ci in the format check job.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
npm ci fails with platform-specific optional dependencies (rollup)
when the lockfile was generated on a different platform. Using
npm install resolves the correct platform binaries.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
npm has a known bug where platform-specific optional dependencies
aren't properly resolved when the lockfile was generated on a
different platform. Adding @rollup/rollup-linux-x64-gnu as an
explicit optional dependency ensures it's available on Linux CI.

See: npm/cli#4828

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@SawyerHood SawyerHood merged commit fc5128f into main Dec 20, 2025
3 checks passed
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.

1 participant