chore: drop Bun and standardize the API on Node 26 - #7
Conversation
The API was already Node-only in practice: it uses @hono/node-server, CI runs Node, and all tooling (tsx, vitest, drizzle-kit, migration and staging E2E scripts) runs on Node; no Bun APIs were used. This removes the dual-runtime drift: engines.bun and the dev:bun/start:bun scripts, the Bun install in the Cloud Agent Dockerfile and install/start scripts, and README mentions. The Cloud Agent API terminal now sources apps/abcpay-api/.env and runs pnpm start (tsx), since tsx does not auto-load env files the way Bun did.
The file is already covered by the *.tsbuildinfo ignore rule but was committed before the rule existed, so every build/test run dirtied the tree in unrelated PRs.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (7)
💤 Files with no reviewable changes (2)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthroughThe pull request removes Bun installation, version declarations, and launch scripts. The API now runs through Node and tsx. Cloud startup prepares environment files without Bun path setup, and documentation and local commands reflect the Node runtime. ChangesNode runtime alignment
Priority: ⬇️ Low Estimated code review effort: 2 (Simple) | ~10 minutes Change: Other Suggested reviewers: Merge Risk: ⚪ Minimal · up to The PR consistently switches the API launch path and supporting configuration from Bun to Node and tsx, with no established production-impacting regression. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary
The API was already Node-only in practice: it runs on
@hono/node-server, CI runs Node, and all tooling (tsx,vitest,drizzle-kit, the migration importer and staging E2E scripts) is Node-based. No Bun API was used anywhere. This removes the dual-runtime drift.Changes
package.json: dropengines.bun(Node 26 stays).apps/abcpay-api/package.json: dropdev:bun/start:bun..cursor/Dockerfile: remove the pinned Bun install..cursor/environment.json: API terminal nowset -a && . ./.env && set +a && pnpm start(tsx), since tsx does not auto-load env files the way Bun did.scripts/cloud-install.sh/cloud-start.sh: stop installing/using Bun; comments updated.README.md: architecture table, prerequisites and runtime table now Node-only.apps/abcpay-web/tsconfig.tsbuildinfo(already covered by the*.tsbuildinfoignore rule; it kept dirtying unrelated PRs).Test plan
pnpm -r type-checkpnpm -r test— 55 tests (34 wallet-core, 21 API).cursor/environment.json, root and APIpackage.jsonparse as valid JSONSummary by CodeRabbit
Runtime Updates
tsx.Cloud Setup
Documentation