Skip to content

fix(deps): bump better-sqlite3 to ^12.10.0 for Node.js 26 compatibility - #24

Open
jelloeater-agent wants to merge 1 commit into
agent37-platform:mainfrom
jelloeater-agent:fix/node26-build
Open

jelloeater-agent wants to merge 1 commit into
agent37-platform:mainfrom
jelloeater-agent:fix/node26-build

Conversation

@jelloeater-agent

@jelloeater-agent jelloeater-agent commented Jul 28, 2026

Copy link
Copy Markdown

What

Bumps better-sqlite3 from ^11.7.0 to ^12.10.0 and raises the minimum Node version from >=18 to >=20.

Why

better-sqlite3 v11.x relies on three V8 C++ APIs (GetPrototype, GetIsolate, PropertyCallbackInfo::This) that were removed in V8 14.6, which ships with Node.js 26. Since there are no prebuilt binaries for Node 26, npm falls back to compilation — which fails with hard errors on macOS and anywhere without a matching prebuilt:

./src/util/binder.lzz:40: error: no member named 'GetPrototype' in 'v8::Object'
./src/better_sqlite3.lzz:68: error: no member named 'GetIsolate' in 'v8::Context'
./src/objects/database.lzz:416: error: no member named 'This' in 'v8::PropertyCallbackInfo<v8::Value>'

Version 12.10.0 is the first release with Node 26 prebuilt binaries (PR #1468) and uses the updated V8 APIs.

Impact

  • JS API is unchanged.prepare(), .run(), .get(), .all(), .exec() all work identically. Zero code changes needed.
  • Node 18 has been EOL since April 2025, so the engines bump is appropriate.
  • This is the only native addon in the project; no other compatibility concerns.

better-sqlite3 v11.x relies on V8 APIs (GetPrototype, GetIsolate,
PropertyCallbackInfo::This) that were removed in V8 14.6 shipped
with Node.js 26. This causes hard compile failures on macOS and
any system without matching prebuilt binaries.

Version 12.10.0+ ships prebuilt binaries for Node 26 and uses the
updated V8 APIs. The JS API is unchanged — no code changes needed.

Also bumps engines.node from >=18 to >=20, since Node 18 has been
EOL since April 2025.
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