Skip to content

Commit eec4f26

Browse files
Dedupe node & pnpm versions; bump pnpm to 10.33.1
Address feedback: make package.json the single source of truth for node and pnpm versions where possible, and bump pnpm to the latest release. - package.json: bump `packageManager` to `pnpm@10.33.1` (pinned with the upstream sha512 integrity hash so corepack/pnpm verify the binary). - package.json: tighten `engines.node` from `>=22` to `22.14.0` so dev's built-in node-version validator catches any drift against dev.yml on every `dev up`. - dev.yml: bump to `package_manager: pnpm@10.33.1` and add a comment noting the versions must stay in lockstep with package.json. - .github/actions/setup: read node from `engines.node` via `node-version-file: package.json`, and let `pnpm/action-setup` read the version from the `packageManager` field (drop the hardcoded `version: 10.28.0` and `node-version: 22.22.1`). dev.yml itself is plain YAML (no ERB/interpolation) and the node task requires an explicit `version:` + `package_manager:`, so full deduplication into a single literal isn't supported upstream. Every other pnpm-using zone in World mirrors the value. The setup we have here — package.json as SoT, dev's validator as the enforcer, CI reading directly from package.json — is the closest equivalent. Requested by Kieran Osgood <kieran.osgood@shopify.com>
1 parent f2501e7 commit eec4f26

3 files changed

Lines changed: 12 additions & 6 deletions

File tree

.github/actions/setup/action.yml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,17 @@ description: Setup Node.js and install dependencies
44
runs:
55
using: composite
66
steps:
7+
# Versions are sourced from package.json:
8+
# - pnpm: `packageManager` field (read by pnpm/action-setup)
9+
# - node: `engines.node` field (read by setup-node via node-version-file)
10+
# Keep package.json as the single source of truth.
711
- name: Install pnpm
812
uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
9-
with:
10-
version: 10.28.0
1113

1214
- name: Setup Node.js
1315
uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3.8.2
1416
with:
15-
node-version: 22.22.1
17+
node-version-file: package.json
1618
registry-url: 'https://registry.npmjs.org'
1719
cache: pnpm
1820

dev.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,13 @@ up:
1515
ios:
1616
- version: 23C54 # 26.2
1717
architecture_variant: arm64
18+
# Node / pnpm versions are mirrored from package.json (engines.node,
19+
# packageManager). dev validates engines.node matches the version below on
20+
# every `dev up`, so drift is caught automatically. If you bump one, bump
21+
# both.
1822
- node:
1923
version: v22.14.0
20-
package_manager: pnpm@10.28.0
24+
package_manager: pnpm@10.33.1
2125
- custom:
2226
name: Install NPM dependencies
2327
met?: ls -l | grep node_modules

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
"url": "https://github.com/Shopify/checkout-sheet-kit-react-native/issues"
1111
},
1212
"homepage": "https://github.com/Shopify/checkout-sheet-kit-react-native",
13-
"packageManager": "pnpm@10.28.0",
13+
"packageManager": "pnpm@10.33.1+sha512.05ba3c1d5d1c18f68df06470d74055e62d41fc110a0c660db1b2dfb2785327f04cf0f68345d4609bc52089e7fa0343c31593b2f9594e2c5d5da426230acc9820",
1414
"pnpm": {
1515
"onlyBuiltDependencies": [
1616
"unrs-resolver"
@@ -58,7 +58,7 @@
5858
"typescript": "^5.9.2"
5959
},
6060
"engines": {
61-
"node": ">=22"
61+
"node": "22.14.0"
6262
},
6363
"prettier": {
6464
"arrowParens": "avoid",

0 commit comments

Comments
 (0)