refactor: resolvePeers.ts

This commit is contained in:
Zoltan Kochan
2022-04-19 12:48:25 +03:00
parent 948a8151ed
commit c16eb2be34
2 changed files with 8 additions and 5 deletions

View File

@@ -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)

View File

@@ -191,10 +191,10 @@ function resolvePeersOfNode<T extends PartialResolvedPackage> (
: {
...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<T extends PartialResolvedPackage> (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
}, '')