Skip to content

the declared Node floor is below the real one: node:sqlite runs without a flag only from 22.13 #1865

Closed

Description

@swapnilpaliwal-sd

Symptom

The declared Node requirement contradicts what the product needs to run. README.md states the true floor (Node ≥ 22.5, badge and Requirements section), but:

  • package.json → "engines": { "node": ">=18.0.0" }
  • parser/package.json → "engines": { "node": ">=18.0.0" }
  • graph/test/csharp/README.md → "node must be 18 or newer"

Why 22.5 is the real floor

The bundle writes graph.sqlite through node:sqlite (graph/bundle/write.ts), which ships only since Node 22.5. On an older Node the guarded import degrades the bundle to CSV only — and every query surface (impact / path / tests, the MCP server, the hooks) reads graph.sqlite, so the product does not work. A user whose package manager honors engines gets no warning at install on Node 18–20 and finds out at runtime instead.

Expected

One floor everywhere: engines ≥ 22.5.0 in both manifests and the suite README corrected, matching README.md and CI (Node 22).

Activity

  1. added
    engineResolution / call-graph engine rules
    parserthe parser (parser/), transferred from AxiomCodeAI/parser
    on Oct 8, 2026
  2. changed the title [-]engines says node >=18 while the product needs >=22.5 (node:sqlite)[/-] [+]engines says node >=18 while the repo currently requires >=22.5 (node:sqlite)[/+] on Oct 8, 2026
  3. swapnilpaliwal-sd commented on Oct 8, 2026

    @swapnilpaliwal-sd
    ContributorAuthor

    Fixed by #1866, merged into apps/integration-0.1.9: both manifests now declare engines.node >=22.5.0 and the C# suite README says 22.5, matching README.md and CI.

  4. swapnilpaliwal-sd commented on Oct 8, 2026

    @swapnilpaliwal-sd
    ContributorAuthor

    Reopening: 22.5 is not the floor either. node:sqlite exists from 22.5 but only behind --experimental-sqlite until 22.13 (and 23.4), and nothing passes that flag.

    Observed (2026-10-08, Windows Server 2022, Node 22.11, npm 0.1.8): axiomcode index fails with ❌ bundle: No such built-in module: node:sqlite. The bundle's sqliteAvailable() tests the version (≥ 22.5), so it lets 22.11 through and the import that follows throws. The same machine on Node 22.20 indexes and answers.

    Measured boundaries (real Node binaries): 22.11 and 23.3 have no unflagged node:sqlite; 22.13 and 23.4 do.

    Fix in PR #1867: engines.node >=22.13.0 in both package.json files; bin/axiomcode.js refuses an older Node at once with "axiomcode needs Node 22.13 or newer (it writes the graph with node:sqlite); this is Node X"; sqliteAvailable() probes the module instead of the version; CI comment and the C# suite README say 22.13. The README's two "22.5" mentions need the same change (pending: the README trips the pre-commit term check on existing content).

  5. changed the title [-]engines says node >=18 while the repo currently requires >=22.5 (node:sqlite)[/-] [+]the declared Node floor is below the real one: node:sqlite runs without a flag only from 22.13[/+] on Oct 8, 2026
  6. swapnilpaliwal-sd commented on Oct 8, 2026

    @swapnilpaliwal-sd
    ContributorAuthor

    Fixed by #1867, merged into apps/integration-0.1.9 (e0e8450); ships with 0.1.9.

  7. added a commit that references this issue on Oct 11, 2026
    eb60c9f
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

engineResolution / call-graph engine rulesparserthe parser (parser/), transferred from AxiomCodeAI/parser

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions