diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f2953f73fa..bf4735f074 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -21,8 +21,11 @@ jobs: - NodeVersion: 22.19.x NodeVersionDisplayName: 22 OS: ubuntu-latest - - NodeVersion: 22.19.x - NodeVersionDisplayName: 22 + - NodeVersion: 24.11.x + NodeVersionDisplayName: 24 + OS: ubuntu-latest + - NodeVersion: 24.11.x + NodeVersionDisplayName: 24 OS: windows-latest name: Node.js v${{ matrix.NodeVersionDisplayName }} (${{ matrix.OS }}) runs-on: ${{ matrix.OS }} diff --git a/common/changes/@microsoft/rush/node-24_2025-12-07-09-31.json b/common/changes/@microsoft/rush/node-24_2025-12-07-09-31.json new file mode 100644 index 0000000000..396ccd93f1 --- /dev/null +++ b/common/changes/@microsoft/rush/node-24_2025-12-07-09-31.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@microsoft/rush", + "comment": "Add support for Node 24 and bump the `rush init` template to default to Node 24.", + "type": "none" + } + ], + "packageName": "@microsoft/rush" +} \ No newline at end of file diff --git a/common/config/azure-pipelines/templates/install-node.yaml b/common/config/azure-pipelines/templates/install-node.yaml index 9983a8a311..c7c6496071 100644 --- a/common/config/azure-pipelines/templates/install-node.yaml +++ b/common/config/azure-pipelines/templates/install-node.yaml @@ -1,7 +1,7 @@ parameters: - name: NodeMajorVersion type: number - default: 20 + default: 22 steps: - task: NodeTool@0 diff --git a/libraries/rush-lib/assets/rush-init/rush.json b/libraries/rush-lib/assets/rush-init/rush.json index 20d52ad9f6..a972877f6d 100644 --- a/libraries/rush-lib/assets/rush-init/rush.json +++ b/libraries/rush-lib/assets/rush-init/rush.json @@ -42,7 +42,7 @@ * LTS schedule: https://nodejs.org/en/about/releases/ * LTS versions: https://nodejs.org/en/download/releases/ */ - "nodeSupportedVersionRange": ">=22.20.0 <23.0.0", + "nodeSupportedVersionRange": ">=24.11.1 <25.0.0", /** * If the version check above fails, Rush will display a message showing the current diff --git a/libraries/rush-lib/src/logic/NodeJsCompatibility.ts b/libraries/rush-lib/src/logic/NodeJsCompatibility.ts index ea760937f3..e9cdbddc7c 100644 --- a/libraries/rush-lib/src/logic/NodeJsCompatibility.ts +++ b/libraries/rush-lib/src/logic/NodeJsCompatibility.ts @@ -17,7 +17,7 @@ import { RushConstants } from './RushConstants'; * LTS schedule: https://nodejs.org/en/about/releases/ * LTS versions: https://nodejs.org/en/download/releases/ */ -const UPCOMING_NODE_LTS_VERSION: number = 22; +const UPCOMING_NODE_LTS_VERSION: number = 24; const nodeVersion: string = process.versions.node; const nodeMajorVersion: number = semver.major(nodeVersion); diff --git a/rush.json b/rush.json index c66a313548..38d3bfac7f 100644 --- a/rush.json +++ b/rush.json @@ -42,7 +42,7 @@ * LTS schedule: https://nodejs.org/en/about/releases/ * LTS versions: https://nodejs.org/en/download/releases/ */ - "nodeSupportedVersionRange": ">=18.15.0 <19.0.0 || >=20.9.0 <21.0.0 || >=22.12.0 <23.0.0", + "nodeSupportedVersionRange": ">=18.15.0 <19.0.0 || >=20.9.0 <21.0.0 || >=22.12.0 <23.0.0 || >=24.11.1 <25.0.0", /** * If the version check above fails, Rush will display a message showing the current