Problem
package.json declares engines.node: ">=14" and the repository has
no .nvmrc / .node-version. Because the floor is open-ended and Node
14/16/18 are end-of-life, Vercel and CI run whatever the newest
supported runtime is. Following the most recent deploy this has drifted
to Node 24.x (it was 22.x previously). The declared floor no longer
reflects what the app actually runs on, and there is no single source of
truth pinning the version across local dev, CI, and Vercel.
Proposed change
- Update
engines.node to a supported LTS range (e.g. ">=22").
- Add
.nvmrc and/or .node-version so local dev, CI
(actions/setup-node), and Vercel agree on one version.
- Align the CI workflow
node-version (currently lts/*) accordingly.
Acceptance criteria
engines.node reflects a supported LTS.
.nvmrc / .node-version present and consistent with CI.
- Test suite passes on the pinned version.
Problem
package.jsondeclaresengines.node: ">=14"and the repository hasno
.nvmrc/.node-version. Because the floor is open-ended and Node14/16/18 are end-of-life, Vercel and CI run whatever the newest
supported runtime is. Following the most recent deploy this has drifted
to Node 24.x (it was 22.x previously). The declared floor no longer
reflects what the app actually runs on, and there is no single source of
truth pinning the version across local dev, CI, and Vercel.
Proposed change
engines.nodeto a supported LTS range (e.g.">=22")..nvmrcand/or.node-versionso local dev, CI(
actions/setup-node), and Vercel agree on one version.node-version(currentlylts/*) accordingly.Acceptance criteria
engines.nodereflects a supported LTS..nvmrc/.node-versionpresent and consistent with CI.