build: update the supported Node runtime versions #10

Open
opened 2026-07-20 21:37:07 +02:00 by codinget · 0 comments
Owner

Goal

Raise the supported Node.js runtime so the project can rely on the stabilized node:sqlite API and use one consistent Node 24 runtime for local development, CI, and containers.

Version policy

Set the package engine constraint to:

>=24.15.0 <25 || >=25.7.0

If the first Node 24 LTS release is greater than 24.15.0, use that first-LTS version as the lower bound instead. In other words, the Node 24 lower bound is the greater of 24.15.0 and the first 24.x LTS release; supported 25.x versions begin at 25.7.0.

For reproducible project tooling:

  • Add/update .node-version to the latest available Node 24.x release at implementation time for fnm and other version-file consumers.
  • Make CI use .node-version as its Node version source.
  • Update the server Dockerfile introduced by #7 to use the same exact Node 24.x release in every stage, rather than an independent floating or stale version.

Scope

  • Update package.json engine metadata and regenerate lockfile metadata as needed.
  • Add or update .node-version.
  • Update developer and deployment documentation.
  • Update CI setup from #4 to consume .node-version.
  • Coordinate the exact Docker base tag with #7.
  • Verify native-free SQLite operation through node:sqlite on the selected baseline.

Acceptance criteria

  • The Node engine range implements the policy above and rejects unsupported Node versions below both baselines.
  • .node-version pins the latest available 24.x release selected when the change lands.
  • CI uses that version and passes install, build, typecheck, lint, format, and tests.
  • The Docker build uses the same exact 24.x version in all Node stages.
  • Local setup and deployment documentation state both the supported range and the pinned default.
  • node:sqlite runs without experimental warnings on the pinned baseline.
  • The selected version unblocks removal of better-sqlite3 in the dependent issue.
## Goal Raise the supported Node.js runtime so the project can rely on the stabilized `node:sqlite` API and use one consistent Node 24 runtime for local development, CI, and containers. ## Version policy Set the package engine constraint to: ```text >=24.15.0 <25 || >=25.7.0 ``` If the first Node 24 LTS release is greater than `24.15.0`, use that first-LTS version as the lower bound instead. In other words, the Node 24 lower bound is the greater of `24.15.0` and the first 24.x LTS release; supported 25.x versions begin at `25.7.0`. For reproducible project tooling: - Add/update `.node-version` to the latest available Node 24.x release at implementation time for fnm and other version-file consumers. - Make CI use `.node-version` as its Node version source. - Update the server Dockerfile introduced by #7 to use the same exact Node 24.x release in every stage, rather than an independent floating or stale version. ## Scope - Update `package.json` engine metadata and regenerate lockfile metadata as needed. - Add or update `.node-version`. - Update developer and deployment documentation. - Update CI setup from #4 to consume `.node-version`. - Coordinate the exact Docker base tag with #7. - Verify native-free SQLite operation through `node:sqlite` on the selected baseline. ## Acceptance criteria - The Node engine range implements the policy above and rejects unsupported Node versions below both baselines. - `.node-version` pins the latest available 24.x release selected when the change lands. - CI uses that version and passes install, build, typecheck, lint, format, and tests. - The Docker build uses the same exact 24.x version in all Node stages. - Local setup and deployment documentation state both the supported range and the pinned default. - `node:sqlite` runs without experimental warnings on the pinned baseline. - The selected version unblocks removal of `better-sqlite3` in the dependent issue.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Reference: codinget/abode#10