diff --git a/dist/setup/index.js b/dist/setup/index.js index be406fc6..f06d22c9 100644 --- a/dist/setup/index.js +++ b/dist/setup/index.js @@ -99685,13 +99685,15 @@ function resolveVersionInput() { function getNameFromPackageManagerField() { var _a, _b; // Check devEngines.packageManager and packageManager field in package.json + const SUPPORTED_PACKAGE_MANAGERS = ['npm', 'yarn', 'pnpm']; try { - const packageJson = JSON.parse(fs_1.default.readFileSync('package.json', 'utf-8')); + const packageJson = JSON.parse(fs_1.default.readFileSync(path.join(process.env.GITHUB_WORKSPACE, 'package.json'), 'utf-8')); return (((_b = (_a = packageJson.devEngines) === null || _a === void 0 ? void 0 : _a.packageManager) === null || _b === void 0 ? void 0 : _b.name) || (() => { const pm = packageJson.packageManager; if (typeof pm === 'string') { - const match = pm.match(/^(?:\^)?(npm|yarn|pnpm)@/); + const regex = new RegExp(`^(?:\\^)?(${SUPPORTED_PACKAGE_MANAGERS.join('|')})@`); + const match = pm.match(regex); return match ? match[1] : undefined; } return undefined; diff --git a/src/main.ts b/src/main.ts index e58d95bc..0b622102 100644 --- a/src/main.ts +++ b/src/main.ts @@ -128,14 +128,23 @@ function resolveVersionInput(): string { export function getNameFromPackageManagerField(): string | undefined { // Check devEngines.packageManager and packageManager field in package.json + const SUPPORTED_PACKAGE_MANAGERS = ['npm', 'yarn', 'pnpm']; try { - const packageJson = JSON.parse(fs.readFileSync('package.json', 'utf-8')); + const packageJson = JSON.parse( + fs.readFileSync( + path.join(process.env.GITHUB_WORKSPACE!, 'package.json'), + 'utf-8' + ) + ); return ( packageJson.devEngines?.packageManager?.name || (() => { const pm = packageJson.packageManager; if (typeof pm === 'string') { - const match = pm.match(/^(?:\^)?(npm|yarn|pnpm)@/); + const regex = new RegExp( + `^(?:\\^)?(${SUPPORTED_PACKAGE_MANAGERS.join('|')})@` + ); + const match = pm.match(regex); return match ? match[1] : undefined; } return undefined;