The runtime hook pinned better-sqlite3 12.6.2, whose prebuilds stop at Node ABI 141 — on Node 26 the install fell back to a node-gyp source build and failed on machines without build tools, silently degrading to the sql.js fallback. Node >= 22 now installs 13.0.3, which is N-API and ships per-platform prebuilds inside the package. Two things were needed to make that actually work: - npm injects an implicit `node-gyp rebuild` for any package shipping a binding.gyp, so the install still demanded build tools; `--ignore-scripts` skips it and uses the bundled prebuild as-is. - the binary check only looked at build/Release, which 13.x no longer creates, so every start re-ran npm install; it now also accepts prebuilds/<platform>-<arch>.node. Node < 22 stays on 12.6.2 (13.x requires Node >= 22), and an existing working install is left untouched either way.
7.3 KiB
7.3 KiB