fix: bump better-sqlite3 to ^12 for Node 26 + refresh dev deps#6
Open
Aayush9029 wants to merge 2 commits into
Open
fix: bump better-sqlite3 to ^12 for Node 26 + refresh dev deps#6Aayush9029 wants to merge 2 commits into
Aayush9029 wants to merge 2 commits into
Conversation
better-sqlite3 11.x fails to build from source on Node 26 because the V8 13.x bundled with Node 25+ removed `v8::Object::GetPrototype`, `v8::Context::GetIsolate`, and `PropertyCallbackInfo::This`. Errors like: error: no member named 'GetPrototype' in 'v8::Object' error: no member named 'GetIsolate' in 'v8::Context' error: no member named 'This' in 'v8::PropertyCallbackInfo<v8::Value>' better-sqlite3 12.x declares `engines.node: 20.x || 22.x || 23.x || 24.x || 25.x || 26.x` and uses the updated V8 API, so `npx devrage` on Node 26 installs and runs cleanly.
- @types/node ^25.6.1 → ^25.7.0 - esbuild ^0.25.0 → ^0.28.0 - oxlint ^0.16.0 → ^1.64.0 (major) - typescript ^5.8.0 → ^6.0.3 (major) Verified on Node 26.0.0 and Node 20.20.2: `npm install`, `npm run build`, `npm run typecheck` all pass. `node dist/cli.js scan` reports counts across all 7 adapters (claude/codex/opencode/amp/cline/pi/zed) with no runtime errors. `npm run lint` shows only pre-existing codebase style findings (curly braces around single-statement bodies, one prefer-const) — all in files untouched by this change. Not introduced by the dep bumps.
smirea
added a commit
to smirea/devrage
that referenced
this pull request
Jun 3, 2026
Apply upstream gricha#6 as a single squash commit. Bump better-sqlite3 to v12 and refresh development toolchain dependencies from the PR lockfile. Co-Authored-By: AI <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Two related changes:
better-sqlite3^11 → ^12 sonpx devrageinstalls on Node 25/26.Why the better-sqlite3 bump is needed
npx devrage(orbunx devrage) currently fails to install on Node 26 because[email protected]cannot be built from source against Node 26's bundled V8 (V8 13.x). V8 removed several APIs thatbetter-sqlite311.x still uses, sonode-gypaborts with:[email protected]declaresengines.node: 20.x || 22.x || 23.x || 24.x || 25.x || 26.xand switched to the updated V8 API, so bumping the dependency unblocks installation on Node 25/26 without breaking older runtimes.Dev-dep refresh
@types/nodeesbuildoxlinttypescriptbetter-sqlite3(
@types/better-sqlite3is already at the latest 7.6.13.@types/node26 isn't published on DefinitelyTyped yet —latesttag still points at 25.7.0.)Test plan
Verified locally on macOS 15 (arm64).
Node 26.0.0:
rm -rf node_modules package-lock.json && npm installbuilds[email protected]from source (was failing onmainwith the gyp errors above)npm run buildsucceedsnpm run typecheckpasses (TypeScript 6.0.3)node dist/cli.js scanreports counts across all 7 adapters — claude 318 / codex 6945 / opencode 193 (sqlite read OK) / amp + cline + pi + zed each loaded cleanly with 0 msgs (no local data, no errors)Node 20.20.2 LTS:
rm -rf node_modules package-lock.json && npm installsucceeds (prebuild-install pulls the Node 20 ABI prebuilt binary, NODE_MODULE_VERSION 115)npm run build+npm run typecheckpassnode dist/cli.js scan --agent opencodereturns 193 msgs (sqlite query OK on Node 20)engines.node: >=20inpackage.jsonremains satisfied —better-sqlite3@12lists 20.x in its engines.Lint note
npm run lintreportsFound 0 warnings and 55 errorsafter the bump — all 55 are pre-existing codebase style findings (eslint(curly)on single-statementif/forbodies insrc/adapters/zed.tsandsrc/detector/index.ts, plus oneeslint(prefer-const)). All are in files untouched by this PR. They were already present onmain(54 errors before the oxlint major bump; oxlint 1.x picked up one additional finding viaprefer-const). Happy to clean those up in a follow-up PR if you'd like, but kept them out of this one to keep the diff focused on the install fix + dep refresh.