From c16eb2be344cd48e80d24befb3025a44ed40409d Mon Sep 17 00:00:00 2001 From: Zoltan Kochan Date: Tue, 19 Apr 2022 12:48:25 +0300 Subject: [PATCH] refactor: resolvePeers.ts --- .../resolve-dependencies/src/resolveDependencyTree.ts | 2 +- packages/resolve-dependencies/src/resolvePeers.ts | 11 +++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/packages/resolve-dependencies/src/resolveDependencyTree.ts b/packages/resolve-dependencies/src/resolveDependencyTree.ts index 0627bfbc63..ed9acc895e 100644 --- a/packages/resolve-dependencies/src/resolveDependencyTree.ts +++ b/packages/resolve-dependencies/src/resolveDependencyTree.ts @@ -230,7 +230,7 @@ function buildTree ( childrenNodeIds[child.alias] = child.depPath continue } - if (nodeIdContainsSequence(parentNodeId, parentId, child.depPath)) { + if (nodeIdContainsSequence(parentNodeId, parentId, child.depPath) || parentId === child.depPath) { continue } const childNodeId = createNodeId(parentNodeId, child.depPath) diff --git a/packages/resolve-dependencies/src/resolvePeers.ts b/packages/resolve-dependencies/src/resolvePeers.ts index 24550176b8..98495efa58 100644 --- a/packages/resolve-dependencies/src/resolvePeers.ts +++ b/packages/resolve-dependencies/src/resolvePeers.ts @@ -191,10 +191,10 @@ function resolvePeersOfNode ( : { ...parentParentPkgs, ...toPkgByName( - Object.keys(children).map((alias) => ({ + Object.entries(children).map(([alias, nodeId]) => ({ alias, - node: ctx.dependenciesTree[children[alias]], - nodeId: children[alias], + node: ctx.dependenciesTree[nodeId], + nodeId, })) ), } @@ -339,9 +339,12 @@ function getPreviouslyResolvedChildren (nodeId nodeIdChunks.reduce((accNodeId, part) => { accNodeId += `>${part}>${ownId}` const parentNode = dependenciesTree[`${accNodeId}>`] + if (typeof parentNode.children === 'function') { + parentNode.children = parentNode.children() + } Object.assign( allChildren, - typeof parentNode.children === 'function' ? parentNode.children() : parentNode.children + parentNode.children ) return accNodeId }, '')