From 78d74b2cbd19e1d5c871416ac5bf75624b6c1c08 Mon Sep 17 00:00:00 2001 From: Andreas Trawoeger Date: Wed, 7 Oct 2026 11:08:49 +0200 Subject: [PATCH 1/3] chore(nodejs): bump the pinned pnpm 10.33.4 -> 10.34.6 --- README.md | 2 +- charly.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index a6351b5..ed8f220 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ with a working `--version`, so the runtime is directly verifiable. |---|---| | Layer / candy | `nodejs` | | Binaries | `/usr/bin/node`, `/usr/bin/npm`, `/usr/local/bin/pnpm` | -| Pinned pnpm | `PNPM_VERSION` `10.33.4` | +| Pinned pnpm | `PNPM_VERSION` `10.34.6` | | Env | `NPM_CONFIG_PREFIX=~/.npm-global`; `~/.npm-global/bin` on `PATH` | | Service / port | none | diff --git a/charly.yml b/charly.yml index 804246d..dd90eaf 100644 --- a/charly.yml +++ b/charly.yml @@ -57,7 +57,7 @@ nodejs: suite: nodistro components: main var: - PNPM_VERSION: "10.33.4" + PNPM_VERSION: "10.34.6" plan: - run: | command=case "${BUILD_ARCH}" in From e9a80aaf49bf2130ac8b70bd3271f5325a51c817 Mon Sep 17 00:00:00 2001 From: Andreas Trawoeger Date: Wed, 7 Oct 2026 12:04:24 +0200 Subject: [PATCH 2/3] test(nodejs): assert the installed pnpm is at least 10.34.6 (fails at 10.33.4) --- charly.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/charly.yml b/charly.yml index dd90eaf..9805ccc 100644 --- a/charly.yml +++ b/charly.yml @@ -118,6 +118,17 @@ nodejs: # with it and hand the result to env(1). command: | env HOME="$(getent passwd "$(id -u)" | cut -d: -f6)" pnpm --version + - # The pnpm floor consumers depend on: 10.33.4 cannot accept the + # fully-qualified `allowBuilds` key that pnpm itself prints for a + # git-hosted dependency (ERR_PNPM_INVALID_VERSION_UNION), which breaks + # a DSH profile installing its git-hosted plugins (pod-dsh's dsh-web), + # and it ships no node-gyp for native addon builds. Assert the installed + # binary is at least 10.34.6 so a regression of PNPM_VERSION fails THIS + # check (it passes at 10.34.6, fails at 10.33.4). + check: the installed pnpm is at least 10.34.6 (the git-hosted allowBuilds key floor) + exit_status: 0 + command: | + env HOME="$(getent passwd "$(id -u)" | cut -d: -f6)" pnpm --version | node -e 'let s="";process.stdin.on("data",d=>s+=d).on("end",()=>{const [maj,min]=s.trim().split(".").map(Number);if(maj>10||(maj===10&&min>=34))process.exit(0);process.exit(1)})' - check: package=nodejs id: nodejs-package package: From 881d45e04b4bb59afa2017c75cc8eb658a05674d Mon Sep 17 00:00:00 2001 From: Andreas Trawoeger Date: Wed, 7 Oct 2026 14:29:37 +0200 Subject: [PATCH 3/3] test(nodejs): compare all three pnpm version components (the check enforced >=10.34.0, not >=10.34.6) --- charly.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/charly.yml b/charly.yml index 9805ccc..470a172 100644 --- a/charly.yml +++ b/charly.yml @@ -124,11 +124,13 @@ nodejs: # a DSH profile installing its git-hosted plugins (pod-dsh's dsh-web), # and it ships no node-gyp for native addon builds. Assert the installed # binary is at least 10.34.6 so a regression of PNPM_VERSION fails THIS - # check (it passes at 10.34.6, fails at 10.33.4). + # check. ALL THREE components are compared, not just major.minor: a + # `10.34.x<6` pin must fail too, or the guard would not enforce the + # stated floor. check: the installed pnpm is at least 10.34.6 (the git-hosted allowBuilds key floor) exit_status: 0 command: | - env HOME="$(getent passwd "$(id -u)" | cut -d: -f6)" pnpm --version | node -e 'let s="";process.stdin.on("data",d=>s+=d).on("end",()=>{const [maj,min]=s.trim().split(".").map(Number);if(maj>10||(maj===10&&min>=34))process.exit(0);process.exit(1)})' + env HOME="$(getent passwd "$(id -u)" | cut -d: -f6)" pnpm --version | node -e 'let s="";process.stdin.on("data",d=>s+=d).on("end",()=>{const v=s.trim().split(".").map(Number);if(v[0]>10||(v[0]===10&&(v[1]>34||(v[1]===34&&v[2]>=6))))process.exit(0);process.exit(1)})' - check: package=nodejs id: nodejs-package package: