feat: support pnpm v12

Approve the pinned @pnpm/exe install script for npm 12, add pnpm 12 coverage across supported runner platforms, and clarify that action-setup remains supported alongside pnpm/setup.
This commit is contained in:
Zoltan Kochan
2026-09-04 17:00:44 +02:00
parent 0977fd9972
commit ae5824b5de
4 changed files with 137 additions and 108 deletions
+9 -1
View File
@@ -10,7 +10,15 @@ import pnpmLock from './bootstrap/pnpm-lock.json'
import exeLock from './bootstrap/exe-lock.json'
const BOOTSTRAP_PNPM_PACKAGE_JSON = JSON.stringify({ private: true, dependencies: { pnpm: pnpmLock.packages['node_modules/pnpm'].version } })
const BOOTSTRAP_EXE_PACKAGE_JSON = JSON.stringify({ private: true, dependencies: { '@pnpm/exe': exeLock.packages['node_modules/@pnpm/exe'].version } })
const bootstrapExeVersion = exeLock.packages['node_modules/@pnpm/exe'].version
const BOOTSTRAP_EXE_PACKAGE_JSON = JSON.stringify({
private: true,
dependencies: { '@pnpm/exe': bootstrapExeVersion },
// npm 12 blocks dependency lifecycle scripts unless they are explicitly
// approved. @pnpm/exe's verified, lockfile-pinned install script replaces
// the placeholder executable with the native binary for this platform.
allowScripts: { [`@pnpm/exe@${bootstrapExeVersion}`]: true },
})
export interface SelfInstallerResult {
exitCode: number