From 22d4dfa97b62625931ab132e2996885dfd48d659 Mon Sep 17 00:00:00 2001 From: Zoltan Kochan Date: Wed, 23 May 2018 09:31:17 +0300 Subject: [PATCH] refactor: move `recursive list` to separate file --- packages/pnpm/src/cmd/recursive/index.ts | 13 +++++-------- packages/pnpm/src/cmd/recursive/list.ts | 20 ++++++++++++++++++++ 2 files changed, 25 insertions(+), 8 deletions(-) create mode 100644 packages/pnpm/src/cmd/recursive/list.ts diff --git a/packages/pnpm/src/cmd/recursive/index.ts b/packages/pnpm/src/cmd/recursive/index.ts index aaf8504c91..797780f97a 100644 --- a/packages/pnpm/src/cmd/recursive/index.ts +++ b/packages/pnpm/src/cmd/recursive/index.ts @@ -19,7 +19,7 @@ import createStoreController from '../../createStoreController' import getCommandFullName from '../../getCommandFullName' import requireHooks from '../../requireHooks' import {PnpmOptions} from '../../types' -import list from '../list' +import list from './list' const supportedRecursiveCommands = new Set([ 'install', @@ -52,10 +52,6 @@ export default async ( } logger.warn('The recursive command is an experimental feature. Breaking changes may happen in non-major versions.') - if (cmdFullName === 'update') { - opts = {...opts, update: true} - } - const cwd = process.cwd() const packagesManifest = await requirePackagesManifest(cwd) const pkgs = await findPackages(cwd, { @@ -66,11 +62,12 @@ export default async ( patterns: packagesManifest && packagesManifest.packages || undefined, }) if (cmdFullName === 'list') { - for (const pkg of pkgs) { - await list(input, {...opts, prefix: pkg.path, alwaysPrintRootPackage: false} as any, cmd) // tslint:disable-line:no-any - } + await list(pkgs, input, cmd, opts as any) // tslint:disable-line:no-any return } + if (cmdFullName === 'update') { + opts = {...opts, update: true} + } const pkgGraphResult = createPkgGraph(pkgs) const store = await createStoreController(opts) diff --git a/packages/pnpm/src/cmd/recursive/list.ts b/packages/pnpm/src/cmd/recursive/list.ts new file mode 100644 index 0000000000..7e223ba468 --- /dev/null +++ b/packages/pnpm/src/cmd/recursive/list.ts @@ -0,0 +1,20 @@ +import {PackageJson} from '@pnpm/types' +import list from '../list' + +export default async ( + pkgs: Array<{path: string, manifest: PackageJson}>, + args: string[], + cmd: string, + opts: { + depth?: number, + only?: 'dev' | 'prod', + long?: boolean, + parseable?: boolean, + global: boolean, + independentLeaves: boolean, + }, +) => { + for (const pkg of pkgs) { + await list(args, {...opts, prefix: pkg.path, alwaysPrintRootPackage: false}, cmd) + } +}