diff --git a/src/npm.ts b/src/npm.ts index c355cbef..2836ea8f 100644 --- a/src/npm.ts +++ b/src/npm.ts @@ -155,9 +155,17 @@ function selectYarnDependencies(deps: YarnDependency[], packagedDependencies: st } async function getYarnProductionDependencies(cwd: string, packagedDependencies?: string[]): Promise { + const versionString = await new Promise((c, e) => + cp.exec( + 'yarn --version', + { cwd, encoding: 'utf8', env: { ...process.env }, maxBuffer: 5000 * 1024 }, + (err, stdout) => (err ? e(err) : c(stdout)) + ) + ); + const yarnCommand = versionString[0] !== 1 ? "yarn info --recursive --dependents --json" : 'yarn list --prod --json' const raw = await new Promise((c, e) => cp.exec( - 'yarn list --prod --json', + yarnCommand, { cwd, encoding: 'utf8', env: { ...process.env }, maxBuffer: 5000 * 1024 }, (err, stdout) => (err ? e(err) : c(stdout)) )