Skip to content

Commit

Permalink
perf: reduce memory usage
Browse files Browse the repository at this point in the history
  • Loading branch information
zkochan committed May 15, 2024
1 parent abde9e7 commit 918102e
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 6 deletions.
11 changes: 6 additions & 5 deletions pkg-manager/resolve-dependencies/src/resolvePeers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -356,6 +356,7 @@ async function resolvePeersOfNode<T extends PartialResolvedPackage> (
if (typeof node.children === 'function') {
node.children = node.children()
}
const parentNodeIds = [...ctx.parentNodeIds, nodeId]
const children = node.children
let parentPkgs: ParentRefs
if (Object.keys(children).length === 0) {
Expand All @@ -369,7 +370,7 @@ async function resolvePeersOfNode<T extends PartialResolvedPackage> (
alias,
node: ctx.dependenciesTree.get(nodeId)!,
nodeId,
parentNodeIds: ctx.parentNodeIds,
parentNodeIds,
})
}
}
Expand Down Expand Up @@ -405,7 +406,7 @@ async function resolvePeersOfNode<T extends PartialResolvedPackage> (
finishing,
} = await resolvePeersOfChildren(children, parentPkgs, {
...ctx,
parentNodeIds: [...ctx.parentNodeIds, nodeId],
parentNodeIds,
parentDepPathsChain: ctx.parentDepPathsChain.includes(resolvedPackage.depPath) ? ctx.parentDepPathsChain : [...ctx.parentDepPathsChain, resolvedPackage.depPath],
})

Expand All @@ -420,7 +421,7 @@ async function resolvePeersOfNode<T extends PartialResolvedPackage> (
peerDependencyIssues: ctx.peerDependencyIssues,
resolvedPackage,
rootDir: ctx.rootDir,
parentNodeIds: ctx.parentNodeIds,
parentNodeIds,
})

const allResolvedPeers = unknownResolvedPeersOfChildren
Expand Down Expand Up @@ -549,7 +550,7 @@ async function resolvePeersOfNode<T extends PartialResolvedPackage> (
ctx.depGraph[depPath] = {
...(node.resolvedPackage as T),
children: Object.assign(
getPreviouslyResolvedChildren(ctx.parentNodeIds, ctx.parentDepPathsChain, ctx.dependenciesTree, (node.resolvedPackage as T).depPath),
getPreviouslyResolvedChildren(parentNodeIds, ctx.parentDepPathsChain, ctx.dependenciesTree, (node.resolvedPackage as T).depPath),
children,
Object.fromEntries(resolvedPeers.entries())
),
Expand Down Expand Up @@ -865,7 +866,7 @@ function getLocationFromParentNodeIds<T> (
parentNodeIds: string[]
}
): Location {
const parents = parentNodeIds
const parents = parentNodeIds.slice(0, -1)
.map((nid) => pick(['name', 'version'], dependenciesTree.get(nid)!.resolvedPackage as ResolvedPackage))
return {
projectId: '.',
Expand Down
2 changes: 1 addition & 1 deletion pkg-manager/resolve-dependencies/test/nodeIdUtils.test.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { nodeIdContainsSequence } from '../lib/nodeIdUtils'

test('nodeIdContainsSequence()', () => {
expect(nodeIdContainsSequence('>.>b>a>c>b>a>', 'a', 'b')).toBeTruthy()
expect(nodeIdContainsSequence(['.', 'b', 'a', 'c', 'b', 'a'], 'a', 'b')).toBeTruthy()
})

0 comments on commit 918102e

Please sign in to comment.