From de80ab4f871d6d736a67a4f57e93a857ac2e9f4d Mon Sep 17 00:00:00 2001 From: Zoltan Kochan Date: Mon, 26 Aug 2019 17:09:30 +0300 Subject: [PATCH] fix: regressions caused by PR #1976 --- packages/pnpm/src/cmd/recursive/index.ts | 16 +++++++++++----- packages/pnpm/src/main.ts | 2 +- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/packages/pnpm/src/cmd/recursive/index.ts b/packages/pnpm/src/cmd/recursive/index.ts index fba7934c5b..1d52e9fea4 100644 --- a/packages/pnpm/src/cmd/recursive/index.ts +++ b/packages/pnpm/src/cmd/recursive/index.ts @@ -40,6 +40,7 @@ import RecursiveSummary, { throwOnCommandFail } from './recursiveSummary' import run from './run' const supportedRecursiveCommands = new Set([ + 'add', 'install', 'uninstall', 'update', @@ -144,8 +145,8 @@ export async function recursive ( case 'outdated': await outdated(pkgs, input, cmd, opts as any) // tslint:disable-line:no-any return true - case 'install': - if (cmd === 'add' && opts.useBetaCli && (!input || !input.length)) { + case 'add': + if (opts.useBetaCli && (!input || !input.length)) { throw new PnpmError('MISSING_PACKAGE_NAME', '`pnpm recursive add` requires the package name') } break @@ -230,7 +231,7 @@ export async function recursive ( if (cmdFullName !== 'rebuild') { // For a workspace with shared lockfile - if (opts.lockfileDirectory && ['install', 'uninstall', 'update'].includes(cmdFullName)) { + if (opts.lockfileDirectory && ['add', 'install', 'uninstall', 'update'].includes(cmdFullName)) { if (opts.shamefullyFlatten) { logger.info({ message: 'Only the root workspace package is going to have a flat node_modules', prefix: opts.lockfileDirectory }) } @@ -274,7 +275,7 @@ export async function recursive ( return case 'installSome': mutatedImporters.push({ - allowNew: cmdFullName === 'install', + allowNew: cmdFullName === 'install' || cmdFullName === 'add', dependencySelectors: currentInput, manifest, mutation, @@ -406,7 +407,12 @@ export async function recursive ( if ( cmdFullName === 'rebuild' || - !opts.lockfileOnly && !opts.ignoreScripts && (cmdFullName === 'install' || cmdFullName === 'update' || cmdFullName === 'unlink') + !opts.lockfileOnly && !opts.ignoreScripts && ( + cmdFullName === 'add' || + cmdFullName === 'install' || + cmdFullName === 'update' || + cmdFullName === 'unlink' + ) ) { const action = ( cmdFullName !== 'rebuild' || input.length === 0 diff --git a/packages/pnpm/src/main.ts b/packages/pnpm/src/main.ts index 0afbccb9c8..23ec4d8f1f 100644 --- a/packages/pnpm/src/main.ts +++ b/packages/pnpm/src/main.ts @@ -206,7 +206,7 @@ export default async function run (argv: string[]) { if ( opts.useBetaCli && - cmd === 'install' && + cmd === 'add' && typeof opts.workspacePrefix === 'string' ) { if (cliArgs.length === 0) {