From 47f48619fd50e87b584d26de2c4975e1cb8ca42e Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Tue, 8 Sep 2026 18:50:53 +0100 Subject: [PATCH 1/3] ci: use `pnpm/setup` and `devEngines` --- .github/workflows/ci.yml | 7 +- package.json | 13 +++- pnpm-lock.yaml | 137 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 152 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index cbc1a33a6..5926e8c6e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,11 +14,10 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 - - run: corepack enable - - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7 + - uses: pnpm/setup@84cb39b217b10273981911c288cd62326dc7c6d2 # v2 with: - node-version: 24.20.0 - cache: pnpm + cache: true + install: false - run: pnpm install - run: pnpm lint - run: pnpm test diff --git a/package.json b/package.json index 2a4cf82c0..f67c48e09 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,18 @@ "name": "nuxt-hn", "type": "module", "private": true, - "packageManager": "pnpm@12.3.4", + "devEngines": { + "runtime": { + "name": "node", + "version": "^24.0.0", + "onFail": "download" + }, + "packageManager": { + "name": "pnpm", + "version": "12.3.4", + "onFail": "download" + } + }, "description": "Nuxt Hacker News", "author": "Evan You ", "contributors": [ diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b1b6da3cd..9505b7f53 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -136,6 +136,9 @@ importers: happy-dom: specifier: ^20.14.0 version: 20.14.0 + node: + specifier: runtime:^24.0.0 + version: runtime:24.20.0 nuxt: specifier: ^4.5.2 version: 4.5.2(@babel/plugin-syntax-jsx@7.29.7(@babel/core@7.29.7(supports-color@10.2.2)))(@babel/plugin-syntax-typescript@7.29.7(@babel/core@7.29.7(supports-color@10.2.2)))(@oxc-project/types@0.147.0)(@types/node@24.13.3)(@vue/compiler-sfc@3.5.42)(cac@7.0.0)(commander@14.0.3)(db0@0.3.4)(esbuild@0.28.2)(eslint@10.10.0(jiti@2.7.0)(supports-color@10.2.2))(ioredis@5.11.1(supports-color@10.2.2))(lightningcss@1.33.0)(magicast@0.5.4)(optionator@0.9.4)(rolldown@1.2.6)(rollup-plugin-visualizer@7.1.1(rolldown@1.2.6)(rollup@4.63.1))(rollup@4.63.1)(srvx@0.11.22)(supports-color@10.2.2)(terser@5.51.2)(typescript@5.9.3)(vite@8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.0))(yaml@2.9.0) @@ -3279,6 +3282,138 @@ packages: resolution: {integrity: sha512-YHs7BmmcsdAI5Ozuf8JZo6PT0mv2GIWC9vMfvUC3dp65M8hn7Ux8CPL+2oBI7juNuj9d0ndhTcznq2ODBps9cQ==} engines: {node: '>=18'} + node@runtime:24.20.0: + resolution: + type: variations + variants: + - resolution: + archive: tarball + bin: + node: bin/node + integrity: sha256-FLW9etQKtfRxX7Ti+WSFjYINlCX+KR09ZfmJJua4nB4= + type: binary + url: https://nodejs.org/download/release/v24.20.0/node-v24.20.0-aix-ppc64.tar.gz + targets: + - cpu: ppc64 + os: aix + - resolution: + archive: tarball + bin: + node: bin/node + integrity: sha256-QOVgfl7LPbkZJyN3baLXXZZiYPx0p6nnMcG9Z92pa8g= + type: binary + url: https://nodejs.org/download/release/v24.20.0/node-v24.20.0-darwin-arm64.tar.gz + targets: + - cpu: arm64 + os: darwin + - resolution: + archive: tarball + bin: + node: bin/node + integrity: sha256-nlsmRM8Qe++2rvymdrltMpa8EBOAlvAi7TeNYjPtgfQ= + type: binary + url: https://nodejs.org/download/release/v24.20.0/node-v24.20.0-darwin-x64.tar.gz + targets: + - cpu: x64 + os: darwin + - resolution: + archive: tarball + bin: + node: bin/node + integrity: sha256-NRVgPiSHh5o5vHVxbxoq/9AnUAxkulDoRc9yyzMhkBM= + type: binary + url: https://nodejs.org/download/release/v24.20.0/node-v24.20.0-linux-arm64.tar.gz + targets: + - cpu: arm64 + os: linux + - resolution: + archive: tarball + bin: + node: bin/node + integrity: sha256-pzSzbI0dFs5FXA65wymwfdEhwshVQ1UGSphhvJbDrcw= + type: binary + url: https://nodejs.org/download/release/v24.20.0/node-v24.20.0-linux-ppc64le.tar.gz + targets: + - cpu: ppc64le + os: linux + - resolution: + archive: tarball + bin: + node: bin/node + integrity: sha256-2MIktG7wHweKUj2bfbeSgjBvrigemGoVotv/6UfFMB4= + type: binary + url: https://nodejs.org/download/release/v24.20.0/node-v24.20.0-linux-s390x.tar.gz + targets: + - cpu: s390x + os: linux + - resolution: + archive: tarball + bin: + node: bin/node + integrity: sha256-1ubRu7mtSssW1YC4m+ipyafkkJJuk708MKINRuFSv4o= + type: binary + url: https://nodejs.org/download/release/v24.20.0/node-v24.20.0-linux-x64-musl.tar.gz + targets: + - cpu: x64 + os: linux + libc: musl + - resolution: + archive: tarball + bin: + node: bin/node + integrity: sha256-hV1YH4pOsagRfjQm3iX+AncFkv68+zE2mu4f+/7p6Ow= + type: binary + url: https://nodejs.org/download/release/v24.20.0/node-v24.20.0-linux-x64.tar.gz + targets: + - cpu: x64 + os: linux + - resolution: + archive: zip + bin: + node: node.exe + integrity: sha256-McZ5l0TeilRgFkMJgEDGjDaX5WyU5AfWHQ5fpfNBkdc= + prefix: node-v24.20.0-win-arm64 + type: binary + url: https://nodejs.org/download/release/v24.20.0/node-v24.20.0-win-arm64.zip + targets: + - cpu: arm64 + os: win32 + - resolution: + archive: zip + bin: + node: node.exe + integrity: sha256-bKyf+8qPakcJHktcdy4GBgScOHHLZ9kAwM7d5jDlRbo= + prefix: node-v24.20.0-win-x64 + type: binary + url: https://nodejs.org/download/release/v24.20.0/node-v24.20.0-win-x64.zip + targets: + - cpu: x64 + os: win32 + - resolution: + archive: tarball + bin: + node: bin/node + integrity: sha256-LIxQfMsPIIEtlSa6jKRUsWUqre9o/IutBvB/sRIt0e8= + type: binary + url: https://unofficial-builds.nodejs.org/download/release/v24.20.0/node-v24.20.0-linux-arm64-musl.tar.gz + targets: + - cpu: arm64 + os: linux + libc: musl + - resolution: + archive: tarball + bin: + node: bin/node + integrity: sha256-muE5n+9L2JkOFXc84TJ7M2oguel9jHVJ9PQspzxD9WI= + type: binary + url: https://unofficial-builds.nodejs.org/download/release/v24.20.0/node-v24.20.0-linux-x64-musl.tar.gz + targets: + - cpu: x64 + os: linux + libc: musl + version: 24.20.0 + hasBin: true + nopt@10.0.1: resolution: {integrity: sha512-df3sBr/6ax9hSGuC3CspvLlbnX8cP5L5nZwXF8cGN8l0zSWR6BvzmQ6jPUKjvo6+/xdpkNvEcucBNUdBeeV13g==} engines: {node: ^22.22.2 || ^24.15.0 || >=26.0.0} @@ -8113,6 +8248,8 @@ snapshots: node-releases@2.0.54: {} + node@runtime:24.20.0: {} + nopt@10.0.1: dependencies: abbrev: 5.0.0 From 9d4deb56b8cf1052bb165767a4823700f4b736ba Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Wed, 9 Sep 2026 06:06:33 +0000 Subject: [PATCH 2/3] fix: let `pnpm/setup` run the install and relax `devEngines` --- .github/workflows/ci.yml | 2 - .node-version | 1 + package.json | 4 +- pnpm-lock.yaml | 137 --------------------------------------- 4 files changed, 3 insertions(+), 141 deletions(-) create mode 100644 .node-version diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5926e8c6e..0ba47d603 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -17,7 +17,5 @@ jobs: - uses: pnpm/setup@84cb39b217b10273981911c288cd62326dc7c6d2 # v2 with: cache: true - install: false - - run: pnpm install - run: pnpm lint - run: pnpm test diff --git a/.node-version b/.node-version new file mode 100644 index 000000000..a45fd52cc --- /dev/null +++ b/.node-version @@ -0,0 +1 @@ +24 diff --git a/package.json b/package.json index f67c48e09..e76f3caab 100644 --- a/package.json +++ b/package.json @@ -6,12 +6,12 @@ "runtime": { "name": "node", "version": "^24.0.0", - "onFail": "download" + "onFail": "warn" }, "packageManager": { "name": "pnpm", "version": "12.3.4", - "onFail": "download" + "onFail": "warn" } }, "description": "Nuxt Hacker News", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9505b7f53..b1b6da3cd 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -136,9 +136,6 @@ importers: happy-dom: specifier: ^20.14.0 version: 20.14.0 - node: - specifier: runtime:^24.0.0 - version: runtime:24.20.0 nuxt: specifier: ^4.5.2 version: 4.5.2(@babel/plugin-syntax-jsx@7.29.7(@babel/core@7.29.7(supports-color@10.2.2)))(@babel/plugin-syntax-typescript@7.29.7(@babel/core@7.29.7(supports-color@10.2.2)))(@oxc-project/types@0.147.0)(@types/node@24.13.3)(@vue/compiler-sfc@3.5.42)(cac@7.0.0)(commander@14.0.3)(db0@0.3.4)(esbuild@0.28.2)(eslint@10.10.0(jiti@2.7.0)(supports-color@10.2.2))(ioredis@5.11.1(supports-color@10.2.2))(lightningcss@1.33.0)(magicast@0.5.4)(optionator@0.9.4)(rolldown@1.2.6)(rollup-plugin-visualizer@7.1.1(rolldown@1.2.6)(rollup@4.63.1))(rollup@4.63.1)(srvx@0.11.22)(supports-color@10.2.2)(terser@5.51.2)(typescript@5.9.3)(vite@8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.0))(yaml@2.9.0) @@ -3282,138 +3279,6 @@ packages: resolution: {integrity: sha512-YHs7BmmcsdAI5Ozuf8JZo6PT0mv2GIWC9vMfvUC3dp65M8hn7Ux8CPL+2oBI7juNuj9d0ndhTcznq2ODBps9cQ==} engines: {node: '>=18'} - node@runtime:24.20.0: - resolution: - type: variations - variants: - - resolution: - archive: tarball - bin: - node: bin/node - integrity: sha256-FLW9etQKtfRxX7Ti+WSFjYINlCX+KR09ZfmJJua4nB4= - type: binary - url: https://nodejs.org/download/release/v24.20.0/node-v24.20.0-aix-ppc64.tar.gz - targets: - - cpu: ppc64 - os: aix - - resolution: - archive: tarball - bin: - node: bin/node - integrity: sha256-QOVgfl7LPbkZJyN3baLXXZZiYPx0p6nnMcG9Z92pa8g= - type: binary - url: https://nodejs.org/download/release/v24.20.0/node-v24.20.0-darwin-arm64.tar.gz - targets: - - cpu: arm64 - os: darwin - - resolution: - archive: tarball - bin: - node: bin/node - integrity: sha256-nlsmRM8Qe++2rvymdrltMpa8EBOAlvAi7TeNYjPtgfQ= - type: binary - url: https://nodejs.org/download/release/v24.20.0/node-v24.20.0-darwin-x64.tar.gz - targets: - - cpu: x64 - os: darwin - - resolution: - archive: tarball - bin: - node: bin/node - integrity: sha256-NRVgPiSHh5o5vHVxbxoq/9AnUAxkulDoRc9yyzMhkBM= - type: binary - url: https://nodejs.org/download/release/v24.20.0/node-v24.20.0-linux-arm64.tar.gz - targets: - - cpu: arm64 - os: linux - - resolution: - archive: tarball - bin: - node: bin/node - integrity: sha256-pzSzbI0dFs5FXA65wymwfdEhwshVQ1UGSphhvJbDrcw= - type: binary - url: https://nodejs.org/download/release/v24.20.0/node-v24.20.0-linux-ppc64le.tar.gz - targets: - - cpu: ppc64le - os: linux - - resolution: - archive: tarball - bin: - node: bin/node - integrity: sha256-2MIktG7wHweKUj2bfbeSgjBvrigemGoVotv/6UfFMB4= - type: binary - url: https://nodejs.org/download/release/v24.20.0/node-v24.20.0-linux-s390x.tar.gz - targets: - - cpu: s390x - os: linux - - resolution: - archive: tarball - bin: - node: bin/node - integrity: sha256-1ubRu7mtSssW1YC4m+ipyafkkJJuk708MKINRuFSv4o= - type: binary - url: https://nodejs.org/download/release/v24.20.0/node-v24.20.0-linux-x64-musl.tar.gz - targets: - - cpu: x64 - os: linux - libc: musl - - resolution: - archive: tarball - bin: - node: bin/node - integrity: sha256-hV1YH4pOsagRfjQm3iX+AncFkv68+zE2mu4f+/7p6Ow= - type: binary - url: https://nodejs.org/download/release/v24.20.0/node-v24.20.0-linux-x64.tar.gz - targets: - - cpu: x64 - os: linux - - resolution: - archive: zip - bin: - node: node.exe - integrity: sha256-McZ5l0TeilRgFkMJgEDGjDaX5WyU5AfWHQ5fpfNBkdc= - prefix: node-v24.20.0-win-arm64 - type: binary - url: https://nodejs.org/download/release/v24.20.0/node-v24.20.0-win-arm64.zip - targets: - - cpu: arm64 - os: win32 - - resolution: - archive: zip - bin: - node: node.exe - integrity: sha256-bKyf+8qPakcJHktcdy4GBgScOHHLZ9kAwM7d5jDlRbo= - prefix: node-v24.20.0-win-x64 - type: binary - url: https://nodejs.org/download/release/v24.20.0/node-v24.20.0-win-x64.zip - targets: - - cpu: x64 - os: win32 - - resolution: - archive: tarball - bin: - node: bin/node - integrity: sha256-LIxQfMsPIIEtlSa6jKRUsWUqre9o/IutBvB/sRIt0e8= - type: binary - url: https://unofficial-builds.nodejs.org/download/release/v24.20.0/node-v24.20.0-linux-arm64-musl.tar.gz - targets: - - cpu: arm64 - os: linux - libc: musl - - resolution: - archive: tarball - bin: - node: bin/node - integrity: sha256-muE5n+9L2JkOFXc84TJ7M2oguel9jHVJ9PQspzxD9WI= - type: binary - url: https://unofficial-builds.nodejs.org/download/release/v24.20.0/node-v24.20.0-linux-x64-musl.tar.gz - targets: - - cpu: x64 - os: linux - libc: musl - version: 24.20.0 - hasBin: true - nopt@10.0.1: resolution: {integrity: sha512-df3sBr/6ax9hSGuC3CspvLlbnX8cP5L5nZwXF8cGN8l0zSWR6BvzmQ6jPUKjvo6+/xdpkNvEcucBNUdBeeV13g==} engines: {node: ^22.22.2 || ^24.15.0 || >=26.0.0} @@ -8248,8 +8113,6 @@ snapshots: node-releases@2.0.54: {} - node@runtime:24.20.0: {} - nopt@10.0.1: dependencies: abbrev: 5.0.0 From fb49aa909d979d252c188d38be840948c3701244 Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Wed, 9 Sep 2026 06:47:19 +0000 Subject: [PATCH 3/3] ci: bump `pnpm/setup` to v2.1.0 --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0ba47d603..5d04fee3a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 - - uses: pnpm/setup@84cb39b217b10273981911c288cd62326dc7c6d2 # v2 + - uses: pnpm/setup@703c52620218391530e48b9e8870d5c0082e1b9b # v2.1.0 with: cache: true - run: pnpm lint