From 19566048c2357d428e6f190f7b21ad45fba71ede Mon Sep 17 00:00:00 2001 From: Zoltan Kochan Date: Fri, 27 Mar 2026 20:38:35 +0100 Subject: [PATCH] =?UTF-8?q?fix:=20address=20review=20feedback=20=E2=80=94?= =?UTF-8?q?=20PATH=20ordering=20and=20regex=20anchoring?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Swap addPath order so pnpmHome (with pnpm.exe) is prepended last and has highest precedence over pnpmHome/bin. - Anchor version regex with $ and allow prerelease suffixes. --- .github/workflows/test.yaml | 8 ++++---- dist/index.js | Bin 1432219 -> 1432219 bytes src/install-pnpm/run.ts | 7 ++++--- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 575604a..bbb7cc2 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -36,7 +36,7 @@ jobs: run: | actual="$(pnpm --version)" echo "pnpm version: ${actual}" - if [[ ! "${actual}" =~ ^[0-9]+\.[0-9]+\.[0-9]+ ]]; then + if [[ ! "${actual}" =~ ^[0-9]+\.[0-9]+\.[0-9]+(-.+)?$ ]]; then echo "ERROR: pnpm --version did not produce valid output" exit 1 fi @@ -81,7 +81,7 @@ jobs: run: | actual="$(pnpm --version)" echo "pnpm version: ${actual}" - if [[ ! "${actual}" =~ ^[0-9]+\.[0-9]+\.[0-9]+ ]]; then + if [[ ! "${actual}" =~ ^[0-9]+\.[0-9]+\.[0-9]+(-.+)?$ ]]; then echo "ERROR: pnpm --version did not produce valid output" exit 1 fi @@ -115,7 +115,7 @@ jobs: run: | actual="$(pnpm --version)" echo "pnpm version: ${actual}" - if [[ ! "${actual}" =~ ^[0-9]+\.[0-9]+\.[0-9]+ ]]; then + if [[ ! "${actual}" =~ ^[0-9]+\.[0-9]+\.[0-9]+(-.+)?$ ]]; then echo "ERROR: pnpm --version did not produce valid output" exit 1 fi @@ -220,7 +220,7 @@ jobs: run: | actual="$(pnpm --version)" echo "pnpm version: ${actual}" - if [[ ! "${actual}" =~ ^[0-9]+\.[0-9]+\.[0-9]+ ]]; then + if [[ ! "${actual}" =~ ^[0-9]+\.[0-9]+\.[0-9]+(-.+)?$ ]]; then echo "ERROR: pnpm --version did not produce valid output" exit 1 fi diff --git a/dist/index.js b/dist/index.js index 5c8cd04d6c89219838b3881da1e46f3dc1e9ef5a..5d098bc7640a7eecee4323c1c28df14fa212d6ae 100644 GIT binary patch delta 67 zcmV-J0KEU3wO5<9SAc{8gaU*Egam{Iga(8Mgb0KQgbIWUgbaiYgbsucgb;)ggc5`k ZgcP(DkjIzD#}yivfyWg$x8cVXx)LIW7|;L! delta 67 zcmV~$NezH75J1te?^|I!fTG%g { const pnpmHome = standalone && process.platform === 'win32' ? path.join(dest, 'node_modules', '@pnpm', 'exe') : path.join(dest, 'node_modules', '.bin') + // pnpm expects PNPM_HOME/bin in PATH for global binaries (e.g. node + // installed via `pnpm runtime`). Add it first so the next addPath + // (pnpmHome itself, which contains pnpm.exe) has higher precedence. + addPath(path.join(pnpmHome, 'bin')) addPath(pnpmHome) exportVariable('PNPM_HOME', pnpmHome) - // pnpm expects PNPM_HOME/bin in PATH for global binaries - addPath(path.join(pnpmHome, 'bin')) - // Ensure pnpm bin link exists — npm ci sometimes doesn't create it if (process.platform !== 'win32') { const pnpmBinLink = path.join(dest, 'node_modules', '.bin', 'pnpm')