diff --git a/__tests__/package-request.js b/__tests__/package-request.js index eff63f86c3..814ceede92 100644 --- a/__tests__/package-request.js +++ b/__tests__/package-request.js @@ -19,8 +19,8 @@ async function prepareRequest(pattern: string, version: string, resolved: string }; if (parentRequest) { depRequestPattern.parentRequest = parentRequest; - depRequestPattern.parentNames = parentRequest.parentNames.slice(0); - depRequestPattern.parentNames.push(parentRequest.pattern); + depRequestPattern.parentNames = [...parentRequest.parentNames, parentRequest.pattern]; + const lock = parentRequest.getLocked(); privateDepCache[parentRequest.pattern] = {version: lock.version, resolved: lock._remote.resolved}; } diff --git a/src/package-reference.js b/src/package-reference.js index bf37a93899..06995d978c 100644 --- a/src/package-reference.js +++ b/src/package-reference.js @@ -66,13 +66,7 @@ export default class PackageReference { addRequest(request: PackageRequest) { this.requests.push(request); - let requestLevel = -1; - let currentRequest = request; - while (currentRequest && requestLevel < this.level) { - requestLevel += 1; - currentRequest = currentRequest.parentRequest; - } - this.level = requestLevel; + this.level = Math.min(this.level, request.parentNames.length); } prune() {