From 85736e4050e28c5171d82302bb51cb2e99ab857b Mon Sep 17 00:00:00 2001 From: Joe Fusco Date: Fri, 22 May 2026 10:56:13 -0400 Subject: [PATCH] chore: upgrade Node.js to latest LTS (24) across the repo Node 20 reached EOL in April 2026 and Node 18 has been EOL since April 2025. Node 24 became the active LTS in October 2025. - Bump default Node version in CI workflows and the cache-restore action from 22 -> 24. - Drop EOL Node versions (18, 20) from CI test matrices, leaving ['22', '24'] (current and latest LTS). - Raise engines.node to >=22 in root, packages/*, and example workspaces. - Update .nvmrc from v18 to 24. Closes #2369 --- .github/actions/cache-restore/action.yml | 2 +- .github/workflows/check-packages.yml | 2 +- .github/workflows/e2e-next-faustwp-example.yml | 2 +- .github/workflows/e2e-nightly-build.yml | 2 +- .github/workflows/nextjs-bundle-analysis.yml | 2 +- .github/workflows/node-setup.yml | 2 +- .github/workflows/npm-publish.yml | 4 ++-- .github/workflows/release-packages.yml | 4 ++-- .github/workflows/unit-test-packages.yml | 2 +- .nvmrc | 2 +- examples/next/block-support/package.json | 2 +- examples/next/faustwp-getting-started/package.json | 2 +- package.json | 2 +- packages/block-editor-utils/package.json | 2 +- packages/blocks/package.json | 2 +- packages/faustwp-cli/package.json | 2 +- packages/faustwp-core/package.json | 2 +- 17 files changed, 19 insertions(+), 19 deletions(-) diff --git a/.github/actions/cache-restore/action.yml b/.github/actions/cache-restore/action.yml index 88ba0132b..5ace2e179 100644 --- a/.github/actions/cache-restore/action.yml +++ b/.github/actions/cache-restore/action.yml @@ -5,7 +5,7 @@ inputs: node-version: description: 'Node version to use, default to LTS' required: true - default: 22 + default: 24 outputs: cache-hit: description: 'Forward actions/cache cache-hit output' diff --git a/.github/workflows/check-packages.yml b/.github/workflows/check-packages.yml index 378eb1274..639093fac 100644 --- a/.github/workflows/check-packages.yml +++ b/.github/workflows/check-packages.yml @@ -14,7 +14,7 @@ jobs: uses: ./.github/workflows/node-setup.yml strategy: matrix: - node-version: [22] + node-version: [24] with: node-version: ${{ matrix.node-version }} check_lint: diff --git a/.github/workflows/e2e-next-faustwp-example.yml b/.github/workflows/e2e-next-faustwp-example.yml index 1242fd5e0..a80198b42 100644 --- a/.github/workflows/e2e-next-faustwp-example.yml +++ b/.github/workflows/e2e-next-faustwp-example.yml @@ -14,7 +14,7 @@ jobs: PR_BRANCH: ${{github.event.pull_request.head.ref}} strategy: matrix: - node: ['20', '22'] + node: ['22', '24'] defaults: run: working-directory: ./ diff --git a/.github/workflows/e2e-nightly-build.yml b/.github/workflows/e2e-nightly-build.yml index 8483c42fa..a8d40c736 100644 --- a/.github/workflows/e2e-nightly-build.yml +++ b/.github/workflows/e2e-nightly-build.yml @@ -12,7 +12,7 @@ jobs: runs-on: ubuntu-22.04 strategy: matrix: - node: ['18', '20', '22'] + node: ['22', '24'] defaults: run: working-directory: ./ diff --git a/.github/workflows/nextjs-bundle-analysis.yml b/.github/workflows/nextjs-bundle-analysis.yml index a6f5c968d..2a964703c 100644 --- a/.github/workflows/nextjs-bundle-analysis.yml +++ b/.github/workflows/nextjs-bundle-analysis.yml @@ -35,7 +35,7 @@ jobs: - name: Install Node.js uses: actions/setup-node@v4 with: - node-version: 20 + node-version: 24 - name: Install bundle analyzer dependency globally run: npm install -g @next/bundle-analyzer diff --git a/.github/workflows/node-setup.yml b/.github/workflows/node-setup.yml index bab5a0cb3..fc281c404 100644 --- a/.github/workflows/node-setup.yml +++ b/.github/workflows/node-setup.yml @@ -8,7 +8,7 @@ on: description: 'Node version to use, default to LTS' required: true type: string - default: '22' + default: '24' jobs: setup: diff --git a/.github/workflows/npm-publish.yml b/.github/workflows/npm-publish.yml index 2ff896982..e932c12d7 100644 --- a/.github/workflows/npm-publish.yml +++ b/.github/workflows/npm-publish.yml @@ -31,10 +31,10 @@ jobs: with: fetch-depth: 0 - - name: Setup Node.js 22.x + - name: Setup Node.js 24.x uses: actions/setup-node@v4 with: - node-version: 22.x + node-version: 24.x registry-url: 'https://registry.npmjs.org' - name: Install Dependencies diff --git a/.github/workflows/release-packages.yml b/.github/workflows/release-packages.yml index 07e527d7e..10da0447c 100644 --- a/.github/workflows/release-packages.yml +++ b/.github/workflows/release-packages.yml @@ -23,10 +23,10 @@ jobs: # This makes Actions fetch all Git history so that Changesets can generate changelogs with the correct commits fetch-depth: 0 - - name: Setup Node.js 22.x + - name: Setup Node.js 24.x uses: actions/setup-node@v4 with: - node-version: 22.x + node-version: 24.x - name: Install Dependencies run: npm ci diff --git a/.github/workflows/unit-test-packages.yml b/.github/workflows/unit-test-packages.yml index cbc378c83..a109c9851 100644 --- a/.github/workflows/unit-test-packages.yml +++ b/.github/workflows/unit-test-packages.yml @@ -13,7 +13,7 @@ jobs: strategy: matrix: os: ['ubuntu-22.04'] - node: ['18', '20', '22'] + node: ['22', '24'] permissions: checks: write pull-requests: write diff --git a/.nvmrc b/.nvmrc index 3f430af82..a45fd52cc 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -v18 +24 diff --git a/examples/next/block-support/package.json b/examples/next/block-support/package.json index 03f40c3ed..b81abba1b 100644 --- a/examples/next/block-support/package.json +++ b/examples/next/block-support/package.json @@ -32,7 +32,7 @@ "@wordpress/scripts": "^30.26.2" }, "engines": { - "node": ">=18", + "node": ">=22", "npm": ">=10" }, "overrides": { diff --git a/examples/next/faustwp-getting-started/package.json b/examples/next/faustwp-getting-started/package.json index 936be9582..7b6ca06ce 100644 --- a/examples/next/faustwp-getting-started/package.json +++ b/examples/next/faustwp-getting-started/package.json @@ -26,7 +26,7 @@ "next-secure-headers": "^2.2.0" }, "engines": { - "node": ">=20.9", + "node": ">=22", "npm": ">=8" } } diff --git a/package.json b/package.json index 676f412fe..a6c138140 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "@faustjs/root", "private": true, "engines": { - "node": ">=18", + "node": ">=22", "npm": ">=8" }, "workspaces": { diff --git a/packages/block-editor-utils/package.json b/packages/block-editor-utils/package.json index 008d1ab30..ef4b17261 100644 --- a/packages/block-editor-utils/package.json +++ b/packages/block-editor-utils/package.json @@ -56,7 +56,7 @@ }, "homepage": "https://github.com/wpengine/faustjs#readme", "engines": { - "node": ">=18", + "node": ">=22", "npm": ">=8" }, "publishConfig": { diff --git a/packages/blocks/package.json b/packages/blocks/package.json index 31d63be1a..46e642f60 100644 --- a/packages/blocks/package.json +++ b/packages/blocks/package.json @@ -42,7 +42,7 @@ }, "homepage": "https://github.com/wpengine/faustjs#readme", "engines": { - "node": ">=18", + "node": ">=22", "npm": ">=8" }, "publishConfig": { diff --git a/packages/faustwp-cli/package.json b/packages/faustwp-cli/package.json index f392b1aea..871cf2219 100644 --- a/packages/faustwp-cli/package.json +++ b/packages/faustwp-cli/package.json @@ -57,7 +57,7 @@ }, "homepage": "https://github.com/wpengine/faustjs#readme", "engines": { - "node": ">=18", + "node": ">=22", "npm": ">=8" }, "publishConfig": { diff --git a/packages/faustwp-core/package.json b/packages/faustwp-core/package.json index 99f986167..30e90e45e 100644 --- a/packages/faustwp-core/package.json +++ b/packages/faustwp-core/package.json @@ -96,7 +96,7 @@ }, "homepage": "https://github.com/wpengine/faustjs#readme", "engines": { - "node": ">=18", + "node": ">=22", "npm": ">=8" }, "publishConfig": {