diff --git a/src/api/install.ts b/src/api/install.ts index cbfa14e111..d984d74a15 100644 --- a/src/api/install.ts +++ b/src/api/install.ts @@ -158,14 +158,12 @@ async function installInContext ( let newPkg: Package | undefined = ctx.pkg if (installType === 'named') { - const saveType = getSaveType(opts) - if (saveType) { - if (!ctx.pkg) { - throw new Error('Cannot save because no package.json found') - } - const pkgJsonPath = path.join(ctx.root, 'package.json') - newPkg = await save(pkgJsonPath, pkgs.map(pkg => pkg.pkg), saveType, opts.saveExact) + if (!ctx.pkg) { + throw new Error('Cannot save because no package.json found') } + const pkgJsonPath = path.join(ctx.root, 'package.json') + const saveType = getSaveType(opts) + newPkg = await save(pkgJsonPath, pkgs.map(pkg => pkg.pkg), saveType, opts.saveExact) } if (newPkg) { diff --git a/src/getSaveType.ts b/src/getSaveType.ts index 8291aa79c1..02721920f6 100644 --- a/src/getSaveType.ts +++ b/src/getSaveType.ts @@ -1,9 +1,8 @@ import {PnpmOptions} from './types' export type DependenciesType = 'dependencies' | 'devDependencies' | 'optionalDependencies' -export default function getSaveType (opts: PnpmOptions): DependenciesType | null { - if (opts.save || opts.global) return 'dependencies' +export default function getSaveType (opts: PnpmOptions): DependenciesType { if (opts.saveDev) return 'devDependencies' if (opts.saveOptional) return 'optionalDependencies' - return null + return 'dependencies' }