refactor: a save type is always present

This commit is contained in:
zkochan
2017-03-15 02:10:09 +02:00
parent 82b8ae68e2
commit 7e3169fd97
2 changed files with 7 additions and 10 deletions

View File

@@ -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) {

View File

@@ -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'
}