diff --git a/.changeset/nervous-hairs-tickle.md b/.changeset/nervous-hairs-tickle.md new file mode 100644 index 0000000000..736388d904 --- /dev/null +++ b/.changeset/nervous-hairs-tickle.md @@ -0,0 +1,5 @@ +--- +"@pnpm/filter-lockfile": major +--- + +`opts.registries` is not needed. `opts.skipped` should be relative dependency paths. diff --git a/packages/filter-lockfile/src/filterLockfile.ts b/packages/filter-lockfile/src/filterLockfile.ts index a305d82ab2..ee4ac0ae87 100644 --- a/packages/filter-lockfile/src/filterLockfile.ts +++ b/packages/filter-lockfile/src/filterLockfile.ts @@ -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, } ): Lockfile { diff --git a/packages/filter-lockfile/src/filterLockfileByImporters.ts b/packages/filter-lockfile/src/filterLockfileByImporters.ts index 7c9c8e2333..e0a1949ffa 100644 --- a/packages/filter-lockfile/src/filterLockfileByImporters.ts +++ b/packages/filter-lockfile/src/filterLockfileByImporters.ts @@ -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, failOnMissingDependencies: boolean, } diff --git a/packages/filter-lockfile/src/filterLockfileByImportersAndEngine.ts b/packages/filter-lockfile/src/filterLockfileByImportersAndEngine.ts index c7b9df6972..377110fe69 100644 --- a/packages/filter-lockfile/src/filterLockfileByImportersAndEngine.ts +++ b/packages/filter-lockfile/src/filterLockfileByImportersAndEngine.ts @@ -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, } ) { @@ -114,7 +111,6 @@ function pkgAllDeps ( include: { [dependenciesField in DependenciesField]: boolean }, includeIncompatiblePackages: boolean, lockfileDir: string, - registries: Registries, skipped: Set, } ) { diff --git a/packages/filter-lockfile/test/filterByImporters.ts b/packages/filter-lockfile/test/filterByImporters.ts index ea30e77a6c..cfe6806c1c 100644 --- a/packages/filter-lockfile/test/filterByImporters.ts +++ b/packages/filter-lockfile/test/filterByImporters.ts @@ -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(), } ) @@ -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(), } ) @@ -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(), } ) @@ -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(['/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(), } ) diff --git a/packages/filter-lockfile/test/filterByImportersAndEngine.ts b/packages/filter-lockfile/test/filterByImportersAndEngine.ts index 41e33952c2..236fe2f82f 100644 --- a/packages/filter-lockfile/test/filterByImportersAndEngine.ts +++ b/packages/filter-lockfile/test/filterByImportersAndEngine.ts @@ -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, } ) diff --git a/packages/modules-cleaner/src/prune.ts b/packages/modules-cleaner/src/prune.ts index ab9e57fa79..52817694ab 100644 --- a/packages/modules-cleaner/src/prune.ts +++ b/packages/modules-cleaner/src/prune.ts @@ -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> { 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 diff --git a/packages/supi/src/install/index.ts b/packages/supi/src/install/index.ts index 268b4d00a8..12c02fd4fd 100644 --- a/packages/supi/src/install/index.ts +++ b/packages/supi/src/install/index.ts @@ -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(Array.from(ctx.skipped), resolvedPackagesByPackageId) + R.props(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) diff --git a/packages/supi/src/install/isCurrentLockfilesUpToDate.ts b/packages/supi/src/install/isCurrentLockfilesUpToDate.ts index 6d9ea74836..956a94fe2f 100644 --- a/packages/supi/src/install/isCurrentLockfilesUpToDate.ts +++ b/packages/supi/src/install/isCurrentLockfilesUpToDate.ts @@ -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()) }