From b5c86766915eab5ee7921a95a8d66779de69c13e Mon Sep 17 00:00:00 2001 From: Ryan Block Date: Mon, 8 Apr 2024 15:18:30 -0700 Subject: [PATCH] Improve local vs global detection of pnpm and yarn --- src/actions/install-update.js | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/actions/install-update.js b/src/actions/install-update.js index 8ed6f7f..7e04ca8 100644 --- a/src/actions/install-update.js +++ b/src/actions/install-update.js @@ -84,12 +84,25 @@ module.exports = function hydrator (params, callback) { } else if (isPnpm) { prodFlag = isRoot ? '' : '--prod' - let localPnpm = exists(join(cwd, 'node_modules', 'pnpm')) + let localPnpm + try { + // eslint-disable-next-line + require.resolve('pnpm') + localPnpm = true + } + catch { /* noop */ } let cmd = localPnpm ? `npx pnpm i ${prodFlag}` : `pnpm i ${prodFlag}` exec(cmd, options, callback) } else if (isYarn) { - let localYarn = exists(join(cwd, 'node_modules', 'yarn')) + let localYarn + try { + // eslint-disable-next-line + require.resolve('yarn') + localYarn = true + } + catch { /* noop */ } + localYarn = true let cmd = localYarn ? `npx yarn ${prodFlag}` : `yarn ${prodFlag}` exec(cmd, options, callback) }