Skip to content

chore: raise the root .nvmrc to Node 24 - #724

Closed
MarkFeder wants to merge 1 commit into
solana-foundation:mainfrom
MarkFeder:chore-nvmrc-node-24
Closed

chore: raise the root .nvmrc to Node 24#724
MarkFeder wants to merge 1 commit into
solana-foundation:mainfrom
MarkFeder:chore-nvmrc-node-24

Conversation

@MarkFeder

@MarkFeder MarkFeder commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

What

Raises the root .nvmrc from 22 to 24. One line.

Split out of #723, where Greptile flagged the mismatch. Per CONTRIBUTING.md — "Do not bump language runtimes … as an incidental part of another change" — it belongs in its own PR rather than folded into an example.

Why

Twelve packages already require Node 24. They depend on @solana-program/token at ^0.14.0 or later, and every release of that package which declares engines requires >=24.0.0:

Version engines.node
≤ 0.13.0 (none declared)
0.14.0 >=24.0.0
0.15.0 >=24.0.0
0.16.0 >=24.0.0

So there is no Node 22-compatible version to pin back to — the floor genuinely moved.

Nothing else in the repo still says 22. The two games/*/pinocchio projects already pin 24.13.0 in their own .nvmrc, and CI takes the setup action's default node-version: 'lts/*' with check-latest: true, which resolves to Node 24 today. The root .nvmrc is the last file saying 22 — and the one contributors actually read, since CONTRIBUTING.md points them at it.

Effect

A contributor on Node 22 currently gets an unsupported-engine warning on pnpm install, and a hard failure once engine-strict is enabled.

No CI behaviour changes: no workflow reads the root .nvmrc. just.yml reads ${{ matrix.project }}/.nvmrc — the per-project files under games/ — and every other workflow uses lts/* or an explicit version. The Prettier job stays on Node 20, which is fine: it installs root devDependencies only (--ignore-workspace), and none of those declare an engine above 20.

Deliberately left alone: no engines field added to the root package.json, and no change to typescript.yml.


AI use: I identified the version floor and verified it against the published engines metadata and every Node declaration in the repo; the change itself is one line.

@greptile-apps

greptile-apps Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

The PR updates the repository’s root Node.js version marker from Node 22 to Node 24.

  • Aligns the contributor-facing .nvmrc with the Node.js version required by current workspace dependencies.
  • Makes no application, workflow, or security-sensitive code changes.

Confidence Score: 5/5

The PR appears safe to merge.

No blocking failure remains.

Important Files Changed

Filename Overview
.nvmrc Updates the root Node.js development version from 22 to 24; no actionable issue was identified in the follow-up scope.

Reviews (2): Last reviewed commit: "chore: raise the root .nvmrc to Node 24" | Re-trigger Greptile

Twelve packages depend on `@solana-program/token` at 0.14.0 or later, and
every release of it that declares `engines` requires Node `>=24.0.0`.
Developers following the checked-in toolchain get Node 22 and an
unsupported-engine warning on install — an error once engine-strict is on.

Nothing else in the repository still says 22: the two games projects pin
24.13.0 in their own .nvmrc, and CI resolves `lts/*`, which is Node 24
today. This brings the one file developers actually read into line.
@MarkFeder

Copy link
Copy Markdown
Contributor Author

@amilz could you take a look at this one when you get a chance?

No open review threads left on it, so it is ready for maintainer review. It is one of 23 open Pinocchio ports I have up — they are independent and self-contained, so they can be reviewed and merged in any order: https://github.com/solana-developers/program-examples/pulls/MarkFeder

@dev-jodee

Copy link
Copy Markdown
Collaborator

Hey, in order to not overflow our reviewers with PRs, we'll limit the number of opened PRs to 3 per contributor for now. Thanks for the work! (You can re-open those whenever your other PRs get merged in)

@dev-jodee dev-jodee closed this Sep 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants