Skip to content

Update Node.js from 20 to 24 - #162

Merged
shigahi merged 2 commits into
masterfrom
chore/node-24
Sep 25, 2026
Merged

shigahi merged 2 commits into
masterfrom
chore/node-24

Conversation

@shigahi

@shigahi shigahi commented Sep 25, 2026 •

Copy link
Copy Markdown
Collaborator

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 deploy and wrangler dev failed 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.json is updated to match; no dependency changes.
  • The render check job uses .nvmrc again instead of a hard-coded node-version: 24.
  • README: 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 packageManager field in package.json, cache: npm is set explicitly, the scripts don't use require('@actions/github'), and uploads are directories. Dependabot now also watches github-actions, so future runtime deprecations arrive as PRs.

Verification

  • PR checks: Build (Node v24.21.0 from .nvmrc), CodeQL and the Dependabot config check pass. No "Node.js 20 is deprecated" warnings remain.
  • workflow_dispatch on this branch: run 36182310257. Monitor and Render Check both succeed, and the render check results are the same as before (NOTION only for the database views that are also empty on notion.site).
  • The issue-creation steps (github-script@v9) only run on failure and weren't exercised. They only use github.rest.issues.* and require('fs'), which v9 still supports.

shigahi and others added 2 commits September 25, 2026 21:42
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>
@shigahi
shigahi merged commit 97d955a into master Sep 25, 2026
8 checks passed
@shigahi
shigahi deleted the chore/node-24 branch September 25, 2026 19:57
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.

Update Node.js from 20 (EOL) to 24

1 participant