Update Node.js from 20 to 24 - #162
Merged
Merged
Conversation
Node.js 20 reached end of life in April 2026, and wrangler 4.131 needs Node.js 22+, so npm run dev and npm run deploy failed on the pinned version. Pin Node.js 24 in .nvmrc, require >=22.12.0 (Vite 8's minimum on the 22 line), and let the render check job use .nvmrc again. Closes #161 Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
checkout, setup-node, upload-artifact, github-script and codeql-action majors that still ran on the deprecated Node 20 runtime were being forced onto Node 24 with warnings. Bump them to the current majors, and let Dependabot keep GitHub Actions up to date. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Closes #161.
Node.js 20 reached end of life in April 2026. wrangler 4.131 requires Node.js 22+, so
npm run dev,npm run deployandwrangler devfailed on the pinned version..nvmrc:20->24(Active LTS). CI and the monitor workflows read this file.engines.node:>=20.0.0->>=22.12.0, the lowest version that both wrangler (22+) and Vite 8 (22.12+ on the 22 line) support.package-lock.jsonis updated to match; no dependency changes..nvmrcagain instead of a hard-codednode-version: 24.nvm use 24.GitHub Actions
The action majors in use still ran on GitHub's deprecated Node 20 runtime, and runs warned that they were being forced onto Node 24. They are bumped to the current majors, all
runs.using: node24:checkout@v7,setup-node@v7,upload-artifact@v7,github-script@v9,codeql-action@v4.I read the release notes for the breaking changes in between. None affect these workflows: there is no
packageManagerfield inpackage.json,cache: npmis set explicitly, the scripts don't userequire('@actions/github'), and uploads are directories. Dependabot now also watchesgithub-actions, so future runtime deprecations arrive as PRs.Verification
.nvmrc), CodeQL and the Dependabot config check pass. No "Node.js 20 is deprecated" warnings remain.workflow_dispatchon this branch: run 36182310257. Monitor and Render Check both succeed, and the render check results are the same as before (NOTIONonly for the database views that are also empty on notion.site).github-script@v9) only run on failure and weren't exercised. They only usegithub.rest.issues.*andrequire('fs'), which v9 still supports.