@@ -70,7 +70,7 @@ export abstract class NodeModulesCollector<ProdDepType extends Dependency<ProdDe
7070
7171 await this . collectAllDependencies ( tree , packageName )
7272
73- const realTree : ProdDepType = await this . getTreeFromWorkspaces ( tree )
73+ const realTree : ProdDepType = await this . getTreeFromWorkspaces ( tree , packageName )
7474 await this . extractProductionDependencyGraph ( realTree , packageName )
7575
7676 if ( cancellationToken . cancelled ) {
@@ -287,17 +287,18 @@ export abstract class NodeModulesCollector<ProdDepType extends Dependency<ProdDe
287287 return { name, version }
288288 }
289289
290- protected async getTreeFromWorkspaces ( tree : ProdDepType ) : Promise < ProdDepType > {
291- if ( ! tree . workspaces || ! tree . dependencies ) {
290+ protected async getTreeFromWorkspaces ( tree : ProdDepType , packageName : string ) : Promise < ProdDepType > {
291+ if ( ! ( tree . workspaces && tree . dependencies ) ) {
292292 return tree
293293 }
294294
295- const appName = tree . name
296-
297- if ( tree . dependencies ?. [ appName ] ) {
298- const { name, path } = tree . dependencies [ appName ]
299- log . debug ( { name, path } , "pruning root app/self package from workspace tree" )
300- delete tree . dependencies [ appName ]
295+ if ( tree . dependencies ?. [ packageName ] ) {
296+ const { name, path, dependencies } = tree . dependencies [ packageName ]
297+ log . debug ( { name, path, dependencies : JSON . stringify ( dependencies ) } , "pruning root app/self package from workspace tree" )
298+ for ( const [ name , pkg ] of Object . entries ( dependencies ?? { } ) ) {
299+ tree . dependencies [ name ] = pkg
300+ }
301+ delete tree . dependencies [ packageName ]
301302 }
302303 return Promise . resolve ( tree )
303304 }
0 commit comments