From d8215d2af1520d030d033acd25c570bfee4909ce Mon Sep 17 00:00:00 2001 From: Zoltan Kochan Date: Sat, 1 Jun 2019 23:12:22 +0300 Subject: [PATCH] fix: don't remove importers from current lockfile When doing some operations on a subset of workspace packages, do not remove the not selected packages from the current lockfile (node_modules/.pnpm-lock.yaml) --- packages/supi/src/install/link.ts | 2 +- packages/supi/test/install/multipleImporters.ts | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/supi/src/install/link.ts b/packages/supi/src/install/link.ts index 070da08a5c..763153308d 100644 --- a/packages/supi/src/install/link.ts +++ b/packages/supi/src/install/link.ts @@ -286,7 +286,7 @@ export default async function linkPackages ( const importers = importerIds.reduce((acc, importerId) => { acc[importerId] = newWantedLockfile.importers[importerId] return acc - }, {}) + }, opts.currentLockfile.importers) currentLockfile = { ...newWantedLockfile, packages, importers } } else if ( opts.include.dependencies && diff --git a/packages/supi/test/install/multipleImporters.ts b/packages/supi/test/install/multipleImporters.ts index 0d0feb0004..df06a97e61 100644 --- a/packages/supi/test/install/multipleImporters.ts +++ b/packages/supi/test/install/multipleImporters.ts @@ -123,6 +123,7 @@ test('dependencies of other importers are not pruned when installing for a subse await rootNodeModules.has('.localhost+4873/is-negative/1.0.0') const lockfile = await rootNodeModules.readCurrentLockfile() + t.deepEqual(Object.keys(lockfile.importers), ['project-1', 'project-2']) t.deepEqual(Object.keys(lockfile.packages), [ '/is-negative/1.0.0', '/is-positive/2.0.0',