Skip to content

chore: drop the Bun support claim and its CI job - #60

Merged
arv merged 1 commit into
mainfrom
arv/remove-bun-support
Oct 20, 2026
Merged

arv merged 1 commit into
mainfrom
arv/remove-bun-support

Conversation

@arv

@arv arv commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

The README says this package supports Bun. It doesn't, and CI never tested it. This PR removes the claim and the Bun CI job.

Why Bun can't load the addon

Bun doesn't run V8. It runs JavaScriptCore with a partial reimplementation of V8's C++ API. This addon calls V8's C++ API directly, and Bun 1.3.5 is missing 33 of the functions it uses, among them:

  • Function::Call
  • FunctionTemplate::InstanceTemplate and PrototypeTemplate
  • the Exception constructors
  • BigInt
  • internal fields and weak handles
  • DictionaryTemplate

I confirmed it by building for Node 24's ABI (137, the one Bun expects) and renaming the file to get past Bun's filename check (Bun refuses better_sqlite3.node by name; see oven-sh/bun#4290). It then fails to load with undefined symbol: v8::FunctionTemplate::InstanceTemplate().

Neither the ABI version nor the minimum Node version changes this. The only ways to support Bun are porting the addon to N-API or Bun implementing these functions.

Why CI passed anyway

The test-bun job runs bun run test, which runs mocha. Mocha's bin starts with #!/usr/bin/env node, so the tests ran under Node, not Bun.

Changes

  • README.md: the claim now reads "Supports Node.js 22.x and 24.x".
  • package.json: drop engines.bun.
  • docs/troubleshooting.md: drop the Bun section.
  • .github/workflows/build.yml: drop the test-bun job (nothing needs it).

If the Testing Bun 1.3.5 on … checks are required in the main ruleset, remove them there as well. Otherwise PRs will wait on checks that never run.

🤖 Generated with Claude Code

https://claude.ai/code/session_01WCP5vbpvciRmgWBx2b1zKb

Copilot AI lite review requested due to automatic review settings October 20, 2026 08:45
@github-actions
github-actions Bot requested a review from 0xcadams October 20, 2026 08:45

arv commented Oct 20, 2026

Copy link
Copy Markdown
Contributor Author

Verify Signed Commit Authors fails on 802447a because it was signed with this session's SSH key, which isn't in allowed_signers. The commit needs to be re-signed with an allowed key; I can't do that from here.


Generated by Claude Code

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

No unresolved blocking issues were identified.

No open issues 🎉

What changed in this PR

Removes the inaccurate Bun support claim and ineffective Bun CI coverage.

Changes:

  • Retains Node.js 22.x and 24.x support.
  • Removes Bun metadata and troubleshooting guidance.
  • Deletes the ineffective Bun CI job.
File Description
README.md Updates supported runtime documentation.
package.json Removes the Bun engine requirement.
docs/​troubleshooting.md Removes Bun-specific guidance.
.github/​workflows/​build.yml Removes the Bun test job.

Review effort: Lite

Bun does not load this addon. It refuses any file named
better_sqlite3.node ("'better-sqlite3' is not yet supported in Bun"),
and a renamed copy built for Bun's ABI (137) fails with undefined V8
symbols: Bun 1.3.5's V8 API layer lacks about 30 of the functions the
addon uses, among them FunctionTemplate::InstanceTemplate,
Function::Call, the Exception constructors and weak handles.

The test-bun job still passed because `bun run test` runs mocha through
its `#!/usr/bin/env node` shebang, so the tests ran under Node.

Remove the claim from the README, the bun engine from package.json, the
Bun troubleshooting section and the test-bun job.
@arv
arv force-pushed the arv/remove-bun-support branch from 802447a to d34c36e Compare October 20, 2026 08:49
@arv
arv requested review from tantaman and removed request for 0xcadams October 20, 2026 08:49
@arv
arv added this pull request to the merge queue Oct 20, 2026
Merged via the queue into main with commit 1bba884 Oct 20, 2026
23 checks passed
@arv
arv deleted the arv/remove-bun-support branch October 20, 2026 08:55
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