Skip to content

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

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.

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