From 74b28489fbd6b3075b59b90a5def25d9f2363363 Mon Sep 17 00:00:00 2001 From: Robert Snow Date: Wed, 28 Jan 2026 16:23:58 +1100 Subject: [PATCH 1/3] chore: bump node version from 22 to 24 --- .circleci/config.yml | 8 ++++---- .nvmrc | 2 +- CONTRIBUTING.md | 4 ++-- examples/remix/package.json | 2 +- package.json | 6 +++--- packages/dev/codemods/package.json | 2 +- yarn.lock | 20 ++++++++++---------- 7 files changed, 22 insertions(+), 22 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 344a6934521..8e0309e3364 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -20,14 +20,14 @@ orbs: executors: rsp: docker: - - image: cimg/node:22.21.1 + - image: cimg/node:24.13.0 environment: CACHE_VERSION: v1 working_directory: ~/react-spectrum rsp-large: docker: - - image: cimg/node:22.21.1 + - image: cimg/node:24.13.0 resource_class: large environment: CACHE_VERSION: v1 @@ -35,7 +35,7 @@ executors: rsp-xlarge: docker: - - image: cimg/node:22.21.1 + - image: cimg/node:24.13.0 resource_class: xlarge environment: CACHE_VERSION: v1 @@ -43,7 +43,7 @@ executors: rsp-2xlarge: docker: - - image: cimg/node:22.21.1 + - image: cimg/node:24.13.0 resource_class: 2xlarge environment: CACHE_VERSION: v1 diff --git a/.nvmrc b/.nvmrc index 2bd5a0a98a3..a45fd52cc58 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -22 +24 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 057cd3ee4e1..4bada46eab9 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -58,7 +58,7 @@ If you are looking for place to start, consider the following options: ## Developing When you are ready to start developing you can clone the repo and start storybook. -Make sure you have the following requirements installed: [node](https://nodejs.org/) (v14.15.0+) and [yarn](https://yarnpkg.com/en/) (v1.22.0+) +Make sure you have the following requirements installed: [node](https://nodejs.org/) (v24.13.0+) and [yarn](https://yarnpkg.com/en/) (v1.22.0+) Fork the repo first using [this guide](https://help.github.com/articles/fork-a-repo), then clone it locally. ``` @@ -176,7 +176,7 @@ parcel build packages/@react-{spectrum,aria,stately}/*/ packages/@internationali make: *** [build] Segmentation fault: 11 ``` -It's likely that you are using a different version of Node.js. Please use Node.js 18. When changing the node version, delete `node_modules` and re-run `yarn install` +It's likely that you are using a different version of Node.js. Please use Node.js 24. When changing the node version, delete `node_modules` and re-run `yarn install` > `yarn start` fails. diff --git a/examples/remix/package.json b/examples/remix/package.json index 851f7a83d51..44323ad2810 100644 --- a/examples/remix/package.json +++ b/examples/remix/package.json @@ -30,7 +30,7 @@ "vite-tsconfig-paths": "^4.2.1" }, "engines": { - "node": ">=22.0.0" + "node": ">=24.0.0" }, "workspaces": [ "../../packages/react-aria-components", diff --git a/package.json b/package.json index bcf6427197d..669bc8e3509 100644 --- a/package.json +++ b/package.json @@ -228,9 +228,9 @@ "ast-types": "0.16.1", "svgo": "^3", "@testing-library/user-event": "patch:@testing-library/user-event@npm%3A14.6.1#~/.yarn/patches/@testing-library-user-event-npm-14.6.1-5da7e1d4e2.patch", - "@types/node@npm:*": "^22", - "@types/node@npm:^18.0.0": "^22", - "@types/node@npm:>= 8": "^22", + "@types/node@npm:*": "^24", + "@types/node@npm:^18.0.0": "^24", + "@types/node@npm:>= 8": "^24", "@storybook/addon-docs@npm:8.6.14": "patch:@storybook/addon-docs@npm%3A8.6.14#~/.yarn/patches/@storybook-addon-docs-npm-8.6.14-12ab3f55f8.patch", "@storybook/react": "patch:@storybook/react@npm%3A8.6.14#~/.yarn/patches/@storybook-react-npm-8.6.14-bc3fc2208a.patch", "micromark-extension-mdxjs": "patch:micromark-extension-mdxjs@npm%3A1.0.0#~/.yarn/patches/micromark-extension-mdxjs-npm-1.0.0-d2b6b69e4a.patch", diff --git a/packages/dev/codemods/package.json b/packages/dev/codemods/package.json index efd8eb63e21..a2801cd4394 100644 --- a/packages/dev/codemods/package.json +++ b/packages/dev/codemods/package.json @@ -26,7 +26,7 @@ "@babel/types": "^7.24.5", "@react-spectrum/s2": "^1.0.0", "@react-types/shared": "^3.32.1", - "@types/node": "^22", + "@types/node": "^24", "boxen": "^5.1.2", "chalk": "^4.0.0", "execa": "^5.1.1", diff --git a/yarn.lock b/yarn.lock index 955e24b9555..c8ee90ae2c0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6647,7 +6647,7 @@ __metadata: "@react-spectrum/s2": "npm:^1.0.0" "@react-types/shared": "npm:^3.32.1" "@types/jscodeshift": "npm:^0.11.11" - "@types/node": "npm:^22" + "@types/node": "npm:^24" boxen: "npm:^5.1.2" chalk: "npm:^4.0.0" execa: "npm:^5.1.1" @@ -10594,12 +10594,12 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:^22": - version: 22.15.18 - resolution: "@types/node@npm:22.15.18" +"@types/node@npm:^24": + version: 24.10.9 + resolution: "@types/node@npm:24.10.9" dependencies: - undici-types: "npm:~6.21.0" - checksum: 10c0/e23178c568e2dc6b93b6aa3b8dfb45f9556e527918c947fe7406a4c92d2184c7396558912400c3b1b8d0fa952ec63819aca2b8e4d3545455fc6f1e9623e09ca6 + undici-types: "npm:~7.16.0" + checksum: 10c0/e9e436fcd2136bddb1bbe3271a89f4653910bcf6ee8047c4117f544c7905a106c039e2720ee48f28505ef2560e22fb9ead719f28bf5e075fdde0c1120e38e3b2 languageName: node linkType: hard @@ -28380,10 +28380,10 @@ __metadata: languageName: node linkType: hard -"undici-types@npm:~6.21.0": - version: 6.21.0 - resolution: "undici-types@npm:6.21.0" - checksum: 10c0/c01ed51829b10aa72fc3ce64b747f8e74ae9b60eafa19a7b46ef624403508a54c526ffab06a14a26b3120d055e1104d7abe7c9017e83ced038ea5cf52f8d5e04 +"undici-types@npm:~7.16.0": + version: 7.16.0 + resolution: "undici-types@npm:7.16.0" + checksum: 10c0/3033e2f2b5c9f1504bdc5934646cb54e37ecaca0f9249c983f7b1fc2e87c6d18399ebb05dc7fd5419e02b2e915f734d872a65da2e3eeed1813951c427d33cc9a languageName: node linkType: hard From e77a05ae1fc9901f841946d0112e92cfc6454fd4 Mon Sep 17 00:00:00 2001 From: Robert Snow Date: Wed, 28 Jan 2026 16:26:04 +1100 Subject: [PATCH 2/3] bump github actions --- .github/actions/branch/action.yml | 2 +- .github/actions/comment/action.yml | 2 +- .github/actions/permissions/action.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/actions/branch/action.yml b/.github/actions/branch/action.yml index 2ff8098f580..1d1f39c72da 100644 --- a/.github/actions/branch/action.yml +++ b/.github/actions/branch/action.yml @@ -1,5 +1,5 @@ name: 'Branch from fork' description: 'creates a branch based off PR from fork' runs: - using: 'node22' + using: 'node24' main: 'index.js' diff --git a/.github/actions/comment/action.yml b/.github/actions/comment/action.yml index 72aea6ed745..af0b32e476d 100644 --- a/.github/actions/comment/action.yml +++ b/.github/actions/comment/action.yml @@ -1,5 +1,5 @@ name: 'PR Comment' description: 'Comment on the PR attached to a commit' runs: - using: 'node22' + using: 'node24' main: 'index.js' diff --git a/.github/actions/permissions/action.yml b/.github/actions/permissions/action.yml index 44b9510de02..dc79862cbd6 100644 --- a/.github/actions/permissions/action.yml +++ b/.github/actions/permissions/action.yml @@ -1,5 +1,5 @@ name: 'Check permissions' description: 'Checks if commentor has write access or above' runs: - using: 'node22' + using: 'node24' main: 'index.js' From b7eadfd3d3c36186f1f2c134e028ebce35f73962 Mon Sep 17 00:00:00 2001 From: Robert Snow Date: Thu, 29 Jan 2026 10:53:24 +1100 Subject: [PATCH 3/3] fix index access --- .../dev/codemods/src/s1-to-s2/src/codemods/shared/styleProps.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/dev/codemods/src/s1-to-s2/src/codemods/shared/styleProps.ts b/packages/dev/codemods/src/s1-to-s2/src/codemods/shared/styleProps.ts index f6fcd0aaba8..91a0324c59e 100644 --- a/packages/dev/codemods/src/s1-to-s2/src/codemods/shared/styleProps.ts +++ b/packages/dev/codemods/src/s1-to-s2/src/codemods/shared/styleProps.ts @@ -677,7 +677,7 @@ export default function transformStyleProps(path: NodePath, elemen if (isDOMElement) { let index = path.node.openingElement.attributes?.findIndex(a => a.type === 'JSXAttribute' && a.name.name === 'className'); if (index != null && index >= 0) { - classNameAttribute = path.get('openingElement').get('attributes').at(index); + classNameAttribute = path.get('openingElement').get('attributes')[index]; } }