Skip to content

Commit

Permalink
fix: up --prod
Browse files Browse the repository at this point in the history
  • Loading branch information
zkochan committed Feb 1, 2020
1 parent 40f6d2e commit e957f13
Show file tree
Hide file tree
Showing 6 changed files with 37 additions and 15 deletions.
12 changes: 1 addition & 11 deletions packages/plugin-commands-installation/src/recursive.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ import {
PackageManifest,
ProjectManifest,
} from '@pnpm/types'
import { filterDependenciesByType } from '@pnpm/utils'
import camelcaseKeys = require('camelcase-keys')
import isSubdir = require('is-subdir')
import mem = require('mem')
Expand Down Expand Up @@ -427,14 +428,3 @@ export function matchDependencies (
) {
return Object.keys(filterDependenciesByType(manifest, include)).filter(match)
}

function filterDependenciesByType (
manifest: ProjectManifest,
include: IncludedDependencies,
) {
return {
...(include.dependencies && manifest.dependencies || {}),
...(include.devDependencies && manifest.devDependencies || {}),
...(include.optionalDependencies && manifest.optionalDependencies || {}),
}
}
6 changes: 6 additions & 0 deletions packages/supi/src/install/extendInstallOptions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ export interface StrictInstallOptions {
sideEffectsCacheWrite: boolean,
strictPeerDependencies: boolean,
include: IncludedDependencies,
includeDirect: IncludedDependencies,
ignoreCurrentPrefs: boolean,
ignoreScripts: boolean,
childConcurrency: number,
Expand Down Expand Up @@ -98,6 +99,11 @@ const defaults = async (opts: InstallOptions) => {
devDependencies: true,
optionalDependencies: true,
},
includeDirect: {
dependencies: true,
devDependencies: true,
optionalDependencies: true,
},
independentLeaves: false,
lock: true,
lockfileDir: opts.lockfileDir || opts.dir || process.cwd(),
Expand Down
16 changes: 13 additions & 3 deletions packages/supi/src/install/getWantedDependencies.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
import { Dependencies, ProjectManifest } from '@pnpm/types'
import { getAllDependenciesFromPackage } from '@pnpm/utils'
import {
Dependencies,
IncludedDependencies,
ProjectManifest,
} from '@pnpm/types'
import { filterDependenciesByType } from '@pnpm/utils'
import guessPinnedVersionFromExistingSpec from '../guessPinnedVersionFromExistingSpec'

export type PinnedVersion = 'major' | 'minor' | 'patch' | 'none'
Expand All @@ -16,10 +20,16 @@ export interface WantedDependency {
export default function getWantedDependencies (
pkg: Pick<ProjectManifest, 'devDependencies' | 'dependencies' | 'optionalDependencies'>,
opts?: {
includeDirect?: IncludedDependencies,
updateWorkspaceDependencies?: boolean,
},
): WantedDependency[] {
const depsToInstall = getAllDependenciesFromPackage(pkg)
const depsToInstall = filterDependenciesByType(pkg,
opts?.includeDirect ?? {
dependencies: true,
devDependencies: true,
optionalDependencies: true,
})
return getWantedDependenciesFromGivenSet(depsToInstall, {
devDependencies: pkg.devDependencies || {},
optionalDependencies: pkg.optionalDependencies || {},
Expand Down
5 changes: 4 additions & 1 deletion packages/supi/src/install/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -347,7 +347,10 @@ export async function mutateModules (
}

async function installCase (project: any) { // tslint:disable-line:no-any
const wantedDependencies = getWantedDependencies(project.manifest, { updateWorkspaceDependencies: opts.update })
const wantedDependencies = getWantedDependencies(project.manifest, {
includeDirect: opts.includeDirect,
updateWorkspaceDependencies: opts.update,
})
.map((wantedDependency) => ({ ...wantedDependency, updateSpec: true }))

if (ctx.wantedLockfile?.importers) {
Expand Down
12 changes: 12 additions & 0 deletions packages/utils/src/filterDependenciesByType.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import { IncludedDependencies, ProjectManifest } from '@pnpm/types'

export function filterDependenciesByType (
manifest: ProjectManifest,
include: IncludedDependencies,
) {
return {
...(include.dependencies && manifest.dependencies || {}),
...(include.devDependencies && manifest.devDependencies || {}),
...(include.optionalDependencies && manifest.optionalDependencies || {}),
}
}
1 change: 1 addition & 0 deletions packages/utils/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,5 @@ export {
safeReadPackageFromDir,
}

export * from './filterDependenciesByType'
export * from './nodeIdUtils'

0 comments on commit e957f13

Please sign in to comment.