Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
const removedDepPaths = await prune(importers, {
currentLockfile: opts.currentLockfile,
dryRun: opts.dryRun,
hoistedAliases: opts.hoistedAliases,
hoistedModulesDir: opts.hoistPattern && opts.hoistedModulesDir || undefined,
include: opts.include,
lockfileDir: opts.lockfileDir,
pruneStore: opts.pruneStore,
registries: opts.registries,
skipped: opts.skipped,
storeController: opts.storeController,
virtualStoreDir: opts.virtualStoreDir,
wantedLockfile: newWantedLockfile,
})
stageLogger.debug({
prefix: opts.lockfileDir,
stage: 'importing_started',
})
const importerIds = importers.map(({ id }) => id)
const filterOpts = {
include: opts.include,
registries: opts.registries,
skipped: opts.skipped,
}
const newCurrentLockfile = filterLockfileByImporters(newWantedLockfile, importerIds, {
...filterOpts,
failOnMissingDependencies: true,
})
const newDepPaths = await linkNewPackages(
filterLockfileByImporters(opts.currentLockfile, importerIds, {lockfileDir: opts.lockfileDir,
nodeVersion: opts.nodeVersion,
pnpmVersion: opts.packageManager.name === 'pnpm' ? opts.packageManager.version : '',
registries: opts.registries,
resolutionStrategy: opts.resolutionStrategy,
sideEffectsCache: opts.sideEffectsCacheRead,
storeController: opts.storeController,
tag: opts.tag,
updateLockfile: ctx.wantedLockfile.lockfileVersion !== LOCKFILE_VERSION || !opts.currentLockfileIsUpToDate,
virtualStoreDir: ctx.virtualStoreDir,
wantedLockfile: ctx.wantedLockfile,
workspacePackages: opts.workspacePackages,
},
)
stageLogger.debug({
prefix: ctx.lockfileDir,
stage: 'resolution_done',
})
const importersToLink = await Promise.all(importersToResolve.map(async (importer, index) => {
const resolvedImporter = resolvedImporters[importer.id]
let newPkg: ImporterManifest | undefined = importer.manifest
if (importer.updatePackageManifest) {
newPkg = await updateImporterManifest(importersToResolve[index], {
directDependencies: resolvedImporter.directDependencies,
preserveWorkspaceProtocol: opts.preserveWorkspaceProtocol,
saveWorkspaceProtocol: opts.saveWorkspaceProtocol,
})
} else {
packageManifestLogger.debug({
prefix: importer.rootDir,