Skip to content

Upgrade Node.js and npm to version 24 LTS#2318

Open
MarceloRGonc wants to merge 3 commits into
mainfrom
chore/upgrade-node-24-lts
Open

Upgrade Node.js and npm to version 24 LTS#2318
MarceloRGonc wants to merge 3 commits into
mainfrom
chore/upgrade-node-24-lts

Conversation

@MarceloRGonc
Copy link
Copy Markdown
Contributor

@MarceloRGonc MarceloRGonc commented May 29, 2026

Summary

Upgrade the project runtime from Node.js 20 to Node.js 24 LTS with npm 11.

Changes

  • .nvmrc: v20.19v24.16.0
  • Dockerfile: node:20.19-alpine3.20node:24.16.0-alpine3.23
  • engine.Dockerfile: nodejs:20nodejs:24
  • .devcontainer: Updated VARIANT to 4.0.11-24-bullseye in both Dockerfile and devcontainer.json
  • CI workflows: Added actions/setup-node@v4 with node-version-file: '.nvmrc' to all jobs in ci.yml and chromatic.yml
  • chromatic.yml: Pinned chromaui/action to full commit SHA and upgraded to v17
  • package.json: isolated-vm 5.0.1 → 6.1.2 (required for Node 24 V8 ABI compatibility)

Verification

  • npm ci installs cleanly on Node 24.16.0 / npm 11.13.0
  • ✅ All 63 projects pass linting
  • ✅ All 61 projects build successfully
  • ✅ Tests pass (pre-existing blocks-azure failure unrelated to this change)

Known warnings

  • i18next-parser@9.4.0 emits an EBADENGINE warning (engines field doesn't list Node 24). It's deprecated and should be replaced with i18next-cli in a follow-up.

Part of CI-196

Copilot AI review requested due to automatic review settings May 29, 2026 14:36
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Upgrades the repository’s runtime/tooling baseline from Node.js 20 to Node.js 24 (LTS) across local dev, containers, and CI, and updates native dependency isolated-vm for Node 24/V8 compatibility.

Changes:

  • Bump Node version references in .nvmrc and Docker build images to Node 24.
  • Update CI workflows to install Node via actions/setup-node@v4 using .nvmrc.
  • Upgrade isolated-vm to a Node-24-compatible release and refresh the lockfile accordingly.

Reviewed changes

Copilot reviewed 7 out of 8 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
package.json Updates isolated-vm dependency for Node 24 compatibility.
package-lock.json Locks isolated-vm@6.1.2 and its transitive dependency changes.
engine.Dockerfile Switches Lambda base image to Node 24.
Dockerfile Switches app image base to Node 24 Alpine.
.nvmrc Updates local/CI Node version source to Node 24.
.github/workflows/ci.yml Ensures CI jobs use .nvmrc Node via setup-node.
.github/workflows/chromatic.yml Ensures Chromatic job uses .nvmrc Node via setup-node.
.devcontainer/Dockerfile Updates devcontainer Node variant to Node 24 (bookworm).
Comments suppressed due to low confidence (1)

engine.Dockerfile:7

  • engine.Dockerfile is now based on public.ecr.aws/lambda/nodejs:24, but NODE_VERSION is still set to a Node 20 value. This is misleading and can cause confusion/troubleshooting issues (and there are other Node-20-specific pins later in the file that should be revisited as part of this upgrade).
FROM public.ecr.aws/lambda/nodejs:24

# Architecture will be set automatically by Docker buildx
ARG TARGETARCH

ENV NODE_VERSION=20.18.0
ENV NODE_ENV=production

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread Dockerfile Outdated
Comment thread .nvmrc Outdated
@MarceloRGonc MarceloRGonc force-pushed the chore/upgrade-node-24-lts branch 7 times, most recently from b5324b5 to f0abea2 Compare May 29, 2026 15:05
- Update .nvmrc, Dockerfile, engine.Dockerfile, and devcontainer to Node 24
- Upgrade isolated-vm from 5.0.1 to 6.1.2 for Node 24 compatibility
- Add actions/setup-node@v4 with node-version-file to all CI jobs
- npm 11.13.0 ships with Node 24 (lockfileVersion 3 unchanged)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@MarceloRGonc MarceloRGonc force-pushed the chore/upgrade-node-24-lts branch from f0abea2 to 496be20 Compare May 29, 2026 15:08
@sonarqubecloud
Copy link
Copy Markdown

@MarceloRGonc MarceloRGonc changed the title Upgrade Node.js from 20 to 24 LTS Upgrade Node.js and npm to version 24 LTS May 29, 2026
@linear
Copy link
Copy Markdown

linear Bot commented May 29, 2026

CI-196

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.

3 participants