Uh oh!
There was an error while loading. Please reload this page.
Upgrade CI and local development to Node 24 - #2392
Merged
Merged
Conversation
|
✅ Deploy Preview for cloudfour-patterns ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
7 tasks
Node 16 has been end-of-life since September 2023, and nearly every pending dependency upgrade requires Node 18 or newer, so the whole backlog is stuck behind this bump. Node 22 removed the deprecated util type-check predicates, and Twing 3 calls util.isNullOrUndefined() in the code it generates for templates. Twing 7 fixes this, but that upgrade is bound up with the Storybook/Vite migration. A small shim restores the predicates so the Node upgrade can land on its own. Also drops the "Update npm" step, which pinned npm 7 -- Node 24 ships npm 11, so pinning back would install an unsupported release.
spaceninjaforce-pushed
the
upgrade/node-24
branch
from
August 20, 2026 00:07
fbac8e1 to
4b10e41CompareUh oh!
There was an error while loading. Please reload this page.
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 freeto 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.
Overview
Node 16 has been end-of-life since September 2023, and nearly every pending dependency upgrade in our backlog requires Node 18 or newer — so the entire queue is stuck behind this one bump. This PR moves CI and local development to Node 24 on its own, so the mechanical upgrades behind it can proceed without waiting on the much larger Storybook/Vite migration.
The reason this hasn't been a one-line change: Node 22 removed the deprecated
utiltype-check predicates, and Twing 3 callsutil.isNullOrUndefined()in the code it generates for every template. On Node 22+ that means every Twig render throws, which is why the automated Node bump (#2350) failed itstestandbuild-storybookchecks. Twing 7 fixes this, but that upgrade is bound up with replacing webpack — so this PR adds a small shim that restores the removed predicates, letting the Node upgrade land independently. The shim is documented as temporary and gets deleted with the Twing 7 upgrade.This also drops the
Update npmstep that pinned npm 7. Node 24 ships npm 11, so re-pinning would install an unsupported release.Screenshots
Testing
Most of this is CI configuration, so the main thing to confirm is that all four CI jobs pass on this branch. Beyond that, it's worth verifying the pattern library still works locally on the new Node version:
nvm use(or otherwise switch to Node 24) — it should select 24.19.0npm ci— it should complete without engine errorsnpm startand open the pattern library in a browsernpm test— all 9 suites should pass, including the 20 snapshots