feat!: drop support for Node.js 18 and 20#3074
Open
bennypowers wants to merge 1 commit into
Open
Conversation
🦋 Changeset detectedLatest commit: 61db6d9 The changes in this PR will be included in the next version bump. This PR includes changesets to release 38 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
BREAKING CHANGE: The minimum supported Node.js version is now 22.0.0. Node.js 18 reached end-of-life in April 2025 and Node.js 20 in April 2026. - Bump engines to >=22.0.0 across all packages - CI matrix now tests on Node 22 and 24 - Pin CI to Node 24 instead of latest due to Playwright/yauzl bug with Node 26 (microsoft/playwright#40724) - Disable native type stripping in CI for ts-node compatibility - Bump GitHub Actions to latest versions (checkout v6, setup-node v6, upload-artifact v7) Assisted-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
120afbf to
61db6d9
Compare
web-padawan
approved these changes
May 27, 2026
|
|
||
| - name: Setup Node 20 | ||
| uses: actions/setup-node@v4 | ||
| - name: Setup Node 22 |
Contributor
There was a problem hiding this comment.
nit: could also consider splitting GitHub Actions updates and switching to Node 22 for lint / verify to a separate PR, and keep this one purely about breaking change.
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
Node 26 / latest
Pinned to 24 instead of
latestdue to Playwright/yauzl hang on Node 26. Will re-addlatestonce Playwright ships the fix.ts-node workaround
Added
NODE_OPTIONS='--no-experimental-strip-types'to CI test steps. Node 22.18+ enables native type stripping, which preempts ts-node and breaks mocha tests. This workaround will be removed when mocha is replaced withnode:testin a follow-up PR.Test plan