Skip to content

chore: drop Bun and standardize the API on Node 26 - #7

Merged
nghiacc merged 2 commits into
mainfrom
chore/drop-bun-standardize-node
Sep 17, 2026
Merged

nghiacc merged 2 commits into
mainfrom
chore/drop-bun-standardize-node

Conversation

@nghiacc

@nghiacc nghiacc commented Sep 17, 2026

Copy link
Copy Markdown
Contributor

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: drop engines.bun (Node 26 stays).
  • apps/abcpay-api/package.json: drop dev:bun / start:bun.
  • .cursor/Dockerfile: remove the pinned Bun install.
  • .cursor/environment.json: API terminal now set -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.
  • Also: stop tracking the generated apps/abcpay-web/tsconfig.tsbuildinfo (already covered by the *.tsbuildinfo ignore rule; it kept dirtying unrelated PRs).

Test plan

  • pnpm -r type-check
  • pnpm -r test — 55 tests (34 wallet-core, 21 API)
  • .cursor/environment.json, root and API package.json parse as valid JSON
  • No remaining Bun references in the repo (excluding the lockfile)

Summary by CodeRabbit

  • Runtime Updates

    • The API now runs with Node.js 26 and tsx.
    • Development and startup commands use pnpm-based workflows.
    • Bun is no longer installed, required, or supported by the project setup.
  • Cloud Setup

    • Cloud installation and startup scripts now prepare and launch the application without Bun.
    • Environment file handling is updated to support the Node.js workflow.
  • Documentation

    • Architecture, prerequisites, and runtime documentation now reference Node.js instead of Bun.

DXC Development added 2 commits September 17, 2026 16:14
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.
@coderabbitai

coderabbitai Bot commented Sep 17, 2026

Copy link
Copy Markdown

Review Change StackReview Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: f77cd23f-5b13-448c-a51f-ebefc67744b5

📥 Commits

Reviewing files that changed from the base of the PR and between 6cb8a29 and 93664df.

⛔ Files ignored due to path filters (1)
  • apps/abcpay-web/tsconfig.tsbuildinfo is excluded by !**/*.tsbuildinfo
📒 Files selected for processing (7)
  • .cursor/Dockerfile
  • .cursor/environment.json
  • README.md
  • apps/abcpay-api/package.json
  • package.json
  • scripts/cloud-install.sh
  • scripts/cloud-start.sh
💤 Files with no reviewable changes (2)
  • apps/abcpay-api/package.json
  • .cursor/Dockerfile

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

The 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.

Changes

Node runtime alignment

Layer / File(s) Summary
Node runtime and package contracts
.cursor/Dockerfile, package.json, apps/abcpay-api/package.json
The container no longer installs Bun. The root package no longer declares a Bun engine. The API package removes Bun-specific scripts while retaining the tsx scripts.
Cloud installation and startup
scripts/cloud-install.sh, scripts/cloud-start.sh
Cloud installation no longer installs or configures Bun. Startup creates .env after changing to the repository root and copies it to the API directory for tsx.
Launch wiring and runtime documentation
.cursor/environment.json, README.md
The local API command sources .env and runs pnpm start. Documentation identifies Node with tsx as the API runtime and removes the Bun prerequisite.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Other

Suggested reviewers: cursoragent

Merge Risk: ⚪ Minimal · up to 93664

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)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the primary change: removing Bun support and standardizing the API on Node 26.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 2…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/drop-bun-standardize-node

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@nghiacc
nghiacc merged commit ae409f2 into main Sep 17, 2026
2 checks passed
@nghiacc
nghiacc deleted the chore/drop-bun-standardize-node branch September 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.

1 participant