refactor(filter-lockfile): remove not needed option

registries option is not needed by the lockfile filterer.
This commit is contained in:
Zoltan Kochan
2020-05-18 23:19:13 +03:00
parent d1bed9efb6
commit 2485eaf60b
9 changed files with 12 additions and 35 deletions

View File

@@ -0,0 +1,5 @@
---
"@pnpm/filter-lockfile": major
---
`opts.registries` is not needed. `opts.skipped` should be relative dependency paths.

View File

@@ -1,5 +1,5 @@
import { Lockfile } from '@pnpm/lockfile-types'
import { DependenciesField, Registries } from '@pnpm/types'
import { DependenciesField } from '@pnpm/types'
import R = require('ramda')
import filterImporter from './filterImporter'
@@ -7,7 +7,6 @@ export default function filterLockfile (
lockfile: Lockfile,
opts: {
include: { [dependenciesField in DependenciesField]: boolean },
registries: Registries,
skipped: Set<string>,
}
): Lockfile {

View File

@@ -5,7 +5,7 @@ import {
} from '@pnpm/lockfile-types'
import lockfileWalker, { LockfileWalkerStep } from '@pnpm/lockfile-walker'
import pnpmLogger from '@pnpm/logger'
import { DependenciesField, Registries } from '@pnpm/types'
import { DependenciesField } from '@pnpm/types'
import R = require('ramda')
import filterImporter from './filterImporter'
import LockfileMissingDependencyError from './LockfileMissingDependencyError'
@@ -17,7 +17,6 @@ export default function filterByImporters (
importerIds: string[],
opts: {
include: { [dependenciesField in DependenciesField]: boolean },
registries: Registries,
skipped: Set<string>,
failOnMissingDependencies: boolean,
}

View File

@@ -6,7 +6,7 @@ import {
import { nameVerFromPkgSnapshot } from '@pnpm/lockfile-utils'
import pnpmLogger from '@pnpm/logger'
import packageIsInstallable from '@pnpm/package-is-installable'
import { DependenciesField, Registries } from '@pnpm/types'
import { DependenciesField } from '@pnpm/types'
import * as dp from 'dependency-path'
import R = require('ramda')
import filterImporter from './filterImporter'
@@ -23,7 +23,6 @@ export default function filterByImportersAndEngine (
pnpmVersion: string,
},
engineStrict: boolean,
registries: Registries,
include: { [dependenciesField in DependenciesField]: boolean },
includeIncompatiblePackages?: boolean,
failOnMissingDependencies: boolean,
@@ -51,7 +50,6 @@ export default function filterByImportersAndEngine (
include: opts.include,
includeIncompatiblePackages: opts.includeIncompatiblePackages === true,
lockfileDir: opts.lockfileDir,
registries: opts.registries,
skipped: opts.skipped,
}) || {}
@@ -88,7 +86,6 @@ function pickPkgsWithAllDeps (
include: { [dependenciesField in DependenciesField]: boolean },
includeIncompatiblePackages: boolean,
lockfileDir: string,
registries: Registries,
skipped: Set<string>,
}
) {
@@ -114,7 +111,6 @@ function pkgAllDeps (
include: { [dependenciesField in DependenciesField]: boolean },
includeIncompatiblePackages: boolean,
lockfileDir: string,
registries: Registries,
skipped: Set<string>,
}
) {

View File

@@ -66,9 +66,6 @@ test('filterByImporters(): only prod dependencies of one importer', (t) => {
devDependencies: false,
optionalDependencies: false,
},
registries: {
default: 'https://registry.npmjs.org/',
},
skipped: new Set<string>(),
}
)
@@ -154,9 +151,6 @@ test('filterByImporters(): fail on missing packages when failOnMissingDependenci
devDependencies: false,
optionalDependencies: false,
},
registries: {
default: 'https://registry.npmjs.org/',
},
skipped: new Set<string>(),
}
)
@@ -204,9 +198,6 @@ test('filterByImporters(): do not fail on missing packages when failOnMissingDep
devDependencies: false,
optionalDependencies: false,
},
registries: {
default: 'https://registry.npmjs.org/',
},
skipped: new Set<string>(),
}
)
@@ -305,9 +296,6 @@ test('filterByImporters(): do not include skipped packages', (t) => {
devDependencies: true,
optionalDependencies: true,
},
registries: {
default: 'https://registry.npmjs.org/',
},
skipped: new Set<string>(['/optional-dep/1.0.0']),
}
)
@@ -410,9 +398,6 @@ test('filterByImporters(): exclude orphan packages', (t) => {
devDependencies: true,
optionalDependencies: true,
},
registries: {
default: 'https://registry.npmjs.org/',
},
skipped: new Set<string>(),
}
)

