From e9d2a4eef555fddb2d92bf5acf5e08733dfb1afc Mon Sep 17 00:00:00 2001 From: Zoltan Kochan Date: Mon, 16 Mar 2026 01:06:54 +0100 Subject: [PATCH] feat: read pnpm version from devEngines.packageManager field When no version is specified in the action config or the packageManager field of package.json, fall back to devEngines.packageManager. Co-Authored-By: Claude Opus 4.6 --- dist/index.js | Bin 1508866 -> 1508280 bytes src/install-pnpm/run.ts | 16 ++++++++++++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/dist/index.js b/dist/index.js index c315d0680ca5e97b4e228b0c5737a27ababa3d9c..b1442766fdcaed4a46fc466f5a967eb35223e391 100644 GIT binary patch delta 26577 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

h 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 LCdIDTder`Jd6PI; diff --git a/src/install-pnpm/run.ts b/src/install-pnpm/run.ts index 005c500..c68a81b 100644 --- a/src/install-pnpm/run.ts +++ b/src/install-pnpm/run.ts @@ -57,21 +57,28 @@ async function readTarget(opts: { const { version, packageJsonFile, standalone } = opts const { GITHUB_WORKSPACE } = process.env - let packageManager + let packageManager: string | undefined + let devEngines: { packageManager?: { name?: string; version?: string } } | undefined if (GITHUB_WORKSPACE) { try { const content = readFileSync(path.join(GITHUB_WORKSPACE, packageJsonFile), 'utf8'); - ({ packageManager } = packageJsonFile.endsWith(".yaml") + const manifest = packageJsonFile.endsWith(".yaml") ? parseYaml(content, { merge: true }) : JSON.parse(content) - ) + packageManager = manifest.packageManager + devEngines = manifest.devEngines } catch (error: unknown) { // Swallow error if package.json doesn't exist in root if (!util.types.isNativeError(error) || !('code' in error) || error.code !== 'ENOENT') throw error } } + // If packageManager field is not set, try devEngines.packageManager + if (typeof packageManager !== 'string' && devEngines?.packageManager?.name === 'pnpm' && devEngines.packageManager.version) { + packageManager = `pnpm@${devEngines.packageManager.version}` + } + if (version) { if ( typeof packageManager === 'string' && @@ -98,7 +105,8 @@ Otherwise, please specify the pnpm version in the action configuration.`) throw new Error(`No pnpm version is specified. Please specify it by one of the following ways: - in the GitHub Action config with the key "version" - - in the package.json with the key "packageManager"`) + - in the package.json with the key "packageManager" + - in the package.json with the key "devEngines.packageManager"`) } if (!packageManager.startsWith('pnpm@')) {