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',