fix(ci): run the TS job on Node 22 and load node:sqlite lazily - #36
Merged
Conversation
The CLI reflects a database via the built-in node:sqlite, which was added in Node
22.5 — so cli.test.ts failed to load on the CI's Node 20 ("No such built-in module:
node:sqlite"), which had been red since the CLI landed (M7.5d).
- .github/workflows/ci.yml: the js job now runs on Node 22 (matching the CLI's real
requirement), so node:sqlite is present and the suite passes.
- packages/js/src/cli/cli.ts: node:sqlite is now loaded lazily via createRequire, so
cli.js still imports on Node < 22 and only a database command errors — with a clear
'the reins CLI needs Node 22+' hint — instead of a raw module crash at import time.
Verified: make js-check green — 152 tests (151 pass, 1 skip); the built bin still
reflects a database (node:sqlite present) and reports the Node-22 hint when absent.
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.
The CLI reflects a database via the built-in node:sqlite, which was added in Node 22.5 — so cli.test.ts failed to load on the CI's Node 20 ("No such built-in module: node:sqlite"), which had been red since the CLI landed (M7.5d).
Verified: make js-check green — 152 tests (151 pass, 1 skip); the built bin still reflects a database (node:sqlite present) and reports the Node-22 hint when absent.