From 510d0455114282d54b301e3b24ca3072faa1d26c Mon Sep 17 00:00:00 2001 From: dangreen Date: Tue, 6 Oct 2026 19:46:43 +0400 Subject: [PATCH 1/2] build: update Node.js to v26 Pin Node.js 26.10.0 in `.tool-versions` and make every CI job read it. The unit job also runs on Node.js 22, the floor of `engines`, which stays as it is, and `@types/node` goes back to `^22` to match that floor. --- .github/workflows/checks.yml | 4 +- .github/workflows/commit.yml | 2 +- .github/workflows/release.yml | 2 +- .github/workflows/tests.yml | 18 +- .github/workflows/website.yml | 2 +- .tool-versions | 2 +- package.json | 2 +- packages/bundler-utils/package.json | 2 +- packages/cli/package.json | 2 +- packages/cloudflare/package.json | 2 +- packages/core/package.json | 2 +- packages/imgproxy/package.json | 2 +- packages/loader/package.json | 2 +- packages/vite-plugin/package.json | 2 +- pnpm-lock.yaml | 296 +++++++++++++++++++++++----- 15 files changed, 269 insertions(+), 73 deletions(-) diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index 19f29c8..55c03b3 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -17,7 +17,7 @@ jobs: - name: Install Node.js uses: actions/setup-node@v7 with: - node-version: 24 + node-version-file: .tool-versions cache: 'pnpm' - name: Install dependencies run: pnpm install @@ -46,7 +46,7 @@ jobs: - name: Install Node.js uses: actions/setup-node@v7 with: - node-version: 24 + node-version-file: .tool-versions cache: 'pnpm' - name: Check package.json files run: pnpm --package=@trigen/lint-package-json dlx lint-package-json --monorepo --ignore examples diff --git a/.github/workflows/commit.yml b/.github/workflows/commit.yml index e0d45b3..540dbe9 100644 --- a/.github/workflows/commit.yml +++ b/.github/workflows/commit.yml @@ -17,7 +17,7 @@ jobs: - name: Install Node.js uses: actions/setup-node@v7 with: - node-version: 24 + node-version-file: .tool-versions cache: 'pnpm' - name: Install dependencies run: pnpm install diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index fc34015..6687b36 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -52,7 +52,7 @@ jobs: - name: Install Node.js uses: actions/setup-node@v7 with: - node-version: 24 + node-version-file: .tool-versions cache: 'pnpm' - name: Install dependencies run: pnpm install diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index e12e685..9026470 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -18,7 +18,7 @@ jobs: - name: Install Node.js uses: actions/setup-node@v7 with: - node-version: 24 + node-version-file: .tool-versions cache: 'pnpm' - name: Install dependencies run: pnpm install @@ -37,7 +37,7 @@ jobs: - name: Install Node.js uses: actions/setup-node@v7 with: - node-version: 24 + node-version-file: .tool-versions cache: 'pnpm' - name: Install dependencies run: pnpm install @@ -45,7 +45,13 @@ jobs: run: pnpm lint unit: runs-on: ubuntu-latest - name: unit + name: unit (${{ matrix.node-version || '.tool-versions' }}) + strategy: + matrix: + # The least Node.js the packages declare, and the one the repository is developed on + include: + - node-version: 22 + - node-version-file: .tool-versions steps: - name: Checkout the repository uses: actions/checkout@v7 @@ -56,14 +62,16 @@ jobs: - name: Install Node.js uses: actions/setup-node@v7 with: - node-version: 24 + node-version: ${{ matrix.node-version }} + node-version-file: ${{ matrix.node-version-file }} cache: 'pnpm' - name: Install dependencies run: pnpm install - name: Run tests run: pnpm test:unit + # One upload per commit, from the leg of the version the repository is developed on - name: Collect coverage uses: coverallsapp/github-action@main - if: success() + if: success() && matrix.node-version-file with: fail-on-error: false diff --git a/.github/workflows/website.yml b/.github/workflows/website.yml index 650e2d7..80ec243 100644 --- a/.github/workflows/website.yml +++ b/.github/workflows/website.yml @@ -27,7 +27,7 @@ jobs: - name: Install Node.js uses: actions/setup-node@v7 with: - node-version: 24 + node-version-file: .tool-versions cache: 'pnpm' - name: Install dependencies run: pnpm install diff --git a/.tool-versions b/.tool-versions index 1de109d..aa08355 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1,2 +1,2 @@ pnpm 11.9.0 -nodejs 24.20.0 +nodejs 26.10.0 diff --git a/package.json b/package.json index ad8b67c..3d4d5f9 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,7 @@ "@trigen/oxlint": "^10.1.1", "@trigen/oxlint-config": "^10.1.2", "@trigen/scripts": "^10.1.1", - "@types/node": "^24.0.0", + "@types/node": "^22.0.0", "@vitest/coverage-v8": "^4.1.9", "clean-publish": "^5.0.0", "commitizen": "^4.3.1", diff --git a/packages/bundler-utils/package.json b/packages/bundler-utils/package.json index f497a73..451f310 100644 --- a/packages/bundler-utils/package.json +++ b/packages/bundler-utils/package.json @@ -68,6 +68,6 @@ "sharp": "^0.35.3" }, "devDependencies": { - "@types/node": "^24.0.0" + "@types/node": "^22.0.0" } } diff --git a/packages/cli/package.json b/packages/cli/package.json index 4c9cbb6..9c508eb 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -61,7 +61,7 @@ "tinyglobby": "^0.2.10" }, "devDependencies": { - "@types/node": "^24.0.0", + "@types/node": "^22.0.0", "sharp": "^0.35.3" } } diff --git a/packages/cloudflare/package.json b/packages/cloudflare/package.json index a5e3f97..645ba6c 100644 --- a/packages/cloudflare/package.json +++ b/packages/cloudflare/package.json @@ -70,7 +70,7 @@ "devDependencies": { "@size-limit/preset-small-lib": "^13.0.0", "@srcset/runtime": "workspace:^", - "@types/node": "^24.0.0", + "@types/node": "^22.0.0", "size-limit": "^13.0.0" } } diff --git a/packages/core/package.json b/packages/core/package.json index 39216f5..ec25707 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -72,7 +72,7 @@ }, "devDependencies": { "@types/css-mediaquery": "^0.1.4", - "@types/node": "^24.0.0", + "@types/node": "^22.0.0", "@types/picomatch": "^4.0.3" } } diff --git a/packages/imgproxy/package.json b/packages/imgproxy/package.json index 1877768..ff9272e 100644 --- a/packages/imgproxy/package.json +++ b/packages/imgproxy/package.json @@ -75,7 +75,7 @@ "devDependencies": { "@size-limit/preset-small-lib": "^13.0.0", "@srcset/runtime": "workspace:^", - "@types/node": "^24.0.0", + "@types/node": "^22.0.0", "sharp": "^0.35.3", "size-limit": "^13.0.0" } diff --git a/packages/loader/package.json b/packages/loader/package.json index c34b8bf..5cefc92 100644 --- a/packages/loader/package.json +++ b/packages/loader/package.json @@ -93,7 +93,7 @@ "devDependencies": { "@rspack/core": "^2.1.4", "@srcset/runtime": "workspace:^", - "@types/node": "^24.0.0", + "@types/node": "^22.0.0", "memfs": "^4.64.0", "sharp": "^0.35.3", "webpack": "^5.108.4" diff --git a/packages/vite-plugin/package.json b/packages/vite-plugin/package.json index affa0b1..b567fb8 100644 --- a/packages/vite-plugin/package.json +++ b/packages/vite-plugin/package.json @@ -81,7 +81,7 @@ }, "devDependencies": { "@srcset/runtime": "workspace:^", - "@types/node": "^24.0.0", + "@types/node": "^22.0.0", "sharp": "^0.35.3", "vite": "^8.1.0" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 502c0da..76402d7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -21,7 +21,7 @@ importers: devDependencies: '@commitlint/cli': specifier: ^21.0.0 - version: 21.2.1(@types/node@24.13.3)(conventional-commits-parser@7.1.0)(typescript@7.0.2) + version: 21.2.1(@types/node@22.20.1)(conventional-commits-parser@7.1.0)(typescript@7.0.2) '@commitlint/config-conventional': specifier: ^21.0.0 version: 21.2.0 @@ -30,7 +30,7 @@ importers: version: 21.2.0 '@commitlint/cz-commitlint': specifier: ^21.0.0 - version: 21.2.0(@types/node@24.13.3)(commitizen@4.3.2(@types/node@24.13.3)(typescript@7.0.2))(inquirer@8.2.7(@types/node@24.13.3))(typescript@7.0.2) + version: 21.2.0(@types/node@22.20.1)(commitizen@4.3.2(@types/node@22.20.1)(typescript@7.0.2))(inquirer@8.2.7(@types/node@22.20.1))(typescript@7.0.2) '@trigen/oxlint': specifier: ^10.1.1 version: 10.1.1 @@ -41,8 +41,8 @@ importers: specifier: ^10.1.1 version: 10.1.1 '@types/node': - specifier: ^24.0.0 - version: 24.13.3 + specifier: ^22.0.0 + version: 22.20.1 '@vitest/coverage-v8': specifier: ^4.1.9 version: 4.1.10(vitest@4.1.10) @@ -51,7 +51,7 @@ importers: version: 5.2.2 commitizen: specifier: ^4.3.1 - version: 4.3.2(@types/node@24.13.3)(typescript@7.0.2) + version: 4.3.2(@types/node@22.20.1)(typescript@7.0.2) del-cli: specifier: ^7.0.0 version: 7.0.0 @@ -72,10 +72,10 @@ importers: version: 7.0.2 vite: specifier: ^8.1.0 - version: 8.1.5(@types/node@24.13.3)(esbuild@0.28.1)(jiti@2.6.1)(terser@5.49.0)(yaml@2.9.0) + version: 8.1.5(@types/node@22.20.1)(esbuild@0.28.1)(jiti@2.6.1)(terser@5.49.0)(yaml@2.9.0) vitest: specifier: ^4.1.9 - version: 4.1.10(@types/node@24.13.3)(@vitest/coverage-v8@4.1.10)(happy-dom@20.11.1)(vite@8.1.5(@types/node@24.13.3)(esbuild@0.28.1)(jiti@2.6.1)(terser@5.49.0)(yaml@2.9.0)) + version: 4.1.10(@types/node@22.20.1)(@vitest/coverage-v8@4.1.10)(happy-dom@20.11.1)(vite@8.1.5(@types/node@22.20.1)(esbuild@0.28.1)(jiti@2.6.1)(terser@5.49.0)(yaml@2.9.0)) examples/rspack: dependencies: @@ -171,11 +171,11 @@ importers: version: 7.3.0 sharp: specifier: ^0.35.3 - version: 0.35.3(@types/node@24.13.3) + version: 0.35.3(@types/node@22.20.1) devDependencies: '@types/node': - specifier: ^24.0.0 - version: 24.13.3 + specifier: ^22.0.0 + version: 22.20.1 publishDirectory: package packages/cli: @@ -194,11 +194,11 @@ importers: version: 0.2.17 devDependencies: '@types/node': - specifier: ^24.0.0 - version: 24.13.3 + specifier: ^22.0.0 + version: 22.20.1 sharp: specifier: ^0.35.3 - version: 0.35.3(@types/node@24.13.3) + version: 0.35.3(@types/node@22.20.1) publishDirectory: package packages/cloudflare: @@ -210,8 +210,8 @@ importers: specifier: workspace:^ version: link:../runtime '@types/node': - specifier: ^24.0.0 - version: 24.13.3 + specifier: ^22.0.0 + version: 22.20.1 size-limit: specifier: ^13.0.0 version: 13.0.3 @@ -230,14 +230,14 @@ importers: version: 4.0.5 sharp: specifier: ^0.35.3 - version: 0.35.3(@types/node@24.13.3) + version: 0.35.3(@types/node@22.20.1) devDependencies: '@types/css-mediaquery': specifier: ^0.1.4 version: 0.1.4 '@types/node': - specifier: ^24.0.0 - version: 24.13.3 + specifier: ^22.0.0 + version: 22.20.1 '@types/picomatch': specifier: ^4.0.3 version: 4.0.3 @@ -252,11 +252,11 @@ importers: specifier: workspace:^ version: link:../runtime '@types/node': - specifier: ^24.0.0 - version: 24.13.3 + specifier: ^22.0.0 + version: 22.20.1 sharp: specifier: ^0.35.3 - version: 0.35.3(@types/node@24.13.3) + version: 0.35.3(@types/node@22.20.1) size-limit: specifier: ^13.0.0 version: 13.0.3 @@ -281,14 +281,14 @@ importers: specifier: workspace:^ version: link:../runtime '@types/node': - specifier: ^24.0.0 - version: 24.13.3 + specifier: ^22.0.0 + version: 22.20.1 memfs: specifier: ^4.64.0 version: 4.64.0 sharp: specifier: ^0.35.3 - version: 0.35.3(@types/node@24.13.3) + version: 0.35.3(@types/node@22.20.1) webpack: specifier: ^5.108.4 version: 5.108.4(esbuild@0.28.1) @@ -422,14 +422,14 @@ importers: specifier: workspace:^ version: link:../runtime '@types/node': - specifier: ^24.0.0 - version: 24.13.3 + specifier: ^22.0.0 + version: 22.20.1 sharp: specifier: ^0.35.3 - version: 0.35.3(@types/node@24.13.3) + version: 0.35.3(@types/node@22.20.1) vite: specifier: ^8.1.0 - version: 8.1.5(@types/node@24.13.3)(esbuild@0.28.1)(jiti@2.6.1)(terser@5.49.0)(yaml@2.9.0) + version: 8.1.5(@types/node@22.20.1)(esbuild@0.28.1)(jiti@2.6.1)(terser@5.49.0)(yaml@2.9.0) publishDirectory: package website: @@ -631,50 +631,99 @@ packages: resolution: {integrity: sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==} engines: {node: '>=18'} + '@bruits/satteri-darwin-arm64@0.10.5': + resolution: {integrity: sha512-27KTVl4TJkVahMy/ohyA7qd4938G5UNneFUz/PsScYfpIhj0IVAS23mpcJXdPF44sa6nva198lmV/cKIb2YPyA==} + cpu: [arm64] + os: [darwin] + '@bruits/satteri-darwin-arm64@0.9.5': resolution: {integrity: sha512-iw4nZgx9v30lWo/MTngQqi1pI78KI0DnkSm+lVJGYdmPLgAyDNJigVhpG42/Iq55A6c1Ll8q66ljyyRiQUxwow==} cpu: [arm64] os: [darwin] + '@bruits/satteri-darwin-x64@0.10.5': + resolution: {integrity: sha512-IjnLe3nKspq6qaeqGgjT7MT8VrTV74yWRlaag7ZdNsI8TDAYZ0iPxMCo+9KQZHUk5EyVB+reBI/PFWL5KuFw9Q==} + cpu: [x64] + os: [darwin] + '@bruits/satteri-darwin-x64@0.9.5': resolution: {integrity: sha512-6T26Z5Kf3cFW2PSlk9p7zT7yVxvuBSiJvYyz9u8KjYwMTqZyIDOj2wDyNpxKV4+6yUVG7rddq2QwvG/8LJA2+Q==} cpu: [x64] os: [darwin] + '@bruits/satteri-linux-arm64-gnu@0.10.5': + resolution: {integrity: sha512-glkYXZCJywjP13v67eAyAMSJdF+ncvEbYvgi/wOtffL9tQ27lr/zsyzUfgs+ovjJ9d8JNQKiXeiArJcX8PJL9w==} + cpu: [arm64] + os: [linux] + libc: [glibc] + '@bruits/satteri-linux-arm64-gnu@0.9.5': resolution: {integrity: sha512-u51id17uJwNEMK9nBlICsq6U31c+XVqQueVBkwRIzZG+gMpS8TOJctt5h5Wz33Z8xnMdTd+adtACVz0yHgGuOA==} cpu: [arm64] os: [linux] libc: [glibc] + '@bruits/satteri-linux-arm64-musl@0.10.5': + resolution: {integrity: sha512-yWdgG1g17Nh2QyGVlFUxGRa3FEFwiMcpZEyMNWkbM3deC94cmVc+/i9OuyFpdKuWo3GkgoCtYVOoxk1uCnCZIA==} + cpu: [arm64] + os: [linux] + libc: [musl] + '@bruits/satteri-linux-arm64-musl@0.9.5': resolution: {integrity: sha512-v39HxiwGC5Rqm01HksP6+5Y+xKLPlsuVFgIgpEAo+SiQ22c+mJVhS3u7Z6ePAKdhL5NJoK1xq70kLz3L13AhpQ==} cpu: [arm64] os: [linux] libc: [musl] + '@bruits/satteri-linux-x64-gnu@0.10.5': + resolution: {integrity: sha512-FVaLoPT1fBgGl0J+AYebyyXJYBachGl8Oyyrf1lye4RTqCB4S0Gwkj1uM9RJyThUOvx5VUmAT1CnNh1SFHA+kw==} + cpu: [x64] + os: [linux] + libc: [glibc] + '@bruits/satteri-linux-x64-gnu@0.9.5': resolution: {integrity: sha512-F3uO8uFp3pAP5ZGXttwvh57GS7s0lL953tnNdyI2gRyP4kOOkp6pyGojNJzCjkDvWI2Cvb9iNrKok3aqQPauAw==} cpu: [x64] os: [linux] libc: [glibc] + '@bruits/satteri-linux-x64-musl@0.10.5': + resolution: {integrity: sha512-EHpVAx2bqW3GINHTKkljtxVfQmVDGWIuwOYOP5YghTj+0PkBa2o8oKPRtQ9Kbsr1Fye8jtUcDjhwj2jMNugZKg==} + cpu: [x64] + os: [linux] + libc: [musl] + '@bruits/satteri-linux-x64-musl@0.9.5': resolution: {integrity: sha512-bicEqglLlz++mWyADaZoP0JY20s4vDfLjaPYgQqC+NI4zZLTOOg1T4GB8aqtc822Pqji8SQBmSrTb7CrP8i08Q==} cpu: [x64] os: [linux] libc: [musl] + '@bruits/satteri-wasm32-wasi@0.10.5': + resolution: {integrity: sha512-ypz8c/Zmipxp4IoeDa228Gstv6TLzVmNs3yC6wKCoNSOjx1iwpgzu87Y3hTkXFdwChVGU85qeUDuOIarGUZQLw==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + '@bruits/satteri-wasm32-wasi@0.9.5': resolution: {integrity: sha512-zauAuMwfPnKPUkd4AFixRFpXdgKwP2mKgxrIIo2gJzW0/ZneF9dbHnLkojSpaBnCCp7VUL1hIi5WWZvB1CqmAQ==} engines: {node: '>=14.0.0'} cpu: [wasm32] + '@bruits/satteri-win32-arm64-msvc@0.10.5': + resolution: {integrity: sha512-siTV88nb0LRqNpkL2gXboqCwVdq95sLtzMHS1/3eONV2gLbB3NAK46wmSMvCO/yquBvI2lvaFIfd8P12ecsxBw==} + cpu: [arm64] + os: [win32] + '@bruits/satteri-win32-arm64-msvc@0.9.5': resolution: {integrity: sha512-SrfE7NEsgZjBvU3c+RR6oQRu0ToXY5uVJEbieXEF0YTctIV2zAVlbaMjWLts074QCgh3a+XHWkR/lWh2VH2LUg==} cpu: [arm64] os: [win32] + '@bruits/satteri-win32-x64-msvc@0.10.5': + resolution: {integrity: sha512-C3IfPvfvMXmlzBxaMPKFS1XiuV9pu2mC7YqkPk7PSvTgPZ8gbdASIpHpztDLvTTQjqZ0z1Ol8tK5X+V6XXC0wQ==} + cpu: [x64] + os: [win32] + '@bruits/satteri-win32-x64-msvc@0.9.5': resolution: {integrity: sha512-5Kw9ZAtTGS8WHizyn+CJhjjfIQrw+7jcZodpmpXJjefnO15M8UexIi6JR2E5thyvsmHyhL6ZDDMUNR4bKJPd4g==} cpu: [x64] @@ -6354,24 +6403,49 @@ snapshots: '@bcoe/v8-coverage@1.0.2': {} + '@bruits/satteri-darwin-arm64@0.10.5': + optional: true + '@bruits/satteri-darwin-arm64@0.9.5': optional: true + '@bruits/satteri-darwin-x64@0.10.5': + optional: true + '@bruits/satteri-darwin-x64@0.9.5': optional: true + '@bruits/satteri-linux-arm64-gnu@0.10.5': + optional: true + '@bruits/satteri-linux-arm64-gnu@0.9.5': optional: true + '@bruits/satteri-linux-arm64-musl@0.10.5': + optional: true + '@bruits/satteri-linux-arm64-musl@0.9.5': optional: true + '@bruits/satteri-linux-x64-gnu@0.10.5': + optional: true + '@bruits/satteri-linux-x64-gnu@0.9.5': optional: true + '@bruits/satteri-linux-x64-musl@0.10.5': + optional: true + '@bruits/satteri-linux-x64-musl@0.9.5': optional: true + '@bruits/satteri-wasm32-wasi@0.10.5': + dependencies: + '@emnapi/core': 1.11.1 + '@emnapi/runtime': 1.11.1 + '@napi-rs/wasm-runtime': 1.2.3(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1) + optional: true + '@bruits/satteri-wasm32-wasi@0.9.5': dependencies: '@emnapi/core': 1.11.1 @@ -6379,9 +6453,15 @@ snapshots: '@napi-rs/wasm-runtime': 1.1.6(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1) optional: true + '@bruits/satteri-win32-arm64-msvc@0.10.5': + optional: true + '@bruits/satteri-win32-arm64-msvc@0.9.5': optional: true + '@bruits/satteri-win32-x64-msvc@0.10.5': + optional: true + '@bruits/satteri-win32-x64-msvc@0.9.5': optional: true @@ -6401,12 +6481,12 @@ snapshots: fast-wrap-ansi: 0.2.2 sisteransi: 1.0.5 - '@commitlint/cli@21.2.1(@types/node@24.13.3)(conventional-commits-parser@7.1.0)(typescript@7.0.2)': + '@commitlint/cli@21.2.1(@types/node@22.20.1)(conventional-commits-parser@7.1.0)(typescript@7.0.2)': dependencies: '@commitlint/config-conventional': 21.2.0 '@commitlint/format': 21.2.0 '@commitlint/lint': 21.2.0 - '@commitlint/load': 21.2.0(@types/node@24.13.3)(typescript@7.0.2) + '@commitlint/load': 21.2.0(@types/node@22.20.1)(typescript@7.0.2) '@commitlint/read': 21.2.1(conventional-commits-parser@7.1.0) '@commitlint/types': 21.2.0 tinyexec: 1.2.4 @@ -6432,13 +6512,13 @@ snapshots: '@commitlint/types': 21.2.0 ajv: 8.20.0 - '@commitlint/cz-commitlint@21.2.0(@types/node@24.13.3)(commitizen@4.3.2(@types/node@24.13.3)(typescript@7.0.2))(inquirer@8.2.7(@types/node@24.13.3))(typescript@7.0.2)': + '@commitlint/cz-commitlint@21.2.0(@types/node@22.20.1)(commitizen@4.3.2(@types/node@22.20.1)(typescript@7.0.2))(inquirer@8.2.7(@types/node@22.20.1))(typescript@7.0.2)': dependencies: '@commitlint/ensure': 21.2.0 - '@commitlint/load': 21.2.0(@types/node@24.13.3)(typescript@7.0.2) + '@commitlint/load': 21.2.0(@types/node@22.20.1)(typescript@7.0.2) '@commitlint/types': 21.2.0 - commitizen: 4.3.2(@types/node@24.13.3)(typescript@7.0.2) - inquirer: 8.2.7(@types/node@24.13.3) + commitizen: 4.3.2(@types/node@22.20.1)(typescript@7.0.2) + inquirer: 8.2.7(@types/node@22.20.1) is-plain-obj: 4.1.0 picocolors: 1.1.1 word-wrap: 1.2.5 @@ -6470,14 +6550,14 @@ snapshots: '@commitlint/rules': 21.2.0 '@commitlint/types': 21.2.0 - '@commitlint/load@21.2.0(@types/node@24.13.3)(typescript@7.0.2)': + '@commitlint/load@21.2.0(@types/node@22.20.1)(typescript@7.0.2)': dependencies: '@commitlint/config-validator': 21.2.0 '@commitlint/execute-rule': 21.0.1 '@commitlint/resolve-extends': 21.2.0 '@commitlint/types': 21.2.0 cosmiconfig: 9.0.2(typescript@7.0.2) - cosmiconfig-typescript-loader: 6.3.0(@types/node@24.13.3)(cosmiconfig@9.0.2(typescript@7.0.2))(typescript@7.0.2) + cosmiconfig-typescript-loader: 6.3.0(@types/node@22.20.1)(cosmiconfig@9.0.2(typescript@7.0.2))(typescript@7.0.2) es-toolkit: 1.49.0 is-plain-obj: 4.1.0 picocolors: 1.1.1 @@ -6808,12 +6888,12 @@ snapshots: '@img/sharp-win32-x64@0.35.3': optional: true - '@inquirer/external-editor@1.0.3(@types/node@24.13.3)': + '@inquirer/external-editor@1.0.3(@types/node@22.20.1)': dependencies: chardet: 2.2.0 iconv-lite: 0.7.3 optionalDependencies: - '@types/node': 24.13.3 + '@types/node': 22.20.1 '@jridgewell/gen-mapping@0.3.13': dependencies: @@ -7013,6 +7093,13 @@ snapshots: '@tybys/wasm-util': 0.10.3 optional: true + '@napi-rs/wasm-runtime@1.2.3(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)': + dependencies: + '@emnapi/core': 1.11.1 + '@emnapi/runtime': 1.11.1 + '@tybys/wasm-util': 0.10.3 + optional: true + '@napi-rs/wasm-runtime@1.2.3(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2)': dependencies: '@emnapi/core': 1.11.2 @@ -7764,7 +7851,7 @@ snapshots: '@types/sax@1.2.7': dependencies: - '@types/node': 24.13.3 + '@types/node': 22.20.1 '@types/send@0.17.6': dependencies: @@ -7799,7 +7886,7 @@ snapshots: '@types/ws@8.18.1': dependencies: - '@types/node': 24.13.3 + '@types/node': 22.20.1 '@typescript-eslint/types@8.64.0': {} @@ -7882,7 +7969,7 @@ snapshots: obug: 2.1.4 std-env: 4.2.0 tinyrainbow: 3.1.0 - vitest: 4.1.10(@types/node@24.13.3)(@vitest/coverage-v8@4.1.10)(happy-dom@20.11.1)(vite@8.1.5(@types/node@24.13.3)(esbuild@0.28.1)(jiti@2.6.1)(terser@5.49.0)(yaml@2.9.0)) + vitest: 4.1.10(@types/node@22.20.1)(@vitest/coverage-v8@4.1.10)(happy-dom@20.11.1)(vite@8.1.5(@types/node@22.20.1)(esbuild@0.28.1)(jiti@2.6.1)(terser@5.49.0)(yaml@2.9.0)) '@vitest/expect@4.1.10': dependencies: @@ -7893,6 +7980,14 @@ snapshots: chai: 6.2.2 tinyrainbow: 3.1.0 + '@vitest/mocker@4.1.10(vite@8.1.5(@types/node@22.20.1)(esbuild@0.28.1)(jiti@2.6.1)(terser@5.49.0)(yaml@2.9.0))': + dependencies: + '@vitest/spy': 4.1.10 + estree-walker: 3.0.3 + magic-string: 0.30.21 + optionalDependencies: + vite: 8.1.5(@types/node@22.20.1)(esbuild@0.28.1)(jiti@2.6.1)(terser@5.49.0)(yaml@2.9.0) + '@vitest/mocker@4.1.10(vite@8.1.5(@types/node@24.13.3)(esbuild@0.28.1)(jiti@2.6.1)(terser@5.49.0)(yaml@2.9.0))': dependencies: '@vitest/spy': 4.1.10 @@ -7900,6 +7995,7 @@ snapshots: magic-string: 0.30.21 optionalDependencies: vite: 8.1.5(@types/node@24.13.3)(esbuild@0.28.1)(jiti@2.6.1)(terser@5.49.0)(yaml@2.9.0) + optional: true '@vitest/pretty-format@4.1.10': dependencies: @@ -8262,7 +8358,7 @@ snapshots: unifont: 0.7.5 unstorage: 1.17.5 vite: 8.1.5(@types/node@24.13.3)(esbuild@0.28.1)(jiti@2.6.1)(terser@5.49.0)(yaml@2.9.0) - vitefu: 1.1.3(vite@8.1.5(@types/node@24.13.3)(esbuild@0.28.1)(jiti@2.6.1)(terser@5.49.0)(yaml@2.9.0)) + vitefu: 1.1.3(vite@8.1.5(@types/node@22.20.1)(esbuild@0.28.1)(jiti@2.6.1)(terser@5.49.0)(yaml@2.9.0)) xxhash-wasm: 1.1.0 yargs-parser: 22.0.0 zod: 4.5.4 @@ -8382,7 +8478,7 @@ snapshots: buffer-image-size@0.6.4: dependencies: - '@types/node': 24.13.3 + '@types/node': 22.20.1 buffer@5.7.1: dependencies: @@ -8537,17 +8633,17 @@ snapshots: commander@8.3.0: {} - commitizen@4.3.2(@types/node@24.13.3)(typescript@7.0.2): + commitizen@4.3.2(@types/node@22.20.1)(typescript@7.0.2): dependencies: cachedir: 2.4.0 - cz-conventional-changelog: 3.3.0(@types/node@24.13.3)(typescript@7.0.2) + cz-conventional-changelog: 3.3.0(@types/node@22.20.1)(typescript@7.0.2) dedent: 0.7.0 detect-indent: 6.1.0 find-node-modules: 2.1.3 find-root: 1.1.0 fs-extra: 9.1.0 glob: 7.2.3 - inquirer: 8.2.7(@types/node@24.13.3) + inquirer: 8.2.7(@types/node@22.20.1) is-utf8: 0.2.1 lodash: 4.18.1 minimist: 1.2.8 @@ -8612,9 +8708,9 @@ snapshots: core-util-is@1.0.3: {} - cosmiconfig-typescript-loader@6.3.0(@types/node@24.13.3)(cosmiconfig@9.0.2(typescript@7.0.2))(typescript@7.0.2): + cosmiconfig-typescript-loader@6.3.0(@types/node@22.20.1)(cosmiconfig@9.0.2(typescript@7.0.2))(typescript@7.0.2): dependencies: - '@types/node': 24.13.3 + '@types/node': 22.20.1 cosmiconfig: 9.0.2(typescript@7.0.2) jiti: 2.6.1 typescript: 7.0.2 @@ -8682,16 +8778,16 @@ snapshots: csstype@3.2.3: {} - cz-conventional-changelog@3.3.0(@types/node@24.13.3)(typescript@7.0.2): + cz-conventional-changelog@3.3.0(@types/node@22.20.1)(typescript@7.0.2): dependencies: chalk: 2.4.2 - commitizen: 4.3.2(@types/node@24.13.3)(typescript@7.0.2) + commitizen: 4.3.2(@types/node@22.20.1)(typescript@7.0.2) conventional-commit-types: 3.0.0 lodash.map: 4.6.0 longest: 2.0.1 word-wrap: 1.2.5 optionalDependencies: - '@commitlint/load': 21.2.0(@types/node@24.13.3)(typescript@7.0.2) + '@commitlint/load': 21.2.0(@types/node@22.20.1)(typescript@7.0.2) transitivePeerDependencies: - '@types/node' - typescript @@ -9310,7 +9406,7 @@ snapshots: happy-dom@20.11.1: dependencies: - '@types/node': 24.13.3 + '@types/node': 22.20.1 '@types/whatwg-mimetype': 3.0.2 '@types/ws': 8.18.1 buffer-image-size: 0.6.4 @@ -9683,9 +9779,9 @@ snapshots: inline-style-parser@0.2.7: {} - inquirer@8.2.7(@types/node@24.13.3): + inquirer@8.2.7(@types/node@22.20.1): dependencies: - '@inquirer/external-editor': 1.0.3(@types/node@24.13.3) + '@inquirer/external-editor': 1.0.3(@types/node@22.20.1) ansi-escapes: 4.3.2 chalk: 4.1.2 cli-cursor: 3.1.0 @@ -11275,6 +11371,16 @@ snapshots: '@types/hast': 3.0.5 '@types/mdast': 4.0.4 '@types/unist': 3.0.3 + optionalDependencies: + '@bruits/satteri-darwin-arm64': 0.10.5 + '@bruits/satteri-darwin-x64': 0.10.5 + '@bruits/satteri-linux-arm64-gnu': 0.10.5 + '@bruits/satteri-linux-arm64-musl': 0.10.5 + '@bruits/satteri-linux-x64-gnu': 0.10.5 + '@bruits/satteri-linux-x64-musl': 0.10.5 + '@bruits/satteri-wasm32-wasi': 0.10.5 + '@bruits/satteri-win32-arm64-msvc': 0.10.5 + '@bruits/satteri-win32-x64-msvc': 0.10.5 satteri@0.9.5: dependencies: @@ -11376,6 +11482,39 @@ snapshots: dependencies: kind-of: 6.0.3 + sharp@0.35.3(@types/node@22.20.1): + dependencies: + '@img/colour': 1.1.0 + detect-libc: 2.1.2 + semver: 7.8.5 + optionalDependencies: + '@img/sharp-darwin-arm64': 0.35.3 + '@img/sharp-darwin-x64': 0.35.3 + '@img/sharp-freebsd-wasm32': 0.35.3 + '@img/sharp-libvips-darwin-arm64': 1.3.2 + '@img/sharp-libvips-darwin-x64': 1.3.2 + '@img/sharp-libvips-linux-arm': 1.3.2 + '@img/sharp-libvips-linux-arm64': 1.3.2 + '@img/sharp-libvips-linux-ppc64': 1.3.2 + '@img/sharp-libvips-linux-riscv64': 1.3.2 + '@img/sharp-libvips-linux-s390x': 1.3.2 + '@img/sharp-libvips-linux-x64': 1.3.2 + '@img/sharp-libvips-linuxmusl-arm64': 1.3.2 + '@img/sharp-libvips-linuxmusl-x64': 1.3.2 + '@img/sharp-linux-arm': 0.35.3 + '@img/sharp-linux-arm64': 0.35.3 + '@img/sharp-linux-ppc64': 0.35.3 + '@img/sharp-linux-riscv64': 0.35.3 + '@img/sharp-linux-s390x': 0.35.3 + '@img/sharp-linux-x64': 0.35.3 + '@img/sharp-linuxmusl-arm64': 0.35.3 + '@img/sharp-linuxmusl-x64': 0.35.3 + '@img/sharp-webcontainers-wasm32': 0.35.3 + '@img/sharp-win32-arm64': 0.35.3 + '@img/sharp-win32-ia32': 0.35.3 + '@img/sharp-win32-x64': 0.35.3 + '@types/node': 22.20.1 + sharp@0.35.3(@types/node@24.13.3): dependencies: '@img/colour': 1.1.0 @@ -11919,6 +12058,21 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.3 + vite@8.1.5(@types/node@22.20.1)(esbuild@0.28.1)(jiti@2.6.1)(terser@5.49.0)(yaml@2.9.0): + dependencies: + lightningcss: 1.32.0 + picomatch: 4.0.5 + postcss: 8.5.20 + rolldown: 1.1.5 + tinyglobby: 0.2.17 + optionalDependencies: + '@types/node': 22.20.1 + esbuild: 0.28.1 + fsevents: 2.3.3 + jiti: 2.6.1 + terser: 5.49.0 + yaml: 2.9.0 + vite@8.1.5(@types/node@24.13.3)(esbuild@0.28.1)(jiti@2.6.1)(terser@5.49.0)(yaml@2.9.0): dependencies: lightningcss: 1.32.0 @@ -11934,10 +12088,43 @@ snapshots: terser: 5.49.0 yaml: 2.9.0 + vitefu@1.1.3(vite@8.1.5(@types/node@22.20.1)(esbuild@0.28.1)(jiti@2.6.1)(terser@5.49.0)(yaml@2.9.0)): + optionalDependencies: + vite: 8.1.5(@types/node@22.20.1)(esbuild@0.28.1)(jiti@2.6.1)(terser@5.49.0)(yaml@2.9.0) + vitefu@1.1.3(vite@8.1.5(@types/node@24.13.3)(esbuild@0.28.1)(jiti@2.6.1)(terser@5.49.0)(yaml@2.9.0)): optionalDependencies: vite: 8.1.5(@types/node@24.13.3)(esbuild@0.28.1)(jiti@2.6.1)(terser@5.49.0)(yaml@2.9.0) + vitest@4.1.10(@types/node@22.20.1)(@vitest/coverage-v8@4.1.10)(happy-dom@20.11.1)(vite@8.1.5(@types/node@22.20.1)(esbuild@0.28.1)(jiti@2.6.1)(terser@5.49.0)(yaml@2.9.0)): + dependencies: + '@vitest/expect': 4.1.10 + '@vitest/mocker': 4.1.10(vite@8.1.5(@types/node@22.20.1)(esbuild@0.28.1)(jiti@2.6.1)(terser@5.49.0)(yaml@2.9.0)) + '@vitest/pretty-format': 4.1.10 + '@vitest/runner': 4.1.10 + '@vitest/snapshot': 4.1.10 + '@vitest/spy': 4.1.10 + '@vitest/utils': 4.1.10 + es-module-lexer: 2.3.1 + expect-type: 1.4.0 + magic-string: 0.30.21 + obug: 2.1.4 + pathe: 2.0.3 + picomatch: 4.0.5 + std-env: 4.2.0 + tinybench: 2.9.0 + tinyexec: 1.2.4 + tinyglobby: 0.2.17 + tinyrainbow: 3.1.0 + vite: 8.1.5(@types/node@22.20.1)(esbuild@0.28.1)(jiti@2.6.1)(terser@5.49.0)(yaml@2.9.0) + why-is-node-running: 2.3.0 + optionalDependencies: + '@types/node': 22.20.1 + '@vitest/coverage-v8': 4.1.10(vitest@4.1.10) + happy-dom: 20.11.1 + transitivePeerDependencies: + - msw + vitest@4.1.10(@types/node@24.13.3)(@vitest/coverage-v8@4.1.10)(happy-dom@20.11.1)(vite@8.1.5(@types/node@24.13.3)(esbuild@0.28.1)(jiti@2.6.1)(terser@5.49.0)(yaml@2.9.0)): dependencies: '@vitest/expect': 4.1.10 @@ -11966,6 +12153,7 @@ snapshots: happy-dom: 20.11.1 transitivePeerDependencies: - msw + optional: true volar-service-css@0.0.71(@volar/language-service@2.4.28): dependencies: From 964d52bab8c0e692bcf8ac2fb84b47131f69fe9a Mon Sep 17 00:00:00 2001 From: dangreen Date: Tue, 6 Oct 2026 19:48:58 +0400 Subject: [PATCH 2/2] build: update pnpm to v12 Pin pnpm 12.9.1 and ask CI for pnpm 12. Settings need no migration from pnpm 11. The lockfile records `linkDirectory: false` of the 11 packages that set it, which a frozen install of pnpm 12 checks, and pnpm 12 finds it up to date with that alone. --- .github/workflows/checks.yml | 4 ++-- .github/workflows/commit.yml | 2 +- .github/workflows/release.yml | 2 +- .github/workflows/tests.yml | 6 +++--- .github/workflows/website.yml | 2 +- .tool-versions | 2 +- pnpm-lock.yaml | 11 +++++++++++ 7 files changed, 20 insertions(+), 9 deletions(-) diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index 55c03b3..969a2f7 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -13,7 +13,7 @@ jobs: - name: Install pnpm uses: pnpm/action-setup@v6 with: - version: 11.9.0 + version: 12 - name: Install Node.js uses: actions/setup-node@v7 with: @@ -42,7 +42,7 @@ jobs: - name: Install pnpm uses: pnpm/action-setup@v6 with: - version: 11.9.0 + version: 12 - name: Install Node.js uses: actions/setup-node@v7 with: diff --git a/.github/workflows/commit.yml b/.github/workflows/commit.yml index 540dbe9..d19de9d 100644 --- a/.github/workflows/commit.yml +++ b/.github/workflows/commit.yml @@ -13,7 +13,7 @@ jobs: - name: Install pnpm uses: pnpm/action-setup@v6 with: - version: 11.9.0 + version: 12 - name: Install Node.js uses: actions/setup-node@v7 with: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 6687b36..df47d35 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -48,7 +48,7 @@ jobs: - name: Install pnpm uses: pnpm/action-setup@v6 with: - version: 11.9.0 + version: 12 - name: Install Node.js uses: actions/setup-node@v7 with: diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 9026470..b953082 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -14,7 +14,7 @@ jobs: - name: Install pnpm uses: pnpm/action-setup@v6 with: - version: 11.9.0 + version: 12 - name: Install Node.js uses: actions/setup-node@v7 with: @@ -33,7 +33,7 @@ jobs: - name: Install pnpm uses: pnpm/action-setup@v6 with: - version: 11.9.0 + version: 12 - name: Install Node.js uses: actions/setup-node@v7 with: @@ -58,7 +58,7 @@ jobs: - name: Install pnpm uses: pnpm/action-setup@v6 with: - version: 11.9.0 + version: 12 - name: Install Node.js uses: actions/setup-node@v7 with: diff --git a/.github/workflows/website.yml b/.github/workflows/website.yml index 80ec243..f4db589 100644 --- a/.github/workflows/website.yml +++ b/.github/workflows/website.yml @@ -23,7 +23,7 @@ jobs: - name: Install pnpm uses: pnpm/action-setup@v6 with: - version: 11.9.0 + version: 12 - name: Install Node.js uses: actions/setup-node@v7 with: diff --git a/.tool-versions b/.tool-versions index aa08355..23dfdeb 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1,2 +1,2 @@ -pnpm 11.9.0 +pnpm 12.9.1 nodejs 26.10.0 diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 76402d7..41aee58 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -176,6 +176,7 @@ importers: '@types/node': specifier: ^22.0.0 version: 22.20.1 + linkDirectory: false publishDirectory: package packages/cli: @@ -199,6 +200,7 @@ importers: sharp: specifier: ^0.35.3 version: 0.35.3(@types/node@22.20.1) + linkDirectory: false publishDirectory: package packages/cloudflare: @@ -215,6 +217,7 @@ importers: size-limit: specifier: ^13.0.0 version: 13.0.3 + linkDirectory: false publishDirectory: package packages/core: @@ -241,6 +244,7 @@ importers: '@types/picomatch': specifier: ^4.0.3 version: 4.0.3 + linkDirectory: false publishDirectory: package packages/imgproxy: @@ -260,6 +264,7 @@ importers: size-limit: specifier: ^13.0.0 version: 13.0.3 + linkDirectory: false publishDirectory: package packages/loader: @@ -292,6 +297,7 @@ importers: webpack: specifier: ^5.108.4 version: 5.108.4(esbuild@0.28.1) + linkDirectory: false publishDirectory: package packages/preact: @@ -320,6 +326,7 @@ importers: size-limit: specifier: ^13.0.0 version: 13.0.3 + linkDirectory: false publishDirectory: package packages/react: @@ -360,6 +367,7 @@ importers: size-limit: specifier: ^13.0.0 version: 13.0.3 + linkDirectory: false publishDirectory: package packages/runtime: @@ -370,6 +378,7 @@ importers: size-limit: specifier: ^13.0.0 version: 13.0.3 + linkDirectory: false publishDirectory: package packages/svelte: @@ -404,6 +413,7 @@ importers: typescript: specifier: ^5.9.0 version: 5.9.3 + linkDirectory: false publishDirectory: package packages/vite-plugin: @@ -430,6 +440,7 @@ importers: vite: specifier: ^8.1.0 version: 8.1.5(@types/node@22.20.1)(esbuild@0.28.1)(jiti@2.6.1)(terser@5.49.0)(yaml@2.9.0) + linkDirectory: false publishDirectory: package website: