Skip to content

feat: migrate from Node.js to Bun runtime#675

Closed
jackbravo wants to merge 2 commits intoqwibitai:mainfrom
jackbravo:migrate-to-bun-runtime-v2
Closed

feat: migrate from Node.js to Bun runtime#675
jackbravo wants to merge 2 commits intoqwibitai:mainfrom
jackbravo:migrate-to-bun-runtime-v2

Conversation

@jackbravo
Copy link
Copy Markdown

@jackbravo jackbravo commented Mar 3, 2026

Summary

This is a rebase of #161 to merge cleanly with newest main branch.

Replace Node.js with Bun across host process and container agent for faster SQLite (bun:sqlite), native TypeScript execution, and cleaner process spawning (Bun.spawn, Bun.$)

Host: better-sqlite3bun:sqlite, child_processBun.spawn/$ shell, tsx → native Bun
Container: node:22-slimoven/bun:slim, removes tsc build step, runs .ts directly

Test plan

  • bun install succeeds and generates bun.lock
  • bun run typecheck passes with zero errors
  • bun run dev starts and connects to WhatsApp
  • Reset container builder cache and run ./container/build.sh
  • Verify container has source: container run -i --rm --entrypoint wc nanoclaw-agent:latest -l /app/src/index.ts
  • Send a test message and verify agent responds
  • Verify scheduled tasks still fire correctly
  • Verify IPC message sending and task creation work

🤖 Generated with Claude Code

Replace Node.js with Bun for faster SQLite (bun:sqlite), native TypeScript
execution, and optimized process spawning. Affects both host and container.

Host: better-sqlite3 -> bun:sqlite, child_process -> Bun.spawn/$, tsx -> bun
Container: node:22-slim -> oven/bun:slim, removes tsc build step

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@TomGranot
Copy link
Copy Markdown
Collaborator

We're sticking with Node.js for now — migrating the entire runtime to Bun is too big a change and would break a lot of existing setups. Appreciate the work though @jackbravo!

@TomGranot TomGranot closed this Mar 5, 2026
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