View File

@@ -94,9 +94,6 @@ test('filterByImportersAndEngine(): skip packages that are not installable', (t)
optionalDependencies: true,
},
lockfileDir: process.cwd(),
registries: {
default: 'https://registry.npmjs.org/',
},
skipped: skippedPackages,
}
)

View File

@@ -19,7 +19,6 @@ import {
Registries,
} from '@pnpm/types'
import rimraf = require('@zkochan/rimraf')
import * as dp from 'dependency-path'
import path = require('path')
import R = require('ramda')
import removeDirectDependency from './removeDirectDependency'
@@ -50,7 +49,6 @@ export default async function prune (
): Promise<Set<string>> {
const wantedLockfile = filterLockfile(opts.wantedLockfile, {
include: opts.include,
registries: opts.registries,
skipped: opts.skipped,
})
await Promise.all(importers.map(async ({ binsDir, id, modulesDir, pruneDirectDependencies, removePackages, rootDir }) => {
@@ -185,7 +183,6 @@ function getPkgsDepPathsOwnedOnlyByImporters (
{
failOnMissingDependencies: false,
include,
registries,
skipped,
})
const other = filterLockfileByImporters(lockfile,
@@ -193,7 +190,6 @@ function getPkgsDepPathsOwnedOnlyByImporters (
{
failOnMissingDependencies: false,
include,
registries,
skipped,
})
const packagesOfSelectedOnly = R.pickAll(R.difference(Object.keys(selected.packages!), Object.keys(other.packages!)), selected.packages!) as PackageSnapshots

View File

@@ -393,7 +393,7 @@ export async function mutateModules (
const currentLockfileIsUpToDate = isCurrentLockfileUpToDate(
ctx.currentLockfile,
{
skippedPkgIds: Array.from(ctx.skipped),
skipped: Array.from(ctx.skipped),
wantedLockfile: ctx.wantedLockfile,
}
)
@@ -785,7 +785,7 @@ async function installInContext (
// waiting till the skipped packages are downloaded to the store
await Promise.all(
R.props<string, ResolvedPackage>(Array.from(ctx.skipped), resolvedPackagesByPackageId)
R.props<string, ResolvedPackage>(Array.from(wantedToBeSkippedPackageIds), resolvedPackagesByPackageId)
// skipped packages might have not been reanalized on a repeat install
// so lets just ignore those by excluding nulls
.filter(Boolean)

View File

@@ -4,7 +4,7 @@ import R = require('ramda')
export default function (
currentLockfile: Lockfile,
opts: {
skippedPkgIds: string[],
skipped: string[],
wantedLockfile: Lockfile,
}
) {
@@ -14,6 +14,6 @@ export default function (
return false
}
const pkgs1 = R.keys(opts.wantedLockfile.packages)
const pkgs2 = R.keys(currentLockfile.packages).concat(opts.skippedPkgIds)
const pkgs2 = R.keys(currentLockfile.packages).concat(opts.skipped)
return pkgs1.length === pkgs2.length && R.equals(pkgs1, pkgs2.sort())
}