From cd98fe77ebbc946599ac7f1ec4166116e9429cf8 Mon Sep 17 00:00:00 2001 From: Zoltan Kochan Date: Fri, 27 Mar 2026 19:15:32 +0100 Subject: [PATCH] fix: copy pnpm.exe to .bin/ on Windows for standalone mode The .cmd wrapper approach didn't work because CMD doesn't properly wait for extensionless PE binaries. Instead, copy the actual .exe (and .cmd for pnpx) from @pnpm/exe into .bin/ so PATHEXT finds pnpm.exe directly, bypassing npm's broken node-wrapping shim. --- dist/index.js | Bin 1432280 -> 1432435 bytes src/install-pnpm/run.ts | 52 ++++++++++++++++++---------------------- 2 files changed, 23 insertions(+), 29 deletions(-) diff --git a/dist/index.js b/dist/index.js index c988b695308c059cfbdde77ef9244934f0f21420..32658bf8fbc1181e544e5648ad9a2095f45f1c0b 100644 GIT binary patch delta 43151 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 Boe}^5 delta 42981 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 HS55y1gxOzp diff --git a/src/install-pnpm/run.ts b/src/install-pnpm/run.ts index 2cefc2b..85e99b5 100644 --- a/src/install-pnpm/run.ts +++ b/src/install-pnpm/run.ts @@ -1,6 +1,6 @@ import { addPath, exportVariable } from '@actions/core' import { spawn } from 'child_process' -import { rm, writeFile, mkdir, symlink } from 'fs/promises' +import { rm, writeFile, mkdir, symlink, link, copyFile } from 'fs/promises' import { readFileSync, existsSync } from 'fs' import path from 'path' import util from 'util' @@ -41,49 +41,43 @@ export async function runSelfInstaller(inputs: Inputs): Promise { // On Windows, npm creates .cmd wrappers that invoke bin entries through // `node`, but @pnpm/exe bins are native executables — not JavaScript. - // Overwrite the wrappers to invoke the binaries directly. + // Place pnpm.exe directly in .bin/ so that PATHEXT resolution finds the + // .exe before the broken .cmd wrapper. if (process.platform === 'win32' && standalone) { + const exeDir = path.join(dest, 'node_modules', '@pnpm', 'exe') for (const name of ['pnpm', 'pnpx']) { - await writeFile( - path.join(pnpmHome, `${name}.cmd`), - `@"%~dp0\\..\\@pnpm\\exe\\${name}" %*\r\n`, - ) + const exe = path.join(exeDir, `${name}.exe`) + const cmd = path.join(exeDir, `${name}.cmd`) + if (existsSync(exe)) { + await copyFile(exe, path.join(pnpmHome, `${name}.exe`)) + } else if (existsSync(cmd)) { + await copyFile(cmd, path.join(pnpmHome, `${name}.cmd`)) + } } } // Ensure pnpm bin link exists — npm ci sometimes doesn't create it - const pnpmBinLink = path.join(pnpmHome, 'pnpm') - if (!existsSync(pnpmBinLink)) { - await mkdir(pnpmHome, { recursive: true }) - const target = standalone - ? path.join('..', '@pnpm', 'exe', 'pnpm') - : path.join('..', 'pnpm', 'bin', 'pnpm.mjs') - await symlink(target, pnpmBinLink) + if (process.platform !== 'win32') { + const pnpmBinLink = path.join(pnpmHome, 'pnpm') + if (!existsSync(pnpmBinLink)) { + await mkdir(pnpmHome, { recursive: true }) + const target = standalone + ? path.join('..', '@pnpm', 'exe', 'pnpm') + : path.join('..', 'pnpm', 'bin', 'pnpm.mjs') + await symlink(target, pnpmBinLink) + } } const bootstrapPnpm = standalone - ? path.join(dest, 'node_modules', '@pnpm', 'exe', 'pnpm') + ? path.join(dest, 'node_modules', '@pnpm', 'exe', process.platform === 'win32' ? 'pnpm.exe' : 'pnpm') : path.join(dest, 'node_modules', 'pnpm', 'bin', 'pnpm.mjs') // Determine the target version const targetVersion = readTargetVersion({ version, packageJsonFile }) if (targetVersion) { - let cmd: string - let args: string[] - if (standalone) { - if (process.platform === 'win32') { - // Use the corrected .cmd wrapper on Windows - cmd = path.join(pnpmHome, 'pnpm.cmd') - args = ['self-update', targetVersion] - } else { - cmd = bootstrapPnpm - args = ['self-update', targetVersion] - } - } else { - cmd = process.execPath - args = [bootstrapPnpm, 'self-update', targetVersion] - } + const cmd = standalone ? bootstrapPnpm : process.execPath + const args = standalone ? ['self-update', targetVersion] : [bootstrapPnpm, 'self-update', targetVersion] const exitCode = await runCommand(cmd, args, { cwd: dest }) if (exitCode !== 0) { return exitCode