From 4eb5135afe21484c13b6a934925e51edfed3ae76 Mon Sep 17 00:00:00 2001 From: ulises-jeremias Date: Fri, 17 Jul 2026 13:17:53 -0300 Subject: [PATCH] chore: migrate website runtime to Node.js 24.17.0 Pin .node-version (and Danger) to v24.17.0, raise package engines, and bump @types/node so local/CI/fnm stay aligned on the Node 24 LTS line. Co-authored-by: Cursor --- .node-version | 2 +- AGENTS.md | 1 + package.json | 4 +-- pnpm-lock.yaml | 66 +++++++++++++++++++------------------- tools/danger/.node-version | 2 +- 5 files changed, 38 insertions(+), 37 deletions(-) diff --git a/.node-version b/.node-version index 517f386..8e0b9a6 100644 --- a/.node-version +++ b/.node-version @@ -1 +1 @@ -v22.14.0 +v24.17.0 diff --git a/AGENTS.md b/AGENTS.md index 801e831..e6c1f4b 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -9,6 +9,7 @@ Marketing and documentation site for create-python-app. - Next.js 15 (App Router) - TypeScript - Tailwind CSS v3 +- Node.js 24.17.0 (see `.node-version`) - pnpm 10+ ## Key Commands diff --git a/package.json b/package.json index 6517490..8127e4d 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "website", "version": "0.1.0", "engines": { - "node": ">=22.0.0" + "node": ">=24.17.0" }, "scripts": { "dev": "next dev", @@ -74,7 +74,7 @@ "@commitlint/config-conventional": "^19.7.1", "@next/eslint-plugin-next": "^15.5.20", "@testing-library/react": "^16.1.0", - "@types/node": "^22.13.14", + "@types/node": "^24.13.3", "@types/react": "^19.0.12", "@types/react-dom": "^19.0.4", "@typescript-eslint/eslint-plugin": "^8.28.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index acc39e5..1ea0bd6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -184,7 +184,7 @@ importers: devDependencies: '@commitlint/cli': specifier: ^19.7.1 - version: 19.8.0(@types/node@22.13.14)(typescript@5.8.2) + version: 19.8.0(@types/node@24.13.3)(typescript@5.8.2) '@commitlint/config-conventional': specifier: ^19.7.1 version: 19.8.0 @@ -195,8 +195,8 @@ importers: specifier: ^16.1.0 version: 16.3.2(@testing-library/dom@10.4.1)(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@types/node': - specifier: ^22.13.14 - version: 22.13.14 + specifier: ^24.13.3 + version: 24.13.3 '@types/react': specifier: ^19.0.12 version: 19.0.12 @@ -208,7 +208,7 @@ importers: version: 8.28.0(@typescript-eslint/parser@8.28.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2))(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2) '@vitejs/plugin-react': specifier: ^6.0.3 - version: 6.0.3(vite@8.1.4(@types/node@22.13.14)(jiti@2.4.2)(yaml@2.9.0)) + version: 6.0.3(vite@8.1.4(@types/node@24.13.3)(jiti@2.4.2)(yaml@2.9.0)) eslint: specifier: ^9.23.0 version: 9.23.0(jiti@2.4.2) @@ -247,10 +247,10 @@ importers: version: 8.28.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2) vite: specifier: '>=7.3.5' - version: 8.1.4(@types/node@22.13.14)(jiti@2.4.2)(yaml@2.9.0) + version: 8.1.4(@types/node@24.13.3)(jiti@2.4.2)(yaml@2.9.0) vitest: specifier: ^4.1.10 - version: 4.1.10(@types/node@22.13.14)(happy-dom@20.10.6)(vite@8.1.4(@types/node@22.13.14)(jiti@2.4.2)(yaml@2.9.0)) + version: 4.1.10(@types/node@24.13.3)(happy-dom@20.10.6)(vite@8.1.4(@types/node@24.13.3)(jiti@2.4.2)(yaml@2.9.0)) packages: '@alloc/quick-lru@5.2.0': @@ -1820,9 +1820,9 @@ packages: resolution: { integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== } - '@types/node@22.13.14': + '@types/node@24.13.3': resolution: - { integrity: sha512-Zs/Ollc1SJ8nKUAgc7ivOEdIBM8JAKgrqqUYi2J997JuKO7/tpQC+WCetQ1sypiKCQWHdvdg9wBNpUPEWZae7w== } + { integrity: sha512-Dh8vAsV36ig5wa9OX4pXvMc9D3Veibfw2wix0CUwYODLD8nkj9UsLjASr49nPg+2eKzxhBV+v7L8pXvT4e639Q== } '@types/react-dom@19.0.4': resolution: @@ -4785,9 +4785,9 @@ packages: { integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw== } engines: { node: '>= 0.4' } - undici-types@6.20.0: + undici-types@7.18.2: resolution: - { integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg== } + { integrity: sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w== } unicorn-magic@0.1.0: resolution: @@ -5074,11 +5074,11 @@ snapshots: '@chevrotain/types@11.1.2': {} - '@commitlint/cli@19.8.0(@types/node@22.13.14)(typescript@5.8.2)': + '@commitlint/cli@19.8.0(@types/node@24.13.3)(typescript@5.8.2)': dependencies: '@commitlint/format': 19.8.0 '@commitlint/lint': 19.8.0 - '@commitlint/load': 19.8.0(@types/node@22.13.14)(typescript@5.8.2) + '@commitlint/load': 19.8.0(@types/node@24.13.3)(typescript@5.8.2) '@commitlint/read': 19.8.0 '@commitlint/types': 19.8.0 tinyexec: 0.3.2 @@ -5125,7 +5125,7 @@ snapshots: '@commitlint/rules': 19.8.0 '@commitlint/types': 19.8.0 - '@commitlint/load@19.8.0(@types/node@22.13.14)(typescript@5.8.2)': + '@commitlint/load@19.8.0(@types/node@24.13.3)(typescript@5.8.2)': dependencies: '@commitlint/config-validator': 19.8.0 '@commitlint/execute-rule': 19.8.0 @@ -5133,7 +5133,7 @@ snapshots: '@commitlint/types': 19.8.0 chalk: 5.4.1 cosmiconfig: 9.0.0(typescript@5.8.2) - cosmiconfig-typescript-loader: 6.1.0(@types/node@22.13.14)(cosmiconfig@9.0.0(typescript@5.8.2))(typescript@5.8.2) + cosmiconfig-typescript-loader: 6.1.0(@types/node@24.13.3)(cosmiconfig@9.0.0(typescript@5.8.2))(typescript@5.8.2) lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 lodash.uniq: 4.5.0 @@ -6259,7 +6259,7 @@ snapshots: '@types/conventional-commits-parser@5.0.1': dependencies: - '@types/node': 22.13.14 + '@types/node': 24.13.3 '@types/d3-array@3.2.1': {} @@ -6390,9 +6390,9 @@ snapshots: '@types/json5@0.0.29': {} - '@types/node@22.13.14': + '@types/node@24.13.3': dependencies: - undici-types: 6.20.0 + undici-types: 7.18.2 '@types/react-dom@19.0.4(@types/react@19.0.12)': dependencies: @@ -6409,7 +6409,7 @@ snapshots: '@types/ws@8.18.1': dependencies: - '@types/node': 22.13.14 + '@types/node': 24.13.3 '@typescript-eslint/eslint-plugin@8.28.0(@typescript-eslint/parser@8.28.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2))(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2)': dependencies: @@ -6540,10 +6540,10 @@ snapshots: d3-selection: 3.0.0 d3-transition: 3.0.1(d3-selection@3.0.0) - '@vitejs/plugin-react@6.0.3(vite@8.1.4(@types/node@22.13.14)(jiti@2.4.2)(yaml@2.9.0))': + '@vitejs/plugin-react@6.0.3(vite@8.1.4(@types/node@24.13.3)(jiti@2.4.2)(yaml@2.9.0))': dependencies: '@rolldown/pluginutils': 1.0.1 - vite: 8.1.4(@types/node@22.13.14)(jiti@2.4.2)(yaml@2.9.0) + vite: 8.1.4(@types/node@24.13.3)(jiti@2.4.2)(yaml@2.9.0) '@vitest/expect@4.1.10': dependencies: @@ -6554,13 +6554,13 @@ snapshots: chai: 6.2.2 tinyrainbow: 3.1.0 - '@vitest/mocker@4.1.10(vite@8.1.4(@types/node@22.13.14)(jiti@2.4.2)(yaml@2.9.0))': + '@vitest/mocker@4.1.10(vite@8.1.4(@types/node@24.13.3)(jiti@2.4.2)(yaml@2.9.0))': dependencies: '@vitest/spy': 4.1.10 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: 8.1.4(@types/node@22.13.14)(jiti@2.4.2)(yaml@2.9.0) + vite: 8.1.4(@types/node@24.13.3)(jiti@2.4.2)(yaml@2.9.0) '@vitest/pretty-format@4.1.10': dependencies: @@ -6767,7 +6767,7 @@ snapshots: buffer-image-size@0.6.4: dependencies: - '@types/node': 22.13.14 + '@types/node': 24.13.3 call-bind-apply-helpers@1.0.2: dependencies: @@ -6896,9 +6896,9 @@ snapshots: dependencies: layout-base: 2.0.1 - cosmiconfig-typescript-loader@6.1.0(@types/node@22.13.14)(cosmiconfig@9.0.0(typescript@5.8.2))(typescript@5.8.2): + cosmiconfig-typescript-loader@6.1.0(@types/node@24.13.3)(cosmiconfig@9.0.0(typescript@5.8.2))(typescript@5.8.2): dependencies: - '@types/node': 22.13.14 + '@types/node': 24.13.3 cosmiconfig: 9.0.0(typescript@5.8.2) jiti: 2.4.2 typescript: 5.8.2 @@ -7729,7 +7729,7 @@ snapshots: happy-dom@20.10.6: dependencies: - '@types/node': 22.13.14 + '@types/node': 24.13.3 '@types/whatwg-mimetype': 3.0.2 '@types/ws': 8.18.1 buffer-image-size: 0.6.4 @@ -9023,7 +9023,7 @@ snapshots: has-symbols: 1.1.0 which-boxed-primitive: 1.1.1 - undici-types@6.20.0: {} + undici-types@7.18.2: {} unicorn-magic@0.1.0: {} @@ -9100,7 +9100,7 @@ snapshots: d3-time: 3.1.0 d3-timer: 3.0.1 - vite@8.1.4(@types/node@22.13.14)(jiti@2.4.2)(yaml@2.9.0): + vite@8.1.4(@types/node@24.13.3)(jiti@2.4.2)(yaml@2.9.0): dependencies: lightningcss: 1.32.0 picomatch: 4.0.5 @@ -9108,15 +9108,15 @@ snapshots: rolldown: 1.1.5 tinyglobby: 0.2.17 optionalDependencies: - '@types/node': 22.13.14 + '@types/node': 24.13.3 fsevents: 2.3.3 jiti: 2.4.2 yaml: 2.9.0 - vitest@4.1.10(@types/node@22.13.14)(happy-dom@20.10.6)(vite@8.1.4(@types/node@22.13.14)(jiti@2.4.2)(yaml@2.9.0)): + vitest@4.1.10(@types/node@24.13.3)(happy-dom@20.10.6)(vite@8.1.4(@types/node@24.13.3)(jiti@2.4.2)(yaml@2.9.0)): dependencies: '@vitest/expect': 4.1.10 - '@vitest/mocker': 4.1.10(vite@8.1.4(@types/node@22.13.14)(jiti@2.4.2)(yaml@2.9.0)) + '@vitest/mocker': 4.1.10(vite@8.1.4(@types/node@24.13.3)(jiti@2.4.2)(yaml@2.9.0)) '@vitest/pretty-format': 4.1.10 '@vitest/runner': 4.1.10 '@vitest/snapshot': 4.1.10 @@ -9133,10 +9133,10 @@ snapshots: tinyexec: 1.2.4 tinyglobby: 0.2.16 tinyrainbow: 3.1.0 - vite: 8.1.4(@types/node@22.13.14)(jiti@2.4.2)(yaml@2.9.0) + vite: 8.1.4(@types/node@24.13.3)(jiti@2.4.2)(yaml@2.9.0) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 22.13.14 + '@types/node': 24.13.3 happy-dom: 20.10.6 transitivePeerDependencies: - msw diff --git a/tools/danger/.node-version b/tools/danger/.node-version index d542ef3..8e0b9a6 100644 --- a/tools/danger/.node-version +++ b/tools/danger/.node-version @@ -1 +1 @@ -v22.3.0 +v24.17.0