chore: drop Node.js 20 support - #225
Conversation
Require Node >=22.12.0 now that Node 20 is EOL. Align the SDK CLI Vite build target with node22. Plugin server bundle defaults stay on node20 until Strapi CMS drops Node 20.
🦋 Changeset detectedLatest commit: 59b47ef The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
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 |
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|



What does it do?
engines.nodefrom^20.19.0 || >=22.12.0to>=22.12.0(drop Node 20).targetfromnode20tonode22.Plugin server bundle defaults remain
node20so plugins built with the SDK can still run on Strapi apps that have not dropped Node 20 yet.Why is it needed?
Node 20 reached EOL on 2026-04-30. Keeping Node 20 in
engineswhile shipping dependencies that require Node 22+ (e.g. chalk 6) is dishonest packaging. CI already only runs on Node 22/24/26.Related broader work: CMS-656 (CMS monorepo drop — not completed by this PR).
How to test it?
pnpm install && pnpm checkpackage.jsonengines is>=22.12.0vite.config.tsbuild target isnode22pnpm installshould warn/fail engines checks depending on package manager settingsRelated issue(s)/PR(s)
Related: CMS-656 (CMS-wide drop still in progress; this is sdk-plugin engines only)