mirror of
https://github.com/pnpm/pnpm.git
synced 2026-04-27 18:46:18 -04:00
refactor(filter-lockfile): remove not needed option
registries option is not needed by the lockfile filterer.
This commit is contained in:
5
.changeset/nervous-hairs-tickle.md
Normal file
5
.changeset/nervous-hairs-tickle.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@pnpm/filter-lockfile": major
|
||||
---
|
||||
|
||||
`opts.registries` is not needed. `opts.skipped` should be relative dependency paths.
|
||||
@@ -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 {
|
||||
|
||||
@@ -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,
|
||||
}
|
||||
|
||||
@@ -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>,
|
||||
}
|
||||
) {
|
||||
|
||||
@@ -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>(),
|
||||
}
|
||||
)
|
||||
|
||||
@@ -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,
|
||||
}
|
||||
)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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())
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user