diff options
author | nlf <quitlahok@gmail.com> | 2022-08-12 02:02:48 +0300 |
---|---|---|
committer | nlf <quitlahok@gmail.com> | 2022-08-12 02:02:48 +0300 |
commit | 6bea865f0fefd70615791e1c8b36ac678d745aab (patch) | |
tree | 0f0e1580e70d05e235cfadde55553b1119a50c23 | |
parent | 222f4fe985f58bf62882cdbb1ab0de3d872e9fd8 (diff) |
feat(arborist)!: install optional peer dependenciesnlf/optional-peer-dep-bugs
9 files changed, 40573 insertions, 767 deletions
diff --git a/workspaces/arborist/lib/arborist/build-ideal-tree.js b/workspaces/arborist/lib/arborist/build-ideal-tree.js index 945bae56b..baf320492 100644 --- a/workspaces/arborist/lib/arborist/build-ideal-tree.js +++ b/workspaces/arborist/lib/arborist/build-ideal-tree.js @@ -1200,23 +1200,21 @@ This is a one-time fix-up, please be patient... return false } + // If the edge has no destination, that's a problem + if (!edge.to) { + return true + } + // If it's already been logged as a load failure, skip it. - if (edge.to && this[_loadFailures].has(edge.to)) { + if (this[_loadFailures].has(edge.to)) { return false } // If it's shrinkwrapped, we use what the shrinkwap wants. - if (edge.to && edge.to.inShrinkwrap) { + if (edge.to.inShrinkwrap) { return false } - // If the edge has no destination, that's a problem, unless - // if it's peerOptional and not explicitly requested. - if (!edge.to) { - return edge.type !== 'peerOptional' || - this[_explicitRequests].has(edge) - } - // If the edge has an error, there's a problem. if (!edge.valid) { return true diff --git a/workspaces/arborist/lib/place-dep.js b/workspaces/arborist/lib/place-dep.js index 9d84d3f1b..bf80935ef 100644 --- a/workspaces/arborist/lib/place-dep.js +++ b/workspaces/arborist/lib/place-dep.js @@ -496,7 +496,27 @@ class PlaceDep { } get conflictOk () { - return this.force || (!this.isMine && !this.strictPeerDeps) + if (this.force) { + return true + } + + if (!this.isMine && !this.strictPeerDeps) { + return true + } + + if (this.top.edge.type === 'peerOptional') { + return true + } + + let fromIsOptional = !!this.top.edge.from.edgesIn.size + for (const edgeIn of this.top.edge.from.edgesIn.values()) { + if (edgeIn.type !== 'peerOptional') { + fromIsOptional = false + break + } + } + + return fromIsOptional } get isMine () { diff --git a/workspaces/arborist/tap-snapshots/test/arborist/build-ideal-tree.js.test.cjs b/workspaces/arborist/tap-snapshots/test/arborist/build-ideal-tree.js.test.cjs index 1b1e2d55d..cc91c927b 100644 --- a/workspaces/arborist/tap-snapshots/test/arborist/build-ideal-tree.js.test.cjs +++ b/workspaces/arborist/tap-snapshots/test/arborist/build-ideal-tree.js.test.cjs @@ -2000,7 +2000,7 @@ ArboristLink { } ` -exports[`test/arborist/build-ideal-tree.js TAP allow ERESOLVE to be forced when not in the source both direct and peer of the same type dependencies > use the force 1`] = ` +exports[`test/arborist/build-ideal-tree.js TAP allow ERESOLVE to be forced when not in the source b is peer, peer is some other type dependencies > do not need to force 1`] = ` ArboristNode { "children": Map { "@isaacs/conflicted-peer-optional-from-dev-dep-b" => ArboristNode { @@ -2009,7 +2009,7 @@ ArboristNode { "from": "", "name": "@isaacs/conflicted-peer-optional-from-dev-dep-b", "spec": "*", - "type": "prod", + "type": "peer", }, }, "edgesOut": Map { @@ -2024,7 +2024,8 @@ ArboristNode { }, "location": "node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-b", "name": "@isaacs/conflicted-peer-optional-from-dev-dep-b", - "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-both-direct-and-peer-of-the-same-type-dependencies/node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-b", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-b-is-peer-peer-is-some-other-type-dependencies/node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-b", + "peer": true, "resolved": "https://registry.npmjs.org/@isaacs/conflicted-peer-optional-from-dev-dep-b/-/conflicted-peer-optional-from-dev-dep-b-1.0.0.tgz", "version": "1.0.0", }, @@ -2047,7 +2048,7 @@ ArboristNode { }, "location": "node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-peer", "name": "@isaacs/conflicted-peer-optional-from-dev-dep-peer", - "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-both-direct-and-peer-of-the-same-type-dependencies/node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-peer", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-b-is-peer-peer-is-some-other-type-dependencies/node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-peer", "resolved": "https://registry.npmjs.org/@isaacs/conflicted-peer-optional-from-dev-dep-peer/-/conflicted-peer-optional-from-dev-dep-peer-1.0.0.tgz", "version": "1.0.0", }, @@ -2057,7 +2058,7 @@ ArboristNode { "name": "@isaacs/conflicted-peer-optional-from-dev-dep-b", "spec": "*", "to": "node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-b", - "type": "prod", + "type": "peer", }, "@isaacs/conflicted-peer-optional-from-dev-dep-peer" => EdgeOut { "name": "@isaacs/conflicted-peer-optional-from-dev-dep-peer", @@ -2068,24 +2069,23 @@ ArboristNode { }, "isProjectRoot": true, "location": "", - "name": "tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-both-direct-and-peer-of-the-same-type-dependencies", + "name": "tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-b-is-peer-peer-is-some-other-type-dependencies", "packageName": "@isaacs/conflicted-peer-optional-from-dev-dep", - "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-both-direct-and-peer-of-the-same-type-dependencies", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-b-is-peer-peer-is-some-other-type-dependencies", "version": "1.2.3", } ` -exports[`test/arborist/build-ideal-tree.js TAP allow ERESOLVE to be forced when not in the source both direct and peer of the same type devDependencies > use the force 1`] = ` +exports[`test/arborist/build-ideal-tree.js TAP allow ERESOLVE to be forced when not in the source b is peer, peer is some other type devDependencies > do not need to force 1`] = ` ArboristNode { "children": Map { "@isaacs/conflicted-peer-optional-from-dev-dep-b" => ArboristNode { - "dev": true, "edgesIn": Set { EdgeIn { "from": "", "name": "@isaacs/conflicted-peer-optional-from-dev-dep-b", "spec": "*", - "type": "dev", + "type": "peer", }, }, "edgesOut": Map { @@ -2100,12 +2100,13 @@ ArboristNode { }, "location": "node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-b", "name": "@isaacs/conflicted-peer-optional-from-dev-dep-b", - "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-both-direct-and-peer-of-the-same-type-devDependencies/node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-b", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-b-is-peer-peer-is-some-other-type-devDependencies/node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-b", + "peer": true, "resolved": "https://registry.npmjs.org/@isaacs/conflicted-peer-optional-from-dev-dep-b/-/conflicted-peer-optional-from-dev-dep-b-1.0.0.tgz", "version": "1.0.0", }, "@isaacs/conflicted-peer-optional-from-dev-dep-peer" => ArboristNode { - "dev": true, + "devOptional": true, "edgesIn": Set { EdgeIn { "from": "", @@ -2124,7 +2125,7 @@ ArboristNode { }, "location": "node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-peer", "name": "@isaacs/conflicted-peer-optional-from-dev-dep-peer", - "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-both-direct-and-peer-of-the-same-type-devDependencies/node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-peer", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-b-is-peer-peer-is-some-other-type-devDependencies/node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-peer", "resolved": "https://registry.npmjs.org/@isaacs/conflicted-peer-optional-from-dev-dep-peer/-/conflicted-peer-optional-from-dev-dep-peer-1.0.0.tgz", "version": "1.0.0", }, @@ -2134,7 +2135,7 @@ ArboristNode { "name": "@isaacs/conflicted-peer-optional-from-dev-dep-b", "spec": "*", "to": "node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-b", - "type": "dev", + "type": "peer", }, "@isaacs/conflicted-peer-optional-from-dev-dep-peer" => EdgeOut { "name": "@isaacs/conflicted-peer-optional-from-dev-dep-peer", @@ -2145,14 +2146,14 @@ ArboristNode { }, "isProjectRoot": true, "location": "", - "name": "tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-both-direct-and-peer-of-the-same-type-devDependencies", + "name": "tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-b-is-peer-peer-is-some-other-type-devDependencies", "packageName": "@isaacs/conflicted-peer-optional-from-dev-dep", - "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-both-direct-and-peer-of-the-same-type-devDependencies", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-b-is-peer-peer-is-some-other-type-devDependencies", "version": "1.2.3", } ` -exports[`test/arborist/build-ideal-tree.js TAP allow ERESOLVE to be forced when not in the source both direct and peer of the same type optionalDependencies > use the force 1`] = ` +exports[`test/arborist/build-ideal-tree.js TAP allow ERESOLVE to be forced when not in the source b is peer, peer is some other type optionalDependencies > do not need to force 1`] = ` ArboristNode { "children": Map { "@isaacs/conflicted-peer-optional-from-dev-dep-b" => ArboristNode { @@ -2161,7 +2162,7 @@ ArboristNode { "from": "", "name": "@isaacs/conflicted-peer-optional-from-dev-dep-b", "spec": "*", - "type": "optional", + "type": "peer", }, }, "edgesOut": Map { @@ -2176,8 +2177,8 @@ ArboristNode { }, "location": "node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-b", "name": "@isaacs/conflicted-peer-optional-from-dev-dep-b", - "optional": true, - "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-both-direct-and-peer-of-the-same-type-optionalDependencies/node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-b", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-b-is-peer-peer-is-some-other-type-optionalDependencies/node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-b", + "peer": true, "resolved": "https://registry.npmjs.org/@isaacs/conflicted-peer-optional-from-dev-dep-b/-/conflicted-peer-optional-from-dev-dep-b-1.0.0.tgz", "version": "1.0.0", }, @@ -2201,7 +2202,7 @@ ArboristNode { "location": "node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-peer", "name": "@isaacs/conflicted-peer-optional-from-dev-dep-peer", "optional": true, - "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-both-direct-and-peer-of-the-same-type-optionalDependencies/node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-peer", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-b-is-peer-peer-is-some-other-type-optionalDependencies/node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-peer", "resolved": "https://registry.npmjs.org/@isaacs/conflicted-peer-optional-from-dev-dep-peer/-/conflicted-peer-optional-from-dev-dep-peer-1.0.0.tgz", "version": "1.0.0", }, @@ -2211,7 +2212,7 @@ ArboristNode { "name": "@isaacs/conflicted-peer-optional-from-dev-dep-b", "spec": "*", "to": "node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-b", - "type": "optional", + "type": "peer", }, "@isaacs/conflicted-peer-optional-from-dev-dep-peer" => EdgeOut { "name": "@isaacs/conflicted-peer-optional-from-dev-dep-peer", @@ -2222,14 +2223,14 @@ ArboristNode { }, "isProjectRoot": true, "location": "", - "name": "tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-both-direct-and-peer-of-the-same-type-optionalDependencies", + "name": "tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-b-is-peer-peer-is-some-other-type-optionalDependencies", "packageName": "@isaacs/conflicted-peer-optional-from-dev-dep", - "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-both-direct-and-peer-of-the-same-type-optionalDependencies", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-b-is-peer-peer-is-some-other-type-optionalDependencies", "version": "1.2.3", } ` -exports[`test/arborist/build-ideal-tree.js TAP allow ERESOLVE to be forced when not in the source both direct and peer of the same type peerDependencies > use the force 1`] = ` +exports[`test/arborist/build-ideal-tree.js TAP allow ERESOLVE to be forced when not in the source both direct and peer of the same type dependencies > do not need to force non peers 1`] = ` ArboristNode { "children": Map { "@isaacs/conflicted-peer-optional-from-dev-dep-b" => ArboristNode { @@ -2238,7 +2239,7 @@ ArboristNode { "from": "", "name": "@isaacs/conflicted-peer-optional-from-dev-dep-b", "spec": "*", - "type": "peer", + "type": "prod", }, }, "edgesOut": Map { @@ -2253,8 +2254,7 @@ ArboristNode { }, "location": "node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-b", "name": "@isaacs/conflicted-peer-optional-from-dev-dep-b", - "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-both-direct-and-peer-of-the-same-type-peerDependencies/node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-b", - "peer": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-both-direct-and-peer-of-the-same-type-dependencies/node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-b", "resolved": "https://registry.npmjs.org/@isaacs/conflicted-peer-optional-from-dev-dep-b/-/conflicted-peer-optional-from-dev-dep-b-1.0.0.tgz", "version": "1.0.0", }, @@ -2264,7 +2264,7 @@ ArboristNode { "from": "", "name": "@isaacs/conflicted-peer-optional-from-dev-dep-peer", "spec": "1", - "type": "peer", + "type": "prod", }, EdgeIn { "error": "INVALID", @@ -2277,8 +2277,7 @@ ArboristNode { }, "location": "node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-peer", "name": "@isaacs/conflicted-peer-optional-from-dev-dep-peer", - "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-both-direct-and-peer-of-the-same-type-peerDependencies/node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-peer", - "peer": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-both-direct-and-peer-of-the-same-type-dependencies/node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-peer", "resolved": "https://registry.npmjs.org/@isaacs/conflicted-peer-optional-from-dev-dep-peer/-/conflicted-peer-optional-from-dev-dep-peer-1.0.0.tgz", "version": "1.0.0", }, @@ -2288,34 +2287,35 @@ ArboristNode { "name": "@isaacs/conflicted-peer-optional-from-dev-dep-b", "spec": "*", "to": "node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-b", - "type": "peer", + "type": "prod", }, "@isaacs/conflicted-peer-optional-from-dev-dep-peer" => EdgeOut { "name": "@isaacs/conflicted-peer-optional-from-dev-dep-peer", "spec": "1", "to": "node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-peer", - "type": "peer", + "type": "prod", }, }, "isProjectRoot": true, "location": "", - "name": "tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-both-direct-and-peer-of-the-same-type-peerDependencies", + "name": "tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-both-direct-and-peer-of-the-same-type-dependencies", "packageName": "@isaacs/conflicted-peer-optional-from-dev-dep", - "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-both-direct-and-peer-of-the-same-type-peerDependencies", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-both-direct-and-peer-of-the-same-type-dependencies", "version": "1.2.3", } ` -exports[`test/arborist/build-ideal-tree.js TAP allow ERESOLVE to be forced when not in the source peer is peer, b is some other type dependencies > use the force 1`] = ` +exports[`test/arborist/build-ideal-tree.js TAP allow ERESOLVE to be forced when not in the source both direct and peer of the same type devDependencies > do not need to force non peers 1`] = ` ArboristNode { "children": Map { "@isaacs/conflicted-peer-optional-from-dev-dep-b" => ArboristNode { + "dev": true, "edgesIn": Set { EdgeIn { "from": "", "name": "@isaacs/conflicted-peer-optional-from-dev-dep-b", "spec": "*", - "type": "peer", + "type": "dev", }, }, "edgesOut": Map { @@ -2330,18 +2330,18 @@ ArboristNode { }, "location": "node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-b", "name": "@isaacs/conflicted-peer-optional-from-dev-dep-b", - "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-peer-is-peer-b-is-some-other-type-dependencies/node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-b", - "peer": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-both-direct-and-peer-of-the-same-type-devDependencies/node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-b", "resolved": "https://registry.npmjs.org/@isaacs/conflicted-peer-optional-from-dev-dep-b/-/conflicted-peer-optional-from-dev-dep-b-1.0.0.tgz", "version": "1.0.0", }, "@isaacs/conflicted-peer-optional-from-dev-dep-peer" => ArboristNode { + "dev": true, "edgesIn": Set { EdgeIn { "from": "", "name": "@isaacs/conflicted-peer-optional-from-dev-dep-peer", "spec": "1", - "type": "prod", + "type": "dev", }, EdgeIn { "error": "INVALID", @@ -2354,7 +2354,7 @@ ArboristNode { }, "location": "node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-peer", "name": "@isaacs/conflicted-peer-optional-from-dev-dep-peer", - "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-peer-is-peer-b-is-some-other-type-dependencies/node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-peer", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-both-direct-and-peer-of-the-same-type-devDependencies/node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-peer", "resolved": "https://registry.npmjs.org/@isaacs/conflicted-peer-optional-from-dev-dep-peer/-/conflicted-peer-optional-from-dev-dep-peer-1.0.0.tgz", "version": "1.0.0", }, @@ -2364,25 +2364,25 @@ ArboristNode { "name": "@isaacs/conflicted-peer-optional-from-dev-dep-b", "spec": "*", "to": "node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-b", - "type": "peer", + "type": "dev", }, "@isaacs/conflicted-peer-optional-from-dev-dep-peer" => EdgeOut { "name": "@isaacs/conflicted-peer-optional-from-dev-dep-peer", "spec": "1", "to": "node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-peer", - "type": "prod", + "type": "dev", }, }, "isProjectRoot": true, "location": "", - "name": "tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-peer-is-peer-b-is-some-other-type-dependencies", + "name": "tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-both-direct-and-peer-of-the-same-type-devDependencies", "packageName": "@isaacs/conflicted-peer-optional-from-dev-dep", - "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-peer-is-peer-b-is-some-other-type-dependencies", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-both-direct-and-peer-of-the-same-type-devDependencies", "version": "1.2.3", } ` -exports[`test/arborist/build-ideal-tree.js TAP allow ERESOLVE to be forced when not in the source peer is peer, b is some other type dependencies > use the force 2`] = ` +exports[`test/arborist/build-ideal-tree.js TAP allow ERESOLVE to be forced when not in the source both direct and peer of the same type optionalDependencies > do not need to force non peers 1`] = ` ArboristNode { "children": Map { "@isaacs/conflicted-peer-optional-from-dev-dep-b" => ArboristNode { @@ -2391,7 +2391,7 @@ ArboristNode { "from": "", "name": "@isaacs/conflicted-peer-optional-from-dev-dep-b", "spec": "*", - "type": "prod", + "type": "optional", }, }, "edgesOut": Map { @@ -2406,7 +2406,8 @@ ArboristNode { }, "location": "node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-b", "name": "@isaacs/conflicted-peer-optional-from-dev-dep-b", - "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-peer-is-peer-b-is-some-other-type-dependencies/node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-b", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-both-direct-and-peer-of-the-same-type-optionalDependencies/node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-b", "resolved": "https://registry.npmjs.org/@isaacs/conflicted-peer-optional-from-dev-dep-b/-/conflicted-peer-optional-from-dev-dep-b-1.0.0.tgz", "version": "1.0.0", }, @@ -2416,7 +2417,7 @@ ArboristNode { "from": "", "name": "@isaacs/conflicted-peer-optional-from-dev-dep-peer", "spec": "1", - "type": "peer", + "type": "optional", }, EdgeIn { "error": "INVALID", @@ -2429,8 +2430,8 @@ ArboristNode { }, "location": "node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-peer", "name": "@isaacs/conflicted-peer-optional-from-dev-dep-peer", - "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-peer-is-peer-b-is-some-other-type-dependencies/node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-peer", - "peer": true, + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-both-direct-and-peer-of-the-same-type-optionalDependencies/node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-peer", "resolved": "https://registry.npmjs.org/@isaacs/conflicted-peer-optional-from-dev-dep-peer/-/conflicted-peer-optional-from-dev-dep-peer-1.0.0.tgz", "version": "1.0.0", }, @@ -2440,25 +2441,25 @@ ArboristNode { "name": "@isaacs/conflicted-peer-optional-from-dev-dep-b", "spec": "*", "to": "node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-b", - "type": "prod", + "type": "optional", }, "@isaacs/conflicted-peer-optional-from-dev-dep-peer" => EdgeOut { "name": "@isaacs/conflicted-peer-optional-from-dev-dep-peer", "spec": "1", "to": "node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-peer", - "type": "peer", + "type": "optional", }, }, "isProjectRoot": true, "location": "", - "name": "tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-peer-is-peer-b-is-some-other-type-dependencies", + "name": "tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-both-direct-and-peer-of-the-same-type-optionalDependencies", "packageName": "@isaacs/conflicted-peer-optional-from-dev-dep", - "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-peer-is-peer-b-is-some-other-type-dependencies", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-both-direct-and-peer-of-the-same-type-optionalDependencies", "version": "1.2.3", } ` -exports[`test/arborist/build-ideal-tree.js TAP allow ERESOLVE to be forced when not in the source peer is peer, b is some other type devDependencies > use the force 1`] = ` +exports[`test/arborist/build-ideal-tree.js TAP allow ERESOLVE to be forced when not in the source both direct and peer of the same type peerDependencies > do need to force peers 1`] = ` ArboristNode { "children": Map { "@isaacs/conflicted-peer-optional-from-dev-dep-b" => ArboristNode { @@ -2482,19 +2483,18 @@ ArboristNode { }, "location": "node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-b", "name": "@isaacs/conflicted-peer-optional-from-dev-dep-b", - "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-peer-is-peer-b-is-some-other-type-devDependencies/node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-b", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-both-direct-and-peer-of-the-same-type-peerDependencies/node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-b", "peer": true, "resolved": "https://registry.npmjs.org/@isaacs/conflicted-peer-optional-from-dev-dep-b/-/conflicted-peer-optional-from-dev-dep-b-1.0.0.tgz", "version": "1.0.0", }, "@isaacs/conflicted-peer-optional-from-dev-dep-peer" => ArboristNode { - "devOptional": true, "edgesIn": Set { EdgeIn { "from": "", "name": "@isaacs/conflicted-peer-optional-from-dev-dep-peer", "spec": "1", - "type": "dev", + "type": "peer", }, EdgeIn { "error": "INVALID", @@ -2507,7 +2507,8 @@ ArboristNode { }, "location": "node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-peer", "name": "@isaacs/conflicted-peer-optional-from-dev-dep-peer", - "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-peer-is-peer-b-is-some-other-type-devDependencies/node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-peer", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-both-direct-and-peer-of-the-same-type-peerDependencies/node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-peer", + "peer": true, "resolved": "https://registry.npmjs.org/@isaacs/conflicted-peer-optional-from-dev-dep-peer/-/conflicted-peer-optional-from-dev-dep-peer-1.0.0.tgz", "version": "1.0.0", }, @@ -2523,29 +2524,28 @@ ArboristNode { "name": "@isaacs/conflicted-peer-optional-from-dev-dep-peer", "spec": "1", "to": "node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-peer", - "type": "dev", + "type": "peer", }, }, "isProjectRoot": true, "location": "", - "name": "tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-peer-is-peer-b-is-some-other-type-devDependencies", + "name": "tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-both-direct-and-peer-of-the-same-type-peerDependencies", "packageName": "@isaacs/conflicted-peer-optional-from-dev-dep", - "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-peer-is-peer-b-is-some-other-type-devDependencies", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-both-direct-and-peer-of-the-same-type-peerDependencies", "version": "1.2.3", } ` -exports[`test/arborist/build-ideal-tree.js TAP allow ERESOLVE to be forced when not in the source peer is peer, b is some other type devDependencies > use the force 2`] = ` +exports[`test/arborist/build-ideal-tree.js TAP allow ERESOLVE to be forced when not in the source peer is peer, b is some other type dependencies > do not need to force 1`] = ` ArboristNode { "children": Map { "@isaacs/conflicted-peer-optional-from-dev-dep-b" => ArboristNode { - "dev": true, "edgesIn": Set { EdgeIn { "from": "", "name": "@isaacs/conflicted-peer-optional-from-dev-dep-b", "spec": "*", - "type": "dev", + "type": "prod", }, }, "edgesOut": Map { @@ -2560,7 +2560,7 @@ ArboristNode { }, "location": "node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-b", "name": "@isaacs/conflicted-peer-optional-from-dev-dep-b", - "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-peer-is-peer-b-is-some-other-type-devDependencies/node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-b", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-peer-is-peer-b-is-some-other-type-dependencies/node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-b", "resolved": "https://registry.npmjs.org/@isaacs/conflicted-peer-optional-from-dev-dep-b/-/conflicted-peer-optional-from-dev-dep-b-1.0.0.tgz", "version": "1.0.0", }, @@ -2583,7 +2583,7 @@ ArboristNode { }, "location": "node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-peer", "name": "@isaacs/conflicted-peer-optional-from-dev-dep-peer", - "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-peer-is-peer-b-is-some-other-type-devDependencies/node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-peer", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-peer-is-peer-b-is-some-other-type-dependencies/node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-peer", "peer": true, "resolved": "https://registry.npmjs.org/@isaacs/conflicted-peer-optional-from-dev-dep-peer/-/conflicted-peer-optional-from-dev-dep-peer-1.0.0.tgz", "version": "1.0.0", @@ -2594,7 +2594,7 @@ ArboristNode { "name": "@isaacs/conflicted-peer-optional-from-dev-dep-b", "spec": "*", "to": "node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-b", - "type": "dev", + "type": "prod", }, "@isaacs/conflicted-peer-optional-from-dev-dep-peer" => EdgeOut { "name": "@isaacs/conflicted-peer-optional-from-dev-dep-peer", @@ -2605,23 +2605,24 @@ ArboristNode { }, "isProjectRoot": true, "location": "", - "name": "tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-peer-is-peer-b-is-some-other-type-devDependencies", + "name": "tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-peer-is-peer-b-is-some-other-type-dependencies", "packageName": "@isaacs/conflicted-peer-optional-from-dev-dep", - "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-peer-is-peer-b-is-some-other-type-devDependencies", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-peer-is-peer-b-is-some-other-type-dependencies", "version": "1.2.3", } ` -exports[`test/arborist/build-ideal-tree.js TAP allow ERESOLVE to be forced when not in the source peer is peer, b is some other type optionalDependencies > use the force 1`] = ` +exports[`test/arborist/build-ideal-tree.js TAP allow ERESOLVE to be forced when not in the source peer is peer, b is some other type devDependencies > do not need to force 1`] = ` ArboristNode { "children": Map { "@isaacs/conflicted-peer-optional-from-dev-dep-b" => ArboristNode { + "dev": true, "edgesIn": Set { EdgeIn { "from": "", "name": "@isaacs/conflicted-peer-optional-from-dev-dep-b", "spec": "*", - "type": "peer", + "type": "dev", }, }, "edgesOut": Map { @@ -2636,8 +2637,7 @@ ArboristNode { }, "location": "node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-b", "name": "@isaacs/conflicted-peer-optional-from-dev-dep-b", - "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-peer-is-peer-b-is-some-other-type-optionalDependencies/node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-b", - "peer": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-peer-is-peer-b-is-some-other-type-devDependencies/node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-b", "resolved": "https://registry.npmjs.org/@isaacs/conflicted-peer-optional-from-dev-dep-b/-/conflicted-peer-optional-from-dev-dep-b-1.0.0.tgz", "version": "1.0.0", }, @@ -2647,7 +2647,7 @@ ArboristNode { "from": "", "name": "@isaacs/conflicted-peer-optional-from-dev-dep-peer", "spec": "1", - "type": "optional", + "type": "peer", }, EdgeIn { "error": "INVALID", @@ -2660,8 +2660,8 @@ ArboristNode { }, "location": "node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-peer", "name": "@isaacs/conflicted-peer-optional-from-dev-dep-peer", - "optional": true, - "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-peer-is-peer-b-is-some-other-type-optionalDependencies/node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-peer", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-peer-is-peer-b-is-some-other-type-devDependencies/node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-peer", + "peer": true, "resolved": "https://registry.npmjs.org/@isaacs/conflicted-peer-optional-from-dev-dep-peer/-/conflicted-peer-optional-from-dev-dep-peer-1.0.0.tgz", "version": "1.0.0", }, @@ -2671,25 +2671,25 @@ ArboristNode { "name": "@isaacs/conflicted-peer-optional-from-dev-dep-b", "spec": "*", "to": "node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-b", - "type": "peer", + "type": "dev", }, "@isaacs/conflicted-peer-optional-from-dev-dep-peer" => EdgeOut { "name": "@isaacs/conflicted-peer-optional-from-dev-dep-peer", "spec": "1", "to": "node_modules/@isaacs/conflicted-peer-optional-from-dev-dep-peer", - "type": "optional", + "type": "peer", }, }, "isProjectRoot": true, "location": "", - "name": "tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-peer-is-peer-b-is-some-other-type-optionalDependencies", + "name": "tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-peer-is-peer-b-is-some-other-type-devDependencies", "packageName": "@isaacs/conflicted-peer-optional-from-dev-dep", - "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-peer-is-peer-b-is-some-other-type-optionalDependencies", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allow-ERESOLVE-to-be-forced-when-not-in-the-source-peer-is-peer-b-is-some-other-type-devDependencies", "version": "1.2.3", } ` -exports[`test/arborist/build-ideal-tree.js TAP allow ERESOLVE to be forced when not in the source peer is peer, b is some other type optionalDependencies > use the force 2`] = ` +exports[`test/arborist/build-ideal-tree.js TAP allow ERESOLVE to be forced when not in the source peer is peer, b is some other type optionalDependencies > do not need to force 1`] = ` ArboristNode { "children": Map { "@isaacs/conflicted-peer-optional-from-dev-dep-b" => ArboristNode { @@ -3647,7 +3647,7 @@ ArboristNode { } ` -exports[`test/arborist/build-ideal-tree.js TAP always prefer deduping peer deps > must match snapshot 1`] = ` +exports[`test/arborist/build-ideal-tree.js TAP allows a peerOptional to conflict and be invalid > must match snapshot 1`] = ` ArboristNode { "children": Map { "@pmmmwh/react-refresh-webpack-plugin" => ArboristNode { @@ -3662,6 +3662,7 @@ ArboristNode { "edgesOut": Map { "@types/webpack" => EdgeOut { "name": "@types/webpack", + "peerConflicted": true, "spec": "4.x", "to": null, "type": "peerOptional", @@ -3705,7 +3706,7 @@ ArboristNode { "sockjs-client" => EdgeOut { "name": "sockjs-client", "spec": "^1.4.0", - "to": null, + "to": "node_modules/sockjs-client", "type": "peerOptional", }, "source-map" => EdgeOut { @@ -3717,6 +3718,7 @@ ArboristNode { "type-fest" => EdgeOut { "error": "INVALID", "name": "type-fest", + "peerConflicted": true, "spec": "^0.13.1", "to": "node_modules/type-fest", "type": "peerOptional", @@ -3730,17 +3732,19 @@ ArboristNode { "webpack-dev-server" => EdgeOut { "name": "webpack-dev-server", "spec": "3.x", - "to": null, + "to": "node_modules/webpack-dev-server", "type": "peerOptional", }, "webpack-hot-middleware" => EdgeOut { "name": "webpack-hot-middleware", + "peerConflicted": true, "spec": "2.x", "to": null, "type": "peerOptional", }, "webpack-plugin-serve" => EdgeOut { "name": "webpack-plugin-serve", + "peerConflicted": true, "spec": "0.x || 1.x", "to": null, "type": "peerOptional", @@ -3748,122 +3752,19065 @@ ArboristNode { }, "location": "node_modules/@pmmmwh/react-refresh-webpack-plugin", "name": "@pmmmwh/react-refresh-webpack-plugin", - "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/@pmmmwh/react-refresh-webpack-plugin", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/@pmmmwh/react-refresh-webpack-plugin", "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.4.2.tgz", "version": "0.4.2", }, - "@types/eslint" => ArboristNode { + "@types/glob" => ArboristNode { "edgesIn": Set { EdgeIn { - "from": "node_modules/@types/eslint-scope", - "name": "@types/eslint", - "spec": "*", + "from": "node_modules/del", + "name": "@types/glob", + "spec": "^7.1.1", "type": "prod", }, }, "edgesOut": Map { - "@types/estree" => EdgeOut { - "name": "@types/estree", + "@types/minimatch" => EdgeOut { + "name": "@types/minimatch", "spec": "*", - "to": "node_modules/@types/estree", + "to": "node_modules/@types/minimatch", "type": "prod", }, - "@types/json-schema" => EdgeOut { + "@types/node" => EdgeOut { + "name": "@types/node", + "spec": "*", + "to": "node_modules/@types/node", + "type": "prod", + }, + }, + "location": "node_modules/@types/glob", + "name": "@types/glob", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/@types/glob", + "peer": true, + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz", + "version": "7.1.3", + }, + "@types/json-schema" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/schema-utils", "name": "@types/json-schema", + "spec": "^7.0.5", + "type": "prod", + }, + }, + "location": "node_modules/@types/json-schema", + "name": "@types/json-schema", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/@types/json-schema", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz", + "version": "7.0.6", + }, + "@types/minimatch" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/@types/glob", + "name": "@types/minimatch", "spec": "*", - "to": "node_modules/@types/json-schema", "type": "prod", }, }, - "location": "node_modules/@types/eslint", - "name": "@types/eslint", - "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/@types/eslint", + "location": "node_modules/@types/minimatch", + "name": "@types/minimatch", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/@types/minimatch", "peer": true, - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.2.4.tgz", - "version": "7.2.4", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", + "version": "3.0.3", }, - "@types/eslint-scope" => ArboristNode { + "@types/node" => ArboristNode { "edgesIn": Set { EdgeIn { + "from": "node_modules/@types/glob", + "name": "@types/node", + "spec": "*", + "type": "prod", + }, + }, + "location": "node_modules/@types/node", + "name": "@types/node", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/@types/node", + "peer": true, + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.11.8.tgz", + "version": "14.11.8", + }, + "@webassemblyjs/ast" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/@webassemblyjs/helper-module-context", + "name": "@webassemblyjs/ast", + "spec": "1.9.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/@webassemblyjs/helper-wasm-section", + "name": "@webassemblyjs/ast", + "spec": "1.9.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/@webassemblyjs/wasm-edit", + "name": "@webassemblyjs/ast", + "spec": "1.9.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/@webassemblyjs/wasm-gen", + "name": "@webassemblyjs/ast", + "spec": "1.9.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/@webassemblyjs/wasm-opt", + "name": "@webassemblyjs/ast", + "spec": "1.9.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/@webassemblyjs/wasm-parser", + "name": "@webassemblyjs/ast", + "spec": "1.9.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/@webassemblyjs/wast-parser", + "name": "@webassemblyjs/ast", + "spec": "1.9.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/@webassemblyjs/wast-printer", + "name": "@webassemblyjs/ast", + "spec": "1.9.0", + "type": "prod", + }, + EdgeIn { "from": "node_modules/webpack", - "name": "@types/eslint-scope", - "spec": "^3.7.0", + "name": "@webassemblyjs/ast", + "spec": "1.9.0", "type": "prod", }, }, "edgesOut": Map { - "@types/eslint" => EdgeOut { - "name": "@types/eslint", - "spec": "*", - "to": "node_modules/@types/eslint", + "@webassemblyjs/helper-module-context" => EdgeOut { + "name": "@webassemblyjs/helper-module-context", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/helper-module-context", "type": "prod", }, - "@types/estree" => EdgeOut { - "name": "@types/estree", - "spec": "*", - "to": "node_modules/@types/estree", + "@webassemblyjs/helper-wasm-bytecode" => EdgeOut { + "name": "@webassemblyjs/helper-wasm-bytecode", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/helper-wasm-bytecode", + "type": "prod", + }, + "@webassemblyjs/wast-parser" => EdgeOut { + "name": "@webassemblyjs/wast-parser", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/wast-parser", "type": "prod", }, }, - "location": "node_modules/@types/eslint-scope", - "name": "@types/eslint-scope", - "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/@types/eslint-scope", + "location": "node_modules/@webassemblyjs/ast", + "name": "@webassemblyjs/ast", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/@webassemblyjs/ast", "peer": true, - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.0.tgz", - "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "version": "1.9.0", }, - "@types/estree" => ArboristNode { + "@webassemblyjs/floating-point-hex-parser" => ArboristNode { "edgesIn": Set { EdgeIn { - "from": "node_modules/@types/eslint", - "name": "@types/estree", - "spec": "*", + "from": "node_modules/@webassemblyjs/wast-parser", + "name": "@webassemblyjs/floating-point-hex-parser", + "spec": "1.9.0", "type": "prod", }, + }, + "location": "node_modules/@webassemblyjs/floating-point-hex-parser", + "name": "@webassemblyjs/floating-point-hex-parser", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/@webassemblyjs/floating-point-hex-parser", + "peer": true, + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", + "version": "1.9.0", + }, + "@webassemblyjs/helper-api-error" => ArboristNode { + "edgesIn": Set { EdgeIn { - "from": "node_modules/@types/eslint-scope", - "name": "@types/estree", - "spec": "*", + "from": "node_modules/@webassemblyjs/wasm-parser", + "name": "@webassemblyjs/helper-api-error", + "spec": "1.9.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/@webassemblyjs/wast-parser", + "name": "@webassemblyjs/helper-api-error", + "spec": "1.9.0", + "type": "prod", + }, + }, + "location": "node_modules/@webassemblyjs/helper-api-error", + "name": "@webassemblyjs/helper-api-error", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/@webassemblyjs/helper-api-error", + "peer": true, + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", + "version": "1.9.0", + }, + "@webassemblyjs/helper-buffer" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/@webassemblyjs/helper-wasm-section", + "name": "@webassemblyjs/helper-buffer", + "spec": "1.9.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/@webassemblyjs/wasm-edit", + "name": "@webassemblyjs/helper-buffer", + "spec": "1.9.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/@webassemblyjs/wasm-opt", + "name": "@webassemblyjs/helper-buffer", + "spec": "1.9.0", + "type": "prod", + }, + }, + "location": "node_modules/@webassemblyjs/helper-buffer", + "name": "@webassemblyjs/helper-buffer", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/@webassemblyjs/helper-buffer", + "peer": true, + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", + "version": "1.9.0", + }, + "@webassemblyjs/helper-code-frame" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/@webassemblyjs/wast-parser", + "name": "@webassemblyjs/helper-code-frame", + "spec": "1.9.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "@webassemblyjs/wast-printer" => EdgeOut { + "name": "@webassemblyjs/wast-printer", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/wast-printer", + "type": "prod", + }, + }, + "location": "node_modules/@webassemblyjs/helper-code-frame", + "name": "@webassemblyjs/helper-code-frame", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/@webassemblyjs/helper-code-frame", + "peer": true, + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", + "version": "1.9.0", + }, + "@webassemblyjs/helper-fsm" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/@webassemblyjs/wast-parser", + "name": "@webassemblyjs/helper-fsm", + "spec": "1.9.0", + "type": "prod", + }, + }, + "location": "node_modules/@webassemblyjs/helper-fsm", + "name": "@webassemblyjs/helper-fsm", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/@webassemblyjs/helper-fsm", + "peer": true, + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", + "version": "1.9.0", + }, + "@webassemblyjs/helper-module-context" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/@webassemblyjs/ast", + "name": "@webassemblyjs/helper-module-context", + "spec": "1.9.0", "type": "prod", }, EdgeIn { "from": "node_modules/webpack", - "name": "@types/estree", - "spec": "^0.0.45", + "name": "@webassemblyjs/helper-module-context", + "spec": "1.9.0", "type": "prod", }, }, - "location": "node_modules/@types/estree", - "name": "@types/estree", - "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/@types/estree", + "edgesOut": Map { + "@webassemblyjs/ast" => EdgeOut { + "name": "@webassemblyjs/ast", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/ast", + "type": "prod", + }, + }, + "location": "node_modules/@webassemblyjs/helper-module-context", + "name": "@webassemblyjs/helper-module-context", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/@webassemblyjs/helper-module-context", "peer": true, - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.45.tgz", - "version": "0.0.45", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", + "version": "1.9.0", }, - "@types/json-schema" => ArboristNode { + "@webassemblyjs/helper-wasm-bytecode" => ArboristNode { "edgesIn": Set { EdgeIn { - "from": "node_modules/@types/eslint", - "name": "@types/json-schema", - "spec": "*", + "from": "node_modules/@webassemblyjs/ast", + "name": "@webassemblyjs/helper-wasm-bytecode", + "spec": "1.9.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/@webassemblyjs/helper-wasm-section", + "name": "@webassemblyjs/helper-wasm-bytecode", + "spec": "1.9.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/@webassemblyjs/wasm-edit", + "name": "@webassemblyjs/helper-wasm-bytecode", + "spec": "1.9.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/@webassemblyjs/wasm-gen", + "name": "@webassemblyjs/helper-wasm-bytecode", + "spec": "1.9.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/@webassemblyjs/wasm-parser", + "name": "@webassemblyjs/helper-wasm-bytecode", + "spec": "1.9.0", + "type": "prod", + }, + }, + "location": "node_modules/@webassemblyjs/helper-wasm-bytecode", + "name": "@webassemblyjs/helper-wasm-bytecode", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/@webassemblyjs/helper-wasm-bytecode", + "peer": true, + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "version": "1.9.0", + }, + "@webassemblyjs/helper-wasm-section" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/@webassemblyjs/wasm-edit", + "name": "@webassemblyjs/helper-wasm-section", + "spec": "1.9.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "@webassemblyjs/ast" => EdgeOut { + "name": "@webassemblyjs/ast", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/ast", + "type": "prod", + }, + "@webassemblyjs/helper-buffer" => EdgeOut { + "name": "@webassemblyjs/helper-buffer", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/helper-buffer", + "type": "prod", + }, + "@webassemblyjs/helper-wasm-bytecode" => EdgeOut { + "name": "@webassemblyjs/helper-wasm-bytecode", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/helper-wasm-bytecode", + "type": "prod", + }, + "@webassemblyjs/wasm-gen" => EdgeOut { + "name": "@webassemblyjs/wasm-gen", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/wasm-gen", + "type": "prod", + }, + }, + "location": "node_modules/@webassemblyjs/helper-wasm-section", + "name": "@webassemblyjs/helper-wasm-section", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/@webassemblyjs/helper-wasm-section", + "peer": true, + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", + "version": "1.9.0", + }, + "@webassemblyjs/ieee754" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/@webassemblyjs/wasm-gen", + "name": "@webassemblyjs/ieee754", + "spec": "1.9.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/@webassemblyjs/wasm-parser", + "name": "@webassemblyjs/ieee754", + "spec": "1.9.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "@xtuc/ieee754" => EdgeOut { + "name": "@xtuc/ieee754", + "spec": "^1.2.0", + "to": "node_modules/@xtuc/ieee754", + "type": "prod", + }, + }, + "location": "node_modules/@webassemblyjs/ieee754", + "name": "@webassemblyjs/ieee754", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/@webassemblyjs/ieee754", + "peer": true, + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", + "version": "1.9.0", + }, + "@webassemblyjs/leb128" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/@webassemblyjs/wasm-gen", + "name": "@webassemblyjs/leb128", + "spec": "1.9.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/@webassemblyjs/wasm-parser", + "name": "@webassemblyjs/leb128", + "spec": "1.9.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "@xtuc/long" => EdgeOut { + "name": "@xtuc/long", + "spec": "4.2.2", + "to": "node_modules/@xtuc/long", + "type": "prod", + }, + }, + "location": "node_modules/@webassemblyjs/leb128", + "name": "@webassemblyjs/leb128", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/@webassemblyjs/leb128", + "peer": true, + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", + "version": "1.9.0", + }, + "@webassemblyjs/utf8" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/@webassemblyjs/wasm-gen", + "name": "@webassemblyjs/utf8", + "spec": "1.9.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/@webassemblyjs/wasm-parser", + "name": "@webassemblyjs/utf8", + "spec": "1.9.0", + "type": "prod", + }, + }, + "location": "node_modules/@webassemblyjs/utf8", + "name": "@webassemblyjs/utf8", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/@webassemblyjs/utf8", + "peer": true, + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", + "version": "1.9.0", + }, + "@webassemblyjs/wasm-edit" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack", + "name": "@webassemblyjs/wasm-edit", + "spec": "1.9.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "@webassemblyjs/ast" => EdgeOut { + "name": "@webassemblyjs/ast", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/ast", + "type": "prod", + }, + "@webassemblyjs/helper-buffer" => EdgeOut { + "name": "@webassemblyjs/helper-buffer", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/helper-buffer", + "type": "prod", + }, + "@webassemblyjs/helper-wasm-bytecode" => EdgeOut { + "name": "@webassemblyjs/helper-wasm-bytecode", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/helper-wasm-bytecode", + "type": "prod", + }, + "@webassemblyjs/helper-wasm-section" => EdgeOut { + "name": "@webassemblyjs/helper-wasm-section", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/helper-wasm-section", + "type": "prod", + }, + "@webassemblyjs/wasm-gen" => EdgeOut { + "name": "@webassemblyjs/wasm-gen", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/wasm-gen", + "type": "prod", + }, + "@webassemblyjs/wasm-opt" => EdgeOut { + "name": "@webassemblyjs/wasm-opt", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/wasm-opt", + "type": "prod", + }, + "@webassemblyjs/wasm-parser" => EdgeOut { + "name": "@webassemblyjs/wasm-parser", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/wasm-parser", + "type": "prod", + }, + "@webassemblyjs/wast-printer" => EdgeOut { + "name": "@webassemblyjs/wast-printer", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/wast-printer", + "type": "prod", + }, + }, + "location": "node_modules/@webassemblyjs/wasm-edit", + "name": "@webassemblyjs/wasm-edit", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/@webassemblyjs/wasm-edit", + "peer": true, + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", + "version": "1.9.0", + }, + "@webassemblyjs/wasm-gen" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/@webassemblyjs/helper-wasm-section", + "name": "@webassemblyjs/wasm-gen", + "spec": "1.9.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/@webassemblyjs/wasm-edit", + "name": "@webassemblyjs/wasm-gen", + "spec": "1.9.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/@webassemblyjs/wasm-opt", + "name": "@webassemblyjs/wasm-gen", + "spec": "1.9.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "@webassemblyjs/ast" => EdgeOut { + "name": "@webassemblyjs/ast", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/ast", + "type": "prod", + }, + "@webassemblyjs/helper-wasm-bytecode" => EdgeOut { + "name": "@webassemblyjs/helper-wasm-bytecode", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/helper-wasm-bytecode", + "type": "prod", + }, + "@webassemblyjs/ieee754" => EdgeOut { + "name": "@webassemblyjs/ieee754", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/ieee754", + "type": "prod", + }, + "@webassemblyjs/leb128" => EdgeOut { + "name": "@webassemblyjs/leb128", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/leb128", + "type": "prod", + }, + "@webassemblyjs/utf8" => EdgeOut { + "name": "@webassemblyjs/utf8", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/utf8", + "type": "prod", + }, + }, + "location": "node_modules/@webassemblyjs/wasm-gen", + "name": "@webassemblyjs/wasm-gen", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/@webassemblyjs/wasm-gen", + "peer": true, + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", + "version": "1.9.0", + }, + "@webassemblyjs/wasm-opt" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/@webassemblyjs/wasm-edit", + "name": "@webassemblyjs/wasm-opt", + "spec": "1.9.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "@webassemblyjs/ast" => EdgeOut { + "name": "@webassemblyjs/ast", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/ast", + "type": "prod", + }, + "@webassemblyjs/helper-buffer" => EdgeOut { + "name": "@webassemblyjs/helper-buffer", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/helper-buffer", + "type": "prod", + }, + "@webassemblyjs/wasm-gen" => EdgeOut { + "name": "@webassemblyjs/wasm-gen", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/wasm-gen", + "type": "prod", + }, + "@webassemblyjs/wasm-parser" => EdgeOut { + "name": "@webassemblyjs/wasm-parser", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/wasm-parser", + "type": "prod", + }, + }, + "location": "node_modules/@webassemblyjs/wasm-opt", + "name": "@webassemblyjs/wasm-opt", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/@webassemblyjs/wasm-opt", + "peer": true, + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", + "version": "1.9.0", + }, + "@webassemblyjs/wasm-parser" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/@webassemblyjs/wasm-edit", + "name": "@webassemblyjs/wasm-parser", + "spec": "1.9.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/@webassemblyjs/wasm-opt", + "name": "@webassemblyjs/wasm-parser", + "spec": "1.9.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/webpack", + "name": "@webassemblyjs/wasm-parser", + "spec": "1.9.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "@webassemblyjs/ast" => EdgeOut { + "name": "@webassemblyjs/ast", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/ast", + "type": "prod", + }, + "@webassemblyjs/helper-api-error" => EdgeOut { + "name": "@webassemblyjs/helper-api-error", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/helper-api-error", + "type": "prod", + }, + "@webassemblyjs/helper-wasm-bytecode" => EdgeOut { + "name": "@webassemblyjs/helper-wasm-bytecode", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/helper-wasm-bytecode", + "type": "prod", + }, + "@webassemblyjs/ieee754" => EdgeOut { + "name": "@webassemblyjs/ieee754", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/ieee754", + "type": "prod", + }, + "@webassemblyjs/leb128" => EdgeOut { + "name": "@webassemblyjs/leb128", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/leb128", + "type": "prod", + }, + "@webassemblyjs/utf8" => EdgeOut { + "name": "@webassemblyjs/utf8", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/utf8", + "type": "prod", + }, + }, + "location": "node_modules/@webassemblyjs/wasm-parser", + "name": "@webassemblyjs/wasm-parser", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/@webassemblyjs/wasm-parser", + "peer": true, + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", + "version": "1.9.0", + }, + "@webassemblyjs/wast-parser" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/@webassemblyjs/ast", + "name": "@webassemblyjs/wast-parser", + "spec": "1.9.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/@webassemblyjs/wast-printer", + "name": "@webassemblyjs/wast-parser", + "spec": "1.9.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "@webassemblyjs/ast" => EdgeOut { + "name": "@webassemblyjs/ast", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/ast", + "type": "prod", + }, + "@webassemblyjs/floating-point-hex-parser" => EdgeOut { + "name": "@webassemblyjs/floating-point-hex-parser", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/floating-point-hex-parser", + "type": "prod", + }, + "@webassemblyjs/helper-api-error" => EdgeOut { + "name": "@webassemblyjs/helper-api-error", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/helper-api-error", + "type": "prod", + }, + "@webassemblyjs/helper-code-frame" => EdgeOut { + "name": "@webassemblyjs/helper-code-frame", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/helper-code-frame", + "type": "prod", + }, + "@webassemblyjs/helper-fsm" => EdgeOut { + "name": "@webassemblyjs/helper-fsm", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/helper-fsm", + "type": "prod", + }, + "@xtuc/long" => EdgeOut { + "name": "@xtuc/long", + "spec": "4.2.2", + "to": "node_modules/@xtuc/long", + "type": "prod", + }, + }, + "location": "node_modules/@webassemblyjs/wast-parser", + "name": "@webassemblyjs/wast-parser", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/@webassemblyjs/wast-parser", + "peer": true, + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", + "version": "1.9.0", + }, + "@webassemblyjs/wast-printer" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/@webassemblyjs/helper-code-frame", + "name": "@webassemblyjs/wast-printer", + "spec": "1.9.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/@webassemblyjs/wasm-edit", + "name": "@webassemblyjs/wast-printer", + "spec": "1.9.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "@webassemblyjs/ast" => EdgeOut { + "name": "@webassemblyjs/ast", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/ast", + "type": "prod", + }, + "@webassemblyjs/wast-parser" => EdgeOut { + "name": "@webassemblyjs/wast-parser", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/wast-parser", + "type": "prod", + }, + "@xtuc/long" => EdgeOut { + "name": "@xtuc/long", + "spec": "4.2.2", + "to": "node_modules/@xtuc/long", + "type": "prod", + }, + }, + "location": "node_modules/@webassemblyjs/wast-printer", + "name": "@webassemblyjs/wast-printer", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/@webassemblyjs/wast-printer", + "peer": true, + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", + "version": "1.9.0", + }, + "@xtuc/ieee754" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/@webassemblyjs/ieee754", + "name": "@xtuc/ieee754", + "spec": "^1.2.0", + "type": "prod", + }, + }, + "location": "node_modules/@xtuc/ieee754", + "name": "@xtuc/ieee754", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/@xtuc/ieee754", + "peer": true, + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "version": "1.2.0", + }, + "@xtuc/long" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/@webassemblyjs/leb128", + "name": "@xtuc/long", + "spec": "4.2.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/@webassemblyjs/wast-parser", + "name": "@xtuc/long", + "spec": "4.2.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/@webassemblyjs/wast-printer", + "name": "@xtuc/long", + "spec": "4.2.2", + "type": "prod", + }, + }, + "location": "node_modules/@xtuc/long", + "name": "@xtuc/long", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/@xtuc/long", + "peer": true, + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "version": "4.2.2", + }, + "accepts" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/compression", + "name": "accepts", + "spec": "~1.3.5", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/express", + "name": "accepts", + "spec": "~1.3.7", "type": "prod", }, EdgeIn { + "from": "node_modules/serve-index", + "name": "accepts", + "spec": "~1.3.4", + "type": "prod", + }, + }, + "edgesOut": Map { + "mime-types" => EdgeOut { + "name": "mime-types", + "spec": "~2.1.24", + "to": "node_modules/mime-types", + "type": "prod", + }, + "negotiator" => EdgeOut { + "name": "negotiator", + "spec": "0.6.2", + "to": "node_modules/negotiator", + "type": "prod", + }, + }, + "location": "node_modules/accepts", + "name": "accepts", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/accepts", + "peer": true, + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "version": "1.3.7", + }, + "acorn" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack", + "name": "acorn", + "spec": "^6.4.1", + "type": "prod", + }, + }, + "location": "node_modules/acorn", + "name": "acorn", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/acorn", + "peer": true, + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "version": "6.4.2", + }, + "ajv" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/ajv-errors", + "name": "ajv", + "spec": ">=5.0.0", + "type": "peer", + }, + EdgeIn { + "from": "node_modules/ajv-keywords", + "name": "ajv", + "spec": "^6.9.1", + "type": "peer", + }, + EdgeIn { "from": "node_modules/schema-utils", - "name": "@types/json-schema", - "spec": "^7.0.5", + "name": "ajv", + "spec": "^6.12.4", "type": "prod", }, EdgeIn { "from": "node_modules/terser-webpack-plugin/node_modules/schema-utils", - "name": "@types/json-schema", - "spec": "^7.0.6", + "name": "ajv", + "spec": "^6.1.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/webpack", + "name": "ajv", + "spec": "^6.10.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/webpack-dev-server/node_modules/schema-utils", + "name": "ajv", + "spec": "^6.1.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/webpack/node_modules/schema-utils", + "name": "ajv", + "spec": "^6.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "fast-deep-equal" => EdgeOut { + "name": "fast-deep-equal", + "spec": "^3.1.1", + "to": "node_modules/fast-deep-equal", + "type": "prod", + }, + "fast-json-stable-stringify" => EdgeOut { + "name": "fast-json-stable-stringify", + "spec": "^2.0.0", + "to": "node_modules/fast-json-stable-stringify", + "type": "prod", + }, + "json-schema-traverse" => EdgeOut { + "name": "json-schema-traverse", + "spec": "^0.4.1", + "to": "node_modules/json-schema-traverse", + "type": "prod", + }, + "uri-js" => EdgeOut { + "name": "uri-js", + "spec": "^4.2.2", + "to": "node_modules/uri-js", + "type": "prod", + }, + }, + "location": "node_modules/ajv", + "name": "ajv", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/ajv", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "version": "6.12.6", + }, + "ajv-errors" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/terser-webpack-plugin/node_modules/schema-utils", + "name": "ajv-errors", + "spec": "^1.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/webpack-dev-server/node_modules/schema-utils", + "name": "ajv-errors", + "spec": "^1.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/webpack/node_modules/schema-utils", + "name": "ajv-errors", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "ajv" => EdgeOut { + "name": "ajv", + "spec": ">=5.0.0", + "to": "node_modules/ajv", + "type": "peer", + }, + }, + "location": "node_modules/ajv-errors", + "name": "ajv-errors", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/ajv-errors", + "peer": true, + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + "version": "1.0.1", + }, + "ajv-keywords" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/schema-utils", + "name": "ajv-keywords", + "spec": "^3.5.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/terser-webpack-plugin/node_modules/schema-utils", + "name": "ajv-keywords", + "spec": "^3.1.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/webpack", + "name": "ajv-keywords", + "spec": "^3.4.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/webpack-dev-server/node_modules/schema-utils", + "name": "ajv-keywords", + "spec": "^3.1.0", "type": "prod", }, EdgeIn { "from": "node_modules/webpack/node_modules/schema-utils", + "name": "ajv-keywords", + "spec": "^3.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "ajv" => EdgeOut { + "name": "ajv", + "spec": "^6.9.1", + "to": "node_modules/ajv", + "type": "peer", + }, + }, + "location": "node_modules/ajv-keywords", + "name": "ajv-keywords", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/ajv-keywords", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "version": "3.5.2", + }, + "ansi-colors" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-log", + "name": "ansi-colors", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "location": "node_modules/ansi-colors", + "name": "ansi-colors", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/ansi-colors", + "peer": true, + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", + "version": "3.2.4", + }, + "ansi-html" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/@pmmmwh/react-refresh-webpack-plugin", + "name": "ansi-html", + "spec": "^0.0.7", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "ansi-html", + "spec": "0.0.7", + "type": "prod", + }, + }, + "location": "node_modules/ansi-html", + "name": "ansi-html", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/ansi-html", + "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", + "version": "0.0.7", + }, + "ansi-regex" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/strip-ansi", + "name": "ansi-regex", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/ansi-regex", + "name": "ansi-regex", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/ansi-regex", + "peer": true, + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "version": "2.1.1", + }, + "ansi-styles" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/wrap-ansi", + "name": "ansi-styles", + "spec": "^3.2.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "color-convert" => EdgeOut { + "name": "color-convert", + "spec": "^1.9.0", + "to": "node_modules/color-convert", + "type": "prod", + }, + }, + "location": "node_modules/ansi-styles", + "name": "ansi-styles", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/ansi-styles", + "peer": true, + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "version": "3.2.1", + }, + "anymatch" => ArboristNode { + "children": Map { + "normalize-path" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/anymatch", + "name": "normalize-path", + "spec": "^2.1.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "remove-trailing-separator" => EdgeOut { + "name": "remove-trailing-separator", + "spec": "^1.0.1", + "to": "node_modules/remove-trailing-separator", + "type": "prod", + }, + }, + "location": "node_modules/anymatch/node_modules/normalize-path", + "name": "normalize-path", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/anymatch/node_modules/normalize-path", + "peer": true, + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "version": "2.1.1", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/chokidar", + "name": "anymatch", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "micromatch" => EdgeOut { + "name": "micromatch", + "spec": "^3.1.4", + "to": "node_modules/micromatch", + "type": "prod", + }, + "normalize-path" => EdgeOut { + "name": "normalize-path", + "spec": "^2.1.1", + "to": "node_modules/anymatch/node_modules/normalize-path", + "type": "prod", + }, + }, + "location": "node_modules/anymatch", + "name": "anymatch", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/anymatch", + "peer": true, + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "version": "2.0.0", + }, + "aproba" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/copy-concurrently", + "name": "aproba", + "spec": "^1.1.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/move-concurrently", + "name": "aproba", + "spec": "^1.1.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/run-queue", + "name": "aproba", + "spec": "^1.1.1", + "type": "prod", + }, + }, + "location": "node_modules/aproba", + "name": "aproba", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/aproba", + "peer": true, + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "version": "1.2.0", + }, + "arr-diff" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/micromatch", + "name": "arr-diff", + "spec": "^4.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/nanomatch", + "name": "arr-diff", + "spec": "^4.0.0", + "type": "prod", + }, + }, + "location": "node_modules/arr-diff", + "name": "arr-diff", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/arr-diff", + "peer": true, + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "version": "4.0.0", + }, + "arr-flatten" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/braces", + "name": "arr-flatten", + "spec": "^1.1.0", + "type": "prod", + }, + }, + "location": "node_modules/arr-flatten", + "name": "arr-flatten", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/arr-flatten", + "peer": true, + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "version": "1.1.0", + }, + "arr-union" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/class-utils", + "name": "arr-union", + "spec": "^3.1.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/union-value", + "name": "arr-union", + "spec": "^3.1.0", + "type": "prod", + }, + }, + "location": "node_modules/arr-union", + "name": "arr-union", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/arr-union", + "peer": true, + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "version": "3.1.0", + }, + "array-flatten" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/bonjour", + "name": "array-flatten", + "spec": "^2.1.0", + "type": "prod", + }, + }, + "location": "node_modules/array-flatten", + "name": "array-flatten", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/array-flatten", + "peer": true, + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "version": "2.1.2", + }, + "array-union" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/globby", + "name": "array-union", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "array-uniq" => EdgeOut { + "name": "array-uniq", + "spec": "^1.0.1", + "to": "node_modules/array-uniq", + "type": "prod", + }, + }, + "location": "node_modules/array-union", + "name": "array-union", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/array-union", + "peer": true, + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "version": "1.0.2", + }, + "array-uniq" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/array-union", + "name": "array-uniq", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "location": "node_modules/array-uniq", + "name": "array-uniq", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/array-uniq", + "peer": true, + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "version": "1.0.3", + }, + "array-unique" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/braces", + "name": "array-unique", + "spec": "^0.3.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/extglob", + "name": "array-unique", + "spec": "^0.3.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/micromatch", + "name": "array-unique", + "spec": "^0.3.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/nanomatch", + "name": "array-unique", + "spec": "^0.3.2", + "type": "prod", + }, + }, + "location": "node_modules/array-unique", + "name": "array-unique", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/array-unique", + "peer": true, + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "version": "0.3.2", + }, + "asn1.js" => ArboristNode { + "children": Map { + "bn.js" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/asn1.js", + "name": "bn.js", + "spec": "^4.0.0", + "type": "prod", + }, + }, + "location": "node_modules/asn1.js/node_modules/bn.js", + "name": "bn.js", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/asn1.js/node_modules/bn.js", + "peer": true, + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "version": "4.11.9", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/parse-asn1", + "name": "asn1.js", + "spec": "^5.2.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "bn.js" => EdgeOut { + "name": "bn.js", + "spec": "^4.0.0", + "to": "node_modules/asn1.js/node_modules/bn.js", + "type": "prod", + }, + "inherits" => EdgeOut { + "name": "inherits", + "spec": "^2.0.1", + "to": "node_modules/inherits", + "type": "prod", + }, + "minimalistic-assert" => EdgeOut { + "name": "minimalistic-assert", + "spec": "^1.0.0", + "to": "node_modules/minimalistic-assert", + "type": "prod", + }, + "safer-buffer" => EdgeOut { + "name": "safer-buffer", + "spec": "^2.1.0", + "to": "node_modules/safer-buffer", + "type": "prod", + }, + }, + "location": "node_modules/asn1.js", + "name": "asn1.js", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/asn1.js", + "peer": true, + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "version": "5.4.1", + }, + "assert" => ArboristNode { + "children": Map { + "inherits" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/assert/node_modules/util", + "name": "inherits", + "spec": "2.0.1", + "type": "prod", + }, + }, + "location": "node_modules/assert/node_modules/inherits", + "name": "inherits", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/assert/node_modules/inherits", + "peer": true, + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "version": "2.0.1", + }, + "util" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/assert", + "name": "util", + "spec": "0.10.3", + "type": "prod", + }, + }, + "edgesOut": Map { + "inherits" => EdgeOut { + "name": "inherits", + "spec": "2.0.1", + "to": "node_modules/assert/node_modules/inherits", + "type": "prod", + }, + }, + "location": "node_modules/assert/node_modules/util", + "name": "util", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/assert/node_modules/util", + "peer": true, + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "version": "0.10.3", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/node-libs-browser", + "name": "assert", + "spec": "^1.1.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "object-assign" => EdgeOut { + "name": "object-assign", + "spec": "^4.1.1", + "to": "node_modules/object-assign", + "type": "prod", + }, + "util" => EdgeOut { + "name": "util", + "spec": "0.10.3", + "to": "node_modules/assert/node_modules/util", + "type": "prod", + }, + }, + "location": "node_modules/assert", + "name": "assert", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/assert", + "peer": true, + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "version": "1.5.0", + }, + "assign-symbols" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/micromatch/node_modules/extend-shallow", + "name": "assign-symbols", + "spec": "^1.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/nanomatch/node_modules/extend-shallow", + "name": "assign-symbols", + "spec": "^1.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/regex-not/node_modules/extend-shallow", + "name": "assign-symbols", + "spec": "^1.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/split-string/node_modules/extend-shallow", + "name": "assign-symbols", + "spec": "^1.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/to-regex/node_modules/extend-shallow", + "name": "assign-symbols", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/assign-symbols", + "name": "assign-symbols", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/assign-symbols", + "peer": true, + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "version": "1.0.0", + }, + "async" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/portfinder", + "name": "async", + "spec": "^2.6.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "lodash" => EdgeOut { + "name": "lodash", + "spec": "^4.17.14", + "to": "node_modules/lodash", + "type": "prod", + }, + }, + "location": "node_modules/async", + "name": "async", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/async", + "peer": true, + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "version": "2.6.3", + }, + "async-each" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/chokidar", + "name": "async-each", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "location": "node_modules/async-each", + "name": "async-each", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/async-each", + "peer": true, + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "version": "1.0.3", + }, + "async-limiter" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/ws", + "name": "async-limiter", + "spec": "~1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/async-limiter", + "name": "async-limiter", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/async-limiter", + "peer": true, + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "version": "1.0.1", + }, + "atob" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/source-map-resolve", + "name": "atob", + "spec": "^2.1.2", + "type": "prod", + }, + }, + "location": "node_modules/atob", + "name": "atob", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/atob", + "peer": true, + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "version": "2.1.2", + }, + "balanced-match" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/brace-expansion", + "name": "balanced-match", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/balanced-match", + "name": "balanced-match", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/balanced-match", + "peer": true, + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "version": "1.0.0", + }, + "base" => ArboristNode { + "children": Map { + "define-property" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/base", + "name": "define-property", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-descriptor" => EdgeOut { + "name": "is-descriptor", + "spec": "^1.0.0", + "to": "node_modules/is-descriptor", + "type": "prod", + }, + }, + "location": "node_modules/base/node_modules/define-property", + "name": "define-property", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/base/node_modules/define-property", + "peer": true, + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "version": "1.0.0", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/snapdragon", + "name": "base", + "spec": "^0.11.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "cache-base" => EdgeOut { + "name": "cache-base", + "spec": "^1.0.1", + "to": "node_modules/cache-base", + "type": "prod", + }, + "class-utils" => EdgeOut { + "name": "class-utils", + "spec": "^0.3.5", + "to": "node_modules/class-utils", + "type": "prod", + }, + "component-emitter" => EdgeOut { + "name": "component-emitter", + "spec": "^1.2.1", + "to": "node_modules/component-emitter", + "type": "prod", + }, + "define-property" => EdgeOut { + "name": "define-property", + "spec": "^1.0.0", + "to": "node_modules/base/node_modules/define-property", + "type": "prod", + }, + "isobject" => EdgeOut { + "name": "isobject", + "spec": "^3.0.1", + "to": "node_modules/isobject", + "type": "prod", + }, + "mixin-deep" => EdgeOut { + "name": "mixin-deep", + "spec": "^1.2.0", + "to": "node_modules/mixin-deep", + "type": "prod", + }, + "pascalcase" => EdgeOut { + "name": "pascalcase", + "spec": "^0.1.1", + "to": "node_modules/pascalcase", + "type": "prod", + }, + }, + "location": "node_modules/base", + "name": "base", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/base", + "peer": true, + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "version": "0.11.2", + }, + "base64-js" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/buffer", + "name": "base64-js", + "spec": "^1.0.2", + "type": "prod", + }, + }, + "location": "node_modules/base64-js", + "name": "base64-js", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/base64-js", + "peer": true, + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "version": "1.5.1", + }, + "batch" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/serve-index", + "name": "batch", + "spec": "0.6.1", + "type": "prod", + }, + }, + "location": "node_modules/batch", + "name": "batch", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/batch", + "peer": true, + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "version": "0.6.1", + }, + "big.js" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/loader-utils", + "name": "big.js", + "spec": "^5.2.2", + "type": "prod", + }, + }, + "location": "node_modules/big.js", + "name": "big.js", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/big.js", + "peer": true, + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "version": "5.2.2", + }, + "binary-extensions" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/is-binary-path", + "name": "binary-extensions", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/binary-extensions", + "name": "binary-extensions", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/binary-extensions", + "peer": true, + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "version": "1.13.1", + }, + "bindings" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/fsevents", + "name": "bindings", + "spec": "^1.5.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "file-uri-to-path" => EdgeOut { + "name": "file-uri-to-path", + "spec": "1.0.0", + "to": "node_modules/file-uri-to-path", + "type": "prod", + }, + }, + "location": "node_modules/bindings", + "name": "bindings", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/bindings", + "peer": true, + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "version": "1.5.0", + }, + "bluebird" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/cacache", + "name": "bluebird", + "spec": "^3.5.5", + "type": "prod", + }, + }, + "location": "node_modules/bluebird", + "name": "bluebird", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/bluebird", + "peer": true, + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "version": "3.7.2", + }, + "bn.js" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/browserify-sign", + "name": "bn.js", + "spec": "^5.1.1", + "type": "prod", + }, + }, + "location": "node_modules/bn.js", + "name": "bn.js", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/bn.js", + "peer": true, + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.3.tgz", + "version": "5.1.3", + }, + "body-parser" => ArboristNode { + "children": Map { + "bytes" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/body-parser", + "name": "bytes", + "spec": "3.1.0", + "type": "prod", + }, + }, + "location": "node_modules/body-parser/node_modules/bytes", + "name": "bytes", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/body-parser/node_modules/bytes", + "peer": true, + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "version": "3.1.0", + }, + "debug" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/body-parser", + "name": "debug", + "spec": "2.6.9", + "type": "prod", + }, + }, + "edgesOut": Map { + "ms" => EdgeOut { + "name": "ms", + "spec": "2.0.0", + "to": "node_modules/body-parser/node_modules/ms", + "type": "prod", + }, + }, + "location": "node_modules/body-parser/node_modules/debug", + "name": "debug", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/body-parser/node_modules/debug", + "peer": true, + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "version": "2.6.9", + }, + "ms" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/body-parser/node_modules/debug", + "name": "ms", + "spec": "2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/body-parser/node_modules/ms", + "name": "ms", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/body-parser/node_modules/ms", + "peer": true, + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "version": "2.0.0", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/express", + "name": "body-parser", + "spec": "1.19.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "bytes" => EdgeOut { + "name": "bytes", + "spec": "3.1.0", + "to": "node_modules/body-parser/node_modules/bytes", + "type": "prod", + }, + "content-type" => EdgeOut { + "name": "content-type", + "spec": "~1.0.4", + "to": "node_modules/content-type", + "type": "prod", + }, + "debug" => EdgeOut { + "name": "debug", + "spec": "2.6.9", + "to": "node_modules/body-parser/node_modules/debug", + "type": "prod", + }, + "depd" => EdgeOut { + "name": "depd", + "spec": "~1.1.2", + "to": "node_modules/depd", + "type": "prod", + }, + "http-errors" => EdgeOut { + "name": "http-errors", + "spec": "1.7.2", + "to": "node_modules/http-errors", + "type": "prod", + }, + "iconv-lite" => EdgeOut { + "name": "iconv-lite", + "spec": "0.4.24", + "to": "node_modules/iconv-lite", + "type": "prod", + }, + "on-finished" => EdgeOut { + "name": "on-finished", + "spec": "~2.3.0", + "to": "node_modules/on-finished", + "type": "prod", + }, + "qs" => EdgeOut { + "name": "qs", + "spec": "6.7.0", + "to": "node_modules/qs", + "type": "prod", + }, + "raw-body" => EdgeOut { + "name": "raw-body", + "spec": "2.4.0", + "to": "node_modules/raw-body", + "type": "prod", + }, + "type-is" => EdgeOut { + "name": "type-is", + "spec": "~1.6.17", + "to": "node_modules/type-is", + "type": "prod", + }, + }, + "location": "node_modules/body-parser", + "name": "body-parser", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/body-parser", + "peer": true, + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "version": "1.19.0", + }, + "bonjour" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "bonjour", + "spec": "^3.5.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "array-flatten" => EdgeOut { + "name": "array-flatten", + "spec": "^2.1.0", + "to": "node_modules/array-flatten", + "type": "prod", + }, + "deep-equal" => EdgeOut { + "name": "deep-equal", + "spec": "^1.0.1", + "to": "node_modules/deep-equal", + "type": "prod", + }, + "dns-equal" => EdgeOut { + "name": "dns-equal", + "spec": "^1.0.0", + "to": "node_modules/dns-equal", + "type": "prod", + }, + "dns-txt" => EdgeOut { + "name": "dns-txt", + "spec": "^2.0.2", + "to": "node_modules/dns-txt", + "type": "prod", + }, + "multicast-dns" => EdgeOut { + "name": "multicast-dns", + "spec": "^6.0.1", + "to": "node_modules/multicast-dns", + "type": "prod", + }, + "multicast-dns-service-types" => EdgeOut { + "name": "multicast-dns-service-types", + "spec": "^1.1.0", + "to": "node_modules/multicast-dns-service-types", + "type": "prod", + }, + }, + "location": "node_modules/bonjour", + "name": "bonjour", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/bonjour", + "peer": true, + "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", + "version": "3.5.0", + }, + "brace-expansion" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/minimatch", + "name": "brace-expansion", + "spec": "^1.1.7", + "type": "prod", + }, + }, + "edgesOut": Map { + "balanced-match" => EdgeOut { + "name": "balanced-match", + "spec": "^1.0.0", + "to": "node_modules/balanced-match", + "type": "prod", + }, + "concat-map" => EdgeOut { + "name": "concat-map", + "spec": "0.0.1", + "to": "node_modules/concat-map", + "type": "prod", + }, + }, + "location": "node_modules/brace-expansion", + "name": "brace-expansion", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/brace-expansion", + "peer": true, + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "version": "1.1.11", + }, + "braces" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/chokidar", + "name": "braces", + "spec": "^2.3.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/micromatch", + "name": "braces", + "spec": "^2.3.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "arr-flatten" => EdgeOut { + "name": "arr-flatten", + "spec": "^1.1.0", + "to": "node_modules/arr-flatten", + "type": "prod", + }, + "array-unique" => EdgeOut { + "name": "array-unique", + "spec": "^0.3.2", + "to": "node_modules/array-unique", + "type": "prod", + }, + "extend-shallow" => EdgeOut { + "name": "extend-shallow", + "spec": "^2.0.1", + "to": "node_modules/extend-shallow", + "type": "prod", + }, + "fill-range" => EdgeOut { + "name": "fill-range", + "spec": "^4.0.0", + "to": "node_modules/fill-range", + "type": "prod", + }, + "isobject" => EdgeOut { + "name": "isobject", + "spec": "^3.0.1", + "to": "node_modules/isobject", + "type": "prod", + }, + "repeat-element" => EdgeOut { + "name": "repeat-element", + "spec": "^1.1.2", + "to": "node_modules/repeat-element", + "type": "prod", + }, + "snapdragon" => EdgeOut { + "name": "snapdragon", + "spec": "^0.8.1", + "to": "node_modules/snapdragon", + "type": "prod", + }, + "snapdragon-node" => EdgeOut { + "name": "snapdragon-node", + "spec": "^2.0.1", + "to": "node_modules/snapdragon-node", + "type": "prod", + }, + "split-string" => EdgeOut { + "name": "split-string", + "spec": "^3.0.2", + "to": "node_modules/split-string", + "type": "prod", + }, + "to-regex" => EdgeOut { + "name": "to-regex", + "spec": "^3.0.1", + "to": "node_modules/to-regex", + "type": "prod", + }, + }, + "location": "node_modules/braces", + "name": "braces", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/braces", + "peer": true, + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "version": "2.3.2", + }, + "brorand" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/elliptic", + "name": "brorand", + "spec": "^1.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/miller-rabin", + "name": "brorand", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "location": "node_modules/brorand", + "name": "brorand", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/brorand", + "peer": true, + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "version": "1.1.0", + }, + "browserify-aes" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/browserify-cipher", + "name": "browserify-aes", + "spec": "^1.0.4", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/parse-asn1", + "name": "browserify-aes", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "buffer-xor" => EdgeOut { + "name": "buffer-xor", + "spec": "^1.0.3", + "to": "node_modules/buffer-xor", + "type": "prod", + }, + "cipher-base" => EdgeOut { + "name": "cipher-base", + "spec": "^1.0.0", + "to": "node_modules/cipher-base", + "type": "prod", + }, + "create-hash" => EdgeOut { + "name": "create-hash", + "spec": "^1.1.0", + "to": "node_modules/create-hash", + "type": "prod", + }, + "evp_bytestokey" => EdgeOut { + "name": "evp_bytestokey", + "spec": "^1.0.3", + "to": "node_modules/evp_bytestokey", + "type": "prod", + }, + "inherits" => EdgeOut { + "name": "inherits", + "spec": "^2.0.1", + "to": "node_modules/inherits", + "type": "prod", + }, + "safe-buffer" => EdgeOut { + "name": "safe-buffer", + "spec": "^5.0.1", + "to": "node_modules/safe-buffer", + "type": "prod", + }, + }, + "location": "node_modules/browserify-aes", + "name": "browserify-aes", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/browserify-aes", + "peer": true, + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "version": "1.2.0", + }, + "browserify-cipher" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/crypto-browserify", + "name": "browserify-cipher", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "browserify-aes" => EdgeOut { + "name": "browserify-aes", + "spec": "^1.0.4", + "to": "node_modules/browserify-aes", + "type": "prod", + }, + "browserify-des" => EdgeOut { + "name": "browserify-des", + "spec": "^1.0.0", + "to": "node_modules/browserify-des", + "type": "prod", + }, + "evp_bytestokey" => EdgeOut { + "name": "evp_bytestokey", + "spec": "^1.0.0", + "to": "node_modules/evp_bytestokey", + "type": "prod", + }, + }, + "location": "node_modules/browserify-cipher", + "name": "browserify-cipher", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/browserify-cipher", + "peer": true, + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "version": "1.0.1", + }, + "browserify-des" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/browserify-cipher", + "name": "browserify-des", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "cipher-base" => EdgeOut { + "name": "cipher-base", + "spec": "^1.0.1", + "to": "node_modules/cipher-base", + "type": "prod", + }, + "des.js" => EdgeOut { + "name": "des.js", + "spec": "^1.0.0", + "to": "node_modules/des.js", + "type": "prod", + }, + "inherits" => EdgeOut { + "name": "inherits", + "spec": "^2.0.1", + "to": "node_modules/inherits", + "type": "prod", + }, + "safe-buffer" => EdgeOut { + "name": "safe-buffer", + "spec": "^5.1.2", + "to": "node_modules/safe-buffer", + "type": "prod", + }, + }, + "location": "node_modules/browserify-des", + "name": "browserify-des", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/browserify-des", + "peer": true, + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "version": "1.0.2", + }, + "browserify-rsa" => ArboristNode { + "children": Map { + "bn.js" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/browserify-rsa", + "name": "bn.js", + "spec": "^4.1.0", + "type": "prod", + }, + }, + "location": "node_modules/browserify-rsa/node_modules/bn.js", + "name": "bn.js", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/browserify-rsa/node_modules/bn.js", + "peer": true, + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "version": "4.11.9", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/browserify-sign", + "name": "browserify-rsa", + "spec": "^4.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/public-encrypt", + "name": "browserify-rsa", + "spec": "^4.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "bn.js" => EdgeOut { + "name": "bn.js", + "spec": "^4.1.0", + "to": "node_modules/browserify-rsa/node_modules/bn.js", + "type": "prod", + }, + "randombytes" => EdgeOut { + "name": "randombytes", + "spec": "^2.0.1", + "to": "node_modules/randombytes", + "type": "prod", + }, + }, + "location": "node_modules/browserify-rsa", + "name": "browserify-rsa", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/browserify-rsa", + "peer": true, + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "version": "4.0.1", + }, + "browserify-sign" => ArboristNode { + "children": Map { + "readable-stream" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/browserify-sign", + "name": "readable-stream", + "spec": "^3.6.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "inherits" => EdgeOut { + "name": "inherits", + "spec": "^2.0.3", + "to": "node_modules/inherits", + "type": "prod", + }, + "string_decoder" => EdgeOut { + "name": "string_decoder", + "spec": "^1.1.1", + "to": "node_modules/string_decoder", + "type": "prod", + }, + "util-deprecate" => EdgeOut { + "name": "util-deprecate", + "spec": "^1.0.1", + "to": "node_modules/util-deprecate", + "type": "prod", + }, + }, + "location": "node_modules/browserify-sign/node_modules/readable-stream", + "name": "readable-stream", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/browserify-sign/node_modules/readable-stream", + "peer": true, + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "version": "3.6.0", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/crypto-browserify", + "name": "browserify-sign", + "spec": "^4.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "bn.js" => EdgeOut { + "name": "bn.js", + "spec": "^5.1.1", + "to": "node_modules/bn.js", + "type": "prod", + }, + "browserify-rsa" => EdgeOut { + "name": "browserify-rsa", + "spec": "^4.0.1", + "to": "node_modules/browserify-rsa", + "type": "prod", + }, + "create-hash" => EdgeOut { + "name": "create-hash", + "spec": "^1.2.0", + "to": "node_modules/create-hash", + "type": "prod", + }, + "create-hmac" => EdgeOut { + "name": "create-hmac", + "spec": "^1.1.7", + "to": "node_modules/create-hmac", + "type": "prod", + }, + "elliptic" => EdgeOut { + "name": "elliptic", + "spec": "^6.5.3", + "to": "node_modules/elliptic", + "type": "prod", + }, + "inherits" => EdgeOut { + "name": "inherits", + "spec": "^2.0.4", + "to": "node_modules/inherits", + "type": "prod", + }, + "parse-asn1" => EdgeOut { + "name": "parse-asn1", + "spec": "^5.1.5", + "to": "node_modules/parse-asn1", + "type": "prod", + }, + "readable-stream" => EdgeOut { + "name": "readable-stream", + "spec": "^3.6.0", + "to": "node_modules/browserify-sign/node_modules/readable-stream", + "type": "prod", + }, + "safe-buffer" => EdgeOut { + "name": "safe-buffer", + "spec": "^5.2.0", + "to": "node_modules/safe-buffer", + "type": "prod", + }, + }, + "location": "node_modules/browserify-sign", + "name": "browserify-sign", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/browserify-sign", + "peer": true, + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", + "version": "4.2.1", + }, + "browserify-zlib" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/node-libs-browser", + "name": "browserify-zlib", + "spec": "^0.2.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "pako" => EdgeOut { + "name": "pako", + "spec": "~1.0.5", + "to": "node_modules/pako", + "type": "prod", + }, + }, + "location": "node_modules/browserify-zlib", + "name": "browserify-zlib", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/browserify-zlib", + "peer": true, + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "version": "0.2.0", + }, + "buffer" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/node-libs-browser", + "name": "buffer", + "spec": "^4.3.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "base64-js" => EdgeOut { + "name": "base64-js", + "spec": "^1.0.2", + "to": "node_modules/base64-js", + "type": "prod", + }, + "ieee754" => EdgeOut { + "name": "ieee754", + "spec": "^1.1.4", + "to": "node_modules/ieee754", + "type": "prod", + }, + "isarray" => EdgeOut { + "name": "isarray", + "spec": "^1.0.0", + "to": "node_modules/isarray", + "type": "prod", + }, + }, + "location": "node_modules/buffer", + "name": "buffer", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/buffer", + "peer": true, + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "version": "4.9.2", + }, + "buffer-from" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/concat-stream", + "name": "buffer-from", + "spec": "^1.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/source-map-support", + "name": "buffer-from", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/buffer-from", + "name": "buffer-from", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/buffer-from", + "peer": true, + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "version": "1.1.1", + }, + "buffer-indexof" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/dns-txt", + "name": "buffer-indexof", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/buffer-indexof", + "name": "buffer-indexof", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/buffer-indexof", + "peer": true, + "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", + "version": "1.1.1", + }, + "buffer-xor" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/browserify-aes", + "name": "buffer-xor", + "spec": "^1.0.3", + "type": "prod", + }, + }, + "location": "node_modules/buffer-xor", + "name": "buffer-xor", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/buffer-xor", + "peer": true, + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "version": "1.0.3", + }, + "builtin-status-codes" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/stream-http", + "name": "builtin-status-codes", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "location": "node_modules/builtin-status-codes", + "name": "builtin-status-codes", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/builtin-status-codes", + "peer": true, + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "version": "3.0.0", + }, + "bytes" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/compression", + "name": "bytes", + "spec": "3.0.0", + "type": "prod", + }, + }, + "location": "node_modules/bytes", + "name": "bytes", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/bytes", + "peer": true, + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "version": "3.0.0", + }, + "cacache" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/terser-webpack-plugin", + "name": "cacache", + "spec": "^12.0.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "bluebird" => EdgeOut { + "name": "bluebird", + "spec": "^3.5.5", + "to": "node_modules/bluebird", + "type": "prod", + }, + "chownr" => EdgeOut { + "name": "chownr", + "spec": "^1.1.1", + "to": "node_modules/chownr", + "type": "prod", + }, + "figgy-pudding" => EdgeOut { + "name": "figgy-pudding", + "spec": "^3.5.1", + "to": "node_modules/figgy-pudding", + "type": "prod", + }, + "glob" => EdgeOut { + "name": "glob", + "spec": "^7.1.4", + "to": "node_modules/glob", + "type": "prod", + }, + "graceful-fs" => EdgeOut { + "name": "graceful-fs", + "spec": "^4.1.15", + "to": "node_modules/graceful-fs", + "type": "prod", + }, + "infer-owner" => EdgeOut { + "name": "infer-owner", + "spec": "^1.0.3", + "to": "node_modules/infer-owner", + "type": "prod", + }, + "lru-cache" => EdgeOut { + "name": "lru-cache", + "spec": "^5.1.1", + "to": "node_modules/lru-cache", + "type": "prod", + }, + "mississippi" => EdgeOut { + "name": "mississippi", + "spec": "^3.0.0", + "to": "node_modules/mississippi", + "type": "prod", + }, + "mkdirp" => EdgeOut { + "name": "mkdirp", + "spec": "^0.5.1", + "to": "node_modules/mkdirp", + "type": "prod", + }, + "move-concurrently" => EdgeOut { + "name": "move-concurrently", + "spec": "^1.0.1", + "to": "node_modules/move-concurrently", + "type": "prod", + }, + "promise-inflight" => EdgeOut { + "name": "promise-inflight", + "spec": "^1.0.1", + "to": "node_modules/promise-inflight", + "type": "prod", + }, + "rimraf" => EdgeOut { + "name": "rimraf", + "spec": "^2.6.3", + "to": "node_modules/rimraf", + "type": "prod", + }, + "ssri" => EdgeOut { + "name": "ssri", + "spec": "^6.0.1", + "to": "node_modules/ssri", + "type": "prod", + }, + "unique-filename" => EdgeOut { + "name": "unique-filename", + "spec": "^1.1.1", + "to": "node_modules/unique-filename", + "type": "prod", + }, + "y18n" => EdgeOut { + "name": "y18n", + "spec": "^4.0.0", + "to": "node_modules/y18n", + "type": "prod", + }, + }, + "location": "node_modules/cacache", + "name": "cacache", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/cacache", + "peer": true, + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", + "version": "12.0.4", + }, + "cache-base" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/base", + "name": "cache-base", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "collection-visit" => EdgeOut { + "name": "collection-visit", + "spec": "^1.0.0", + "to": "node_modules/collection-visit", + "type": "prod", + }, + "component-emitter" => EdgeOut { + "name": "component-emitter", + "spec": "^1.2.1", + "to": "node_modules/component-emitter", + "type": "prod", + }, + "get-value" => EdgeOut { + "name": "get-value", + "spec": "^2.0.6", + "to": "node_modules/get-value", + "type": "prod", + }, + "has-value" => EdgeOut { + "name": "has-value", + "spec": "^1.0.0", + "to": "node_modules/has-value", + "type": "prod", + }, + "isobject" => EdgeOut { + "name": "isobject", + "spec": "^3.0.1", + "to": "node_modules/isobject", + "type": "prod", + }, + "set-value" => EdgeOut { + "name": "set-value", + "spec": "^2.0.0", + "to": "node_modules/set-value", + "type": "prod", + }, + "to-object-path" => EdgeOut { + "name": "to-object-path", + "spec": "^0.3.0", + "to": "node_modules/to-object-path", + "type": "prod", + }, + "union-value" => EdgeOut { + "name": "union-value", + "spec": "^1.0.0", + "to": "node_modules/union-value", + "type": "prod", + }, + "unset-value" => EdgeOut { + "name": "unset-value", + "spec": "^1.0.0", + "to": "node_modules/unset-value", + "type": "prod", + }, + }, + "location": "node_modules/cache-base", + "name": "cache-base", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/cache-base", + "peer": true, + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "version": "1.0.1", + }, + "camelcase" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/yargs-parser", + "name": "camelcase", + "spec": "^5.0.0", + "type": "prod", + }, + }, + "location": "node_modules/camelcase", + "name": "camelcase", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/camelcase", + "peer": true, + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "version": "5.3.1", + }, + "chokidar" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/watchpack-chokidar2", + "name": "chokidar", + "spec": "^2.1.8", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "chokidar", + "spec": "^2.1.8", + "type": "prod", + }, + }, + "edgesOut": Map { + "anymatch" => EdgeOut { + "name": "anymatch", + "spec": "^2.0.0", + "to": "node_modules/anymatch", + "type": "prod", + }, + "async-each" => EdgeOut { + "name": "async-each", + "spec": "^1.0.1", + "to": "node_modules/async-each", + "type": "prod", + }, + "braces" => EdgeOut { + "name": "braces", + "spec": "^2.3.2", + "to": "node_modules/braces", + "type": "prod", + }, + "fsevents" => EdgeOut { + "name": "fsevents", + "spec": "^1.2.7", + "to": "node_modules/fsevents", + "type": "optional", + }, + "glob-parent" => EdgeOut { + "name": "glob-parent", + "spec": "^3.1.0", + "to": "node_modules/glob-parent", + "type": "prod", + }, + "inherits" => EdgeOut { + "name": "inherits", + "spec": "^2.0.3", + "to": "node_modules/inherits", + "type": "prod", + }, + "is-binary-path" => EdgeOut { + "name": "is-binary-path", + "spec": "^1.0.0", + "to": "node_modules/is-binary-path", + "type": "prod", + }, + "is-glob" => EdgeOut { + "name": "is-glob", + "spec": "^4.0.0", + "to": "node_modules/is-glob", + "type": "prod", + }, + "normalize-path" => EdgeOut { + "name": "normalize-path", + "spec": "^3.0.0", + "to": "node_modules/normalize-path", + "type": "prod", + }, + "path-is-absolute" => EdgeOut { + "name": "path-is-absolute", + "spec": "^1.0.0", + "to": "node_modules/path-is-absolute", + "type": "prod", + }, + "readdirp" => EdgeOut { + "name": "readdirp", + "spec": "^2.2.1", + "to": "node_modules/readdirp", + "type": "prod", + }, + "upath" => EdgeOut { + "name": "upath", + "spec": "^1.1.1", + "to": "node_modules/upath", + "type": "prod", + }, + }, + "location": "node_modules/chokidar", + "name": "chokidar", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/chokidar", + "peer": true, + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "version": "2.1.8", + }, + "chownr" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/cacache", + "name": "chownr", + "spec": "^1.1.1", + "type": "prod", + }, + }, + "location": "node_modules/chownr", + "name": "chownr", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/chownr", + "peer": true, + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "version": "1.1.4", + }, + "chrome-trace-event" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack", + "name": "chrome-trace-event", + "spec": "^1.0.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "tslib" => EdgeOut { + "name": "tslib", + "spec": "^1.9.0", + "to": "node_modules/tslib", + "type": "prod", + }, + }, + "location": "node_modules/chrome-trace-event", + "name": "chrome-trace-event", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/chrome-trace-event", + "peer": true, + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", + "version": "1.0.2", + }, + "cipher-base" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/browserify-aes", + "name": "cipher-base", + "spec": "^1.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/browserify-des", + "name": "cipher-base", + "spec": "^1.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/create-hash", + "name": "cipher-base", + "spec": "^1.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/create-hmac", + "name": "cipher-base", + "spec": "^1.0.3", + "type": "prod", + }, + }, + "edgesOut": Map { + "inherits" => EdgeOut { + "name": "inherits", + "spec": "^2.0.1", + "to": "node_modules/inherits", + "type": "prod", + }, + "safe-buffer" => EdgeOut { + "name": "safe-buffer", + "spec": "^5.0.1", + "to": "node_modules/safe-buffer", + "type": "prod", + }, + }, + "location": "node_modules/cipher-base", + "name": "cipher-base", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/cipher-base", + "peer": true, + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "version": "1.0.4", + }, + "class-utils" => ArboristNode { + "children": Map { + "define-property" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/class-utils", + "name": "define-property", + "spec": "^0.2.5", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-descriptor" => EdgeOut { + "name": "is-descriptor", + "spec": "^0.1.0", + "to": "node_modules/class-utils/node_modules/is-descriptor", + "type": "prod", + }, + }, + "location": "node_modules/class-utils/node_modules/define-property", + "name": "define-property", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/class-utils/node_modules/define-property", + "peer": true, + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "version": "0.2.5", + }, + "is-accessor-descriptor" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/class-utils/node_modules/is-descriptor", + "name": "is-accessor-descriptor", + "spec": "^0.1.6", + "type": "prod", + }, + }, + "edgesOut": Map { + "kind-of" => EdgeOut { + "name": "kind-of", + "spec": "^3.0.2", + "to": "node_modules/kind-of", + "type": "prod", + }, + }, + "location": "node_modules/class-utils/node_modules/is-accessor-descriptor", + "name": "is-accessor-descriptor", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/class-utils/node_modules/is-accessor-descriptor", + "peer": true, + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "version": "0.1.6", + }, + "is-data-descriptor" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/class-utils/node_modules/is-descriptor", + "name": "is-data-descriptor", + "spec": "^0.1.4", + "type": "prod", + }, + }, + "edgesOut": Map { + "kind-of" => EdgeOut { + "name": "kind-of", + "spec": "^3.0.2", + "to": "node_modules/kind-of", + "type": "prod", + }, + }, + "location": "node_modules/class-utils/node_modules/is-data-descriptor", + "name": "is-data-descriptor", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/class-utils/node_modules/is-data-descriptor", + "peer": true, + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "version": "0.1.4", + }, + "is-descriptor" => ArboristNode { + "children": Map { + "kind-of" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/class-utils/node_modules/is-descriptor", + "name": "kind-of", + "spec": "^5.0.0", + "type": "prod", + }, + }, + "location": "node_modules/class-utils/node_modules/is-descriptor/node_modules/kind-of", + "name": "kind-of", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/class-utils/node_modules/is-descriptor/node_modules/kind-of", + "peer": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "version": "5.1.0", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/class-utils/node_modules/define-property", + "name": "is-descriptor", + "spec": "^0.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-accessor-descriptor" => EdgeOut { + "name": "is-accessor-descriptor", + "spec": "^0.1.6", + "to": "node_modules/class-utils/node_modules/is-accessor-descriptor", + "type": "prod", + }, + "is-data-descriptor" => EdgeOut { + "name": "is-data-descriptor", + "spec": "^0.1.4", + "to": "node_modules/class-utils/node_modules/is-data-descriptor", + "type": "prod", + }, + "kind-of" => EdgeOut { + "name": "kind-of", + "spec": "^5.0.0", + "to": "node_modules/class-utils/node_modules/is-descriptor/node_modules/kind-of", + "type": "prod", + }, + }, + "location": "node_modules/class-utils/node_modules/is-descriptor", + "name": "is-descriptor", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/class-utils/node_modules/is-descriptor", + "peer": true, + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "version": "0.1.6", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/base", + "name": "class-utils", + "spec": "^0.3.5", + "type": "prod", + }, + }, + "edgesOut": Map { + "arr-union" => EdgeOut { + "name": "arr-union", + "spec": "^3.1.0", + "to": "node_modules/arr-union", + "type": "prod", + }, + "define-property" => EdgeOut { + "name": "define-property", + "spec": "^0.2.5", + "to": "node_modules/class-utils/node_modules/define-property", + "type": "prod", + }, + "isobject" => EdgeOut { + "name": "isobject", + "spec": "^3.0.0", + "to": "node_modules/isobject", + "type": "prod", + }, + "static-extend" => EdgeOut { + "name": "static-extend", + "spec": "^0.1.1", + "to": "node_modules/static-extend", + "type": "prod", + }, + }, + "location": "node_modules/class-utils", + "name": "class-utils", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/class-utils", + "peer": true, + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "version": "0.3.6", + }, + "cliui" => ArboristNode { + "children": Map { + "ansi-regex" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/cliui/node_modules/strip-ansi", + "name": "ansi-regex", + "spec": "^4.1.0", + "type": "prod", + }, + }, + "location": "node_modules/cliui/node_modules/ansi-regex", + "name": "ansi-regex", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/cliui/node_modules/ansi-regex", + "peer": true, + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "version": "4.1.0", + }, + "strip-ansi" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/cliui", + "name": "strip-ansi", + "spec": "^5.2.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "ansi-regex" => EdgeOut { + "name": "ansi-regex", + "spec": "^4.1.0", + "to": "node_modules/cliui/node_modules/ansi-regex", + "type": "prod", + }, + }, + "location": "node_modules/cliui/node_modules/strip-ansi", + "name": "strip-ansi", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/cliui/node_modules/strip-ansi", + "peer": true, + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "version": "5.2.0", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/yargs", + "name": "cliui", + "spec": "^5.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "string-width" => EdgeOut { + "name": "string-width", + "spec": "^3.1.0", + "to": "node_modules/string-width", + "type": "prod", + }, + "strip-ansi" => EdgeOut { + "name": "strip-ansi", + "spec": "^5.2.0", + "to": "node_modules/cliui/node_modules/strip-ansi", + "type": "prod", + }, + "wrap-ansi" => EdgeOut { + "name": "wrap-ansi", + "spec": "^5.1.0", + "to": "node_modules/wrap-ansi", + "type": "prod", + }, + }, + "location": "node_modules/cliui", + "name": "cliui", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/cliui", + "peer": true, + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "version": "5.0.0", + }, + "collection-visit" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/cache-base", + "name": "collection-visit", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "map-visit" => EdgeOut { + "name": "map-visit", + "spec": "^1.0.0", + "to": "node_modules/map-visit", + "type": "prod", + }, + "object-visit" => EdgeOut { + "name": "object-visit", + "spec": "^1.0.0", + "to": "node_modules/object-visit", + "type": "prod", + }, + }, + "location": "node_modules/collection-visit", + "name": "collection-visit", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/collection-visit", + "peer": true, + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "version": "1.0.0", + }, + "color-convert" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/ansi-styles", + "name": "color-convert", + "spec": "^1.9.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "color-name" => EdgeOut { + "name": "color-name", + "spec": "1.1.3", + "to": "node_modules/color-name", + "type": "prod", + }, + }, + "location": "node_modules/color-convert", + "name": "color-convert", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/color-convert", + "peer": true, + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "version": "1.9.3", + }, + "color-name" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/color-convert", + "name": "color-name", + "spec": "1.1.3", + "type": "prod", + }, + }, + "location": "node_modules/color-name", + "name": "color-name", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/color-name", + "peer": true, + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "version": "1.1.3", + }, + "commander" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/terser", + "name": "commander", + "spec": "^2.20.0", + "type": "prod", + }, + }, + "location": "node_modules/commander", + "name": "commander", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/commander", + "peer": true, + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "version": "2.20.3", + }, + "commondir" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/find-cache-dir", + "name": "commondir", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "location": "node_modules/commondir", + "name": "commondir", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/commondir", + "peer": true, + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "version": "1.0.1", + }, + "component-emitter" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/base", + "name": "component-emitter", + "spec": "^1.2.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/cache-base", + "name": "component-emitter", + "spec": "^1.2.1", + "type": "prod", + }, + }, + "location": "node_modules/component-emitter", + "name": "component-emitter", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/component-emitter", + "peer": true, + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "version": "1.3.0", + }, + "compressible" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/compression", + "name": "compressible", + "spec": "~2.0.16", + "type": "prod", + }, + }, + "edgesOut": Map { + "mime-db" => EdgeOut { + "name": "mime-db", + "spec": ">= 1.43.0 < 2", + "to": "node_modules/mime-db", + "type": "prod", + }, + }, + "location": "node_modules/compressible", + "name": "compressible", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/compressible", + "peer": true, + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "version": "2.0.18", + }, + "compression" => ArboristNode { + "children": Map { + "debug" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/compression", + "name": "debug", + "spec": "2.6.9", + "type": "prod", + }, + }, + "edgesOut": Map { + "ms" => EdgeOut { + "name": "ms", + "spec": "2.0.0", + "to": "node_modules/compression/node_modules/ms", + "type": "prod", + }, + }, + "location": "node_modules/compression/node_modules/debug", + "name": "debug", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/compression/node_modules/debug", + "peer": true, + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "version": "2.6.9", + }, + "ms" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/compression/node_modules/debug", + "name": "ms", + "spec": "2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/compression/node_modules/ms", + "name": "ms", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/compression/node_modules/ms", + "peer": true, + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "version": "2.0.0", + }, + "safe-buffer" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/compression", + "name": "safe-buffer", + "spec": "5.1.2", + "type": "prod", + }, + }, + "location": "node_modules/compression/node_modules/safe-buffer", + "name": "safe-buffer", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/compression/node_modules/safe-buffer", + "peer": true, + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "version": "5.1.2", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "compression", + "spec": "^1.7.4", + "type": "prod", + }, + }, + "edgesOut": Map { + "accepts" => EdgeOut { + "name": "accepts", + "spec": "~1.3.5", + "to": "node_modules/accepts", + "type": "prod", + }, + "bytes" => EdgeOut { + "name": "bytes", + "spec": "3.0.0", + "to": "node_modules/bytes", + "type": "prod", + }, + "compressible" => EdgeOut { + "name": "compressible", + "spec": "~2.0.16", + "to": "node_modules/compressible", + "type": "prod", + }, + "debug" => EdgeOut { + "name": "debug", + "spec": "2.6.9", + "to": "node_modules/compression/node_modules/debug", + "type": "prod", + }, + "on-headers" => EdgeOut { + "name": "on-headers", + "spec": "~1.0.2", + "to": "node_modules/on-headers", + "type": "prod", + }, + "safe-buffer" => EdgeOut { + "name": "safe-buffer", + "spec": "5.1.2", + "to": "node_modules/compression/node_modules/safe-buffer", + "type": "prod", + }, + "vary" => EdgeOut { + "name": "vary", + "spec": "~1.1.2", + "to": "node_modules/vary", + "type": "prod", + }, + }, + "location": "node_modules/compression", + "name": "compression", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/compression", + "peer": true, + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "version": "1.7.4", + }, + "concat-map" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/brace-expansion", + "name": "concat-map", + "spec": "0.0.1", + "type": "prod", + }, + }, + "location": "node_modules/concat-map", + "name": "concat-map", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/concat-map", + "peer": true, + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "version": "0.0.1", + }, + "concat-stream" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/mississippi", + "name": "concat-stream", + "spec": "^1.5.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "buffer-from" => EdgeOut { + "name": "buffer-from", + "spec": "^1.0.0", + "to": "node_modules/buffer-from", + "type": "prod", + }, + "inherits" => EdgeOut { + "name": "inherits", + "spec": "^2.0.3", + "to": "node_modules/inherits", + "type": "prod", + }, + "readable-stream" => EdgeOut { + "name": "readable-stream", + "spec": "^2.2.2", + "to": "node_modules/readable-stream", + "type": "prod", + }, + "typedarray" => EdgeOut { + "name": "typedarray", + "spec": "^0.0.6", + "to": "node_modules/typedarray", + "type": "prod", + }, + }, + "location": "node_modules/concat-stream", + "name": "concat-stream", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/concat-stream", + "peer": true, + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "version": "1.6.2", + }, + "connect-history-api-fallback" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "connect-history-api-fallback", + "spec": "^1.6.0", + "type": "prod", + }, + }, + "location": "node_modules/connect-history-api-fallback", + "name": "connect-history-api-fallback", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/connect-history-api-fallback", + "peer": true, + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", + "version": "1.6.0", + }, + "console-browserify" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/node-libs-browser", + "name": "console-browserify", + "spec": "^1.1.0", + "type": "prod", + }, + }, + "location": "node_modules/console-browserify", + "name": "console-browserify", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/console-browserify", + "peer": true, + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "version": "1.2.0", + }, + "constants-browserify" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/node-libs-browser", + "name": "constants-browserify", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/constants-browserify", + "name": "constants-browserify", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/constants-browserify", + "peer": true, + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "version": "1.0.0", + }, + "content-disposition" => ArboristNode { + "children": Map { + "safe-buffer" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/content-disposition", + "name": "safe-buffer", + "spec": "5.1.2", + "type": "prod", + }, + }, + "location": "node_modules/content-disposition/node_modules/safe-buffer", + "name": "safe-buffer", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/content-disposition/node_modules/safe-buffer", + "peer": true, + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "version": "5.1.2", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/express", + "name": "content-disposition", + "spec": "0.5.3", + "type": "prod", + }, + }, + "edgesOut": Map { + "safe-buffer" => EdgeOut { + "name": "safe-buffer", + "spec": "5.1.2", + "to": "node_modules/content-disposition/node_modules/safe-buffer", + "type": "prod", + }, + }, + "location": "node_modules/content-disposition", + "name": "content-disposition", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/content-disposition", + "peer": true, + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "version": "0.5.3", + }, + "content-type" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/body-parser", + "name": "content-type", + "spec": "~1.0.4", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/express", + "name": "content-type", + "spec": "~1.0.4", + "type": "prod", + }, + }, + "location": "node_modules/content-type", + "name": "content-type", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/content-type", + "peer": true, + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "version": "1.0.4", + }, + "cookie" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/express", + "name": "cookie", + "spec": "0.4.0", + "type": "prod", + }, + }, + "location": "node_modules/cookie", + "name": "cookie", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/cookie", + "peer": true, + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "version": "0.4.0", + }, + "cookie-signature" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/express", + "name": "cookie-signature", + "spec": "1.0.6", + "type": "prod", + }, + }, + "location": "node_modules/cookie-signature", + "name": "cookie-signature", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/cookie-signature", + "peer": true, + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "version": "1.0.6", + }, + "copy-concurrently" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/move-concurrently", + "name": "copy-concurrently", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "aproba" => EdgeOut { + "name": "aproba", + "spec": "^1.1.1", + "to": "node_modules/aproba", + "type": "prod", + }, + "fs-write-stream-atomic" => EdgeOut { + "name": "fs-write-stream-atomic", + "spec": "^1.0.8", + "to": "node_modules/fs-write-stream-atomic", + "type": "prod", + }, + "iferr" => EdgeOut { + "name": "iferr", + "spec": "^0.1.5", + "to": "node_modules/iferr", + "type": "prod", + }, + "mkdirp" => EdgeOut { + "name": "mkdirp", + "spec": "^0.5.1", + "to": "node_modules/mkdirp", + "type": "prod", + }, + "rimraf" => EdgeOut { + "name": "rimraf", + "spec": "^2.5.4", + "to": "node_modules/rimraf", + "type": "prod", + }, + "run-queue" => EdgeOut { + "name": "run-queue", + "spec": "^1.0.0", + "to": "node_modules/run-queue", + "type": "prod", + }, + }, + "location": "node_modules/copy-concurrently", + "name": "copy-concurrently", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/copy-concurrently", + "peer": true, + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "version": "1.0.5", + }, + "copy-descriptor" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/object-copy", + "name": "copy-descriptor", + "spec": "^0.1.0", + "type": "prod", + }, + }, + "location": "node_modules/copy-descriptor", + "name": "copy-descriptor", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/copy-descriptor", + "peer": true, + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "version": "0.1.1", + }, + "core-util-is" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/readable-stream", + "name": "core-util-is", + "spec": "~1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/core-util-is", + "name": "core-util-is", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/core-util-is", + "peer": true, + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "version": "1.0.2", + }, + "create-ecdh" => ArboristNode { + "children": Map { + "bn.js" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/create-ecdh", + "name": "bn.js", + "spec": "^4.1.0", + "type": "prod", + }, + }, + "location": "node_modules/create-ecdh/node_modules/bn.js", + "name": "bn.js", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/create-ecdh/node_modules/bn.js", + "peer": true, + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "version": "4.11.9", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/crypto-browserify", + "name": "create-ecdh", + "spec": "^4.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "bn.js" => EdgeOut { + "name": "bn.js", + "spec": "^4.1.0", + "to": "node_modules/create-ecdh/node_modules/bn.js", + "type": "prod", + }, + "elliptic" => EdgeOut { + "name": "elliptic", + "spec": "^6.5.3", + "to": "node_modules/elliptic", + "type": "prod", + }, + }, + "location": "node_modules/create-ecdh", + "name": "create-ecdh", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/create-ecdh", + "peer": true, + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "version": "4.0.4", + }, + "create-hash" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/browserify-aes", + "name": "create-hash", + "spec": "^1.1.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/browserify-sign", + "name": "create-hash", + "spec": "^1.2.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/create-hmac", + "name": "create-hash", + "spec": "^1.1.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/crypto-browserify", + "name": "create-hash", + "spec": "^1.1.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/pbkdf2", + "name": "create-hash", + "spec": "^1.1.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/public-encrypt", + "name": "create-hash", + "spec": "^1.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "cipher-base" => EdgeOut { + "name": "cipher-base", + "spec": "^1.0.1", + "to": "node_modules/cipher-base", + "type": "prod", + }, + "inherits" => EdgeOut { + "name": "inherits", + "spec": "^2.0.1", + "to": "node_modules/inherits", + "type": "prod", + }, + "md5.js" => EdgeOut { + "name": "md5.js", + "spec": "^1.3.4", + "to": "node_modules/md5.js", + "type": "prod", + }, + "ripemd160" => EdgeOut { + "name": "ripemd160", + "spec": "^2.0.1", + "to": "node_modules/ripemd160", + "type": "prod", + }, + "sha.js" => EdgeOut { + "name": "sha.js", + "spec": "^2.4.0", + "to": "node_modules/sha.js", + "type": "prod", + }, + }, + "location": "node_modules/create-hash", + "name": "create-hash", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/create-hash", + "peer": true, + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "version": "1.2.0", + }, + "create-hmac" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/browserify-sign", + "name": "create-hmac", + "spec": "^1.1.7", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/crypto-browserify", + "name": "create-hmac", + "spec": "^1.1.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/pbkdf2", + "name": "create-hmac", + "spec": "^1.1.4", + "type": "prod", + }, + }, + "edgesOut": Map { + "cipher-base" => EdgeOut { + "name": "cipher-base", + "spec": "^1.0.3", + "to": "node_modules/cipher-base", + "type": "prod", + }, + "create-hash" => EdgeOut { + "name": "create-hash", + "spec": "^1.1.0", + "to": "node_modules/create-hash", + "type": "prod", + }, + "inherits" => EdgeOut { + "name": "inherits", + "spec": "^2.0.1", + "to": "node_modules/inherits", + "type": "prod", + }, + "ripemd160" => EdgeOut { + "name": "ripemd160", + "spec": "^2.0.0", + "to": "node_modules/ripemd160", + "type": "prod", + }, + "safe-buffer" => EdgeOut { + "name": "safe-buffer", + "spec": "^5.0.1", + "to": "node_modules/safe-buffer", + "type": "prod", + }, + "sha.js" => EdgeOut { + "name": "sha.js", + "spec": "^2.4.8", + "to": "node_modules/sha.js", + "type": "prod", + }, + }, + "location": "node_modules/create-hmac", + "name": "create-hmac", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/create-hmac", + "peer": true, + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "version": "1.1.7", + }, + "cross-spawn" => ArboristNode { + "children": Map { + "semver" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/cross-spawn", + "name": "semver", + "spec": "^5.5.0", + "type": "prod", + }, + }, + "location": "node_modules/cross-spawn/node_modules/semver", + "name": "semver", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/cross-spawn/node_modules/semver", + "peer": true, + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "version": "5.7.1", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/execa", + "name": "cross-spawn", + "spec": "^6.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "nice-try" => EdgeOut { + "name": "nice-try", + "spec": "^1.0.4", + "to": "node_modules/nice-try", + "type": "prod", + }, + "path-key" => EdgeOut { + "name": "path-key", + "spec": "^2.0.1", + "to": "node_modules/path-key", + "type": "prod", + }, + "semver" => EdgeOut { + "name": "semver", + "spec": "^5.5.0", + "to": "node_modules/cross-spawn/node_modules/semver", + "type": "prod", + }, + "shebang-command" => EdgeOut { + "name": "shebang-command", + "spec": "^1.2.0", + "to": "node_modules/shebang-command", + "type": "prod", + }, + "which" => EdgeOut { + "name": "which", + "spec": "^1.2.9", + "to": "node_modules/which", + "type": "prod", + }, + }, + "location": "node_modules/cross-spawn", + "name": "cross-spawn", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/cross-spawn", + "peer": true, + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "version": "6.0.5", + }, + "crypto-browserify" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/node-libs-browser", + "name": "crypto-browserify", + "spec": "^3.11.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "browserify-cipher" => EdgeOut { + "name": "browserify-cipher", + "spec": "^1.0.0", + "to": "node_modules/browserify-cipher", + "type": "prod", + }, + "browserify-sign" => EdgeOut { + "name": "browserify-sign", + "spec": "^4.0.0", + "to": "node_modules/browserify-sign", + "type": "prod", + }, + "create-ecdh" => EdgeOut { + "name": "create-ecdh", + "spec": "^4.0.0", + "to": "node_modules/create-ecdh", + "type": "prod", + }, + "create-hash" => EdgeOut { + "name": "create-hash", + "spec": "^1.1.0", + "to": "node_modules/create-hash", + "type": "prod", + }, + "create-hmac" => EdgeOut { + "name": "create-hmac", + "spec": "^1.1.0", + "to": "node_modules/create-hmac", + "type": "prod", + }, + "diffie-hellman" => EdgeOut { + "name": "diffie-hellman", + "spec": "^5.0.0", + "to": "node_modules/diffie-hellman", + "type": "prod", + }, + "inherits" => EdgeOut { + "name": "inherits", + "spec": "^2.0.1", + "to": "node_modules/inherits", + "type": "prod", + }, + "pbkdf2" => EdgeOut { + "name": "pbkdf2", + "spec": "^3.0.3", + "to": "node_modules/pbkdf2", + "type": "prod", + }, + "public-encrypt" => EdgeOut { + "name": "public-encrypt", + "spec": "^4.0.0", + "to": "node_modules/public-encrypt", + "type": "prod", + }, + "randombytes" => EdgeOut { + "name": "randombytes", + "spec": "^2.0.0", + "to": "node_modules/randombytes", + "type": "prod", + }, + "randomfill" => EdgeOut { + "name": "randomfill", + "spec": "^1.0.3", + "to": "node_modules/randomfill", + "type": "prod", + }, + }, + "location": "node_modules/crypto-browserify", + "name": "crypto-browserify", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/crypto-browserify", + "peer": true, + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "version": "3.12.0", + }, + "cyclist" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/parallel-transform", + "name": "cyclist", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "location": "node_modules/cyclist", + "name": "cyclist", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/cyclist", + "peer": true, + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", + "version": "1.0.1", + }, + "debug" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/portfinder", + "name": "debug", + "spec": "^3.1.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/sockjs-client", + "name": "debug", + "spec": "^3.2.6", + "type": "prod", + }, + }, + "edgesOut": Map { + "ms" => EdgeOut { + "name": "ms", + "spec": "^2.1.1", + "to": "node_modules/ms", + "type": "prod", + }, + }, + "location": "node_modules/debug", + "name": "debug", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/debug", + "peer": true, + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "version": "3.2.6", + }, + "decamelize" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/yargs-parser", + "name": "decamelize", + "spec": "^1.2.0", + "type": "prod", + }, + }, + "location": "node_modules/decamelize", + "name": "decamelize", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/decamelize", + "peer": true, + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "version": "1.2.0", + }, + "decode-uri-component" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/source-map-resolve", + "name": "decode-uri-component", + "spec": "^0.2.0", + "type": "prod", + }, + }, + "location": "node_modules/decode-uri-component", + "name": "decode-uri-component", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/decode-uri-component", + "peer": true, + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "version": "0.2.0", + }, + "deep-equal" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/bonjour", + "name": "deep-equal", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-arguments" => EdgeOut { + "name": "is-arguments", + "spec": "^1.0.4", + "to": "node_modules/is-arguments", + "type": "prod", + }, + "is-date-object" => EdgeOut { + "name": "is-date-object", + "spec": "^1.0.1", + "to": "node_modules/is-date-object", + "type": "prod", + }, + "is-regex" => EdgeOut { + "name": "is-regex", + "spec": "^1.0.4", + "to": "node_modules/is-regex", + "type": "prod", + }, + "object-is" => EdgeOut { + "name": "object-is", + "spec": "^1.0.1", + "to": "node_modules/object-is", + "type": "prod", + }, + "object-keys" => EdgeOut { + "name": "object-keys", + "spec": "^1.1.1", + "to": "node_modules/object-keys", + "type": "prod", + }, + "regexp.prototype.flags" => EdgeOut { + "name": "regexp.prototype.flags", + "spec": "^1.2.0", + "to": "node_modules/regexp.prototype.flags", + "type": "prod", + }, + }, + "location": "node_modules/deep-equal", + "name": "deep-equal", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/deep-equal", + "peer": true, + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", + "version": "1.1.1", + }, + "default-gateway" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/internal-ip", + "name": "default-gateway", + "spec": "^4.2.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "execa" => EdgeOut { + "name": "execa", + "spec": "^1.0.0", + "to": "node_modules/execa", + "type": "prod", + }, + "ip-regex" => EdgeOut { + "name": "ip-regex", + "spec": "^2.1.0", + "to": "node_modules/ip-regex", + "type": "prod", + }, + }, + "location": "node_modules/default-gateway", + "name": "default-gateway", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/default-gateway", + "peer": true, + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", + "version": "4.2.0", + }, + "define-properties" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/object-is", + "name": "define-properties", + "spec": "^1.1.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/object.assign", + "name": "define-properties", + "spec": "^1.1.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/regexp.prototype.flags", + "name": "define-properties", + "spec": "^1.1.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/string.prototype.trimend", + "name": "define-properties", + "spec": "^1.1.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/string.prototype.trimstart", + "name": "define-properties", + "spec": "^1.1.3", + "type": "prod", + }, + }, + "edgesOut": Map { + "object-keys" => EdgeOut { + "name": "object-keys", + "spec": "^1.0.12", + "to": "node_modules/object-keys", + "type": "prod", + }, + }, + "location": "node_modules/define-properties", + "name": "define-properties", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/define-properties", + "peer": true, + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "version": "1.1.3", + }, + "define-property" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/micromatch", + "name": "define-property", + "spec": "^2.0.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/nanomatch", + "name": "define-property", + "spec": "^2.0.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/to-regex", + "name": "define-property", + "spec": "^2.0.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-descriptor" => EdgeOut { + "name": "is-descriptor", + "spec": "^1.0.2", + "to": "node_modules/is-descriptor", + "type": "prod", + }, + "isobject" => EdgeOut { + "name": "isobject", + "spec": "^3.0.1", + "to": "node_modules/isobject", + "type": "prod", + }, + }, + "location": "node_modules/define-property", + "name": "define-property", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/define-property", + "peer": true, + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "version": "2.0.2", + }, + "del" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "del", + "spec": "^4.1.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "@types/glob" => EdgeOut { + "name": "@types/glob", + "spec": "^7.1.1", + "to": "node_modules/@types/glob", + "type": "prod", + }, + "globby" => EdgeOut { + "name": "globby", + "spec": "^6.1.0", + "to": "node_modules/globby", + "type": "prod", + }, + "is-path-cwd" => EdgeOut { + "name": "is-path-cwd", + "spec": "^2.0.0", + "to": "node_modules/is-path-cwd", + "type": "prod", + }, + "is-path-in-cwd" => EdgeOut { + "name": "is-path-in-cwd", + "spec": "^2.0.0", + "to": "node_modules/is-path-in-cwd", + "type": "prod", + }, + "p-map" => EdgeOut { + "name": "p-map", + "spec": "^2.0.0", + "to": "node_modules/p-map", + "type": "prod", + }, + "pify" => EdgeOut { + "name": "pify", + "spec": "^4.0.1", + "to": "node_modules/pify", + "type": "prod", + }, + "rimraf" => EdgeOut { + "name": "rimraf", + "spec": "^2.6.3", + "to": "node_modules/rimraf", + "type": "prod", + }, + }, + "location": "node_modules/del", + "name": "del", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/del", + "peer": true, + "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", + "version": "4.1.1", + }, + "depd" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/body-parser", + "name": "depd", + "spec": "~1.1.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/express", + "name": "depd", + "spec": "~1.1.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/http-errors", + "name": "depd", + "spec": "~1.1.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/send", + "name": "depd", + "spec": "~1.1.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/serve-index/node_modules/http-errors", + "name": "depd", + "spec": "~1.1.2", + "type": "prod", + }, + }, + "location": "node_modules/depd", + "name": "depd", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/depd", + "peer": true, + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "version": "1.1.2", + }, + "des.js" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/browserify-des", + "name": "des.js", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "inherits" => EdgeOut { + "name": "inherits", + "spec": "^2.0.1", + "to": "node_modules/inherits", + "type": "prod", + }, + "minimalistic-assert" => EdgeOut { + "name": "minimalistic-assert", + "spec": "^1.0.0", + "to": "node_modules/minimalistic-assert", + "type": "prod", + }, + }, + "location": "node_modules/des.js", + "name": "des.js", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/des.js", + "peer": true, + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", + "version": "1.0.1", + }, + "destroy" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/send", + "name": "destroy", + "spec": "~1.0.4", + "type": "prod", + }, + }, + "location": "node_modules/destroy", + "name": "destroy", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/destroy", + "peer": true, + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "version": "1.0.4", + }, + "detect-node" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/spdy-transport", + "name": "detect-node", + "spec": "^2.0.4", + "type": "prod", + }, + }, + "location": "node_modules/detect-node", + "name": "detect-node", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/detect-node", + "peer": true, + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", + "version": "2.0.4", + }, + "diffie-hellman" => ArboristNode { + "children": Map { + "bn.js" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/diffie-hellman", + "name": "bn.js", + "spec": "^4.1.0", + "type": "prod", + }, + }, + "location": "node_modules/diffie-hellman/node_modules/bn.js", + "name": "bn.js", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/diffie-hellman/node_modules/bn.js", + "peer": true, + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "version": "4.11.9", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/crypto-browserify", + "name": "diffie-hellman", + "spec": "^5.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "bn.js" => EdgeOut { + "name": "bn.js", + "spec": "^4.1.0", + "to": "node_modules/diffie-hellman/node_modules/bn.js", + "type": "prod", + }, + "miller-rabin" => EdgeOut { + "name": "miller-rabin", + "spec": "^4.0.0", + "to": "node_modules/miller-rabin", + "type": "prod", + }, + "randombytes" => EdgeOut { + "name": "randombytes", + "spec": "^2.0.0", + "to": "node_modules/randombytes", + "type": "prod", + }, + }, + "location": "node_modules/diffie-hellman", + "name": "diffie-hellman", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/diffie-hellman", + "peer": true, + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "version": "5.0.3", + }, + "dns-equal" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/bonjour", + "name": "dns-equal", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/dns-equal", + "name": "dns-equal", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/dns-equal", + "peer": true, + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "version": "1.0.0", + }, + "dns-packet" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/multicast-dns", + "name": "dns-packet", + "spec": "^1.3.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "ip" => EdgeOut { + "name": "ip", + "spec": "^1.1.0", + "to": "node_modules/ip", + "type": "prod", + }, + "safe-buffer" => EdgeOut { + "name": "safe-buffer", + "spec": "^5.0.1", + "to": "node_modules/safe-buffer", + "type": "prod", + }, + }, + "location": "node_modules/dns-packet", + "name": "dns-packet", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/dns-packet", + "peer": true, + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", + "version": "1.3.1", + }, + "dns-txt" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/bonjour", + "name": "dns-txt", + "spec": "^2.0.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "buffer-indexof" => EdgeOut { + "name": "buffer-indexof", + "spec": "^1.0.0", + "to": "node_modules/buffer-indexof", + "type": "prod", + }, + }, + "location": "node_modules/dns-txt", + "name": "dns-txt", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/dns-txt", + "peer": true, + "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", + "version": "2.0.2", + }, + "domain-browser" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/node-libs-browser", + "name": "domain-browser", + "spec": "^1.1.1", + "type": "prod", + }, + }, + "location": "node_modules/domain-browser", + "name": "domain-browser", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/domain-browser", + "peer": true, + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "version": "1.2.0", + }, + "duplexify" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/mississippi", + "name": "duplexify", + "spec": "^3.4.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/pumpify", + "name": "duplexify", + "spec": "^3.6.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "end-of-stream" => EdgeOut { + "name": "end-of-stream", + "spec": "^1.0.0", + "to": "node_modules/end-of-stream", + "type": "prod", + }, + "inherits" => EdgeOut { + "name": "inherits", + "spec": "^2.0.1", + "to": "node_modules/inherits", + "type": "prod", + }, + "readable-stream" => EdgeOut { + "name": "readable-stream", + "spec": "^2.0.0", + "to": "node_modules/readable-stream", + "type": "prod", + }, + "stream-shift" => EdgeOut { + "name": "stream-shift", + "spec": "^1.0.0", + "to": "node_modules/stream-shift", + "type": "prod", + }, + }, + "location": "node_modules/duplexify", + "name": "duplexify", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/duplexify", + "peer": true, + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "version": "3.7.1", + }, + "ee-first" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/on-finished", + "name": "ee-first", + "spec": "1.1.1", + "type": "prod", + }, + }, + "location": "node_modules/ee-first", + "name": "ee-first", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/ee-first", + "peer": true, + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "version": "1.1.1", + }, + "elliptic" => ArboristNode { + "children": Map { + "bn.js" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/elliptic", + "name": "bn.js", + "spec": "^4.4.0", + "type": "prod", + }, + }, + "location": "node_modules/elliptic/node_modules/bn.js", + "name": "bn.js", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/elliptic/node_modules/bn.js", + "peer": true, + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "version": "4.11.9", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/browserify-sign", + "name": "elliptic", + "spec": "^6.5.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/create-ecdh", + "name": "elliptic", + "spec": "^6.5.3", + "type": "prod", + }, + }, + "edgesOut": Map { + "bn.js" => EdgeOut { + "name": "bn.js", + "spec": "^4.4.0", + "to": "node_modules/elliptic/node_modules/bn.js", + "type": "prod", + }, + "brorand" => EdgeOut { + "name": "brorand", + "spec": "^1.0.1", + "to": "node_modules/brorand", + "type": "prod", + }, + "hash.js" => EdgeOut { + "name": "hash.js", + "spec": "^1.0.0", + "to": "node_modules/hash.js", + "type": "prod", + }, + "hmac-drbg" => EdgeOut { + "name": "hmac-drbg", + "spec": "^1.0.0", + "to": "node_modules/hmac-drbg", + "type": "prod", + }, + "inherits" => EdgeOut { + "name": "inherits", + "spec": "^2.0.1", + "to": "node_modules/inherits", + "type": "prod", + }, + "minimalistic-assert" => EdgeOut { + "name": "minimalistic-assert", + "spec": "^1.0.0", + "to": "node_modules/minimalistic-assert", + "type": "prod", + }, + "minimalistic-crypto-utils" => EdgeOut { + "name": "minimalistic-crypto-utils", + "spec": "^1.0.0", + "to": "node_modules/minimalistic-crypto-utils", + "type": "prod", + }, + }, + "location": "node_modules/elliptic", + "name": "elliptic", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/elliptic", + "peer": true, + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz", + "version": "6.5.3", + }, + "emoji-regex" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/string-width", + "name": "emoji-regex", + "spec": "^7.0.1", + "type": "prod", + }, + }, + "location": "node_modules/emoji-regex", + "name": "emoji-regex", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/emoji-regex", + "peer": true, + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "version": "7.0.3", + }, + "emojis-list" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/loader-utils", + "name": "emojis-list", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "location": "node_modules/emojis-list", + "name": "emojis-list", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/emojis-list", + "peer": true, + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "version": "3.0.0", + }, + "encodeurl" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/express", + "name": "encodeurl", + "spec": "~1.0.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/finalhandler", + "name": "encodeurl", + "spec": "~1.0.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/send", + "name": "encodeurl", + "spec": "~1.0.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/serve-static", + "name": "encodeurl", + "spec": "~1.0.2", + "type": "prod", + }, + }, + "location": "node_modules/encodeurl", + "name": "encodeurl", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/encodeurl", + "peer": true, + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "version": "1.0.2", + }, + "end-of-stream" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/duplexify", + "name": "end-of-stream", + "spec": "^1.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/mississippi", + "name": "end-of-stream", + "spec": "^1.1.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/pump", + "name": "end-of-stream", + "spec": "^1.1.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/pumpify/node_modules/pump", + "name": "end-of-stream", + "spec": "^1.1.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/stream-each", + "name": "end-of-stream", + "spec": "^1.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "once" => EdgeOut { + "name": "once", + "spec": "^1.4.0", + "to": "node_modules/once", + "type": "prod", + }, + }, + "location": "node_modules/end-of-stream", + "name": "end-of-stream", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/end-of-stream", + "peer": true, + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "version": "1.4.4", + }, + "enhanced-resolve" => ArboristNode { + "children": Map { + "memory-fs" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/enhanced-resolve", + "name": "memory-fs", + "spec": "^0.5.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "errno" => EdgeOut { + "name": "errno", + "spec": "^0.1.3", + "to": "node_modules/errno", + "type": "prod", + }, + "readable-stream" => EdgeOut { + "name": "readable-stream", + "spec": "^2.0.1", + "to": "node_modules/readable-stream", + "type": "prod", + }, + }, + "location": "node_modules/enhanced-resolve/node_modules/memory-fs", + "name": "memory-fs", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/enhanced-resolve/node_modules/memory-fs", + "peer": true, + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "version": "0.5.0", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack", + "name": "enhanced-resolve", + "spec": "^4.3.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "graceful-fs" => EdgeOut { + "name": "graceful-fs", + "spec": "^4.1.2", + "to": "node_modules/graceful-fs", + "type": "prod", + }, + "memory-fs" => EdgeOut { + "name": "memory-fs", + "spec": "^0.5.0", + "to": "node_modules/enhanced-resolve/node_modules/memory-fs", + "type": "prod", + }, + "tapable" => EdgeOut { + "name": "tapable", + "spec": "^1.0.0", + "to": "node_modules/tapable", + "type": "prod", + }, + }, + "location": "node_modules/enhanced-resolve", + "name": "enhanced-resolve", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/enhanced-resolve", + "peer": true, + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz", + "version": "4.3.0", + }, + "errno" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/enhanced-resolve/node_modules/memory-fs", + "name": "errno", + "spec": "^0.1.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/memory-fs", + "name": "errno", + "spec": "^0.1.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/worker-farm", + "name": "errno", + "spec": "~0.1.7", + "type": "prod", + }, + }, + "edgesOut": Map { + "prr" => EdgeOut { + "name": "prr", + "spec": "~1.0.1", + "to": "node_modules/prr", + "type": "prod", + }, + }, + "location": "node_modules/errno", + "name": "errno", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/errno", + "peer": true, + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", + "version": "0.1.7", + }, + "error-stack-parser" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/@pmmmwh/react-refresh-webpack-plugin", + "name": "error-stack-parser", + "spec": "^2.0.6", + "type": "prod", + }, + }, + "edgesOut": Map { + "stackframe" => EdgeOut { + "name": "stackframe", + "spec": "^1.1.1", + "to": "node_modules/stackframe", + "type": "prod", + }, + }, + "location": "node_modules/error-stack-parser", + "name": "error-stack-parser", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/error-stack-parser", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.6.tgz", + "version": "2.0.6", + }, + "es-abstract" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/object-is", + "name": "es-abstract", + "spec": "^1.18.0-next.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/object.assign", + "name": "es-abstract", + "spec": "^1.18.0-next.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "es-to-primitive" => EdgeOut { + "name": "es-to-primitive", + "spec": "^1.2.1", + "to": "node_modules/es-to-primitive", + "type": "prod", + }, + "function-bind" => EdgeOut { + "name": "function-bind", + "spec": "^1.1.1", + "to": "node_modules/function-bind", + "type": "prod", + }, + "has" => EdgeOut { + "name": "has", + "spec": "^1.0.3", + "to": "node_modules/has", + "type": "prod", + }, + "has-symbols" => EdgeOut { + "name": "has-symbols", + "spec": "^1.0.1", + "to": "node_modules/has-symbols", + "type": "prod", + }, + "is-callable" => EdgeOut { + "name": "is-callable", + "spec": "^1.2.2", + "to": "node_modules/is-callable", + "type": "prod", + }, + "is-negative-zero" => EdgeOut { + "name": "is-negative-zero", + "spec": "^2.0.0", + "to": "node_modules/is-negative-zero", + "type": "prod", + }, + "is-regex" => EdgeOut { + "name": "is-regex", + "spec": "^1.1.1", + "to": "node_modules/is-regex", + "type": "prod", + }, + "object-inspect" => EdgeOut { + "name": "object-inspect", + "spec": "^1.8.0", + "to": "node_modules/object-inspect", + "type": "prod", + }, + "object-keys" => EdgeOut { + "name": "object-keys", + "spec": "^1.1.1", + "to": "node_modules/object-keys", + "type": "prod", + }, + "object.assign" => EdgeOut { + "name": "object.assign", + "spec": "^4.1.1", + "to": "node_modules/object.assign", + "type": "prod", + }, + "string.prototype.trimend" => EdgeOut { + "name": "string.prototype.trimend", + "spec": "^1.0.1", + "to": "node_modules/string.prototype.trimend", + "type": "prod", + }, + "string.prototype.trimstart" => EdgeOut { + "name": "string.prototype.trimstart", + "spec": "^1.0.1", + "to": "node_modules/string.prototype.trimstart", + "type": "prod", + }, + }, + "location": "node_modules/es-abstract", + "name": "es-abstract", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/es-abstract", + "peer": true, + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", + "version": "1.18.0-next.1", + }, + "es-to-primitive" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/es-abstract", + "name": "es-to-primitive", + "spec": "^1.2.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/regexp.prototype.flags/node_modules/es-abstract", + "name": "es-to-primitive", + "spec": "^1.2.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/string.prototype.trimend/node_modules/es-abstract", + "name": "es-to-primitive", + "spec": "^1.2.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/string.prototype.trimstart/node_modules/es-abstract", + "name": "es-to-primitive", + "spec": "^1.2.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-callable" => EdgeOut { + "name": "is-callable", + "spec": "^1.1.4", + "to": "node_modules/is-callable", + "type": "prod", + }, + "is-date-object" => EdgeOut { + "name": "is-date-object", + "spec": "^1.0.1", + "to": "node_modules/is-date-object", + "type": "prod", + }, + "is-symbol" => EdgeOut { + "name": "is-symbol", + "spec": "^1.0.2", + "to": "node_modules/is-symbol", + "type": "prod", + }, + }, + "location": "node_modules/es-to-primitive", + "name": "es-to-primitive", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/es-to-primitive", + "peer": true, + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "version": "1.2.1", + }, + "escape-html" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/express", + "name": "escape-html", + "spec": "~1.0.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/finalhandler", + "name": "escape-html", + "spec": "~1.0.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/send", + "name": "escape-html", + "spec": "~1.0.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/serve-index", + "name": "escape-html", + "spec": "~1.0.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/serve-static", + "name": "escape-html", + "spec": "~1.0.3", + "type": "prod", + }, + }, + "location": "node_modules/escape-html", + "name": "escape-html", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/escape-html", + "peer": true, + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "version": "1.0.3", + }, + "eslint-scope" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack", + "name": "eslint-scope", + "spec": "^4.0.3", + "type": "prod", + }, + }, + "edgesOut": Map { + "esrecurse" => EdgeOut { + "name": "esrecurse", + "spec": "^4.1.0", + "to": "node_modules/esrecurse", + "type": "prod", + }, + "estraverse" => EdgeOut { + "name": "estraverse", + "spec": "^4.1.1", + "to": "node_modules/estraverse", + "type": "prod", + }, + }, + "location": "node_modules/eslint-scope", + "name": "eslint-scope", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/eslint-scope", + "peer": true, + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "version": "4.0.3", + }, + "esrecurse" => ArboristNode { + "children": Map { + "estraverse" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/esrecurse", + "name": "estraverse", + "spec": "^5.2.0", + "type": "prod", + }, + }, + "location": "node_modules/esrecurse/node_modules/estraverse", + "name": "estraverse", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/esrecurse/node_modules/estraverse", + "peer": true, + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "version": "5.2.0", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/eslint-scope", + "name": "esrecurse", + "spec": "^4.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "estraverse" => EdgeOut { + "name": "estraverse", + "spec": "^5.2.0", + "to": "node_modules/esrecurse/node_modules/estraverse", + "type": "prod", + }, + }, + "location": "node_modules/esrecurse", + "name": "esrecurse", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/esrecurse", + "peer": true, + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "version": "4.3.0", + }, + "estraverse" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/eslint-scope", + "name": "estraverse", + "spec": "^4.1.1", + "type": "prod", + }, + }, + "location": "node_modules/estraverse", + "name": "estraverse", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/estraverse", + "peer": true, + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "version": "4.3.0", + }, + "etag" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/express", + "name": "etag", + "spec": "~1.8.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/send", + "name": "etag", + "spec": "~1.8.1", + "type": "prod", + }, + }, + "location": "node_modules/etag", + "name": "etag", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/etag", + "peer": true, + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "version": "1.8.1", + }, + "eventemitter3" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/http-proxy", + "name": "eventemitter3", + "spec": "^4.0.0", + "type": "prod", + }, + }, + "location": "node_modules/eventemitter3", + "name": "eventemitter3", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/eventemitter3", + "peer": true, + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "version": "4.0.7", + }, + "events" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/node-libs-browser", + "name": "events", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "location": "node_modules/events", + "name": "events", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/events", + "peer": true, + "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz", + "version": "3.2.0", + }, + "eventsource" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/sockjs-client", + "name": "eventsource", + "spec": "^1.0.7", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/webpack-dev-server/node_modules/sockjs-client", + "name": "eventsource", + "spec": "^1.0.7", + "type": "prod", + }, + }, + "edgesOut": Map { + "original" => EdgeOut { + "name": "original", + "spec": "^1.0.0", + "to": "node_modules/original", + "type": "prod", + }, + }, + "location": "node_modules/eventsource", + "name": "eventsource", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/eventsource", + "peer": true, + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz", + "version": "1.0.7", + }, + "evp_bytestokey" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/browserify-aes", + "name": "evp_bytestokey", + "spec": "^1.0.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/browserify-cipher", + "name": "evp_bytestokey", + "spec": "^1.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/parse-asn1", + "name": "evp_bytestokey", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "md5.js" => EdgeOut { + "name": "md5.js", + "spec": "^1.3.4", + "to": "node_modules/md5.js", + "type": "prod", + }, + "safe-buffer" => EdgeOut { + "name": "safe-buffer", + "spec": "^5.1.1", + "to": "node_modules/safe-buffer", + "type": "prod", + }, + }, + "location": "node_modules/evp_bytestokey", + "name": "evp_bytestokey", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/evp_bytestokey", + "peer": true, + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "version": "1.0.3", + }, + "execa" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/default-gateway", + "name": "execa", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "cross-spawn" => EdgeOut { + "name": "cross-spawn", + "spec": "^6.0.0", + "to": "node_modules/cross-spawn", + "type": "prod", + }, + "get-stream" => EdgeOut { + "name": "get-stream", + "spec": "^4.0.0", + "to": "node_modules/get-stream", + "type": "prod", + }, + "is-stream" => EdgeOut { + "name": "is-stream", + "spec": "^1.1.0", + "to": "node_modules/is-stream", + "type": "prod", + }, + "npm-run-path" => EdgeOut { + "name": "npm-run-path", + "spec": "^2.0.0", + "to": "node_modules/npm-run-path", + "type": "prod", + }, + "p-finally" => EdgeOut { + "name": "p-finally", + "spec": "^1.0.0", + "to": "node_modules/p-finally", + "type": "prod", + }, + "signal-exit" => EdgeOut { + "name": "signal-exit", + "spec": "^3.0.0", + "to": "node_modules/signal-exit", + "type": "prod", + }, + "strip-eof" => EdgeOut { + "name": "strip-eof", + "spec": "^1.0.0", + "to": "node_modules/strip-eof", + "type": "prod", + }, + }, + "location": "node_modules/execa", + "name": "execa", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/execa", + "peer": true, + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "version": "1.0.0", + }, + "expand-brackets" => ArboristNode { + "children": Map { + "debug" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/expand-brackets", + "name": "debug", + "spec": "^2.3.3", + "type": "prod", + }, + }, + "edgesOut": Map { + "ms" => EdgeOut { + "name": "ms", + "spec": "2.0.0", + "to": "node_modules/expand-brackets/node_modules/ms", + "type": "prod", + }, + }, + "location": "node_modules/expand-brackets/node_modules/debug", + "name": "debug", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/expand-brackets/node_modules/debug", + "peer": true, + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "version": "2.6.9", + }, + "define-property" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/expand-brackets", + "name": "define-property", + "spec": "^0.2.5", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-descriptor" => EdgeOut { + "name": "is-descriptor", + "spec": "^0.1.0", + "to": "node_modules/expand-brackets/node_modules/is-descriptor", + "type": "prod", + }, + }, + "location": "node_modules/expand-brackets/node_modules/define-property", + "name": "define-property", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/expand-brackets/node_modules/define-property", + "peer": true, + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "version": "0.2.5", + }, + "is-accessor-descriptor" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/expand-brackets/node_modules/is-descriptor", + "name": "is-accessor-descriptor", + "spec": "^0.1.6", + "type": "prod", + }, + }, + "edgesOut": Map { + "kind-of" => EdgeOut { + "name": "kind-of", + "spec": "^3.0.2", + "to": "node_modules/kind-of", + "type": "prod", + }, + }, + "location": "node_modules/expand-brackets/node_modules/is-accessor-descriptor", + "name": "is-accessor-descriptor", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/expand-brackets/node_modules/is-accessor-descriptor", + "peer": true, + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "version": "0.1.6", + }, + "is-data-descriptor" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/expand-brackets/node_modules/is-descriptor", + "name": "is-data-descriptor", + "spec": "^0.1.4", + "type": "prod", + }, + }, + "edgesOut": Map { + "kind-of" => EdgeOut { + "name": "kind-of", + "spec": "^3.0.2", + "to": "node_modules/kind-of", + "type": "prod", + }, + }, + "location": "node_modules/expand-brackets/node_modules/is-data-descriptor", + "name": "is-data-descriptor", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/expand-brackets/node_modules/is-data-descriptor", + "peer": true, + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "version": "0.1.4", + }, + "is-descriptor" => ArboristNode { + "children": Map { + "kind-of" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/expand-brackets/node_modules/is-descriptor", + "name": "kind-of", + "spec": "^5.0.0", + "type": "prod", + }, + }, + "location": "node_modules/expand-brackets/node_modules/is-descriptor/node_modules/kind-of", + "name": "kind-of", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/expand-brackets/node_modules/is-descriptor/node_modules/kind-of", + "peer": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "version": "5.1.0", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/expand-brackets/node_modules/define-property", + "name": "is-descriptor", + "spec": "^0.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-accessor-descriptor" => EdgeOut { + "name": "is-accessor-descriptor", + "spec": "^0.1.6", + "to": "node_modules/expand-brackets/node_modules/is-accessor-descriptor", + "type": "prod", + }, + "is-data-descriptor" => EdgeOut { + "name": "is-data-descriptor", + "spec": "^0.1.4", + "to": "node_modules/expand-brackets/node_modules/is-data-descriptor", + "type": "prod", + }, + "kind-of" => EdgeOut { + "name": "kind-of", + "spec": "^5.0.0", + "to": "node_modules/expand-brackets/node_modules/is-descriptor/node_modules/kind-of", + "type": "prod", + }, + }, + "location": "node_modules/expand-brackets/node_modules/is-descriptor", + "name": "is-descriptor", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/expand-brackets/node_modules/is-descriptor", + "peer": true, + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "version": "0.1.6", + }, + "ms" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/expand-brackets/node_modules/debug", + "name": "ms", + "spec": "2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/expand-brackets/node_modules/ms", + "name": "ms", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/expand-brackets/node_modules/ms", + "peer": true, + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "version": "2.0.0", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/extglob", + "name": "expand-brackets", + "spec": "^2.1.4", + "type": "prod", + }, + }, + "edgesOut": Map { + "debug" => EdgeOut { + "name": "debug", + "spec": "^2.3.3", + "to": "node_modules/expand-brackets/node_modules/debug", + "type": "prod", + }, + "define-property" => EdgeOut { + "name": "define-property", + "spec": "^0.2.5", + "to": "node_modules/expand-brackets/node_modules/define-property", + "type": "prod", + }, + "extend-shallow" => EdgeOut { + "name": "extend-shallow", + "spec": "^2.0.1", + "to": "node_modules/extend-shallow", + "type": "prod", + }, + "posix-character-classes" => EdgeOut { + "name": "posix-character-classes", + "spec": "^0.1.0", + "to": "node_modules/posix-character-classes", + "type": "prod", + }, + "regex-not" => EdgeOut { + "name": "regex-not", + "spec": "^1.0.0", + "to": "node_modules/regex-not", + "type": "prod", + }, + "snapdragon" => EdgeOut { + "name": "snapdragon", + "spec": "^0.8.1", + "to": "node_modules/snapdragon", + "type": "prod", + }, + "to-regex" => EdgeOut { + "name": "to-regex", + "spec": "^3.0.1", + "to": "node_modules/to-regex", + "type": "prod", + }, + }, + "location": "node_modules/expand-brackets", + "name": "expand-brackets", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/expand-brackets", + "peer": true, + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "version": "2.1.4", + }, + "express" => ArboristNode { + "children": Map { + "array-flatten" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/express", + "name": "array-flatten", + "spec": "1.1.1", + "type": "prod", + }, + }, + "location": "node_modules/express/node_modules/array-flatten", + "name": "array-flatten", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/express/node_modules/array-flatten", + "peer": true, + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "version": "1.1.1", + }, + "debug" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/express", + "name": "debug", + "spec": "2.6.9", + "type": "prod", + }, + }, + "edgesOut": Map { + "ms" => EdgeOut { + "name": "ms", + "spec": "2.0.0", + "to": "node_modules/express/node_modules/ms", + "type": "prod", + }, + }, + "location": "node_modules/express/node_modules/debug", + "name": "debug", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/express/node_modules/debug", + "peer": true, + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "version": "2.6.9", + }, + "ms" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/express/node_modules/debug", + "name": "ms", + "spec": "2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/express/node_modules/ms", + "name": "ms", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/express/node_modules/ms", + "peer": true, + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "version": "2.0.0", + }, + "safe-buffer" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/express", + "name": "safe-buffer", + "spec": "5.1.2", + "type": "prod", + }, + }, + "location": "node_modules/express/node_modules/safe-buffer", + "name": "safe-buffer", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/express/node_modules/safe-buffer", + "peer": true, + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "version": "5.1.2", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "express", + "spec": "^4.17.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "accepts" => EdgeOut { + "name": "accepts", + "spec": "~1.3.7", + "to": "node_modules/accepts", + "type": "prod", + }, + "array-flatten" => EdgeOut { + "name": "array-flatten", + "spec": "1.1.1", + "to": "node_modules/express/node_modules/array-flatten", + "type": "prod", + }, + "body-parser" => EdgeOut { + "name": "body-parser", + "spec": "1.19.0", + "to": "node_modules/body-parser", + "type": "prod", + }, + "content-disposition" => EdgeOut { + "name": "content-disposition", + "spec": "0.5.3", + "to": "node_modules/content-disposition", + "type": "prod", + }, + "content-type" => EdgeOut { + "name": "content-type", + "spec": "~1.0.4", + "to": "node_modules/content-type", + "type": "prod", + }, + "cookie" => EdgeOut { + "name": "cookie", + "spec": "0.4.0", + "to": "node_modules/cookie", + "type": "prod", + }, + "cookie-signature" => EdgeOut { + "name": "cookie-signature", + "spec": "1.0.6", + "to": "node_modules/cookie-signature", + "type": "prod", + }, + "debug" => EdgeOut { + "name": "debug", + "spec": "2.6.9", + "to": "node_modules/express/node_modules/debug", + "type": "prod", + }, + "depd" => EdgeOut { + "name": "depd", + "spec": "~1.1.2", + "to": "node_modules/depd", + "type": "prod", + }, + "encodeurl" => EdgeOut { + "name": "encodeurl", + "spec": "~1.0.2", + "to": "node_modules/encodeurl", + "type": "prod", + }, + "escape-html" => EdgeOut { + "name": "escape-html", + "spec": "~1.0.3", + "to": "node_modules/escape-html", + "type": "prod", + }, + "etag" => EdgeOut { + "name": "etag", + "spec": "~1.8.1", + "to": "node_modules/etag", + "type": "prod", + }, + "finalhandler" => EdgeOut { + "name": "finalhandler", + "spec": "~1.1.2", + "to": "node_modules/finalhandler", + "type": "prod", + }, + "fresh" => EdgeOut { + "name": "fresh", + "spec": "0.5.2", + "to": "node_modules/fresh", + "type": "prod", + }, + "merge-descriptors" => EdgeOut { + "name": "merge-descriptors", + "spec": "1.0.1", + "to": "node_modules/merge-descriptors", + "type": "prod", + }, + "methods" => EdgeOut { + "name": "methods", + "spec": "~1.1.2", + "to": "node_modules/methods", + "type": "prod", + }, + "on-finished" => EdgeOut { + "name": "on-finished", + "spec": "~2.3.0", + "to": "node_modules/on-finished", + "type": "prod", + }, + "parseurl" => EdgeOut { + "name": "parseurl", + "spec": "~1.3.3", + "to": "node_modules/parseurl", + "type": "prod", + }, + "path-to-regexp" => EdgeOut { + "name": "path-to-regexp", + "spec": "0.1.7", + "to": "node_modules/path-to-regexp", + "type": "prod", + }, + "proxy-addr" => EdgeOut { + "name": "proxy-addr", + "spec": "~2.0.5", + "to": "node_modules/proxy-addr", + "type": "prod", + }, + "qs" => EdgeOut { + "name": "qs", + "spec": "6.7.0", + "to": "node_modules/qs", + "type": "prod", + }, + "range-parser" => EdgeOut { + "name": "range-parser", + "spec": "~1.2.1", + "to": "node_modules/range-parser", + "type": "prod", + }, + "safe-buffer" => EdgeOut { + "name": "safe-buffer", + "spec": "5.1.2", + "to": "node_modules/express/node_modules/safe-buffer", + "type": "prod", + }, + "send" => EdgeOut { + "name": "send", + "spec": "0.17.1", + "to": "node_modules/send", + "type": "prod", + }, + "serve-static" => EdgeOut { + "name": "serve-static", + "spec": "1.14.1", + "to": "node_modules/serve-static", + "type": "prod", + }, + "setprototypeof" => EdgeOut { + "name": "setprototypeof", + "spec": "1.1.1", + "to": "node_modules/setprototypeof", + "type": "prod", + }, + "statuses" => EdgeOut { + "name": "statuses", + "spec": "~1.5.0", + "to": "node_modules/statuses", + "type": "prod", + }, + "type-is" => EdgeOut { + "name": "type-is", + "spec": "~1.6.18", + "to": "node_modules/type-is", + "type": "prod", + }, + "utils-merge" => EdgeOut { + "name": "utils-merge", + "spec": "1.0.1", + "to": "node_modules/utils-merge", + "type": "prod", + }, + "vary" => EdgeOut { + "name": "vary", + "spec": "~1.1.2", + "to": "node_modules/vary", + "type": "prod", + }, + }, + "location": "node_modules/express", + "name": "express", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/express", + "peer": true, + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "version": "4.17.1", + }, + "extend-shallow" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/braces", + "name": "extend-shallow", + "spec": "^2.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/expand-brackets", + "name": "extend-shallow", + "spec": "^2.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/extglob", + "name": "extend-shallow", + "spec": "^2.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/fill-range", + "name": "extend-shallow", + "spec": "^2.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/set-value", + "name": "extend-shallow", + "spec": "^2.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/snapdragon", + "name": "extend-shallow", + "spec": "^2.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-extendable" => EdgeOut { + "name": "is-extendable", + "spec": "^0.1.0", + "to": "node_modules/is-extendable", + "type": "prod", + }, + }, + "location": "node_modules/extend-shallow", + "name": "extend-shallow", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/extend-shallow", + "peer": true, + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "version": "2.0.1", + }, + "extglob" => ArboristNode { + "children": Map { + "define-property" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/extglob", + "name": "define-property", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-descriptor" => EdgeOut { + "name": "is-descriptor", + "spec": "^1.0.0", + "to": "node_modules/is-descriptor", + "type": "prod", + }, + }, + "location": "node_modules/extglob/node_modules/define-property", + "name": "define-property", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/extglob/node_modules/define-property", + "peer": true, + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "version": "1.0.0", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/micromatch", + "name": "extglob", + "spec": "^2.0.4", + "type": "prod", + }, + }, + "edgesOut": Map { + "array-unique" => EdgeOut { + "name": "array-unique", + "spec": "^0.3.2", + "to": "node_modules/array-unique", + "type": "prod", + }, + "define-property" => EdgeOut { + "name": "define-property", + "spec": "^1.0.0", + "to": "node_modules/extglob/node_modules/define-property", + "type": "prod", + }, + "expand-brackets" => EdgeOut { + "name": "expand-brackets", + "spec": "^2.1.4", + "to": "node_modules/expand-brackets", + "type": "prod", + }, + "extend-shallow" => EdgeOut { + "name": "extend-shallow", + "spec": "^2.0.1", + "to": "node_modules/extend-shallow", + "type": "prod", + }, + "fragment-cache" => EdgeOut { + "name": "fragment-cache", + "spec": "^0.2.1", + "to": "node_modules/fragment-cache", + "type": "prod", + }, + "regex-not" => EdgeOut { + "name": "regex-not", + "spec": "^1.0.0", + "to": "node_modules/regex-not", + "type": "prod", + }, + "snapdragon" => EdgeOut { + "name": "snapdragon", + "spec": "^0.8.1", + "to": "node_modules/snapdragon", + "type": "prod", + }, + "to-regex" => EdgeOut { + "name": "to-regex", + "spec": "^3.0.1", + "to": "node_modules/to-regex", + "type": "prod", + }, + }, + "location": "node_modules/extglob", + "name": "extglob", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/extglob", + "peer": true, + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "version": "2.0.4", + }, + "fast-deep-equal" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/ajv", + "name": "fast-deep-equal", + "spec": "^3.1.1", + "type": "prod", + }, + }, + "location": "node_modules/fast-deep-equal", + "name": "fast-deep-equal", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/fast-deep-equal", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "version": "3.1.3", + }, + "fast-json-stable-stringify" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/ajv", + "name": "fast-json-stable-stringify", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/fast-json-stable-stringify", + "name": "fast-json-stable-stringify", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/fast-json-stable-stringify", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "version": "2.1.0", + }, + "faye-websocket" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/sockjs-client", + "name": "faye-websocket", + "spec": "^0.11.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/webpack-dev-server/node_modules/sockjs-client", + "name": "faye-websocket", + "spec": "~0.11.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "websocket-driver" => EdgeOut { + "name": "websocket-driver", + "spec": ">=0.5.1", + "to": "node_modules/websocket-driver", + "type": "prod", + }, + }, + "location": "node_modules/faye-websocket", + "name": "faye-websocket", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/faye-websocket", + "peer": true, + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", + "version": "0.11.3", + }, + "figgy-pudding" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/cacache", + "name": "figgy-pudding", + "spec": "^3.5.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/ssri", + "name": "figgy-pudding", + "spec": "^3.5.1", + "type": "prod", + }, + }, + "location": "node_modules/figgy-pudding", + "name": "figgy-pudding", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/figgy-pudding", + "peer": true, + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", + "version": "3.5.2", + }, + "file-uri-to-path" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/bindings", + "name": "file-uri-to-path", + "spec": "1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/file-uri-to-path", + "name": "file-uri-to-path", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/file-uri-to-path", + "peer": true, + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "version": "1.0.0", + }, + "fill-range" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/braces", + "name": "fill-range", + "spec": "^4.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "extend-shallow" => EdgeOut { + "name": "extend-shallow", + "spec": "^2.0.1", + "to": "node_modules/extend-shallow", + "type": "prod", + }, + "is-number" => EdgeOut { + "name": "is-number", + "spec": "^3.0.0", + "to": "node_modules/is-number", + "type": "prod", + }, + "repeat-string" => EdgeOut { + "name": "repeat-string", + "spec": "^1.6.1", + "to": "node_modules/repeat-string", + "type": "prod", + }, + "to-regex-range" => EdgeOut { + "name": "to-regex-range", + "spec": "^2.1.0", + "to": "node_modules/to-regex-range", + "type": "prod", + }, + }, + "location": "node_modules/fill-range", + "name": "fill-range", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/fill-range", + "peer": true, + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "version": "4.0.0", + }, + "finalhandler" => ArboristNode { + "children": Map { + "debug" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/finalhandler", + "name": "debug", + "spec": "2.6.9", + "type": "prod", + }, + }, + "edgesOut": Map { + "ms" => EdgeOut { + "name": "ms", + "spec": "2.0.0", + "to": "node_modules/finalhandler/node_modules/ms", + "type": "prod", + }, + }, + "location": "node_modules/finalhandler/node_modules/debug", + "name": "debug", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/finalhandler/node_modules/debug", + "peer": true, + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "version": "2.6.9", + }, + "ms" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/finalhandler/node_modules/debug", + "name": "ms", + "spec": "2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/finalhandler/node_modules/ms", + "name": "ms", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/finalhandler/node_modules/ms", + "peer": true, + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "version": "2.0.0", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/express", + "name": "finalhandler", + "spec": "~1.1.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "debug" => EdgeOut { + "name": "debug", + "spec": "2.6.9", + "to": "node_modules/finalhandler/node_modules/debug", + "type": "prod", + }, + "encodeurl" => EdgeOut { + "name": "encodeurl", + "spec": "~1.0.2", + "to": "node_modules/encodeurl", + "type": "prod", + }, + "escape-html" => EdgeOut { + "name": "escape-html", + "spec": "~1.0.3", + "to": "node_modules/escape-html", + "type": "prod", + }, + "on-finished" => EdgeOut { + "name": "on-finished", + "spec": "~2.3.0", + "to": "node_modules/on-finished", + "type": "prod", + }, + "parseurl" => EdgeOut { + "name": "parseurl", + "spec": "~1.3.3", + "to": "node_modules/parseurl", + "type": "prod", + }, + "statuses" => EdgeOut { + "name": "statuses", + "spec": "~1.5.0", + "to": "node_modules/statuses", + "type": "prod", + }, + "unpipe" => EdgeOut { + "name": "unpipe", + "spec": "~1.0.0", + "to": "node_modules/unpipe", + "type": "prod", + }, + }, + "location": "node_modules/finalhandler", + "name": "finalhandler", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/finalhandler", + "peer": true, + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "version": "1.1.2", + }, + "find-cache-dir" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/terser-webpack-plugin", + "name": "find-cache-dir", + "spec": "^2.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "commondir" => EdgeOut { + "name": "commondir", + "spec": "^1.0.1", + "to": "node_modules/commondir", + "type": "prod", + }, + "make-dir" => EdgeOut { + "name": "make-dir", + "spec": "^2.0.0", + "to": "node_modules/make-dir", + "type": "prod", + }, + "pkg-dir" => EdgeOut { + "name": "pkg-dir", + "spec": "^3.0.0", + "to": "node_modules/pkg-dir", + "type": "prod", + }, + }, + "location": "node_modules/find-cache-dir", + "name": "find-cache-dir", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/find-cache-dir", + "peer": true, + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "version": "2.1.0", + }, + "find-up" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/pkg-dir", + "name": "find-up", + "spec": "^3.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/yargs", + "name": "find-up", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "locate-path" => EdgeOut { + "name": "locate-path", + "spec": "^3.0.0", + "to": "node_modules/locate-path", + "type": "prod", + }, + }, + "location": "node_modules/find-up", + "name": "find-up", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/find-up", + "peer": true, + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "version": "3.0.0", + }, + "flush-write-stream" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/mississippi", + "name": "flush-write-stream", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "inherits" => EdgeOut { + "name": "inherits", + "spec": "^2.0.3", + "to": "node_modules/inherits", + "type": "prod", + }, + "readable-stream" => EdgeOut { + "name": "readable-stream", + "spec": "^2.3.6", + "to": "node_modules/readable-stream", + "type": "prod", + }, + }, + "location": "node_modules/flush-write-stream", + "name": "flush-write-stream", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/flush-write-stream", + "peer": true, + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "version": "1.1.1", + }, + "follow-redirects" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/http-proxy", + "name": "follow-redirects", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/follow-redirects", + "name": "follow-redirects", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/follow-redirects", + "peer": true, + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.0.tgz", + "version": "1.13.0", + }, + "for-in" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/mixin-deep", + "name": "for-in", + "spec": "^1.0.2", + "type": "prod", + }, + }, + "location": "node_modules/for-in", + "name": "for-in", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/for-in", + "peer": true, + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "version": "1.0.2", + }, + "forwarded" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/proxy-addr", + "name": "forwarded", + "spec": "~0.1.2", + "type": "prod", + }, + }, + "location": "node_modules/forwarded", + "name": "forwarded", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/forwarded", + "peer": true, + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "version": "0.1.2", + }, + "fragment-cache" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/extglob", + "name": "fragment-cache", + "spec": "^0.2.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/micromatch", + "name": "fragment-cache", + "spec": "^0.2.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/nanomatch", + "name": "fragment-cache", + "spec": "^0.2.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "map-cache" => EdgeOut { + "name": "map-cache", + "spec": "^0.2.2", + "to": "node_modules/map-cache", + "type": "prod", + }, + }, + "location": "node_modules/fragment-cache", + "name": "fragment-cache", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/fragment-cache", + "peer": true, + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "version": "0.2.1", + }, + "fresh" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/express", + "name": "fresh", + "spec": "0.5.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/send", + "name": "fresh", + "spec": "0.5.2", + "type": "prod", + }, + }, + "location": "node_modules/fresh", + "name": "fresh", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/fresh", + "peer": true, + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "version": "0.5.2", + }, + "from2" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/mississippi", + "name": "from2", + "spec": "^2.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "inherits" => EdgeOut { + "name": "inherits", + "spec": "^2.0.1", + "to": "node_modules/inherits", + "type": "prod", + }, + "readable-stream" => EdgeOut { + "name": "readable-stream", + "spec": "^2.0.0", + "to": "node_modules/readable-stream", + "type": "prod", + }, + }, + "location": "node_modules/from2", + "name": "from2", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/from2", + "peer": true, + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "version": "2.3.0", + }, + "fs-write-stream-atomic" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/copy-concurrently", + "name": "fs-write-stream-atomic", + "spec": "^1.0.8", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/move-concurrently", + "name": "fs-write-stream-atomic", + "spec": "^1.0.8", + "type": "prod", + }, + }, + "edgesOut": Map { + "graceful-fs" => EdgeOut { + "name": "graceful-fs", + "spec": "^4.1.2", + "to": "node_modules/graceful-fs", + "type": "prod", + }, + "iferr" => EdgeOut { + "name": "iferr", + "spec": "^0.1.5", + "to": "node_modules/iferr", + "type": "prod", + }, + "imurmurhash" => EdgeOut { + "name": "imurmurhash", + "spec": "^0.1.4", + "to": "node_modules/imurmurhash", + "type": "prod", + }, + "readable-stream" => EdgeOut { + "name": "readable-stream", + "spec": "1 || 2", + "to": "node_modules/readable-stream", + "type": "prod", + }, + }, + "location": "node_modules/fs-write-stream-atomic", + "name": "fs-write-stream-atomic", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/fs-write-stream-atomic", + "peer": true, + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "version": "1.0.10", + }, + "fs.realpath" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/glob", + "name": "fs.realpath", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/fs.realpath", + "name": "fs.realpath", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/fs.realpath", + "peer": true, + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "version": "1.0.0", + }, + "fsevents" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/chokidar", + "name": "fsevents", + "spec": "^1.2.7", + "type": "optional", + }, + }, + "edgesOut": Map { + "bindings" => EdgeOut { + "name": "bindings", + "spec": "^1.5.0", + "to": "node_modules/bindings", + "type": "prod", + }, + "nan" => EdgeOut { + "name": "nan", + "spec": "^2.12.1", + "to": "node_modules/nan", + "type": "prod", + }, + }, + "location": "node_modules/fsevents", + "name": "fsevents", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/fsevents", + "peer": true, + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "version": "1.2.13", + }, + "function-bind" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/es-abstract", + "name": "function-bind", + "spec": "^1.1.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/has", + "name": "function-bind", + "spec": "^1.1.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/regexp.prototype.flags/node_modules/es-abstract", + "name": "function-bind", + "spec": "^1.1.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/string.prototype.trimend/node_modules/es-abstract", + "name": "function-bind", + "spec": "^1.1.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/string.prototype.trimstart/node_modules/es-abstract", + "name": "function-bind", + "spec": "^1.1.1", + "type": "prod", + }, + }, + "location": "node_modules/function-bind", + "name": "function-bind", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/function-bind", + "peer": true, + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "version": "1.1.1", + }, + "get-caller-file" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/yargs", + "name": "get-caller-file", + "spec": "^2.0.1", + "type": "prod", + }, + }, + "location": "node_modules/get-caller-file", + "name": "get-caller-file", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/get-caller-file", + "peer": true, + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "version": "2.0.5", + }, + "get-stream" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/execa", + "name": "get-stream", + "spec": "^4.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "pump" => EdgeOut { + "name": "pump", + "spec": "^3.0.0", + "to": "node_modules/pump", + "type": "prod", + }, + }, + "location": "node_modules/get-stream", + "name": "get-stream", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/get-stream", + "peer": true, + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "version": "4.1.0", + }, + "get-value" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/cache-base", + "name": "get-value", + "spec": "^2.0.6", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/has-value", + "name": "get-value", + "spec": "^2.0.6", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/union-value", + "name": "get-value", + "spec": "^2.0.6", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/unset-value/node_modules/has-value", + "name": "get-value", + "spec": "^2.0.3", + "type": "prod", + }, + }, + "location": "node_modules/get-value", + "name": "get-value", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/get-value", + "peer": true, + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "version": "2.0.6", + }, + "glob" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/cacache", + "name": "glob", + "spec": "^7.1.4", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/globby", + "name": "glob", + "spec": "^7.0.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/rimraf", + "name": "glob", + "spec": "^7.1.3", + "type": "prod", + }, + }, + "edgesOut": Map { + "fs.realpath" => EdgeOut { + "name": "fs.realpath", + "spec": "^1.0.0", + "to": "node_modules/fs.realpath", + "type": "prod", + }, + "inflight" => EdgeOut { + "name": "inflight", + "spec": "^1.0.4", + "to": "node_modules/inflight", + "type": "prod", + }, + "inherits" => EdgeOut { + "name": "inherits", + "spec": "2", + "to": "node_modules/inherits", + "type": "prod", + }, + "minimatch" => EdgeOut { + "name": "minimatch", + "spec": "^3.0.4", + "to": "node_modules/minimatch", + "type": "prod", + }, + "once" => EdgeOut { + "name": "once", + "spec": "^1.3.0", + "to": "node_modules/once", + "type": "prod", + }, + "path-is-absolute" => EdgeOut { + "name": "path-is-absolute", + "spec": "^1.0.0", + "to": "node_modules/path-is-absolute", + "type": "prod", + }, + }, + "location": "node_modules/glob", + "name": "glob", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/glob", + "peer": true, + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "version": "7.1.6", + }, + "glob-parent" => ArboristNode { + "children": Map { + "is-glob" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/glob-parent", + "name": "is-glob", + "spec": "^3.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-extglob" => EdgeOut { + "name": "is-extglob", + "spec": "^2.1.0", + "to": "node_modules/is-extglob", + "type": "prod", + }, + }, + "location": "node_modules/glob-parent/node_modules/is-glob", + "name": "is-glob", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/glob-parent/node_modules/is-glob", + "peer": true, + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "version": "3.1.0", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/chokidar", + "name": "glob-parent", + "spec": "^3.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-glob" => EdgeOut { + "name": "is-glob", + "spec": "^3.1.0", + "to": "node_modules/glob-parent/node_modules/is-glob", + "type": "prod", + }, + "path-dirname" => EdgeOut { + "name": "path-dirname", + "spec": "^1.0.0", + "to": "node_modules/path-dirname", + "type": "prod", + }, + }, + "location": "node_modules/glob-parent", + "name": "glob-parent", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/glob-parent", + "peer": true, + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "version": "3.1.0", + }, + "globby" => ArboristNode { + "children": Map { + "pify" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/globby", + "name": "pify", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/globby/node_modules/pify", + "name": "pify", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/globby/node_modules/pify", + "peer": true, + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "version": "2.3.0", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/del", + "name": "globby", + "spec": "^6.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "array-union" => EdgeOut { + "name": "array-union", + "spec": "^1.0.1", + "to": "node_modules/array-union", + "type": "prod", + }, + "glob" => EdgeOut { + "name": "glob", + "spec": "^7.0.3", + "to": "node_modules/glob", + "type": "prod", + }, + "object-assign" => EdgeOut { + "name": "object-assign", + "spec": "^4.0.1", + "to": "node_modules/object-assign", + "type": "prod", + }, + "pify" => EdgeOut { + "name": "pify", + "spec": "^2.0.0", + "to": "node_modules/globby/node_modules/pify", + "type": "prod", + }, + "pinkie-promise" => EdgeOut { + "name": "pinkie-promise", + "spec": "^2.0.0", + "to": "node_modules/pinkie-promise", + "type": "prod", + }, + }, + "location": "node_modules/globby", + "name": "globby", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/globby", + "peer": true, + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "version": "6.1.0", + }, + "graceful-fs" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/cacache", + "name": "graceful-fs", + "spec": "^4.1.15", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/enhanced-resolve", + "name": "graceful-fs", + "spec": "^4.1.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/fs-write-stream-atomic", + "name": "graceful-fs", + "spec": "^4.1.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/readdirp", + "name": "graceful-fs", + "spec": "^4.1.11", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/watchpack", + "name": "graceful-fs", + "spec": "^4.1.2", + "type": "prod", + }, + }, + "location": "node_modules/graceful-fs", + "name": "graceful-fs", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/graceful-fs", + "peer": true, + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "version": "4.2.4", + }, + "handle-thing" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/spdy", + "name": "handle-thing", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/handle-thing", + "name": "handle-thing", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/handle-thing", + "peer": true, + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "version": "2.0.1", + }, + "has" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/es-abstract", + "name": "has", + "spec": "^1.0.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/regexp.prototype.flags/node_modules/es-abstract", + "name": "has", + "spec": "^1.0.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/string.prototype.trimend/node_modules/es-abstract", + "name": "has", + "spec": "^1.0.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/string.prototype.trimstart/node_modules/es-abstract", + "name": "has", + "spec": "^1.0.3", + "type": "prod", + }, + }, + "edgesOut": Map { + "function-bind" => EdgeOut { + "name": "function-bind", + "spec": "^1.1.1", + "to": "node_modules/function-bind", + "type": "prod", + }, + }, + "location": "node_modules/has", + "name": "has", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/has", + "peer": true, + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "version": "1.0.3", + }, + "has-flag" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-dev-server/node_modules/supports-color", + "name": "has-flag", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "location": "node_modules/has-flag", + "name": "has-flag", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/has-flag", + "peer": true, + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "version": "3.0.0", + }, + "has-symbols" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/es-abstract", + "name": "has-symbols", + "spec": "^1.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/is-regex", + "name": "has-symbols", + "spec": "^1.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/is-symbol", + "name": "has-symbols", + "spec": "^1.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/object.assign", + "name": "has-symbols", + "spec": "^1.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/regexp.prototype.flags/node_modules/es-abstract", + "name": "has-symbols", + "spec": "^1.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/string.prototype.trimend/node_modules/es-abstract", + "name": "has-symbols", + "spec": "^1.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/string.prototype.trimstart/node_modules/es-abstract", + "name": "has-symbols", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "location": "node_modules/has-symbols", + "name": "has-symbols", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/has-symbols", + "peer": true, + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "version": "1.0.1", + }, + "has-value" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/cache-base", + "name": "has-value", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "get-value" => EdgeOut { + "name": "get-value", + "spec": "^2.0.6", + "to": "node_modules/get-value", + "type": "prod", + }, + "has-values" => EdgeOut { + "name": "has-values", + "spec": "^1.0.0", + "to": "node_modules/has-values", + "type": "prod", + }, + "isobject" => EdgeOut { + "name": "isobject", + "spec": "^3.0.0", + "to": "node_modules/isobject", + "type": "prod", + }, + }, + "location": "node_modules/has-value", + "name": "has-value", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/has-value", + "peer": true, + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "version": "1.0.0", + }, + "has-values" => ArboristNode { + "children": Map { + "kind-of" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/has-values", + "name": "kind-of", + "spec": "^4.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-buffer" => EdgeOut { + "name": "is-buffer", + "spec": "^1.1.5", + "to": "node_modules/is-buffer", + "type": "prod", + }, + }, + "location": "node_modules/has-values/node_modules/kind-of", + "name": "kind-of", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/has-values/node_modules/kind-of", + "peer": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "version": "4.0.0", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/has-value", + "name": "has-values", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-number" => EdgeOut { + "name": "is-number", + "spec": "^3.0.0", + "to": "node_modules/is-number", + "type": "prod", + }, + "kind-of" => EdgeOut { + "name": "kind-of", + "spec": "^4.0.0", + "to": "node_modules/has-values/node_modules/kind-of", + "type": "prod", + }, + }, + "location": "node_modules/has-values", + "name": "has-values", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/has-values", + "peer": true, + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "version": "1.0.0", + }, + "hash-base" => ArboristNode { + "children": Map { + "readable-stream" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/hash-base", + "name": "readable-stream", + "spec": "^3.6.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "inherits" => EdgeOut { + "name": "inherits", + "spec": "^2.0.3", + "to": "node_modules/inherits", + "type": "prod", + }, + "string_decoder" => EdgeOut { + "name": "string_decoder", + "spec": "^1.1.1", + "to": "node_modules/string_decoder", + "type": "prod", + }, + "util-deprecate" => EdgeOut { + "name": "util-deprecate", + "spec": "^1.0.1", + "to": "node_modules/util-deprecate", + "type": "prod", + }, + }, + "location": "node_modules/hash-base/node_modules/readable-stream", + "name": "readable-stream", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/hash-base/node_modules/readable-stream", + "peer": true, + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "version": "3.6.0", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/md5.js", + "name": "hash-base", + "spec": "^3.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/ripemd160", + "name": "hash-base", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "inherits" => EdgeOut { + "name": "inherits", + "spec": "^2.0.4", + "to": "node_modules/inherits", + "type": "prod", + }, + "readable-stream" => EdgeOut { + "name": "readable-stream", + "spec": "^3.6.0", + "to": "node_modules/hash-base/node_modules/readable-stream", + "type": "prod", + }, + "safe-buffer" => EdgeOut { + "name": "safe-buffer", + "spec": "^5.2.0", + "to": "node_modules/safe-buffer", + "type": "prod", + }, + }, + "location": "node_modules/hash-base", + "name": "hash-base", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/hash-base", + "peer": true, + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "version": "3.1.0", + }, + "hash.js" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/elliptic", + "name": "hash.js", + "spec": "^1.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/hmac-drbg", + "name": "hash.js", + "spec": "^1.0.3", + "type": "prod", + }, + }, + "edgesOut": Map { + "inherits" => EdgeOut { + "name": "inherits", + "spec": "^2.0.3", + "to": "node_modules/inherits", + "type": "prod", + }, + "minimalistic-assert" => EdgeOut { + "name": "minimalistic-assert", + "spec": "^1.0.1", + "to": "node_modules/minimalistic-assert", + "type": "prod", + }, + }, + "location": "node_modules/hash.js", + "name": "hash.js", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/hash.js", + "peer": true, + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "version": "1.1.7", + }, + "hmac-drbg" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/elliptic", + "name": "hmac-drbg", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "hash.js" => EdgeOut { + "name": "hash.js", + "spec": "^1.0.3", + "to": "node_modules/hash.js", + "type": "prod", + }, + "minimalistic-assert" => EdgeOut { + "name": "minimalistic-assert", + "spec": "^1.0.0", + "to": "node_modules/minimalistic-assert", + "type": "prod", + }, + "minimalistic-crypto-utils" => EdgeOut { + "name": "minimalistic-crypto-utils", + "spec": "^1.0.1", + "to": "node_modules/minimalistic-crypto-utils", + "type": "prod", + }, + }, + "location": "node_modules/hmac-drbg", + "name": "hmac-drbg", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/hmac-drbg", + "peer": true, + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "version": "1.0.1", + }, + "hpack.js" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/spdy-transport", + "name": "hpack.js", + "spec": "^2.1.6", + "type": "prod", + }, + }, + "edgesOut": Map { + "inherits" => EdgeOut { + "name": "inherits", + "spec": "^2.0.1", + "to": "node_modules/inherits", + "type": "prod", + }, + "obuf" => EdgeOut { + "name": "obuf", + "spec": "^1.0.0", + "to": "node_modules/obuf", + "type": "prod", + }, + "readable-stream" => EdgeOut { + "name": "readable-stream", + "spec": "^2.0.1", + "to": "node_modules/readable-stream", + "type": "prod", + }, + "wbuf" => EdgeOut { + "name": "wbuf", + "spec": "^1.1.0", + "to": "node_modules/wbuf", + "type": "prod", + }, + }, + "location": "node_modules/hpack.js", + "name": "hpack.js", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/hpack.js", + "peer": true, + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "version": "2.1.6", + }, + "html-entities" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/@pmmmwh/react-refresh-webpack-plugin", + "name": "html-entities", + "spec": "^1.2.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "html-entities", + "spec": "^1.3.1", + "type": "prod", + }, + }, + "location": "node_modules/html-entities", + "name": "html-entities", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/html-entities", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.3.1.tgz", + "version": "1.3.1", + }, + "http-deceiver" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/spdy", + "name": "http-deceiver", + "spec": "^1.2.7", + "type": "prod", + }, + }, + "location": "node_modules/http-deceiver", + "name": "http-deceiver", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/http-deceiver", + "peer": true, + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "version": "1.2.7", + }, + "http-errors" => ArboristNode { + "children": Map { + "inherits" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/http-errors", + "name": "inherits", + "spec": "2.0.3", + "type": "prod", + }, + }, + "location": "node_modules/http-errors/node_modules/inherits", + "name": "inherits", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/http-errors/node_modules/inherits", + "peer": true, + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "version": "2.0.3", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/body-parser", + "name": "http-errors", + "spec": "1.7.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/raw-body", + "name": "http-errors", + "spec": "1.7.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/send", + "name": "http-errors", + "spec": "~1.7.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "depd" => EdgeOut { + "name": "depd", + "spec": "~1.1.2", + "to": "node_modules/depd", + "type": "prod", + }, + "inherits" => EdgeOut { + "name": "inherits", + "spec": "2.0.3", + "to": "node_modules/http-errors/node_modules/inherits", + "type": "prod", + }, + "setprototypeof" => EdgeOut { + "name": "setprototypeof", + "spec": "1.1.1", + "to": "node_modules/setprototypeof", + "type": "prod", + }, + "statuses" => EdgeOut { + "name": "statuses", + "spec": ">= 1.5.0 < 2", + "to": "node_modules/statuses", + "type": "prod", + }, + "toidentifier" => EdgeOut { + "name": "toidentifier", + "spec": "1.0.0", + "to": "node_modules/toidentifier", + "type": "prod", + }, + }, + "location": "node_modules/http-errors", + "name": "http-errors", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/http-errors", + "peer": true, + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "version": "1.7.2", + }, + "http-parser-js" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/websocket-driver", + "name": "http-parser-js", + "spec": ">=0.5.1", + "type": "prod", + }, + }, + "location": "node_modules/http-parser-js", + "name": "http-parser-js", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/http-parser-js", + "peer": true, + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", + "version": "0.5.8", + }, + "http-proxy" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/http-proxy-middleware", + "name": "http-proxy", + "spec": "^1.17.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "eventemitter3" => EdgeOut { + "name": "eventemitter3", + "spec": "^4.0.0", + "to": "node_modules/eventemitter3", + "type": "prod", + }, + "follow-redirects" => EdgeOut { + "name": "follow-redirects", + "spec": "^1.0.0", + "to": "node_modules/follow-redirects", + "type": "prod", + }, + "requires-port" => EdgeOut { + "name": "requires-port", + "spec": "^1.0.0", + "to": "node_modules/requires-port", + "type": "prod", + }, + }, + "location": "node_modules/http-proxy", + "name": "http-proxy", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/http-proxy", + "peer": true, + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "version": "1.18.1", + }, + "http-proxy-middleware" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "http-proxy-middleware", + "spec": "0.19.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "http-proxy" => EdgeOut { + "name": "http-proxy", + "spec": "^1.17.0", + "to": "node_modules/http-proxy", + "type": "prod", + }, + "is-glob" => EdgeOut { + "name": "is-glob", + "spec": "^4.0.0", + "to": "node_modules/is-glob", + "type": "prod", + }, + "lodash" => EdgeOut { + "name": "lodash", + "spec": "^4.17.11", + "to": "node_modules/lodash", + "type": "prod", + }, + "micromatch" => EdgeOut { + "name": "micromatch", + "spec": "^3.1.10", + "to": "node_modules/micromatch", + "type": "prod", + }, + }, + "location": "node_modules/http-proxy-middleware", + "name": "http-proxy-middleware", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/http-proxy-middleware", + "peer": true, + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", + "version": "0.19.1", + }, + "https-browserify" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/node-libs-browser", + "name": "https-browserify", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/https-browserify", + "name": "https-browserify", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/https-browserify", + "peer": true, + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "version": "1.0.0", + }, + "iconv-lite" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/body-parser", + "name": "iconv-lite", + "spec": "0.4.24", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/raw-body", + "name": "iconv-lite", + "spec": "0.4.24", + "type": "prod", + }, + }, + "edgesOut": Map { + "safer-buffer" => EdgeOut { + "name": "safer-buffer", + "spec": ">= 2.1.2 < 3", + "to": "node_modules/safer-buffer", + "type": "prod", + }, + }, + "location": "node_modules/iconv-lite", + "name": "iconv-lite", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/iconv-lite", + "peer": true, + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "version": "0.4.24", + }, + "ieee754" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/buffer", + "name": "ieee754", + "spec": "^1.1.4", + "type": "prod", + }, + }, + "location": "node_modules/ieee754", + "name": "ieee754", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/ieee754", + "peer": true, + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "version": "1.2.1", + }, + "iferr" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/copy-concurrently", + "name": "iferr", + "spec": "^0.1.5", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/fs-write-stream-atomic", + "name": "iferr", + "spec": "^0.1.5", + "type": "prod", + }, + }, + "location": "node_modules/iferr", + "name": "iferr", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/iferr", + "peer": true, + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "version": "0.1.5", + }, + "import-local" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "import-local", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "pkg-dir" => EdgeOut { + "name": "pkg-dir", + "spec": "^3.0.0", + "to": "node_modules/pkg-dir", + "type": "prod", + }, + "resolve-cwd" => EdgeOut { + "name": "resolve-cwd", + "spec": "^2.0.0", + "to": "node_modules/resolve-cwd", + "type": "prod", + }, + }, + "location": "node_modules/import-local", + "name": "import-local", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/import-local", + "peer": true, + "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", + "version": "2.0.0", + }, + "imurmurhash" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/fs-write-stream-atomic", + "name": "imurmurhash", + "spec": "^0.1.4", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/unique-slug", + "name": "imurmurhash", + "spec": "^0.1.4", + "type": "prod", + }, + }, + "location": "node_modules/imurmurhash", + "name": "imurmurhash", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/imurmurhash", + "peer": true, + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "version": "0.1.4", + }, + "infer-owner" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/cacache", + "name": "infer-owner", + "spec": "^1.0.3", + "type": "prod", + }, + }, + "location": "node_modules/infer-owner", + "name": "infer-owner", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/infer-owner", + "peer": true, + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "version": "1.0.4", + }, + "inflight" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/glob", + "name": "inflight", + "spec": "^1.0.4", + "type": "prod", + }, + }, + "edgesOut": Map { + "once" => EdgeOut { + "name": "once", + "spec": "^1.3.0", + "to": "node_modules/once", + "type": "prod", + }, + "wrappy" => EdgeOut { + "name": "wrappy", + "spec": "1", + "to": "node_modules/wrappy", + "type": "prod", + }, + }, + "location": "node_modules/inflight", + "name": "inflight", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/inflight", + "peer": true, + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "version": "1.0.6", + }, + "inherits" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/asn1.js", + "name": "inherits", + "spec": "^2.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/browserify-aes", + "name": "inherits", + "spec": "^2.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/browserify-des", + "name": "inherits", + "spec": "^2.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/browserify-sign", + "name": "inherits", + "spec": "^2.0.4", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/browserify-sign/node_modules/readable-stream", + "name": "inherits", + "spec": "^2.0.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/chokidar", + "name": "inherits", + "spec": "^2.0.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/cipher-base", + "name": "inherits", + "spec": "^2.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/concat-stream", + "name": "inherits", + "spec": "^2.0.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/create-hash", + "name": "inherits", + "spec": "^2.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/create-hmac", + "name": "inherits", + "spec": "^2.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/crypto-browserify", + "name": "inherits", + "spec": "^2.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/des.js", + "name": "inherits", + "spec": "^2.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/duplexify", + "name": "inherits", + "spec": "^2.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/elliptic", + "name": "inherits", + "spec": "^2.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/flush-write-stream", + "name": "inherits", + "spec": "^2.0.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/from2", + "name": "inherits", + "spec": "^2.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/glob", + "name": "inherits", + "spec": "2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/hash-base", + "name": "inherits", + "spec": "^2.0.4", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/hash-base/node_modules/readable-stream", + "name": "inherits", + "spec": "^2.0.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/hash.js", + "name": "inherits", + "spec": "^2.0.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/hpack.js", + "name": "inherits", + "spec": "^2.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/md5.js", + "name": "inherits", + "spec": "^2.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/parallel-transform", + "name": "inherits", + "spec": "^2.0.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/pumpify", + "name": "inherits", + "spec": "^2.0.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/readable-stream", + "name": "inherits", + "spec": "~2.0.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/ripemd160", + "name": "inherits", + "spec": "^2.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/sha.js", + "name": "inherits", + "spec": "^2.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/sockjs-client", + "name": "inherits", + "spec": "^2.0.4", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/spdy-transport/node_modules/readable-stream", + "name": "inherits", + "spec": "^2.0.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/stream-browserify", + "name": "inherits", + "spec": "~2.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/stream-http", + "name": "inherits", + "spec": "^2.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/webpack-dev-server/node_modules/sockjs-client", + "name": "inherits", + "spec": "^2.0.3", + "type": "prod", + }, + }, + "location": "node_modules/inherits", + "name": "inherits", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/inherits", + "peer": true, + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "version": "2.0.4", + }, + "internal-ip" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "internal-ip", + "spec": "^4.3.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "default-gateway" => EdgeOut { + "name": "default-gateway", + "spec": "^4.2.0", + "to": "node_modules/default-gateway", + "type": "prod", + }, + "ipaddr.js" => EdgeOut { + "name": "ipaddr.js", + "spec": "^1.9.0", + "to": "node_modules/ipaddr.js", + "type": "prod", + }, + }, + "location": "node_modules/internal-ip", + "name": "internal-ip", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/internal-ip", + "peer": true, + "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", + "version": "4.3.0", + }, + "ip" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/dns-packet", + "name": "ip", + "spec": "^1.1.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "ip", + "spec": "^1.1.5", + "type": "prod", + }, + }, + "location": "node_modules/ip", + "name": "ip", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/ip", + "peer": true, + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "version": "1.1.5", + }, + "ip-regex" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/default-gateway", + "name": "ip-regex", + "spec": "^2.1.0", + "type": "prod", + }, + }, + "location": "node_modules/ip-regex", + "name": "ip-regex", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/ip-regex", + "peer": true, + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "version": "2.1.0", + }, + "ipaddr.js" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/internal-ip", + "name": "ipaddr.js", + "spec": "^1.9.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/proxy-addr", + "name": "ipaddr.js", + "spec": "1.9.1", + "type": "prod", + }, + }, + "location": "node_modules/ipaddr.js", + "name": "ipaddr.js", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/ipaddr.js", + "peer": true, + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "version": "1.9.1", + }, + "is-absolute-url" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "is-absolute-url", + "spec": "^3.0.3", + "type": "prod", + }, + }, + "location": "node_modules/is-absolute-url", + "name": "is-absolute-url", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/is-absolute-url", + "peer": true, + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", + "version": "3.0.3", + }, + "is-accessor-descriptor" => ArboristNode { + "children": Map { + "kind-of" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/is-accessor-descriptor", + "name": "kind-of", + "spec": "^6.0.0", + "type": "prod", + }, + }, + "location": "node_modules/is-accessor-descriptor/node_modules/kind-of", + "name": "kind-of", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/is-accessor-descriptor/node_modules/kind-of", + "peer": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "version": "6.0.3", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/is-descriptor", + "name": "is-accessor-descriptor", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "kind-of" => EdgeOut { + "name": "kind-of", + "spec": "^6.0.0", + "to": "node_modules/is-accessor-descriptor/node_modules/kind-of", + "type": "prod", + }, + }, + "location": "node_modules/is-accessor-descriptor", + "name": "is-accessor-descriptor", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/is-accessor-descriptor", + "peer": true, + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "version": "1.0.0", + }, + "is-arguments" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/deep-equal", + "name": "is-arguments", + "spec": "^1.0.4", + "type": "prod", + }, + }, + "location": "node_modules/is-arguments", + "name": "is-arguments", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/is-arguments", + "peer": true, + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz", + "version": "1.0.4", + }, + "is-binary-path" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/chokidar", + "name": "is-binary-path", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "binary-extensions" => EdgeOut { + "name": "binary-extensions", + "spec": "^1.0.0", + "to": "node_modules/binary-extensions", + "type": "prod", + }, + }, + "location": "node_modules/is-binary-path", + "name": "is-binary-path", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/is-binary-path", + "peer": true, + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "version": "1.0.1", + }, + "is-buffer" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/has-values/node_modules/kind-of", + "name": "is-buffer", + "spec": "^1.1.5", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/kind-of", + "name": "is-buffer", + "spec": "^1.1.5", + "type": "prod", + }, + }, + "location": "node_modules/is-buffer", + "name": "is-buffer", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/is-buffer", + "peer": true, + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "version": "1.1.6", + }, + "is-callable" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/es-abstract", + "name": "is-callable", + "spec": "^1.2.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/es-to-primitive", + "name": "is-callable", + "spec": "^1.1.4", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/regexp.prototype.flags/node_modules/es-abstract", + "name": "is-callable", + "spec": "^1.2.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/string.prototype.trimend/node_modules/es-abstract", + "name": "is-callable", + "spec": "^1.2.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/string.prototype.trimstart/node_modules/es-abstract", + "name": "is-callable", + "spec": "^1.2.2", + "type": "prod", + }, + }, + "location": "node_modules/is-callable", + "name": "is-callable", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/is-callable", + "peer": true, + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", + "version": "1.2.2", + }, + "is-data-descriptor" => ArboristNode { + "children": Map { + "kind-of" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/is-data-descriptor", + "name": "kind-of", + "spec": "^6.0.0", + "type": "prod", + }, + }, + "location": "node_modules/is-data-descriptor/node_modules/kind-of", + "name": "kind-of", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/is-data-descriptor/node_modules/kind-of", + "peer": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "version": "6.0.3", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/is-descriptor", + "name": "is-data-descriptor", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "kind-of" => EdgeOut { + "name": "kind-of", + "spec": "^6.0.0", + "to": "node_modules/is-data-descriptor/node_modules/kind-of", + "type": "prod", + }, + }, + "location": "node_modules/is-data-descriptor", + "name": "is-data-descriptor", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/is-data-descriptor", + "peer": true, + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "version": "1.0.0", + }, + "is-date-object" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/deep-equal", + "name": "is-date-object", + "spec": "^1.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/es-to-primitive", + "name": "is-date-object", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "location": "node_modules/is-date-object", + "name": "is-date-object", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/is-date-object", + "peer": true, + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", + "version": "1.0.2", + }, + "is-descriptor" => ArboristNode { + "children": Map { + "kind-of" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/is-descriptor", + "name": "kind-of", + "spec": "^6.0.2", + "type": "prod", + }, + }, + "location": "node_modules/is-descriptor/node_modules/kind-of", + "name": "kind-of", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/is-descriptor/node_modules/kind-of", + "peer": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "version": "6.0.3", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/base/node_modules/define-property", + "name": "is-descriptor", + "spec": "^1.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/define-property", + "name": "is-descriptor", + "spec": "^1.0.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/extglob/node_modules/define-property", + "name": "is-descriptor", + "spec": "^1.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/snapdragon-node/node_modules/define-property", + "name": "is-descriptor", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-accessor-descriptor" => EdgeOut { + "name": "is-accessor-descriptor", + "spec": "^1.0.0", + "to": "node_modules/is-accessor-descriptor", + "type": "prod", + }, + "is-data-descriptor" => EdgeOut { + "name": "is-data-descriptor", + "spec": "^1.0.0", + "to": "node_modules/is-data-descriptor", + "type": "prod", + }, + "kind-of" => EdgeOut { + "name": "kind-of", + "spec": "^6.0.2", + "to": "node_modules/is-descriptor/node_modules/kind-of", + "type": "prod", + }, + }, + "location": "node_modules/is-descriptor", + "name": "is-descriptor", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/is-descriptor", + "peer": true, + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "version": "1.0.2", + }, + "is-extendable" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/extend-shallow", + "name": "is-extendable", + "spec": "^0.1.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/set-value", + "name": "is-extendable", + "spec": "^0.1.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/union-value", + "name": "is-extendable", + "spec": "^0.1.1", + "type": "prod", + }, + }, + "location": "node_modules/is-extendable", + "name": "is-extendable", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/is-extendable", + "peer": true, + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "version": "0.1.1", + }, + "is-extglob" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/glob-parent/node_modules/is-glob", + "name": "is-extglob", + "spec": "^2.1.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/is-glob", + "name": "is-extglob", + "spec": "^2.1.1", + "type": "prod", + }, + }, + "location": "node_modules/is-extglob", + "name": "is-extglob", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/is-extglob", + "peer": true, + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "version": "2.1.1", + }, + "is-fullwidth-code-point" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/string-width", + "name": "is-fullwidth-code-point", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/is-fullwidth-code-point", + "name": "is-fullwidth-code-point", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/is-fullwidth-code-point", + "peer": true, + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "version": "2.0.0", + }, + "is-glob" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/chokidar", + "name": "is-glob", + "spec": "^4.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/http-proxy-middleware", + "name": "is-glob", + "spec": "^4.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/watchpack/node_modules/chokidar", + "name": "is-glob", + "spec": "~4.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/watchpack/node_modules/glob-parent", + "name": "is-glob", + "spec": "^4.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-extglob" => EdgeOut { + "name": "is-extglob", + "spec": "^2.1.1", + "to": "node_modules/is-extglob", + "type": "prod", + }, + }, + "location": "node_modules/is-glob", + "name": "is-glob", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/is-glob", + "peer": true, + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "version": "4.0.1", + }, + "is-negative-zero" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/es-abstract", + "name": "is-negative-zero", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/is-negative-zero", + "name": "is-negative-zero", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/is-negative-zero", + "peer": true, + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.0.tgz", + "version": "2.0.0", + }, + "is-number" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/fill-range", + "name": "is-number", + "spec": "^3.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/has-values", + "name": "is-number", + "spec": "^3.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/to-regex-range", + "name": "is-number", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "kind-of" => EdgeOut { + "name": "kind-of", + "spec": "^3.0.2", + "to": "node_modules/kind-of", + "type": "prod", + }, + }, + "location": "node_modules/is-number", + "name": "is-number", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/is-number", + "peer": true, + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "version": "3.0.0", + }, + "is-path-cwd" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/del", + "name": "is-path-cwd", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/is-path-cwd", + "name": "is-path-cwd", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/is-path-cwd", + "peer": true, + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "version": "2.2.0", + }, + "is-path-in-cwd" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/del", + "name": "is-path-in-cwd", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-path-inside" => EdgeOut { + "name": "is-path-inside", + "spec": "^2.1.0", + "to": "node_modules/is-path-inside", + "type": "prod", + }, + }, + "location": "node_modules/is-path-in-cwd", + "name": "is-path-in-cwd", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/is-path-in-cwd", + "peer": true, + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", + "version": "2.1.0", + }, + "is-path-inside" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/is-path-in-cwd", + "name": "is-path-inside", + "spec": "^2.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "path-is-inside" => EdgeOut { + "name": "path-is-inside", + "spec": "^1.0.2", + "to": "node_modules/path-is-inside", + "type": "prod", + }, + }, + "location": "node_modules/is-path-inside", + "name": "is-path-inside", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/is-path-inside", + "peer": true, + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", + "version": "2.1.0", + }, + "is-plain-object" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/micromatch/node_modules/is-extendable", + "name": "is-plain-object", + "spec": "^2.0.4", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/mixin-deep/node_modules/is-extendable", + "name": "is-plain-object", + "spec": "^2.0.4", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/nanomatch/node_modules/is-extendable", + "name": "is-plain-object", + "spec": "^2.0.4", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/regex-not/node_modules/is-extendable", + "name": "is-plain-object", + "spec": "^2.0.4", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/set-value", + "name": "is-plain-object", + "spec": "^2.0.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/split-string/node_modules/is-extendable", + "name": "is-plain-object", + "spec": "^2.0.4", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/to-regex/node_modules/is-extendable", + "name": "is-plain-object", + "spec": "^2.0.4", + "type": "prod", + }, + }, + "edgesOut": Map { + "isobject" => EdgeOut { + "name": "isobject", + "spec": "^3.0.1", + "to": "node_modules/isobject", + "type": "prod", + }, + }, + "location": "node_modules/is-plain-object", + "name": "is-plain-object", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/is-plain-object", + "peer": true, + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "version": "2.0.4", + }, + "is-regex" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/deep-equal", + "name": "is-regex", + "spec": "^1.0.4", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/es-abstract", + "name": "is-regex", + "spec": "^1.1.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/regexp.prototype.flags/node_modules/es-abstract", + "name": "is-regex", + "spec": "^1.1.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/string.prototype.trimend/node_modules/es-abstract", + "name": "is-regex", + "spec": "^1.1.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/string.prototype.trimstart/node_modules/es-abstract", + "name": "is-regex", + "spec": "^1.1.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "has-symbols" => EdgeOut { + "name": "has-symbols", + "spec": "^1.0.1", + "to": "node_modules/has-symbols", + "type": "prod", + }, + }, + "location": "node_modules/is-regex", + "name": "is-regex", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/is-regex", + "peer": true, + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", + "version": "1.1.1", + }, + "is-stream" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/execa", + "name": "is-stream", + "spec": "^1.1.0", + "type": "prod", + }, + }, + "location": "node_modules/is-stream", + "name": "is-stream", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/is-stream", + "peer": true, + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "version": "1.1.0", + }, + "is-symbol" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/es-to-primitive", + "name": "is-symbol", + "spec": "^1.0.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "has-symbols" => EdgeOut { + "name": "has-symbols", + "spec": "^1.0.1", + "to": "node_modules/has-symbols", + "type": "prod", + }, + }, + "location": "node_modules/is-symbol", + "name": "is-symbol", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/is-symbol", + "peer": true, + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", + "version": "1.0.3", + }, + "is-windows" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/nanomatch", + "name": "is-windows", + "spec": "^1.0.2", + "type": "prod", + }, + }, + "location": "node_modules/is-windows", + "name": "is-windows", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/is-windows", + "peer": true, + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "version": "1.0.2", + }, + "is-wsl" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/opn", + "name": "is-wsl", + "spec": "^1.1.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/terser-webpack-plugin", + "name": "is-wsl", + "spec": "^1.1.0", + "type": "prod", + }, + }, + "location": "node_modules/is-wsl", + "name": "is-wsl", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/is-wsl", + "peer": true, + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "version": "1.1.0", + }, + "isarray" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/buffer", + "name": "isarray", + "spec": "^1.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/readable-stream", + "name": "isarray", + "spec": "~1.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/unset-value/node_modules/has-value/node_modules/isobject", + "name": "isarray", + "spec": "1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/isarray", + "name": "isarray", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/isarray", + "peer": true, + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "version": "1.0.0", + }, + "isexe" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/which", + "name": "isexe", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/isexe", + "name": "isexe", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/isexe", + "peer": true, + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "version": "2.0.0", + }, + "isobject" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/base", + "name": "isobject", + "spec": "^3.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/braces", + "name": "isobject", + "spec": "^3.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/cache-base", + "name": "isobject", + "spec": "^3.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/class-utils", + "name": "isobject", + "spec": "^3.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/define-property", + "name": "isobject", + "spec": "^3.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/has-value", + "name": "isobject", + "spec": "^3.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/is-plain-object", + "name": "isobject", + "spec": "^3.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/object-visit", + "name": "isobject", + "spec": "^3.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/object.pick", + "name": "isobject", + "spec": "^3.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/snapdragon-node", + "name": "isobject", + "spec": "^3.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/unset-value", + "name": "isobject", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "location": "node_modules/isobject", + "name": "isobject", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/isobject", + "peer": true, + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "version": "3.0.1", + }, + "json-parse-better-errors" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack", + "name": "json-parse-better-errors", + "spec": "^1.0.2", + "type": "prod", + }, + }, + "location": "node_modules/json-parse-better-errors", + "name": "json-parse-better-errors", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/json-parse-better-errors", + "peer": true, + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "version": "1.0.2", + }, + "json-schema-traverse" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/ajv", + "name": "json-schema-traverse", + "spec": "^0.4.1", + "type": "prod", + }, + }, + "location": "node_modules/json-schema-traverse", + "name": "json-schema-traverse", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/json-schema-traverse", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "version": "0.4.1", + }, + "json3" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/sockjs-client", + "name": "json3", + "spec": "^3.3.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/webpack-dev-server/node_modules/sockjs-client", + "name": "json3", + "spec": "^3.3.2", + "type": "prod", + }, + }, + "location": "node_modules/json3", + "name": "json3", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/json3", + "peer": true, + "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz", + "version": "3.3.3", + }, + "json5" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/loader-utils", + "name": "json5", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "minimist" => EdgeOut { + "name": "minimist", + "spec": "^1.2.0", + "to": "node_modules/minimist", + "type": "prod", + }, + }, + "location": "node_modules/json5", + "name": "json5", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/json5", + "peer": true, + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "version": "1.0.1", + }, + "killable" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "killable", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "location": "node_modules/killable", + "name": "killable", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/killable", + "peer": true, + "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", + "version": "1.0.1", + }, + "kind-of" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/class-utils/node_modules/is-accessor-descriptor", + "name": "kind-of", + "spec": "^3.0.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/class-utils/node_modules/is-data-descriptor", + "name": "kind-of", + "spec": "^3.0.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/expand-brackets/node_modules/is-accessor-descriptor", + "name": "kind-of", + "spec": "^3.0.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/expand-brackets/node_modules/is-data-descriptor", + "name": "kind-of", + "spec": "^3.0.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/is-number", + "name": "kind-of", + "spec": "^3.0.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/object-copy", + "name": "kind-of", + "spec": "^3.0.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/object-copy/node_modules/is-accessor-descriptor", + "name": "kind-of", + "spec": "^3.0.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/object-copy/node_modules/is-data-descriptor", + "name": "kind-of", + "spec": "^3.0.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/snapdragon-util", + "name": "kind-of", + "spec": "^3.2.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/snapdragon/node_modules/is-accessor-descriptor", + "name": "kind-of", + "spec": "^3.0.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/snapdragon/node_modules/is-data-descriptor", + "name": "kind-of", + "spec": "^3.0.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/static-extend/node_modules/is-accessor-descriptor", + "name": "kind-of", + "spec": "^3.0.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/static-extend/node_modules/is-data-descriptor", + "name": "kind-of", + "spec": "^3.0.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/to-object-path", + "name": "kind-of", + "spec": "^3.0.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-buffer" => EdgeOut { + "name": "is-buffer", + "spec": "^1.1.5", + "to": "node_modules/is-buffer", + "type": "prod", + }, + }, + "location": "node_modules/kind-of", + "name": "kind-of", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/kind-of", + "peer": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "version": "3.2.2", + }, + "loader-runner" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack", + "name": "loader-runner", + "spec": "^2.4.0", + "type": "prod", + }, + }, + "location": "node_modules/loader-runner", + "name": "loader-runner", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/loader-runner", + "peer": true, + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "version": "2.4.0", + }, + "loader-utils" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack", + "name": "loader-utils", + "spec": "^1.2.3", + "type": "prod", + }, + }, + "edgesOut": Map { + "big.js" => EdgeOut { + "name": "big.js", + "spec": "^5.2.2", + "to": "node_modules/big.js", + "type": "prod", + }, + "emojis-list" => EdgeOut { + "name": "emojis-list", + "spec": "^3.0.0", + "to": "node_modules/emojis-list", + "type": "prod", + }, + "json5" => EdgeOut { + "name": "json5", + "spec": "^1.0.1", + "to": "node_modules/json5", + "type": "prod", + }, + }, + "location": "node_modules/loader-utils", + "name": "loader-utils", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/loader-utils", + "peer": true, + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "version": "1.4.0", + }, + "locate-path" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/find-up", + "name": "locate-path", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "p-locate" => EdgeOut { + "name": "p-locate", + "spec": "^3.0.0", + "to": "node_modules/p-locate", + "type": "prod", + }, + "path-exists" => EdgeOut { + "name": "path-exists", + "spec": "^3.0.0", + "to": "node_modules/path-exists", + "type": "prod", + }, + }, + "location": "node_modules/locate-path", + "name": "locate-path", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/locate-path", + "peer": true, + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "version": "3.0.0", + }, + "lodash" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/async", + "name": "lodash", + "spec": "^4.17.14", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/http-proxy-middleware", + "name": "lodash", + "spec": "^4.17.11", + "type": "prod", + }, + }, + "location": "node_modules/lodash", + "name": "lodash", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/lodash", + "peer": true, + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "version": "4.17.20", + }, + "loglevel" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "loglevel", + "spec": "^1.6.8", + "type": "prod", + }, + }, + "location": "node_modules/loglevel", + "name": "loglevel", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/loglevel", + "peer": true, + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.7.0.tgz", + "version": "1.7.0", + }, + "lru-cache" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/cacache", + "name": "lru-cache", + "spec": "^5.1.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "yallist" => EdgeOut { + "name": "yallist", + "spec": "^3.0.2", + "to": "node_modules/yallist", + "type": "prod", + }, + }, + "location": "node_modules/lru-cache", + "name": "lru-cache", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/lru-cache", + "peer": true, + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "version": "5.1.1", + }, + "make-dir" => ArboristNode { + "children": Map { + "semver" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/make-dir", + "name": "semver", + "spec": "^5.6.0", + "type": "prod", + }, + }, + "location": "node_modules/make-dir/node_modules/semver", + "name": "semver", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/make-dir/node_modules/semver", + "peer": true, + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "version": "5.7.1", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/find-cache-dir", + "name": "make-dir", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "pify" => EdgeOut { + "name": "pify", + "spec": "^4.0.1", + "to": "node_modules/pify", + "type": "prod", + }, + "semver" => EdgeOut { + "name": "semver", + "spec": "^5.6.0", + "to": "node_modules/make-dir/node_modules/semver", + "type": "prod", + }, + }, + "location": "node_modules/make-dir", + "name": "make-dir", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/make-dir", + "peer": true, + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "version": "2.1.0", + }, + "map-cache" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/fragment-cache", + "name": "map-cache", + "spec": "^0.2.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/snapdragon", + "name": "map-cache", + "spec": "^0.2.2", + "type": "prod", + }, + }, + "location": "node_modules/map-cache", + "name": "map-cache", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/map-cache", + "peer": true, + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "version": "0.2.2", + }, + "map-visit" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/collection-visit", + "name": "map-visit", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "object-visit" => EdgeOut { + "name": "object-visit", + "spec": "^1.0.0", + "to": "node_modules/object-visit", + "type": "prod", + }, + }, + "location": "node_modules/map-visit", + "name": "map-visit", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/map-visit", + "peer": true, + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "version": "1.0.0", + }, + "md5.js" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/create-hash", + "name": "md5.js", + "spec": "^1.3.4", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/evp_bytestokey", + "name": "md5.js", + "spec": "^1.3.4", + "type": "prod", + }, + }, + "edgesOut": Map { + "hash-base" => EdgeOut { + "name": "hash-base", + "spec": "^3.0.0", + "to": "node_modules/hash-base", + "type": "prod", + }, + "inherits" => EdgeOut { + "name": "inherits", + "spec": "^2.0.1", + "to": "node_modules/inherits", + "type": "prod", + }, + "safe-buffer" => EdgeOut { + "name": "safe-buffer", + "spec": "^5.1.2", + "to": "node_modules/safe-buffer", + "type": "prod", + }, + }, + "location": "node_modules/md5.js", + "name": "md5.js", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/md5.js", + "peer": true, + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "version": "1.3.5", + }, + "media-typer" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/type-is", + "name": "media-typer", + "spec": "0.3.0", + "type": "prod", + }, + }, + "location": "node_modules/media-typer", + "name": "media-typer", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/media-typer", + "peer": true, + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "version": "0.3.0", + }, + "memory-fs" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack", + "name": "memory-fs", + "spec": "^0.4.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/webpack-dev-middleware", + "name": "memory-fs", + "spec": "^0.4.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "errno" => EdgeOut { + "name": "errno", + "spec": "^0.1.3", + "to": "node_modules/errno", + "type": "prod", + }, + "readable-stream" => EdgeOut { + "name": "readable-stream", + "spec": "^2.0.1", + "to": "node_modules/readable-stream", + "type": "prod", + }, + }, + "location": "node_modules/memory-fs", + "name": "memory-fs", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/memory-fs", + "peer": true, + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "version": "0.4.1", + }, + "merge-descriptors" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/express", + "name": "merge-descriptors", + "spec": "1.0.1", + "type": "prod", + }, + }, + "location": "node_modules/merge-descriptors", + "name": "merge-descriptors", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/merge-descriptors", + "peer": true, + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "version": "1.0.1", + }, + "methods" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/express", + "name": "methods", + "spec": "~1.1.2", + "type": "prod", + }, + }, + "location": "node_modules/methods", + "name": "methods", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/methods", + "peer": true, + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "version": "1.1.2", + }, + "micromatch" => ArboristNode { + "children": Map { + "extend-shallow" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/micromatch", + "name": "extend-shallow", + "spec": "^3.0.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "assign-symbols" => EdgeOut { + "name": "assign-symbols", + "spec": "^1.0.0", + "to": "node_modules/assign-symbols", + "type": "prod", + }, + "is-extendable" => EdgeOut { + "name": "is-extendable", + "spec": "^1.0.1", + "to": "node_modules/micromatch/node_modules/is-extendable", + "type": "prod", + }, + }, + "location": "node_modules/micromatch/node_modules/extend-shallow", + "name": "extend-shallow", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/micromatch/node_modules/extend-shallow", + "peer": true, + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "version": "3.0.2", + }, + "is-extendable" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/micromatch/node_modules/extend-shallow", + "name": "is-extendable", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-plain-object" => EdgeOut { + "name": "is-plain-object", + "spec": "^2.0.4", + "to": "node_modules/is-plain-object", + "type": "prod", + }, + }, + "location": "node_modules/micromatch/node_modules/is-extendable", + "name": "is-extendable", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/micromatch/node_modules/is-extendable", + "peer": true, + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "version": "1.0.1", + }, + "kind-of" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/micromatch", + "name": "kind-of", + "spec": "^6.0.2", + "type": "prod", + }, + }, + "location": "node_modules/micromatch/node_modules/kind-of", + "name": "kind-of", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/micromatch/node_modules/kind-of", + "peer": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "version": "6.0.3", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/anymatch", + "name": "micromatch", + "spec": "^3.1.4", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/http-proxy-middleware", + "name": "micromatch", + "spec": "^3.1.10", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/readdirp", + "name": "micromatch", + "spec": "^3.1.10", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/webpack", + "name": "micromatch", + "spec": "^3.1.10", + "type": "prod", + }, + }, + "edgesOut": Map { + "arr-diff" => EdgeOut { + "name": "arr-diff", + "spec": "^4.0.0", + "to": "node_modules/arr-diff", + "type": "prod", + }, + "array-unique" => EdgeOut { + "name": "array-unique", + "spec": "^0.3.2", + "to": "node_modules/array-unique", + "type": "prod", + }, + "braces" => EdgeOut { + "name": "braces", + "spec": "^2.3.1", + "to": "node_modules/braces", + "type": "prod", + }, + "define-property" => EdgeOut { + "name": "define-property", + "spec": "^2.0.2", + "to": "node_modules/define-property", + "type": "prod", + }, + "extend-shallow" => EdgeOut { + "name": "extend-shallow", + "spec": "^3.0.2", + "to": "node_modules/micromatch/node_modules/extend-shallow", + "type": "prod", + }, + "extglob" => EdgeOut { + "name": "extglob", + "spec": "^2.0.4", + "to": "node_modules/extglob", + "type": "prod", + }, + "fragment-cache" => EdgeOut { + "name": "fragment-cache", + "spec": "^0.2.1", + "to": "node_modules/fragment-cache", + "type": "prod", + }, + "kind-of" => EdgeOut { + "name": "kind-of", + "spec": "^6.0.2", + "to": "node_modules/micromatch/node_modules/kind-of", + "type": "prod", + }, + "nanomatch" => EdgeOut { + "name": "nanomatch", + "spec": "^1.2.9", + "to": "node_modules/nanomatch", + "type": "prod", + }, + "object.pick" => EdgeOut { + "name": "object.pick", + "spec": "^1.3.0", + "to": "node_modules/object.pick", + "type": "prod", + }, + "regex-not" => EdgeOut { + "name": "regex-not", + "spec": "^1.0.0", + "to": "node_modules/regex-not", + "type": "prod", + }, + "snapdragon" => EdgeOut { + "name": "snapdragon", + "spec": "^0.8.1", + "to": "node_modules/snapdragon", + "type": "prod", + }, + "to-regex" => EdgeOut { + "name": "to-regex", + "spec": "^3.0.2", + "to": "node_modules/to-regex", + "type": "prod", + }, + }, + "location": "node_modules/micromatch", + "name": "micromatch", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/micromatch", + "peer": true, + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "version": "3.1.10", + }, + "miller-rabin" => ArboristNode { + "children": Map { + "bn.js" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/miller-rabin", + "name": "bn.js", + "spec": "^4.0.0", + "type": "prod", + }, + }, + "location": "node_modules/miller-rabin/node_modules/bn.js", + "name": "bn.js", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/miller-rabin/node_modules/bn.js", + "peer": true, + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "version": "4.11.9", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/diffie-hellman", + "name": "miller-rabin", + "spec": "^4.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "bn.js" => EdgeOut { + "name": "bn.js", + "spec": "^4.0.0", + "to": "node_modules/miller-rabin/node_modules/bn.js", + "type": "prod", + }, + "brorand" => EdgeOut { + "name": "brorand", + "spec": "^1.0.1", + "to": "node_modules/brorand", + "type": "prod", + }, + }, + "location": "node_modules/miller-rabin", + "name": "miller-rabin", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/miller-rabin", + "peer": true, + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "version": "4.0.1", + }, + "mime" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/send", + "name": "mime", + "spec": "1.6.0", + "type": "prod", + }, + }, + "location": "node_modules/mime", + "name": "mime", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/mime", + "peer": true, + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "version": "1.6.0", + }, + "mime-db" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/compressible", + "name": "mime-db", + "spec": ">= 1.43.0 < 2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/mime-types", + "name": "mime-db", + "spec": "1.44.0", + "type": "prod", + }, + }, + "location": "node_modules/mime-db", + "name": "mime-db", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/mime-db", + "peer": true, + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", + "version": "1.44.0", + }, + "mime-types" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/accepts", + "name": "mime-types", + "spec": "~2.1.24", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/serve-index", + "name": "mime-types", + "spec": "~2.1.17", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/type-is", + "name": "mime-types", + "spec": "~2.1.24", + "type": "prod", + }, + }, + "edgesOut": Map { + "mime-db" => EdgeOut { + "name": "mime-db", + "spec": "1.44.0", + "to": "node_modules/mime-db", + "type": "prod", + }, + }, + "location": "node_modules/mime-types", + "name": "mime-types", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/mime-types", + "peer": true, + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", + "version": "2.1.27", + }, + "minimalistic-assert" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/asn1.js", + "name": "minimalistic-assert", + "spec": "^1.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/des.js", + "name": "minimalistic-assert", + "spec": "^1.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/elliptic", + "name": "minimalistic-assert", + "spec": "^1.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/hash.js", + "name": "minimalistic-assert", + "spec": "^1.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/hmac-drbg", + "name": "minimalistic-assert", + "spec": "^1.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/wbuf", + "name": "minimalistic-assert", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/minimalistic-assert", + "name": "minimalistic-assert", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/minimalistic-assert", + "peer": true, + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "version": "1.0.1", + }, + "minimalistic-crypto-utils" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/elliptic", + "name": "minimalistic-crypto-utils", + "spec": "^1.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/hmac-drbg", + "name": "minimalistic-crypto-utils", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "location": "node_modules/minimalistic-crypto-utils", + "name": "minimalistic-crypto-utils", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/minimalistic-crypto-utils", + "peer": true, + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "version": "1.0.1", + }, + "minimatch" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/glob", + "name": "minimatch", + "spec": "^3.0.4", + "type": "prod", + }, + }, + "edgesOut": Map { + "brace-expansion" => EdgeOut { + "name": "brace-expansion", + "spec": "^1.1.7", + "to": "node_modules/brace-expansion", + "type": "prod", + }, + }, + "location": "node_modules/minimatch", + "name": "minimatch", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/minimatch", + "peer": true, + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "version": "3.0.4", + }, + "minimist" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/json5", + "name": "minimist", + "spec": "^1.2.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/mkdirp", + "name": "minimist", + "spec": "^1.2.5", + "type": "prod", + }, + }, + "location": "node_modules/minimist", + "name": "minimist", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/minimist", + "peer": true, + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "version": "1.2.5", + }, + "mississippi" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/cacache", + "name": "mississippi", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "concat-stream" => EdgeOut { + "name": "concat-stream", + "spec": "^1.5.0", + "to": "node_modules/concat-stream", + "type": "prod", + }, + "duplexify" => EdgeOut { + "name": "duplexify", + "spec": "^3.4.2", + "to": "node_modules/duplexify", + "type": "prod", + }, + "end-of-stream" => EdgeOut { + "name": "end-of-stream", + "spec": "^1.1.0", + "to": "node_modules/end-of-stream", + "type": "prod", + }, + "flush-write-stream" => EdgeOut { + "name": "flush-write-stream", + "spec": "^1.0.0", + "to": "node_modules/flush-write-stream", + "type": "prod", + }, + "from2" => EdgeOut { + "name": "from2", + "spec": "^2.1.0", + "to": "node_modules/from2", + "type": "prod", + }, + "parallel-transform" => EdgeOut { + "name": "parallel-transform", + "spec": "^1.1.0", + "to": "node_modules/parallel-transform", + "type": "prod", + }, + "pump" => EdgeOut { + "name": "pump", + "spec": "^3.0.0", + "to": "node_modules/pump", + "type": "prod", + }, + "pumpify" => EdgeOut { + "name": "pumpify", + "spec": "^1.3.3", + "to": "node_modules/pumpify", + "type": "prod", + }, + "stream-each" => EdgeOut { + "name": "stream-each", + "spec": "^1.1.0", + "to": "node_modules/stream-each", + "type": "prod", + }, + "through2" => EdgeOut { + "name": "through2", + "spec": "^2.0.0", + "to": "node_modules/through2", + "type": "prod", + }, + }, + "location": "node_modules/mississippi", + "name": "mississippi", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/mississippi", + "peer": true, + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "version": "3.0.0", + }, + "mixin-deep" => ArboristNode { + "children": Map { + "is-extendable" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/mixin-deep", + "name": "is-extendable", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-plain-object" => EdgeOut { + "name": "is-plain-object", + "spec": "^2.0.4", + "to": "node_modules/is-plain-object", + "type": "prod", + }, + }, + "location": "node_modules/mixin-deep/node_modules/is-extendable", + "name": "is-extendable", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/mixin-deep/node_modules/is-extendable", + "peer": true, + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "version": "1.0.1", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/base", + "name": "mixin-deep", + "spec": "^1.2.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "for-in" => EdgeOut { + "name": "for-in", + "spec": "^1.0.2", + "to": "node_modules/for-in", + "type": "prod", + }, + "is-extendable" => EdgeOut { + "name": "is-extendable", + "spec": "^1.0.1", + "to": "node_modules/mixin-deep/node_modules/is-extendable", + "type": "prod", + }, + }, + "location": "node_modules/mixin-deep", + "name": "mixin-deep", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/mixin-deep", + "peer": true, + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "version": "1.3.2", + }, + "mkdirp" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/cacache", + "name": "mkdirp", + "spec": "^0.5.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/copy-concurrently", + "name": "mkdirp", + "spec": "^0.5.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/move-concurrently", + "name": "mkdirp", + "spec": "^0.5.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/portfinder", + "name": "mkdirp", + "spec": "^0.5.5", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/webpack", + "name": "mkdirp", + "spec": "^0.5.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/webpack-dev-middleware", + "name": "mkdirp", + "spec": "^0.5.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "minimist" => EdgeOut { + "name": "minimist", + "spec": "^1.2.5", + "to": "node_modules/minimist", + "type": "prod", + }, + }, + "location": "node_modules/mkdirp", + "name": "mkdirp", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/mkdirp", + "peer": true, + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "version": "0.5.5", + }, + "move-concurrently" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/cacache", + "name": "move-concurrently", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "aproba" => EdgeOut { + "name": "aproba", + "spec": "^1.1.1", + "to": "node_modules/aproba", + "type": "prod", + }, + "copy-concurrently" => EdgeOut { + "name": "copy-concurrently", + "spec": "^1.0.0", + "to": "node_modules/copy-concurrently", + "type": "prod", + }, + "fs-write-stream-atomic" => EdgeOut { + "name": "fs-write-stream-atomic", + "spec": "^1.0.8", + "to": "node_modules/fs-write-stream-atomic", + "type": "prod", + }, + "mkdirp" => EdgeOut { + "name": "mkdirp", + "spec": "^0.5.1", + "to": "node_modules/mkdirp", + "type": "prod", + }, + "rimraf" => EdgeOut { + "name": "rimraf", + "spec": "^2.5.4", + "to": "node_modules/rimraf", + "type": "prod", + }, + "run-queue" => EdgeOut { + "name": "run-queue", + "spec": "^1.0.3", + "to": "node_modules/run-queue", + "type": "prod", + }, + }, + "location": "node_modules/move-concurrently", + "name": "move-concurrently", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/move-concurrently", + "peer": true, + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "version": "1.0.1", + }, + "ms" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/debug", + "name": "ms", + "spec": "^2.1.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/spdy-transport/node_modules/debug", + "name": "ms", + "spec": "2.1.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/spdy/node_modules/debug", + "name": "ms", + "spec": "2.1.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/webpack-dev-server/node_modules/debug", + "name": "ms", + "spec": "2.1.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/webpack-dev-server/node_modules/sockjs-client/node_modules/debug", + "name": "ms", + "spec": "^2.1.1", + "type": "prod", + }, + }, + "location": "node_modules/ms", + "name": "ms", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/ms", + "peer": true, + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "version": "2.1.2", + }, + "multicast-dns" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/bonjour", + "name": "multicast-dns", + "spec": "^6.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "dns-packet" => EdgeOut { + "name": "dns-packet", + "spec": "^1.3.1", + "to": "node_modules/dns-packet", + "type": "prod", + }, + "thunky" => EdgeOut { + "name": "thunky", + "spec": "^1.0.2", + "to": "node_modules/thunky", + "type": "prod", + }, + }, + "location": "node_modules/multicast-dns", + "name": "multicast-dns", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/multicast-dns", + "peer": true, + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", + "version": "6.2.3", + }, + "multicast-dns-service-types" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/bonjour", + "name": "multicast-dns-service-types", + "spec": "^1.1.0", + "type": "prod", + }, + }, + "location": "node_modules/multicast-dns-service-types", + "name": "multicast-dns-service-types", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/multicast-dns-service-types", + "peer": true, + "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", + "version": "1.1.0", + }, + "nan" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/fsevents", + "name": "nan", + "spec": "^2.12.1", + "type": "prod", + }, + }, + "location": "node_modules/nan", + "name": "nan", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/nan", + "peer": true, + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", + "version": "2.14.2", + }, + "nanomatch" => ArboristNode { + "children": Map { + "extend-shallow" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/nanomatch", + "name": "extend-shallow", + "spec": "^3.0.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "assign-symbols" => EdgeOut { + "name": "assign-symbols", + "spec": "^1.0.0", + "to": "node_modules/assign-symbols", + "type": "prod", + }, + "is-extendable" => EdgeOut { + "name": "is-extendable", + "spec": "^1.0.1", + "to": "node_modules/nanomatch/node_modules/is-extendable", + "type": "prod", + }, + }, + "location": "node_modules/nanomatch/node_modules/extend-shallow", + "name": "extend-shallow", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/nanomatch/node_modules/extend-shallow", + "peer": true, + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "version": "3.0.2", + }, + "is-extendable" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/nanomatch/node_modules/extend-shallow", + "name": "is-extendable", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-plain-object" => EdgeOut { + "name": "is-plain-object", + "spec": "^2.0.4", + "to": "node_modules/is-plain-object", + "type": "prod", + }, + }, + "location": "node_modules/nanomatch/node_modules/is-extendable", + "name": "is-extendable", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/nanomatch/node_modules/is-extendable", + "peer": true, + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "version": "1.0.1", + }, + "kind-of" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/nanomatch", + "name": "kind-of", + "spec": "^6.0.2", + "type": "prod", + }, + }, + "location": "node_modules/nanomatch/node_modules/kind-of", + "name": "kind-of", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/nanomatch/node_modules/kind-of", + "peer": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "version": "6.0.3", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/micromatch", + "name": "nanomatch", + "spec": "^1.2.9", + "type": "prod", + }, + }, + "edgesOut": Map { + "arr-diff" => EdgeOut { + "name": "arr-diff", + "spec": "^4.0.0", + "to": "node_modules/arr-diff", + "type": "prod", + }, + "array-unique" => EdgeOut { + "name": "array-unique", + "spec": "^0.3.2", + "to": "node_modules/array-unique", + "type": "prod", + }, + "define-property" => EdgeOut { + "name": "define-property", + "spec": "^2.0.2", + "to": "node_modules/define-property", + "type": "prod", + }, + "extend-shallow" => EdgeOut { + "name": "extend-shallow", + "spec": "^3.0.2", + "to": "node_modules/nanomatch/node_modules/extend-shallow", + "type": "prod", + }, + "fragment-cache" => EdgeOut { + "name": "fragment-cache", + "spec": "^0.2.1", + "to": "node_modules/fragment-cache", + "type": "prod", + }, + "is-windows" => EdgeOut { + "name": "is-windows", + "spec": "^1.0.2", + "to": "node_modules/is-windows", + "type": "prod", + }, + "kind-of" => EdgeOut { + "name": "kind-of", + "spec": "^6.0.2", + "to": "node_modules/nanomatch/node_modules/kind-of", + "type": "prod", + }, + "object.pick" => EdgeOut { + "name": "object.pick", + "spec": "^1.3.0", + "to": "node_modules/object.pick", + "type": "prod", + }, + "regex-not" => EdgeOut { + "name": "regex-not", + "spec": "^1.0.0", + "to": "node_modules/regex-not", + "type": "prod", + }, + "snapdragon" => EdgeOut { + "name": "snapdragon", + "spec": "^0.8.1", + "to": "node_modules/snapdragon", + "type": "prod", + }, + "to-regex" => EdgeOut { + "name": "to-regex", + "spec": "^3.0.1", + "to": "node_modules/to-regex", + "type": "prod", + }, + }, + "location": "node_modules/nanomatch", + "name": "nanomatch", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/nanomatch", + "peer": true, + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "version": "1.2.13", + }, + "native-url" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/@pmmmwh/react-refresh-webpack-plugin", + "name": "native-url", + "spec": "^0.2.6", + "type": "prod", + }, + }, + "edgesOut": Map { + "querystring" => EdgeOut { + "name": "querystring", + "spec": "^0.2.0", + "to": "node_modules/querystring", + "type": "prod", + }, + }, + "location": "node_modules/native-url", + "name": "native-url", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/native-url", + "resolved": "https://registry.npmjs.org/native-url/-/native-url-0.2.6.tgz", + "version": "0.2.6", + }, + "negotiator" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/accepts", + "name": "negotiator", + "spec": "0.6.2", + "type": "prod", + }, + }, + "location": "node_modules/negotiator", + "name": "negotiator", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/negotiator", + "peer": true, + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "version": "0.6.2", + }, + "neo-async" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/watchpack", + "name": "neo-async", + "spec": "^2.5.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/webpack", + "name": "neo-async", + "spec": "^2.6.1", + "type": "prod", + }, + }, + "location": "node_modules/neo-async", + "name": "neo-async", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/neo-async", + "peer": true, + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "version": "2.6.2", + }, + "nice-try" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/cross-spawn", + "name": "nice-try", + "spec": "^1.0.4", + "type": "prod", + }, + }, + "location": "node_modules/nice-try", + "name": "nice-try", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/nice-try", + "peer": true, + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "version": "1.0.5", + }, + "node-forge" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/selfsigned", + "name": "node-forge", + "spec": "^0.10.0", + "type": "prod", + }, + }, + "location": "node_modules/node-forge", + "name": "node-forge", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/node-forge", + "peer": true, + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", + "version": "0.10.0", + }, + "node-libs-browser" => ArboristNode { + "children": Map { + "punycode" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/node-libs-browser", + "name": "punycode", + "spec": "^1.2.4", + "type": "prod", + }, + }, + "location": "node_modules/node-libs-browser/node_modules/punycode", + "name": "punycode", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/node-libs-browser/node_modules/punycode", + "peer": true, + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "version": "1.4.1", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack", + "name": "node-libs-browser", + "spec": "^2.2.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "assert" => EdgeOut { + "name": "assert", + "spec": "^1.1.1", + "to": "node_modules/assert", + "type": "prod", + }, + "browserify-zlib" => EdgeOut { + "name": "browserify-zlib", + "spec": "^0.2.0", + "to": "node_modules/browserify-zlib", + "type": "prod", + }, + "buffer" => EdgeOut { + "name": "buffer", + "spec": "^4.3.0", + "to": "node_modules/buffer", + "type": "prod", + }, + "console-browserify" => EdgeOut { + "name": "console-browserify", + "spec": "^1.1.0", + "to": "node_modules/console-browserify", + "type": "prod", + }, + "constants-browserify" => EdgeOut { + "name": "constants-browserify", + "spec": "^1.0.0", + "to": "node_modules/constants-browserify", + "type": "prod", + }, + "crypto-browserify" => EdgeOut { + "name": "crypto-browserify", + "spec": "^3.11.0", + "to": "node_modules/crypto-browserify", + "type": "prod", + }, + "domain-browser" => EdgeOut { + "name": "domain-browser", + "spec": "^1.1.1", + "to": "node_modules/domain-browser", + "type": "prod", + }, + "events" => EdgeOut { + "name": "events", + "spec": "^3.0.0", + "to": "node_modules/events", + "type": "prod", + }, + "https-browserify" => EdgeOut { + "name": "https-browserify", + "spec": "^1.0.0", + "to": "node_modules/https-browserify", + "type": "prod", + }, + "os-browserify" => EdgeOut { + "name": "os-browserify", + "spec": "^0.3.0", + "to": "node_modules/os-browserify", + "type": "prod", + }, + "path-browserify" => EdgeOut { + "name": "path-browserify", + "spec": "0.0.1", + "to": "node_modules/path-browserify", + "type": "prod", + }, + "process" => EdgeOut { + "name": "process", + "spec": "^0.11.10", + "to": "node_modules/process", + "type": "prod", + }, + "punycode" => EdgeOut { + "name": "punycode", + "spec": "^1.2.4", + "to": "node_modules/node-libs-browser/node_modules/punycode", + "type": "prod", + }, + "querystring-es3" => EdgeOut { + "name": "querystring-es3", + "spec": "^0.2.0", + "to": "node_modules/querystring-es3", + "type": "prod", + }, + "readable-stream" => EdgeOut { + "name": "readable-stream", + "spec": "^2.3.3", + "to": "node_modules/readable-stream", + "type": "prod", + }, + "stream-browserify" => EdgeOut { + "name": "stream-browserify", + "spec": "^2.0.1", + "to": "node_modules/stream-browserify", + "type": "prod", + }, + "stream-http" => EdgeOut { + "name": "stream-http", + "spec": "^2.7.2", + "to": "node_modules/stream-http", + "type": "prod", + }, + "string_decoder" => EdgeOut { + "name": "string_decoder", + "spec": "^1.0.0", + "to": "node_modules/string_decoder", + "type": "prod", + }, + "timers-browserify" => EdgeOut { + "name": "timers-browserify", + "spec": "^2.0.4", + "to": "node_modules/timers-browserify", + "type": "prod", + }, + "tty-browserify" => EdgeOut { + "name": "tty-browserify", + "spec": "0.0.0", + "to": "node_modules/tty-browserify", + "type": "prod", + }, + "url" => EdgeOut { + "name": "url", + "spec": "^0.11.0", + "to": "node_modules/url", + "type": "prod", + }, + "util" => EdgeOut { + "name": "util", + "spec": "^0.11.0", + "to": "node_modules/util", + "type": "prod", + }, + "vm-browserify" => EdgeOut { + "name": "vm-browserify", + "spec": "^1.0.1", + "to": "node_modules/vm-browserify", + "type": "prod", + }, + }, + "location": "node_modules/node-libs-browser", + "name": "node-libs-browser", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/node-libs-browser", + "peer": true, + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "version": "2.2.1", + }, + "normalize-path" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/chokidar", + "name": "normalize-path", + "spec": "^3.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/watchpack/node_modules/anymatch", + "name": "normalize-path", + "spec": "^3.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/watchpack/node_modules/chokidar", + "name": "normalize-path", + "spec": "~3.0.0", + "type": "prod", + }, + }, + "location": "node_modules/normalize-path", + "name": "normalize-path", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/normalize-path", + "peer": true, + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "version": "3.0.0", + }, + "npm-run-path" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/execa", + "name": "npm-run-path", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "path-key" => EdgeOut { + "name": "path-key", + "spec": "^2.0.0", + "to": "node_modules/path-key", + "type": "prod", + }, + }, + "location": "node_modules/npm-run-path", + "name": "npm-run-path", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/npm-run-path", + "peer": true, + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "version": "2.0.2", + }, + "object-assign" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/assert", + "name": "object-assign", + "spec": "^4.1.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/globby", + "name": "object-assign", + "spec": "^4.0.1", + "type": "prod", + }, + }, + "location": "node_modules/object-assign", + "name": "object-assign", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/object-assign", + "peer": true, + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "version": "4.1.1", + }, + "object-copy" => ArboristNode { + "children": Map { + "define-property" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/object-copy", + "name": "define-property", + "spec": "^0.2.5", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-descriptor" => EdgeOut { + "name": "is-descriptor", + "spec": "^0.1.0", + "to": "node_modules/object-copy/node_modules/is-descriptor", + "type": "prod", + }, + }, + "location": "node_modules/object-copy/node_modules/define-property", + "name": "define-property", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/object-copy/node_modules/define-property", + "peer": true, + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "version": "0.2.5", + }, + "is-accessor-descriptor" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/object-copy/node_modules/is-descriptor", + "name": "is-accessor-descriptor", + "spec": "^0.1.6", + "type": "prod", + }, + }, + "edgesOut": Map { + "kind-of" => EdgeOut { + "name": "kind-of", + "spec": "^3.0.2", + "to": "node_modules/kind-of", + "type": "prod", + }, + }, + "location": "node_modules/object-copy/node_modules/is-accessor-descriptor", + "name": "is-accessor-descriptor", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/object-copy/node_modules/is-accessor-descriptor", + "peer": true, + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "version": "0.1.6", + }, + "is-data-descriptor" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/object-copy/node_modules/is-descriptor", + "name": "is-data-descriptor", + "spec": "^0.1.4", + "type": "prod", + }, + }, + "edgesOut": Map { + "kind-of" => EdgeOut { + "name": "kind-of", + "spec": "^3.0.2", + "to": "node_modules/kind-of", + "type": "prod", + }, + }, + "location": "node_modules/object-copy/node_modules/is-data-descriptor", + "name": "is-data-descriptor", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/object-copy/node_modules/is-data-descriptor", + "peer": true, + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "version": "0.1.4", + }, + "is-descriptor" => ArboristNode { + "children": Map { + "kind-of" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/object-copy/node_modules/is-descriptor", + "name": "kind-of", + "spec": "^5.0.0", + "type": "prod", + }, + }, + "location": "node_modules/object-copy/node_modules/is-descriptor/node_modules/kind-of", + "name": "kind-of", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/object-copy/node_modules/is-descriptor/node_modules/kind-of", + "peer": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "version": "5.1.0", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/object-copy/node_modules/define-property", + "name": "is-descriptor", + "spec": "^0.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-accessor-descriptor" => EdgeOut { + "name": "is-accessor-descriptor", + "spec": "^0.1.6", + "to": "node_modules/object-copy/node_modules/is-accessor-descriptor", + "type": "prod", + }, + "is-data-descriptor" => EdgeOut { + "name": "is-data-descriptor", + "spec": "^0.1.4", + "to": "node_modules/object-copy/node_modules/is-data-descriptor", + "type": "prod", + }, + "kind-of" => EdgeOut { + "name": "kind-of", + "spec": "^5.0.0", + "to": "node_modules/object-copy/node_modules/is-descriptor/node_modules/kind-of", + "type": "prod", + }, + }, + "location": "node_modules/object-copy/node_modules/is-descriptor", + "name": "is-descriptor", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/object-copy/node_modules/is-descriptor", + "peer": true, + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "version": "0.1.6", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/static-extend", + "name": "object-copy", + "spec": "^0.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "copy-descriptor" => EdgeOut { + "name": "copy-descriptor", + "spec": "^0.1.0", + "to": "node_modules/copy-descriptor", + "type": "prod", + }, + "define-property" => EdgeOut { + "name": "define-property", + "spec": "^0.2.5", + "to": "node_modules/object-copy/node_modules/define-property", + "type": "prod", + }, + "kind-of" => EdgeOut { + "name": "kind-of", + "spec": "^3.0.3", + "to": "node_modules/kind-of", + "type": "prod", + }, + }, + "location": "node_modules/object-copy", + "name": "object-copy", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/object-copy", + "peer": true, + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "version": "0.1.0", + }, + "object-inspect" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/es-abstract", + "name": "object-inspect", + "spec": "^1.8.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/regexp.prototype.flags/node_modules/es-abstract", + "name": "object-inspect", + "spec": "^1.8.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/string.prototype.trimend/node_modules/es-abstract", + "name": "object-inspect", + "spec": "^1.8.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/string.prototype.trimstart/node_modules/es-abstract", + "name": "object-inspect", + "spec": "^1.8.0", + "type": "prod", + }, + }, + "location": "node_modules/object-inspect", + "name": "object-inspect", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/object-inspect", + "peer": true, + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", + "version": "1.8.0", + }, + "object-is" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/deep-equal", + "name": "object-is", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "define-properties" => EdgeOut { + "name": "define-properties", + "spec": "^1.1.3", + "to": "node_modules/define-properties", + "type": "prod", + }, + "es-abstract" => EdgeOut { + "name": "es-abstract", + "spec": "^1.18.0-next.1", + "to": "node_modules/es-abstract", + "type": "prod", + }, + }, + "location": "node_modules/object-is", + "name": "object-is", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/object-is", + "peer": true, + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.3.tgz", + "version": "1.1.3", + }, + "object-keys" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/deep-equal", + "name": "object-keys", + "spec": "^1.1.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/define-properties", + "name": "object-keys", + "spec": "^1.0.12", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/es-abstract", + "name": "object-keys", + "spec": "^1.1.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/object.assign", + "name": "object-keys", + "spec": "^1.1.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/regexp.prototype.flags/node_modules/es-abstract", + "name": "object-keys", + "spec": "^1.1.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/string.prototype.trimend/node_modules/es-abstract", + "name": "object-keys", + "spec": "^1.1.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/string.prototype.trimstart/node_modules/es-abstract", + "name": "object-keys", + "spec": "^1.1.1", + "type": "prod", + }, + }, + "location": "node_modules/object-keys", + "name": "object-keys", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/object-keys", + "peer": true, + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "version": "1.1.1", + }, + "object-visit" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/collection-visit", + "name": "object-visit", + "spec": "^1.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/map-visit", + "name": "object-visit", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "isobject" => EdgeOut { + "name": "isobject", + "spec": "^3.0.0", + "to": "node_modules/isobject", + "type": "prod", + }, + }, + "location": "node_modules/object-visit", + "name": "object-visit", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/object-visit", + "peer": true, + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "version": "1.0.1", + }, + "object.assign" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/es-abstract", + "name": "object.assign", + "spec": "^4.1.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/regexp.prototype.flags/node_modules/es-abstract", + "name": "object.assign", + "spec": "^4.1.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/string.prototype.trimend/node_modules/es-abstract", + "name": "object.assign", + "spec": "^4.1.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/string.prototype.trimstart/node_modules/es-abstract", + "name": "object.assign", + "spec": "^4.1.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "define-properties" => EdgeOut { + "name": "define-properties", + "spec": "^1.1.3", + "to": "node_modules/define-properties", + "type": "prod", + }, + "es-abstract" => EdgeOut { + "name": "es-abstract", + "spec": "^1.18.0-next.0", + "to": "node_modules/es-abstract", + "type": "prod", + }, + "has-symbols" => EdgeOut { + "name": "has-symbols", + "spec": "^1.0.1", + "to": "node_modules/has-symbols", + "type": "prod", + }, + "object-keys" => EdgeOut { + "name": "object-keys", + "spec": "^1.1.1", + "to": "node_modules/object-keys", + "type": "prod", + }, + }, + "location": "node_modules/object.assign", + "name": "object.assign", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/object.assign", + "peer": true, + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.1.tgz", + "version": "4.1.1", + }, + "object.pick" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/micromatch", + "name": "object.pick", + "spec": "^1.3.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/nanomatch", + "name": "object.pick", + "spec": "^1.3.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "isobject" => EdgeOut { + "name": "isobject", + "spec": "^3.0.1", + "to": "node_modules/isobject", + "type": "prod", + }, + }, + "location": "node_modules/object.pick", + "name": "object.pick", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/object.pick", + "peer": true, + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "version": "1.3.0", + }, + "obuf" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/hpack.js", + "name": "obuf", + "spec": "^1.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/spdy-transport", + "name": "obuf", + "spec": "^1.1.2", + "type": "prod", + }, + }, + "location": "node_modules/obuf", + "name": "obuf", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/obuf", + "peer": true, + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "version": "1.1.2", + }, + "on-finished" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/body-parser", + "name": "on-finished", + "spec": "~2.3.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/express", + "name": "on-finished", + "spec": "~2.3.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/finalhandler", + "name": "on-finished", + "spec": "~2.3.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/send", + "name": "on-finished", + "spec": "~2.3.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "ee-first" => EdgeOut { + "name": "ee-first", + "spec": "1.1.1", + "to": "node_modules/ee-first", + "type": "prod", + }, + }, + "location": "node_modules/on-finished", + "name": "on-finished", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/on-finished", + "peer": true, + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "version": "2.3.0", + }, + "on-headers" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/compression", + "name": "on-headers", + "spec": "~1.0.2", + "type": "prod", + }, + }, + "location": "node_modules/on-headers", + "name": "on-headers", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/on-headers", + "peer": true, + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "version": "1.0.2", + }, + "once" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/end-of-stream", + "name": "once", + "spec": "^1.4.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/glob", + "name": "once", + "spec": "^1.3.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/inflight", + "name": "once", + "spec": "^1.3.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/pump", + "name": "once", + "spec": "^1.3.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/pumpify/node_modules/pump", + "name": "once", + "spec": "^1.3.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "wrappy" => EdgeOut { + "name": "wrappy", + "spec": "1", + "to": "node_modules/wrappy", + "type": "prod", + }, + }, + "location": "node_modules/once", + "name": "once", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/once", + "peer": true, + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "version": "1.4.0", + }, + "opn" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "opn", + "spec": "^5.5.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-wsl" => EdgeOut { + "name": "is-wsl", + "spec": "^1.1.0", + "to": "node_modules/is-wsl", + "type": "prod", + }, + }, + "location": "node_modules/opn", + "name": "opn", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/opn", + "peer": true, + "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", + "version": "5.5.0", + }, + "original" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/eventsource", + "name": "original", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "url-parse" => EdgeOut { + "name": "url-parse", + "spec": "^1.4.3", + "to": "node_modules/url-parse", + "type": "prod", + }, + }, + "location": "node_modules/original", + "name": "original", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/original", + "peer": true, + "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", + "version": "1.0.2", + }, + "os-browserify" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/node-libs-browser", + "name": "os-browserify", + "spec": "^0.3.0", + "type": "prod", + }, + }, + "location": "node_modules/os-browserify", + "name": "os-browserify", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/os-browserify", + "peer": true, + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "version": "0.3.0", + }, + "p-finally" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/execa", + "name": "p-finally", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/p-finally", + "name": "p-finally", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/p-finally", + "peer": true, + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "version": "1.0.0", + }, + "p-limit" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/p-locate", + "name": "p-limit", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "p-try" => EdgeOut { + "name": "p-try", + "spec": "^2.0.0", + "to": "node_modules/p-try", + "type": "prod", + }, + }, + "location": "node_modules/p-limit", + "name": "p-limit", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/p-limit", + "peer": true, + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "version": "2.3.0", + }, + "p-locate" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/locate-path", + "name": "p-locate", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "p-limit" => EdgeOut { + "name": "p-limit", + "spec": "^2.0.0", + "to": "node_modules/p-limit", + "type": "prod", + }, + }, + "location": "node_modules/p-locate", + "name": "p-locate", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/p-locate", + "peer": true, + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "version": "3.0.0", + }, + "p-map" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/del", + "name": "p-map", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/p-map", + "name": "p-map", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/p-map", + "peer": true, + "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", + "version": "2.1.0", + }, + "p-retry" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "p-retry", + "spec": "^3.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "retry" => EdgeOut { + "name": "retry", + "spec": "^0.12.0", + "to": "node_modules/retry", + "type": "prod", + }, + }, + "location": "node_modules/p-retry", + "name": "p-retry", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/p-retry", + "peer": true, + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz", + "version": "3.0.1", + }, + "p-try" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/p-limit", + "name": "p-try", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/p-try", + "name": "p-try", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/p-try", + "peer": true, + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "version": "2.2.0", + }, + "pako" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/browserify-zlib", + "name": "pako", + "spec": "~1.0.5", + "type": "prod", + }, + }, + "location": "node_modules/pako", + "name": "pako", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/pako", + "peer": true, + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "version": "1.0.11", + }, + "parallel-transform" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/mississippi", + "name": "parallel-transform", + "spec": "^1.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "cyclist" => EdgeOut { + "name": "cyclist", + "spec": "^1.0.1", + "to": "node_modules/cyclist", + "type": "prod", + }, + "inherits" => EdgeOut { + "name": "inherits", + "spec": "^2.0.3", + "to": "node_modules/inherits", + "type": "prod", + }, + "readable-stream" => EdgeOut { + "name": "readable-stream", + "spec": "^2.1.5", + "to": "node_modules/readable-stream", + "type": "prod", + }, + }, + "location": "node_modules/parallel-transform", + "name": "parallel-transform", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/parallel-transform", + "peer": true, + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "version": "1.2.0", + }, + "parse-asn1" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/browserify-sign", + "name": "parse-asn1", + "spec": "^5.1.5", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/public-encrypt", + "name": "parse-asn1", + "spec": "^5.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "asn1.js" => EdgeOut { + "name": "asn1.js", + "spec": "^5.2.0", + "to": "node_modules/asn1.js", + "type": "prod", + }, + "browserify-aes" => EdgeOut { + "name": "browserify-aes", + "spec": "^1.0.0", + "to": "node_modules/browserify-aes", + "type": "prod", + }, + "evp_bytestokey" => EdgeOut { + "name": "evp_bytestokey", + "spec": "^1.0.0", + "to": "node_modules/evp_bytestokey", + "type": "prod", + }, + "pbkdf2" => EdgeOut { + "name": "pbkdf2", + "spec": "^3.0.3", + "to": "node_modules/pbkdf2", + "type": "prod", + }, + "safe-buffer" => EdgeOut { + "name": "safe-buffer", + "spec": "^5.1.1", + "to": "node_modules/safe-buffer", + "type": "prod", + }, + }, + "location": "node_modules/parse-asn1", + "name": "parse-asn1", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/parse-asn1", + "peer": true, + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + "version": "5.1.6", + }, + "parseurl" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/express", + "name": "parseurl", + "spec": "~1.3.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/finalhandler", + "name": "parseurl", + "spec": "~1.3.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/serve-index", + "name": "parseurl", + "spec": "~1.3.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/serve-static", + "name": "parseurl", + "spec": "~1.3.3", + "type": "prod", + }, + }, + "location": "node_modules/parseurl", + "name": "parseurl", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/parseurl", + "peer": true, + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "version": "1.3.3", + }, + "pascalcase" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/base", + "name": "pascalcase", + "spec": "^0.1.1", + "type": "prod", + }, + }, + "location": "node_modules/pascalcase", + "name": "pascalcase", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/pascalcase", + "peer": true, + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "version": "0.1.1", + }, + "path-browserify" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/node-libs-browser", + "name": "path-browserify", + "spec": "0.0.1", + "type": "prod", + }, + }, + "location": "node_modules/path-browserify", + "name": "path-browserify", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/path-browserify", + "peer": true, + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "version": "0.0.1", + }, + "path-dirname" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/glob-parent", + "name": "path-dirname", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/path-dirname", + "name": "path-dirname", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/path-dirname", + "peer": true, + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "version": "1.0.2", + }, + "path-exists" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/locate-path", + "name": "path-exists", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "location": "node_modules/path-exists", + "name": "path-exists", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/path-exists", + "peer": true, + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "version": "3.0.0", + }, + "path-is-absolute" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/chokidar", + "name": "path-is-absolute", + "spec": "^1.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/glob", + "name": "path-is-absolute", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/path-is-absolute", + "name": "path-is-absolute", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/path-is-absolute", + "peer": true, + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "version": "1.0.1", + }, + "path-is-inside" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/is-path-inside", + "name": "path-is-inside", + "spec": "^1.0.2", + "type": "prod", + }, + }, + "location": "node_modules/path-is-inside", + "name": "path-is-inside", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/path-is-inside", + "peer": true, + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "version": "1.0.2", + }, + "path-key" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/cross-spawn", + "name": "path-key", + "spec": "^2.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/npm-run-path", + "name": "path-key", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/path-key", + "name": "path-key", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/path-key", + "peer": true, + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "version": "2.0.1", + }, + "path-to-regexp" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/express", + "name": "path-to-regexp", + "spec": "0.1.7", + "type": "prod", + }, + }, + "location": "node_modules/path-to-regexp", + "name": "path-to-regexp", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/path-to-regexp", + "peer": true, + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "version": "0.1.7", + }, + "pbkdf2" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/crypto-browserify", + "name": "pbkdf2", + "spec": "^3.0.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/parse-asn1", + "name": "pbkdf2", + "spec": "^3.0.3", + "type": "prod", + }, + }, + "edgesOut": Map { + "create-hash" => EdgeOut { + "name": "create-hash", + "spec": "^1.1.2", + "to": "node_modules/create-hash", + "type": "prod", + }, + "create-hmac" => EdgeOut { + "name": "create-hmac", + "spec": "^1.1.4", + "to": "node_modules/create-hmac", + "type": "prod", + }, + "ripemd160" => EdgeOut { + "name": "ripemd160", + "spec": "^2.0.1", + "to": "node_modules/ripemd160", + "type": "prod", + }, + "safe-buffer" => EdgeOut { + "name": "safe-buffer", + "spec": "^5.0.1", + "to": "node_modules/safe-buffer", + "type": "prod", + }, + "sha.js" => EdgeOut { + "name": "sha.js", + "spec": "^2.4.8", + "to": "node_modules/sha.js", + "type": "prod", + }, + }, + "location": "node_modules/pbkdf2", + "name": "pbkdf2", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/pbkdf2", + "peer": true, + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", + "version": "3.1.1", + }, + "picomatch" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/watchpack/node_modules/anymatch", + "name": "picomatch", + "spec": "^2.0.4", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/watchpack/node_modules/readdirp", + "name": "picomatch", + "spec": "^2.2.1", + "type": "prod", + }, + }, + "location": "node_modules/picomatch", + "name": "picomatch", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/picomatch", + "peer": true, + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "version": "2.2.2", + }, + "pify" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/del", + "name": "pify", + "spec": "^4.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/make-dir", + "name": "pify", + "spec": "^4.0.1", + "type": "prod", + }, + }, + "location": "node_modules/pify", + "name": "pify", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/pify", + "peer": true, + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "version": "4.0.1", + }, + "pinkie" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/pinkie-promise", + "name": "pinkie", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/pinkie", + "name": "pinkie", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/pinkie", + "peer": true, + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "version": "2.0.4", + }, + "pinkie-promise" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/globby", + "name": "pinkie-promise", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "pinkie" => EdgeOut { + "name": "pinkie", + "spec": "^2.0.0", + "to": "node_modules/pinkie", + "type": "prod", + }, + }, + "location": "node_modules/pinkie-promise", + "name": "pinkie-promise", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/pinkie-promise", + "peer": true, + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "version": "2.0.1", + }, + "pkg-dir" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/find-cache-dir", + "name": "pkg-dir", + "spec": "^3.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/import-local", + "name": "pkg-dir", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "find-up" => EdgeOut { + "name": "find-up", + "spec": "^3.0.0", + "to": "node_modules/find-up", + "type": "prod", + }, + }, + "location": "node_modules/pkg-dir", + "name": "pkg-dir", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/pkg-dir", + "peer": true, + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "version": "3.0.0", + }, + "portfinder" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "portfinder", + "spec": "^1.0.26", + "type": "prod", + }, + }, + "edgesOut": Map { + "async" => EdgeOut { + "name": "async", + "spec": "^2.6.2", + "to": "node_modules/async", + "type": "prod", + }, + "debug" => EdgeOut { + "name": "debug", + "spec": "^3.1.1", + "to": "node_modules/debug", + "type": "prod", + }, + "mkdirp" => EdgeOut { + "name": "mkdirp", + "spec": "^0.5.5", + "to": "node_modules/mkdirp", + "type": "prod", + }, + }, + "location": "node_modules/portfinder", + "name": "portfinder", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/portfinder", + "peer": true, + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", + "version": "1.0.28", + }, + "posix-character-classes" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/expand-brackets", + "name": "posix-character-classes", + "spec": "^0.1.0", + "type": "prod", + }, + }, + "location": "node_modules/posix-character-classes", + "name": "posix-character-classes", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/posix-character-classes", + "peer": true, + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "version": "0.1.1", + }, + "process" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/node-libs-browser", + "name": "process", + "spec": "^0.11.10", + "type": "prod", + }, + }, + "location": "node_modules/process", + "name": "process", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/process", + "peer": true, + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "version": "0.11.10", + }, + "process-nextick-args" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/readable-stream", + "name": "process-nextick-args", + "spec": "~2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/process-nextick-args", + "name": "process-nextick-args", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/process-nextick-args", + "peer": true, + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "version": "2.0.1", + }, + "promise-inflight" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/cacache", + "name": "promise-inflight", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "location": "node_modules/promise-inflight", + "name": "promise-inflight", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/promise-inflight", + "peer": true, + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "version": "1.0.1", + }, + "proxy-addr" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/express", + "name": "proxy-addr", + "spec": "~2.0.5", + "type": "prod", + }, + }, + "edgesOut": Map { + "forwarded" => EdgeOut { + "name": "forwarded", + "spec": "~0.1.2", + "to": "node_modules/forwarded", + "type": "prod", + }, + "ipaddr.js" => EdgeOut { + "name": "ipaddr.js", + "spec": "1.9.1", + "to": "node_modules/ipaddr.js", + "type": "prod", + }, + }, + "location": "node_modules/proxy-addr", + "name": "proxy-addr", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/proxy-addr", + "peer": true, + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", + "version": "2.0.6", + }, + "prr" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/errno", + "name": "prr", + "spec": "~1.0.1", + "type": "prod", + }, + }, + "location": "node_modules/prr", + "name": "prr", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/prr", + "peer": true, + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "version": "1.0.1", + }, + "public-encrypt" => ArboristNode { + "children": Map { + "bn.js" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/public-encrypt", + "name": "bn.js", + "spec": "^4.1.0", + "type": "prod", + }, + }, + "location": "node_modules/public-encrypt/node_modules/bn.js", + "name": "bn.js", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/public-encrypt/node_modules/bn.js", + "peer": true, + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "version": "4.11.9", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/crypto-browserify", + "name": "public-encrypt", + "spec": "^4.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "bn.js" => EdgeOut { + "name": "bn.js", + "spec": "^4.1.0", + "to": "node_modules/public-encrypt/node_modules/bn.js", + "type": "prod", + }, + "browserify-rsa" => EdgeOut { + "name": "browserify-rsa", + "spec": "^4.0.0", + "to": "node_modules/browserify-rsa", + "type": "prod", + }, + "create-hash" => EdgeOut { + "name": "create-hash", + "spec": "^1.1.0", + "to": "node_modules/create-hash", + "type": "prod", + }, + "parse-asn1" => EdgeOut { + "name": "parse-asn1", + "spec": "^5.0.0", + "to": "node_modules/parse-asn1", + "type": "prod", + }, + "randombytes" => EdgeOut { + "name": "randombytes", + "spec": "^2.0.1", + "to": "node_modules/randombytes", + "type": "prod", + }, + "safe-buffer" => EdgeOut { + "name": "safe-buffer", + "spec": "^5.1.2", + "to": "node_modules/safe-buffer", + "type": "prod", + }, + }, + "location": "node_modules/public-encrypt", + "name": "public-encrypt", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/public-encrypt", + "peer": true, + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "version": "4.0.3", + }, + "pump" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/get-stream", + "name": "pump", + "spec": "^3.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/mississippi", + "name": "pump", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "end-of-stream" => EdgeOut { + "name": "end-of-stream", + "spec": "^1.1.0", + "to": "node_modules/end-of-stream", + "type": "prod", + }, + "once" => EdgeOut { + "name": "once", + "spec": "^1.3.1", + "to": "node_modules/once", + "type": "prod", + }, + }, + "location": "node_modules/pump", + "name": "pump", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/pump", + "peer": true, + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "version": "3.0.0", + }, + "pumpify" => ArboristNode { + "children": Map { + "pump" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/pumpify", + "name": "pump", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "end-of-stream" => EdgeOut { + "name": "end-of-stream", + "spec": "^1.1.0", + "to": "node_modules/end-of-stream", + "type": "prod", + }, + "once" => EdgeOut { + "name": "once", + "spec": "^1.3.1", + "to": "node_modules/once", + "type": "prod", + }, + }, + "location": "node_modules/pumpify/node_modules/pump", + "name": "pump", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/pumpify/node_modules/pump", + "peer": true, + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "version": "2.0.1", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/mississippi", + "name": "pumpify", + "spec": "^1.3.3", + "type": "prod", + }, + }, + "edgesOut": Map { + "duplexify" => EdgeOut { + "name": "duplexify", + "spec": "^3.6.0", + "to": "node_modules/duplexify", + "type": "prod", + }, + "inherits" => EdgeOut { + "name": "inherits", + "spec": "^2.0.3", + "to": "node_modules/inherits", + "type": "prod", + }, + "pump" => EdgeOut { + "name": "pump", + "spec": "^2.0.0", + "to": "node_modules/pumpify/node_modules/pump", + "type": "prod", + }, + }, + "location": "node_modules/pumpify", + "name": "pumpify", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/pumpify", + "peer": true, + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "version": "1.5.1", + }, + "punycode" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/uri-js", + "name": "punycode", + "spec": "^2.1.0", + "type": "prod", + }, + }, + "location": "node_modules/punycode", + "name": "punycode", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/punycode", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "version": "2.1.1", + }, + "qs" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/body-parser", + "name": "qs", + "spec": "6.7.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/express", + "name": "qs", + "spec": "6.7.0", + "type": "prod", + }, + }, + "location": "node_modules/qs", + "name": "qs", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/qs", + "peer": true, + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "version": "6.7.0", + }, + "querystring" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/native-url", + "name": "querystring", + "spec": "^0.2.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/url", + "name": "querystring", + "spec": "0.2.0", + "type": "prod", + }, + }, + "location": "node_modules/querystring", + "name": "querystring", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/querystring", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "version": "0.2.0", + }, + "querystring-es3" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/node-libs-browser", + "name": "querystring-es3", + "spec": "^0.2.0", + "type": "prod", + }, + }, + "location": "node_modules/querystring-es3", + "name": "querystring-es3", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/querystring-es3", + "peer": true, + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "version": "0.2.1", + }, + "querystringify" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/url-parse", + "name": "querystringify", + "spec": "^2.1.1", + "type": "prod", + }, + }, + "location": "node_modules/querystringify", + "name": "querystringify", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/querystringify", + "peer": true, + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "version": "2.2.0", + }, + "randombytes" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/browserify-rsa", + "name": "randombytes", + "spec": "^2.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/crypto-browserify", + "name": "randombytes", + "spec": "^2.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/diffie-hellman", + "name": "randombytes", + "spec": "^2.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/public-encrypt", + "name": "randombytes", + "spec": "^2.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/randomfill", + "name": "randombytes", + "spec": "^2.0.5", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/serialize-javascript", + "name": "randombytes", + "spec": "^2.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "safe-buffer" => EdgeOut { + "name": "safe-buffer", + "spec": "^5.1.0", + "to": "node_modules/safe-buffer", + "type": "prod", + }, + }, + "location": "node_modules/randombytes", + "name": "randombytes", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/randombytes", + "peer": true, + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "version": "2.1.0", + }, + "randomfill" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/crypto-browserify", + "name": "randomfill", + "spec": "^1.0.3", + "type": "prod", + }, + }, + "edgesOut": Map { + "randombytes" => EdgeOut { + "name": "randombytes", + "spec": "^2.0.5", + "to": "node_modules/randombytes", + "type": "prod", + }, + "safe-buffer" => EdgeOut { + "name": "safe-buffer", + "spec": "^5.1.0", + "to": "node_modules/safe-buffer", + "type": "prod", + }, + }, + "location": "node_modules/randomfill", + "name": "randomfill", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/randomfill", + "peer": true, + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "version": "1.0.4", + }, + "range-parser" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/express", + "name": "range-parser", + "spec": "~1.2.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/send", + "name": "range-parser", + "spec": "~1.2.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/webpack-dev-middleware", + "name": "range-parser", + "spec": "^1.2.1", + "type": "prod", + }, + }, + "location": "node_modules/range-parser", + "name": "range-parser", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/range-parser", + "peer": true, + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "version": "1.2.1", + }, + "raw-body" => ArboristNode { + "children": Map { + "bytes" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/raw-body", + "name": "bytes", + "spec": "3.1.0", + "type": "prod", + }, + }, + "location": "node_modules/raw-body/node_modules/bytes", + "name": "bytes", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/raw-body/node_modules/bytes", + "peer": true, + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "version": "3.1.0", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/body-parser", + "name": "raw-body", + "spec": "2.4.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "bytes" => EdgeOut { + "name": "bytes", + "spec": "3.1.0", + "to": "node_modules/raw-body/node_modules/bytes", + "type": "prod", + }, + "http-errors" => EdgeOut { + "name": "http-errors", + "spec": "1.7.2", + "to": "node_modules/http-errors", + "type": "prod", + }, + "iconv-lite" => EdgeOut { + "name": "iconv-lite", + "spec": "0.4.24", + "to": "node_modules/iconv-lite", + "type": "prod", + }, + "unpipe" => EdgeOut { + "name": "unpipe", + "spec": "1.0.0", + "to": "node_modules/unpipe", + "type": "prod", + }, + }, + "location": "node_modules/raw-body", + "name": "raw-body", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/raw-body", + "peer": true, + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", + "version": "2.4.0", + }, + "react-refresh" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/@pmmmwh/react-refresh-webpack-plugin", + "name": "react-refresh", + "spec": "^0.8.3", + "type": "peer", + }, + }, + "location": "node_modules/react-refresh", + "name": "react-refresh", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/react-refresh", + "peer": true, + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.8.3.tgz", + "version": "0.8.3", + }, + "readable-stream" => ArboristNode { + "children": Map { + "safe-buffer" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/readable-stream", + "name": "safe-buffer", + "spec": "~5.1.1", + "type": "prod", + }, + }, + "location": "node_modules/readable-stream/node_modules/safe-buffer", + "name": "safe-buffer", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/readable-stream/node_modules/safe-buffer", + "peer": true, + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "version": "5.1.2", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/concat-stream", + "name": "readable-stream", + "spec": "^2.2.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/duplexify", + "name": "readable-stream", + "spec": "^2.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/enhanced-resolve/node_modules/memory-fs", + "name": "readable-stream", + "spec": "^2.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/flush-write-stream", + "name": "readable-stream", + "spec": "^2.3.6", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/from2", + "name": "readable-stream", + "spec": "^2.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/fs-write-stream-atomic", + "name": "readable-stream", + "spec": "1 || 2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/hpack.js", + "name": "readable-stream", + "spec": "^2.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/memory-fs", + "name": "readable-stream", + "spec": "^2.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/node-libs-browser", + "name": "readable-stream", + "spec": "^2.3.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/parallel-transform", + "name": "readable-stream", + "spec": "^2.1.5", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/readdirp", + "name": "readable-stream", + "spec": "^2.0.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/stream-browserify", + "name": "readable-stream", + "spec": "^2.0.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/stream-http", + "name": "readable-stream", + "spec": "^2.3.6", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/through2", + "name": "readable-stream", + "spec": "~2.3.6", + "type": "prod", + }, + }, + "edgesOut": Map { + "core-util-is" => EdgeOut { + "name": "core-util-is", + "spec": "~1.0.0", + "to": "node_modules/core-util-is", + "type": "prod", + }, + "inherits" => EdgeOut { + "name": "inherits", + "spec": "~2.0.3", + "to": "node_modules/inherits", + "type": "prod", + }, + "isarray" => EdgeOut { + "name": "isarray", + "spec": "~1.0.0", + "to": "node_modules/isarray", + "type": "prod", + }, + "process-nextick-args" => EdgeOut { + "name": "process-nextick-args", + "spec": "~2.0.0", + "to": "node_modules/process-nextick-args", + "type": "prod", + }, + "safe-buffer" => EdgeOut { + "name": "safe-buffer", + "spec": "~5.1.1", + "to": "node_modules/readable-stream/node_modules/safe-buffer", + "type": "prod", + }, + "string_decoder" => EdgeOut { + "name": "string_decoder", + "spec": "~1.1.1", + "to": "node_modules/string_decoder", + "type": "prod", + }, + "util-deprecate" => EdgeOut { + "name": "util-deprecate", + "spec": "~1.0.1", + "to": "node_modules/util-deprecate", + "type": "prod", + }, + }, + "location": "node_modules/readable-stream", + "name": "readable-stream", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/readable-stream", + "peer": true, + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "version": "2.3.7", + }, + "readdirp" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/chokidar", + "name": "readdirp", + "spec": "^2.2.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "graceful-fs" => EdgeOut { + "name": "graceful-fs", + "spec": "^4.1.11", + "to": "node_modules/graceful-fs", + "type": "prod", + }, + "micromatch" => EdgeOut { + "name": "micromatch", + "spec": "^3.1.10", + "to": "node_modules/micromatch", + "type": "prod", + }, + "readable-stream" => EdgeOut { + "name": "readable-stream", + "spec": "^2.0.2", + "to": "node_modules/readable-stream", + "type": "prod", + }, + }, + "location": "node_modules/readdirp", + "name": "readdirp", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/readdirp", + "peer": true, + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "version": "2.2.1", + }, + "regex-not" => ArboristNode { + "children": Map { + "extend-shallow" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/regex-not", + "name": "extend-shallow", + "spec": "^3.0.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "assign-symbols" => EdgeOut { + "name": "assign-symbols", + "spec": "^1.0.0", + "to": "node_modules/assign-symbols", + "type": "prod", + }, + "is-extendable" => EdgeOut { + "name": "is-extendable", + "spec": "^1.0.1", + "to": "node_modules/regex-not/node_modules/is-extendable", + "type": "prod", + }, + }, + "location": "node_modules/regex-not/node_modules/extend-shallow", + "name": "extend-shallow", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/regex-not/node_modules/extend-shallow", + "peer": true, + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "version": "3.0.2", + }, + "is-extendable" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/regex-not/node_modules/extend-shallow", + "name": "is-extendable", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-plain-object" => EdgeOut { + "name": "is-plain-object", + "spec": "^2.0.4", + "to": "node_modules/is-plain-object", + "type": "prod", + }, + }, + "location": "node_modules/regex-not/node_modules/is-extendable", + "name": "is-extendable", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/regex-not/node_modules/is-extendable", + "peer": true, + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "version": "1.0.1", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/expand-brackets", + "name": "regex-not", + "spec": "^1.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/extglob", + "name": "regex-not", + "spec": "^1.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/micromatch", + "name": "regex-not", + "spec": "^1.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/nanomatch", + "name": "regex-not", + "spec": "^1.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/to-regex", + "name": "regex-not", + "spec": "^1.0.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "extend-shallow" => EdgeOut { + "name": "extend-shallow", + "spec": "^3.0.2", + "to": "node_modules/regex-not/node_modules/extend-shallow", + "type": "prod", + }, + "safe-regex" => EdgeOut { + "name": "safe-regex", + "spec": "^1.1.0", + "to": "node_modules/safe-regex", + "type": "prod", + }, + }, + "location": "node_modules/regex-not", + "name": "regex-not", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/regex-not", + "peer": true, + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "version": "1.0.2", + }, + "regexp.prototype.flags" => ArboristNode { + "children": Map { + "es-abstract" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/regexp.prototype.flags", + "name": "es-abstract", + "spec": "^1.17.0-next.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "es-to-primitive" => EdgeOut { + "name": "es-to-primitive", + "spec": "^1.2.1", + "to": "node_modules/es-to-primitive", + "type": "prod", + }, + "function-bind" => EdgeOut { + "name": "function-bind", + "spec": "^1.1.1", + "to": "node_modules/function-bind", + "type": "prod", + }, + "has" => EdgeOut { + "name": "has", + "spec": "^1.0.3", + "to": "node_modules/has", + "type": "prod", + }, + "has-symbols" => EdgeOut { + "name": "has-symbols", + "spec": "^1.0.1", + "to": "node_modules/has-symbols", + "type": "prod", + }, + "is-callable" => EdgeOut { + "name": "is-callable", + "spec": "^1.2.2", + "to": "node_modules/is-callable", + "type": "prod", + }, + "is-regex" => EdgeOut { + "name": "is-regex", + "spec": "^1.1.1", + "to": "node_modules/is-regex", + "type": "prod", + }, + "object-inspect" => EdgeOut { + "name": "object-inspect", + "spec": "^1.8.0", + "to": "node_modules/object-inspect", + "type": "prod", + }, + "object-keys" => EdgeOut { + "name": "object-keys", + "spec": "^1.1.1", + "to": "node_modules/object-keys", + "type": "prod", + }, + "object.assign" => EdgeOut { + "name": "object.assign", + "spec": "^4.1.1", + "to": "node_modules/object.assign", + "type": "prod", + }, + "string.prototype.trimend" => EdgeOut { + "name": "string.prototype.trimend", + "spec": "^1.0.1", + "to": "node_modules/string.prototype.trimend", + "type": "prod", + }, + "string.prototype.trimstart" => EdgeOut { + "name": "string.prototype.trimstart", + "spec": "^1.0.1", + "to": "node_modules/string.prototype.trimstart", + "type": "prod", + }, + }, + "location": "node_modules/regexp.prototype.flags/node_modules/es-abstract", + "name": "es-abstract", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/regexp.prototype.flags/node_modules/es-abstract", + "peer": true, + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", + "version": "1.17.7", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/deep-equal", + "name": "regexp.prototype.flags", + "spec": "^1.2.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "define-properties" => EdgeOut { + "name": "define-properties", + "spec": "^1.1.3", + "to": "node_modules/define-properties", + "type": "prod", + }, + "es-abstract" => EdgeOut { + "name": "es-abstract", + "spec": "^1.17.0-next.1", + "to": "node_modules/regexp.prototype.flags/node_modules/es-abstract", + "type": "prod", + }, + }, + "location": "node_modules/regexp.prototype.flags", + "name": "regexp.prototype.flags", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/regexp.prototype.flags", + "peer": true, + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz", + "version": "1.3.0", + }, + "remove-trailing-separator" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/anymatch/node_modules/normalize-path", + "name": "remove-trailing-separator", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "location": "node_modules/remove-trailing-separator", + "name": "remove-trailing-separator", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/remove-trailing-separator", + "peer": true, + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "version": "1.1.0", + }, + "repeat-element" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/braces", + "name": "repeat-element", + "spec": "^1.1.2", + "type": "prod", + }, + }, + "location": "node_modules/repeat-element", + "name": "repeat-element", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/repeat-element", + "peer": true, + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "version": "1.1.3", + }, + "repeat-string" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/fill-range", + "name": "repeat-string", + "spec": "^1.6.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/to-regex-range", + "name": "repeat-string", + "spec": "^1.6.1", + "type": "prod", + }, + }, + "location": "node_modules/repeat-string", + "name": "repeat-string", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/repeat-string", + "peer": true, + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "version": "1.6.1", + }, + "require-directory" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/yargs", + "name": "require-directory", + "spec": "^2.1.1", + "type": "prod", + }, + }, + "location": "node_modules/require-directory", + "name": "require-directory", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/require-directory", + "peer": true, + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "version": "2.1.1", + }, + "require-main-filename" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/yargs", + "name": "require-main-filename", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/require-main-filename", + "name": "require-main-filename", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/require-main-filename", + "peer": true, + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "version": "2.0.0", + }, + "requires-port" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/http-proxy", + "name": "requires-port", + "spec": "^1.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/url-parse", + "name": "requires-port", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/requires-port", + "name": "requires-port", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/requires-port", + "peer": true, + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "version": "1.0.0", + }, + "resolve-cwd" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/import-local", + "name": "resolve-cwd", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "resolve-from" => EdgeOut { + "name": "resolve-from", + "spec": "^3.0.0", + "to": "node_modules/resolve-from", + "type": "prod", + }, + }, + "location": "node_modules/resolve-cwd", + "name": "resolve-cwd", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/resolve-cwd", + "peer": true, + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "version": "2.0.0", + }, + "resolve-from" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/resolve-cwd", + "name": "resolve-from", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "location": "node_modules/resolve-from", + "name": "resolve-from", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/resolve-from", + "peer": true, + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "version": "3.0.0", + }, + "resolve-url" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/source-map-resolve", + "name": "resolve-url", + "spec": "^0.2.1", + "type": "prod", + }, + }, + "location": "node_modules/resolve-url", + "name": "resolve-url", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/resolve-url", + "peer": true, + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "version": "0.2.1", + }, + "ret" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/safe-regex", + "name": "ret", + "spec": "~0.1.10", + "type": "prod", + }, + }, + "location": "node_modules/ret", + "name": "ret", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/ret", + "peer": true, + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "version": "0.1.15", + }, + "retry" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/p-retry", + "name": "retry", + "spec": "^0.12.0", + "type": "prod", + }, + }, + "location": "node_modules/retry", + "name": "retry", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/retry", + "peer": true, + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "version": "0.12.0", + }, + "rimraf" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/cacache", + "name": "rimraf", + "spec": "^2.6.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/copy-concurrently", + "name": "rimraf", + "spec": "^2.5.4", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/del", + "name": "rimraf", + "spec": "^2.6.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/move-concurrently", + "name": "rimraf", + "spec": "^2.5.4", + "type": "prod", + }, + }, + "edgesOut": Map { + "glob" => EdgeOut { + "name": "glob", + "spec": "^7.1.3", + "to": "node_modules/glob", + "type": "prod", + }, + }, + "location": "node_modules/rimraf", + "name": "rimraf", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/rimraf", + "peer": true, + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "version": "2.7.1", + }, + "ripemd160" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/create-hash", + "name": "ripemd160", + "spec": "^2.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/create-hmac", + "name": "ripemd160", + "spec": "^2.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/pbkdf2", + "name": "ripemd160", + "spec": "^2.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "hash-base" => EdgeOut { + "name": "hash-base", + "spec": "^3.0.0", + "to": "node_modules/hash-base", + "type": "prod", + }, + "inherits" => EdgeOut { + "name": "inherits", + "spec": "^2.0.1", + "to": "node_modules/inherits", + "type": "prod", + }, + }, + "location": "node_modules/ripemd160", + "name": "ripemd160", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/ripemd160", + "peer": true, + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "version": "2.0.2", + }, + "run-queue" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/copy-concurrently", + "name": "run-queue", + "spec": "^1.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/move-concurrently", + "name": "run-queue", + "spec": "^1.0.3", + "type": "prod", + }, + }, + "edgesOut": Map { + "aproba" => EdgeOut { + "name": "aproba", + "spec": "^1.1.1", + "to": "node_modules/aproba", + "type": "prod", + }, + }, + "location": "node_modules/run-queue", + "name": "run-queue", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/run-queue", + "peer": true, + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "version": "1.0.3", + }, + "safe-buffer" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/browserify-aes", + "name": "safe-buffer", + "spec": "^5.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/browserify-des", + "name": "safe-buffer", + "spec": "^5.1.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/browserify-sign", + "name": "safe-buffer", + "spec": "^5.2.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/cipher-base", + "name": "safe-buffer", + "spec": "^5.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/create-hmac", + "name": "safe-buffer", + "spec": "^5.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/dns-packet", + "name": "safe-buffer", + "spec": "^5.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/evp_bytestokey", + "name": "safe-buffer", + "spec": "^5.1.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/hash-base", + "name": "safe-buffer", + "spec": "^5.2.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/md5.js", + "name": "safe-buffer", + "spec": "^5.1.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/parse-asn1", + "name": "safe-buffer", + "spec": "^5.1.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/pbkdf2", + "name": "safe-buffer", + "spec": "^5.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/public-encrypt", + "name": "safe-buffer", + "spec": "^5.1.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/randombytes", + "name": "safe-buffer", + "spec": "^5.1.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/randomfill", + "name": "safe-buffer", + "spec": "^5.1.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/sha.js", + "name": "safe-buffer", + "spec": "^5.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/websocket-driver", + "name": "safe-buffer", + "spec": ">=5.1.0", + "type": "prod", + }, + }, + "location": "node_modules/safe-buffer", + "name": "safe-buffer", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/safe-buffer", + "peer": true, + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "version": "5.2.1", + }, + "safe-regex" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/regex-not", + "name": "safe-regex", + "spec": "^1.1.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/to-regex", + "name": "safe-regex", + "spec": "^1.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "ret" => EdgeOut { + "name": "ret", + "spec": "~0.1.10", + "to": "node_modules/ret", + "type": "prod", + }, + }, + "location": "node_modules/safe-regex", + "name": "safe-regex", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/safe-regex", + "peer": true, + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "version": "1.1.0", + }, + "safer-buffer" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/asn1.js", + "name": "safer-buffer", + "spec": "^2.1.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/iconv-lite", + "name": "safer-buffer", + "spec": ">= 2.1.2 < 3", + "type": "prod", + }, + }, + "location": "node_modules/safer-buffer", + "name": "safer-buffer", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/safer-buffer", + "peer": true, + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "version": "2.1.2", + }, + "schema-utils" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/@pmmmwh/react-refresh-webpack-plugin", + "name": "schema-utils", + "spec": "^2.6.5", + "type": "prod", + }, + }, + "edgesOut": Map { + "@types/json-schema" => EdgeOut { + "name": "@types/json-schema", + "spec": "^7.0.5", + "to": "node_modules/@types/json-schema", + "type": "prod", + }, + "ajv" => EdgeOut { + "name": "ajv", + "spec": "^6.12.4", + "to": "node_modules/ajv", + "type": "prod", + }, + "ajv-keywords" => EdgeOut { + "name": "ajv-keywords", + "spec": "^3.5.2", + "to": "node_modules/ajv-keywords", + "type": "prod", + }, + }, + "location": "node_modules/schema-utils", + "name": "schema-utils", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/schema-utils", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "version": "2.7.1", + }, + "select-hose" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/spdy", + "name": "select-hose", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/select-hose", + "name": "select-hose", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/select-hose", + "peer": true, + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "version": "2.0.0", + }, + "selfsigned" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "selfsigned", + "spec": "^1.10.7", + "type": "prod", + }, + }, + "edgesOut": Map { + "node-forge" => EdgeOut { + "name": "node-forge", + "spec": "^0.10.0", + "to": "node_modules/node-forge", + "type": "prod", + }, + }, + "location": "node_modules/selfsigned", + "name": "selfsigned", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/selfsigned", + "peer": true, + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.8.tgz", + "version": "1.10.8", + }, + "semver" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "semver", + "spec": "^6.3.0", + "type": "prod", + }, + }, + "location": "node_modules/semver", + "name": "semver", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/semver", + "peer": true, + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "version": "6.3.0", + }, + "send" => ArboristNode { + "children": Map { + "debug" => ArboristNode { + "children": Map { + "ms" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/send/node_modules/debug", + "name": "ms", + "spec": "2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/send/node_modules/debug/node_modules/ms", + "name": "ms", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/send/node_modules/debug/node_modules/ms", + "peer": true, + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "version": "2.0.0", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/send", + "name": "debug", + "spec": "2.6.9", + "type": "prod", + }, + }, + "edgesOut": Map { + "ms" => EdgeOut { + "name": "ms", + "spec": "2.0.0", + "to": "node_modules/send/node_modules/debug/node_modules/ms", + "type": "prod", + }, + }, + "location": "node_modules/send/node_modules/debug", + "name": "debug", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/send/node_modules/debug", + "peer": true, + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "version": "2.6.9", + }, + "ms" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/send", + "name": "ms", + "spec": "2.1.1", + "type": "prod", + }, + }, + "location": "node_modules/send/node_modules/ms", + "name": "ms", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/send/node_modules/ms", + "peer": true, + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "version": "2.1.1", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/express", + "name": "send", + "spec": "0.17.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/serve-static", + "name": "send", + "spec": "0.17.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "debug" => EdgeOut { + "name": "debug", + "spec": "2.6.9", + "to": "node_modules/send/node_modules/debug", + "type": "prod", + }, + "depd" => EdgeOut { + "name": "depd", + "spec": "~1.1.2", + "to": "node_modules/depd", + "type": "prod", + }, + "destroy" => EdgeOut { + "name": "destroy", + "spec": "~1.0.4", + "to": "node_modules/destroy", + "type": "prod", + }, + "encodeurl" => EdgeOut { + "name": "encodeurl", + "spec": "~1.0.2", + "to": "node_modules/encodeurl", + "type": "prod", + }, + "escape-html" => EdgeOut { + "name": "escape-html", + "spec": "~1.0.3", + "to": "node_modules/escape-html", + "type": "prod", + }, + "etag" => EdgeOut { + "name": "etag", + "spec": "~1.8.1", + "to": "node_modules/etag", + "type": "prod", + }, + "fresh" => EdgeOut { + "name": "fresh", + "spec": "0.5.2", + "to": "node_modules/fresh", + "type": "prod", + }, + "http-errors" => EdgeOut { + "name": "http-errors", + "spec": "~1.7.2", + "to": "node_modules/http-errors", + "type": "prod", + }, + "mime" => EdgeOut { + "name": "mime", + "spec": "1.6.0", + "to": "node_modules/mime", + "type": "prod", + }, + "ms" => EdgeOut { + "name": "ms", + "spec": "2.1.1", + "to": "node_modules/send/node_modules/ms", + "type": "prod", + }, + "on-finished" => EdgeOut { + "name": "on-finished", + "spec": "~2.3.0", + "to": "node_modules/on-finished", + "type": "prod", + }, + "range-parser" => EdgeOut { + "name": "range-parser", + "spec": "~1.2.1", + "to": "node_modules/range-parser", + "type": "prod", + }, + "statuses" => EdgeOut { + "name": "statuses", + "spec": "~1.5.0", + "to": "node_modules/statuses", + "type": "prod", + }, + }, + "location": "node_modules/send", + "name": "send", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/send", + "peer": true, + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "version": "0.17.1", + }, + "serialize-javascript" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/terser-webpack-plugin", + "name": "serialize-javascript", + "spec": "^4.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "randombytes" => EdgeOut { + "name": "randombytes", + "spec": "^2.1.0", + "to": "node_modules/randombytes", + "type": "prod", + }, + }, + "location": "node_modules/serialize-javascript", + "name": "serialize-javascript", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/serialize-javascript", + "peer": true, + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "version": "4.0.0", + }, + "serve-index" => ArboristNode { + "children": Map { + "debug" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/serve-index", + "name": "debug", + "spec": "2.6.9", + "type": "prod", + }, + }, + "edgesOut": Map { + "ms" => EdgeOut { + "name": "ms", + "spec": "2.0.0", + "to": "node_modules/serve-index/node_modules/ms", + "type": "prod", + }, + }, + "location": "node_modules/serve-index/node_modules/debug", + "name": "debug", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/serve-index/node_modules/debug", + "peer": true, + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "version": "2.6.9", + }, + "http-errors" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/serve-index", + "name": "http-errors", + "spec": "~1.6.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "depd" => EdgeOut { + "name": "depd", + "spec": "~1.1.2", + "to": "node_modules/depd", + "type": "prod", + }, + "inherits" => EdgeOut { + "name": "inherits", + "spec": "2.0.3", + "to": "node_modules/serve-index/node_modules/inherits", + "type": "prod", + }, + "setprototypeof" => EdgeOut { + "name": "setprototypeof", + "spec": "1.1.0", + "to": "node_modules/serve-index/node_modules/setprototypeof", + "type": "prod", + }, + "statuses" => EdgeOut { + "name": "statuses", + "spec": ">= 1.4.0 < 2", + "to": "node_modules/statuses", + "type": "prod", + }, + }, + "location": "node_modules/serve-index/node_modules/http-errors", + "name": "http-errors", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/serve-index/node_modules/http-errors", + "peer": true, + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "version": "1.6.3", + }, + "inherits" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/serve-index/node_modules/http-errors", + "name": "inherits", + "spec": "2.0.3", + "type": "prod", + }, + }, + "location": "node_modules/serve-index/node_modules/inherits", + "name": "inherits", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/serve-index/node_modules/inherits", + "peer": true, + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "version": "2.0.3", + }, + "ms" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/serve-index/node_modules/debug", + "name": "ms", + "spec": "2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/serve-index/node_modules/ms", + "name": "ms", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/serve-index/node_modules/ms", + "peer": true, + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "version": "2.0.0", + }, + "setprototypeof" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/serve-index/node_modules/http-errors", + "name": "setprototypeof", + "spec": "1.1.0", + "type": "prod", + }, + }, + "location": "node_modules/serve-index/node_modules/setprototypeof", + "name": "setprototypeof", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/serve-index/node_modules/setprototypeof", + "peer": true, + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "version": "1.1.0", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "serve-index", + "spec": "^1.9.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "accepts" => EdgeOut { + "name": "accepts", + "spec": "~1.3.4", + "to": "node_modules/accepts", + "type": "prod", + }, + "batch" => EdgeOut { + "name": "batch", + "spec": "0.6.1", + "to": "node_modules/batch", + "type": "prod", + }, + "debug" => EdgeOut { + "name": "debug", + "spec": "2.6.9", + "to": "node_modules/serve-index/node_modules/debug", + "type": "prod", + }, + "escape-html" => EdgeOut { + "name": "escape-html", + "spec": "~1.0.3", + "to": "node_modules/escape-html", + "type": "prod", + }, + "http-errors" => EdgeOut { + "name": "http-errors", + "spec": "~1.6.2", + "to": "node_modules/serve-index/node_modules/http-errors", + "type": "prod", + }, + "mime-types" => EdgeOut { + "name": "mime-types", + "spec": "~2.1.17", + "to": "node_modules/mime-types", + "type": "prod", + }, + "parseurl" => EdgeOut { + "name": "parseurl", + "spec": "~1.3.2", + "to": "node_modules/parseurl", + "type": "prod", + }, + }, + "location": "node_modules/serve-index", + "name": "serve-index", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/serve-index", + "peer": true, + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "version": "1.9.1", + }, + "serve-static" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/express", + "name": "serve-static", + "spec": "1.14.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "encodeurl" => EdgeOut { + "name": "encodeurl", + "spec": "~1.0.2", + "to": "node_modules/encodeurl", + "type": "prod", + }, + "escape-html" => EdgeOut { + "name": "escape-html", + "spec": "~1.0.3", + "to": "node_modules/escape-html", + "type": "prod", + }, + "parseurl" => EdgeOut { + "name": "parseurl", + "spec": "~1.3.3", + "to": "node_modules/parseurl", + "type": "prod", + }, + "send" => EdgeOut { + "name": "send", + "spec": "0.17.1", + "to": "node_modules/send", + "type": "prod", + }, + }, + "location": "node_modules/serve-static", + "name": "serve-static", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/serve-static", + "peer": true, + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "version": "1.14.1", + }, + "set-blocking" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/yargs", + "name": "set-blocking", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/set-blocking", + "name": "set-blocking", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/set-blocking", + "peer": true, + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "version": "2.0.0", + }, + "set-value" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/cache-base", + "name": "set-value", + "spec": "^2.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/union-value", + "name": "set-value", + "spec": "^2.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "extend-shallow" => EdgeOut { + "name": "extend-shallow", + "spec": "^2.0.1", + "to": "node_modules/extend-shallow", + "type": "prod", + }, + "is-extendable" => EdgeOut { + "name": "is-extendable", + "spec": "^0.1.1", + "to": "node_modules/is-extendable", + "type": "prod", + }, + "is-plain-object" => EdgeOut { + "name": "is-plain-object", + "spec": "^2.0.3", + "to": "node_modules/is-plain-object", + "type": "prod", + }, + "split-string" => EdgeOut { + "name": "split-string", + "spec": "^3.0.1", + "to": "node_modules/split-string", + "type": "prod", + }, + }, + "location": "node_modules/set-value", + "name": "set-value", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/set-value", + "peer": true, + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "version": "2.0.1", + }, + "setimmediate" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/timers-browserify", + "name": "setimmediate", + "spec": "^1.0.4", + "type": "prod", + }, + }, + "location": "node_modules/setimmediate", + "name": "setimmediate", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/setimmediate", + "peer": true, + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "version": "1.0.5", + }, + "setprototypeof" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/express", + "name": "setprototypeof", + "spec": "1.1.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/http-errors", + "name": "setprototypeof", + "spec": "1.1.1", + "type": "prod", + }, + }, + "location": "node_modules/setprototypeof", + "name": "setprototypeof", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/setprototypeof", + "peer": true, + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "version": "1.1.1", + }, + "sha.js" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/create-hash", + "name": "sha.js", + "spec": "^2.4.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/create-hmac", + "name": "sha.js", + "spec": "^2.4.8", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/pbkdf2", + "name": "sha.js", + "spec": "^2.4.8", + "type": "prod", + }, + }, + "edgesOut": Map { + "inherits" => EdgeOut { + "name": "inherits", + "spec": "^2.0.1", + "to": "node_modules/inherits", + "type": "prod", + }, + "safe-buffer" => EdgeOut { + "name": "safe-buffer", + "spec": "^5.0.1", + "to": "node_modules/safe-buffer", + "type": "prod", + }, + }, + "location": "node_modules/sha.js", + "name": "sha.js", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/sha.js", + "peer": true, + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "version": "2.4.11", + }, + "shebang-command" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/cross-spawn", + "name": "shebang-command", + "spec": "^1.2.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "shebang-regex" => EdgeOut { + "name": "shebang-regex", + "spec": "^1.0.0", + "to": "node_modules/shebang-regex", + "type": "prod", + }, + }, + "location": "node_modules/shebang-command", + "name": "shebang-command", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/shebang-command", + "peer": true, + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "version": "1.2.0", + }, + "shebang-regex" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/shebang-command", + "name": "shebang-regex", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/shebang-regex", + "name": "shebang-regex", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/shebang-regex", + "peer": true, + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "version": "1.0.0", + }, + "signal-exit" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/execa", + "name": "signal-exit", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "location": "node_modules/signal-exit", + "name": "signal-exit", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/signal-exit", + "peer": true, + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "version": "3.0.3", + }, + "snapdragon" => ArboristNode { + "children": Map { + "debug" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/snapdragon", + "name": "debug", + "spec": "^2.2.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "ms" => EdgeOut { + "name": "ms", + "spec": "2.0.0", + "to": "node_modules/snapdragon/node_modules/ms", + "type": "prod", + }, + }, + "location": "node_modules/snapdragon/node_modules/debug", + "name": "debug", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/snapdragon/node_modules/debug", + "peer": true, + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "version": "2.6.9", + }, + "define-property" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/snapdragon", + "name": "define-property", + "spec": "^0.2.5", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-descriptor" => EdgeOut { + "name": "is-descriptor", + "spec": "^0.1.0", + "to": "node_modules/snapdragon/node_modules/is-descriptor", + "type": "prod", + }, + }, + "location": "node_modules/snapdragon/node_modules/define-property", + "name": "define-property", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/snapdragon/node_modules/define-property", + "peer": true, + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "version": "0.2.5", + }, + "is-accessor-descriptor" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/snapdragon/node_modules/is-descriptor", + "name": "is-accessor-descriptor", + "spec": "^0.1.6", + "type": "prod", + }, + }, + "edgesOut": Map { + "kind-of" => EdgeOut { + "name": "kind-of", + "spec": "^3.0.2", + "to": "node_modules/kind-of", + "type": "prod", + }, + }, + "location": "node_modules/snapdragon/node_modules/is-accessor-descriptor", + "name": "is-accessor-descriptor", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/snapdragon/node_modules/is-accessor-descriptor", + "peer": true, + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "version": "0.1.6", + }, + "is-data-descriptor" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/snapdragon/node_modules/is-descriptor", + "name": "is-data-descriptor", + "spec": "^0.1.4", + "type": "prod", + }, + }, + "edgesOut": Map { + "kind-of" => EdgeOut { + "name": "kind-of", + "spec": "^3.0.2", + "to": "node_modules/kind-of", + "type": "prod", + }, + }, + "location": "node_modules/snapdragon/node_modules/is-data-descriptor", + "name": "is-data-descriptor", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/snapdragon/node_modules/is-data-descriptor", + "peer": true, + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "version": "0.1.4", + }, + "is-descriptor" => ArboristNode { + "children": Map { + "kind-of" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/snapdragon/node_modules/is-descriptor", + "name": "kind-of", + "spec": "^5.0.0", + "type": "prod", + }, + }, + "location": "node_modules/snapdragon/node_modules/is-descriptor/node_modules/kind-of", + "name": "kind-of", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/snapdragon/node_modules/is-descriptor/node_modules/kind-of", + "peer": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "version": "5.1.0", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/snapdragon/node_modules/define-property", + "name": "is-descriptor", + "spec": "^0.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-accessor-descriptor" => EdgeOut { + "name": "is-accessor-descriptor", + "spec": "^0.1.6", + "to": "node_modules/snapdragon/node_modules/is-accessor-descriptor", + "type": "prod", + }, + "is-data-descriptor" => EdgeOut { + "name": "is-data-descriptor", + "spec": "^0.1.4", + "to": "node_modules/snapdragon/node_modules/is-data-descriptor", + "type": "prod", + }, + "kind-of" => EdgeOut { + "name": "kind-of", + "spec": "^5.0.0", + "to": "node_modules/snapdragon/node_modules/is-descriptor/node_modules/kind-of", + "type": "prod", + }, + }, + "location": "node_modules/snapdragon/node_modules/is-descriptor", + "name": "is-descriptor", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/snapdragon/node_modules/is-descriptor", + "peer": true, + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "version": "0.1.6", + }, + "ms" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/snapdragon/node_modules/debug", + "name": "ms", + "spec": "2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/snapdragon/node_modules/ms", + "name": "ms", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/snapdragon/node_modules/ms", + "peer": true, + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "version": "2.0.0", + }, + "source-map" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/snapdragon", + "name": "source-map", + "spec": "^0.5.6", + "type": "prod", + }, + }, + "location": "node_modules/snapdragon/node_modules/source-map", + "name": "source-map", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/snapdragon/node_modules/source-map", + "peer": true, + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "version": "0.5.7", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/braces", + "name": "snapdragon", + "spec": "^0.8.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/expand-brackets", + "name": "snapdragon", + "spec": "^0.8.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/extglob", + "name": "snapdragon", + "spec": "^0.8.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/micromatch", + "name": "snapdragon", + "spec": "^0.8.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/nanomatch", + "name": "snapdragon", + "spec": "^0.8.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "base" => EdgeOut { + "name": "base", + "spec": "^0.11.1", + "to": "node_modules/base", + "type": "prod", + }, + "debug" => EdgeOut { + "name": "debug", + "spec": "^2.2.0", + "to": "node_modules/snapdragon/node_modules/debug", + "type": "prod", + }, + "define-property" => EdgeOut { + "name": "define-property", + "spec": "^0.2.5", + "to": "node_modules/snapdragon/node_modules/define-property", + "type": "prod", + }, + "extend-shallow" => EdgeOut { + "name": "extend-shallow", + "spec": "^2.0.1", + "to": "node_modules/extend-shallow", + "type": "prod", + }, + "map-cache" => EdgeOut { + "name": "map-cache", + "spec": "^0.2.2", + "to": "node_modules/map-cache", + "type": "prod", + }, + "source-map" => EdgeOut { + "name": "source-map", + "spec": "^0.5.6", + "to": "node_modules/snapdragon/node_modules/source-map", + "type": "prod", + }, + "source-map-resolve" => EdgeOut { + "name": "source-map-resolve", + "spec": "^0.5.0", + "to": "node_modules/source-map-resolve", + "type": "prod", + }, + "use" => EdgeOut { + "name": "use", + "spec": "^3.1.0", + "to": "node_modules/use", + "type": "prod", + }, + }, + "location": "node_modules/snapdragon", + "name": "snapdragon", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/snapdragon", + "peer": true, + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "version": "0.8.2", + }, + "snapdragon-node" => ArboristNode { + "children": Map { + "define-property" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/snapdragon-node", + "name": "define-property", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-descriptor" => EdgeOut { + "name": "is-descriptor", + "spec": "^1.0.0", + "to": "node_modules/is-descriptor", + "type": "prod", + }, + }, + "location": "node_modules/snapdragon-node/node_modules/define-property", + "name": "define-property", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/snapdragon-node/node_modules/define-property", + "peer": true, + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "version": "1.0.0", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/braces", + "name": "snapdragon-node", + "spec": "^2.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "define-property" => EdgeOut { + "name": "define-property", + "spec": "^1.0.0", + "to": "node_modules/snapdragon-node/node_modules/define-property", + "type": "prod", + }, + "isobject" => EdgeOut { + "name": "isobject", + "spec": "^3.0.0", + "to": "node_modules/isobject", + "type": "prod", + }, + "snapdragon-util" => EdgeOut { + "name": "snapdragon-util", + "spec": "^3.0.1", + "to": "node_modules/snapdragon-util", + "type": "prod", + }, + }, + "location": "node_modules/snapdragon-node", + "name": "snapdragon-node", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/snapdragon-node", + "peer": true, + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "version": "2.1.1", + }, + "snapdragon-util" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/snapdragon-node", + "name": "snapdragon-util", + "spec": "^3.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "kind-of" => EdgeOut { + "name": "kind-of", + "spec": "^3.2.0", + "to": "node_modules/kind-of", + "type": "prod", + }, + }, + "location": "node_modules/snapdragon-util", + "name": "snapdragon-util", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/snapdragon-util", + "peer": true, + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "version": "3.0.1", + }, + "sockjs" => ArboristNode { + "children": Map { + "faye-websocket" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/sockjs", + "name": "faye-websocket", + "spec": "^0.10.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "websocket-driver" => EdgeOut { + "name": "websocket-driver", + "spec": ">=0.5.1", + "to": "node_modules/sockjs/node_modules/websocket-driver", + "type": "prod", + }, + }, + "location": "node_modules/sockjs/node_modules/faye-websocket", + "name": "faye-websocket", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/sockjs/node_modules/faye-websocket", + "peer": true, + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", + "version": "0.10.0", + }, + "websocket-driver" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/sockjs", + "name": "websocket-driver", + "spec": "0.6.5", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/sockjs/node_modules/faye-websocket", + "name": "websocket-driver", + "spec": ">=0.5.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "websocket-extensions" => EdgeOut { + "name": "websocket-extensions", + "spec": ">=0.1.1", + "to": "node_modules/websocket-extensions", + "type": "prod", + }, + }, + "location": "node_modules/sockjs/node_modules/websocket-driver", + "name": "websocket-driver", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/sockjs/node_modules/websocket-driver", + "peer": true, + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz", + "version": "0.6.5", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "sockjs", + "spec": "0.3.20", + "type": "prod", + }, + }, + "edgesOut": Map { + "faye-websocket" => EdgeOut { + "name": "faye-websocket", + "spec": "^0.10.0", + "to": "node_modules/sockjs/node_modules/faye-websocket", + "type": "prod", + }, + "uuid" => EdgeOut { + "name": "uuid", + "spec": "^3.4.0", + "to": "node_modules/uuid", + "type": "prod", + }, + "websocket-driver" => EdgeOut { + "name": "websocket-driver", + "spec": "0.6.5", + "to": "node_modules/sockjs/node_modules/websocket-driver", + "type": "prod", + }, + }, + "location": "node_modules/sockjs", + "name": "sockjs", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/sockjs", + "peer": true, + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.20.tgz", + "version": "0.3.20", + }, + "sockjs-client" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/@pmmmwh/react-refresh-webpack-plugin", + "name": "sockjs-client", + "spec": "^1.4.0", + "type": "peerOptional", + }, + }, + "edgesOut": Map { + "debug" => EdgeOut { + "name": "debug", + "spec": "^3.2.6", + "to": "node_modules/debug", + "type": "prod", + }, + "eventsource" => EdgeOut { + "name": "eventsource", + "spec": "^1.0.7", + "to": "node_modules/eventsource", + "type": "prod", + }, + "faye-websocket" => EdgeOut { + "name": "faye-websocket", + "spec": "^0.11.3", + "to": "node_modules/faye-websocket", + "type": "prod", + }, + "inherits" => EdgeOut { + "name": "inherits", + "spec": "^2.0.4", + "to": "node_modules/inherits", + "type": "prod", + }, + "json3" => EdgeOut { + "name": "json3", + "spec": "^3.3.3", + "to": "node_modules/json3", + "type": "prod", + }, + "url-parse" => EdgeOut { + "name": "url-parse", + "spec": "^1.4.7", + "to": "node_modules/url-parse", + "type": "prod", + }, + }, + "location": "node_modules/sockjs-client", + "name": "sockjs-client", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/sockjs-client", + "peer": true, + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.5.0.tgz", + "version": "1.5.0", + }, + "source-list-map" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-sources", + "name": "source-list-map", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/source-list-map", + "name": "source-list-map", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/source-list-map", + "peer": true, + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "version": "2.0.1", + }, + "source-map" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/@pmmmwh/react-refresh-webpack-plugin", + "name": "source-map", + "spec": "^0.7.3", + "type": "prod", + }, + }, + "location": "node_modules/source-map", + "name": "source-map", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/source-map", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "version": "0.7.3", + }, + "source-map-resolve" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/snapdragon", + "name": "source-map-resolve", + "spec": "^0.5.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "atob" => EdgeOut { + "name": "atob", + "spec": "^2.1.2", + "to": "node_modules/atob", + "type": "prod", + }, + "decode-uri-component" => EdgeOut { + "name": "decode-uri-component", + "spec": "^0.2.0", + "to": "node_modules/decode-uri-component", + "type": "prod", + }, + "resolve-url" => EdgeOut { + "name": "resolve-url", + "spec": "^0.2.1", + "to": "node_modules/resolve-url", + "type": "prod", + }, + "source-map-url" => EdgeOut { + "name": "source-map-url", + "spec": "^0.4.0", + "to": "node_modules/source-map-url", + "type": "prod", + }, + "urix" => EdgeOut { + "name": "urix", + "spec": "^0.1.0", + "to": "node_modules/urix", + "type": "prod", + }, + }, + "location": "node_modules/source-map-resolve", + "name": "source-map-resolve", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/source-map-resolve", + "peer": true, + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "version": "0.5.3", + }, + "source-map-support" => ArboristNode { + "children": Map { + "source-map" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/source-map-support", + "name": "source-map", + "spec": "^0.6.0", + "type": "prod", + }, + }, + "location": "node_modules/source-map-support/node_modules/source-map", + "name": "source-map", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/source-map-support/node_modules/source-map", + "peer": true, + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "version": "0.6.1", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/terser", + "name": "source-map-support", + "spec": "~0.5.12", + "type": "prod", + }, + }, + "edgesOut": Map { + "buffer-from" => EdgeOut { + "name": "buffer-from", + "spec": "^1.0.0", + "to": "node_modules/buffer-from", + "type": "prod", + }, + "source-map" => EdgeOut { + "name": "source-map", + "spec": "^0.6.0", + "to": "node_modules/source-map-support/node_modules/source-map", + "type": "prod", + }, + }, + "location": "node_modules/source-map-support", + "name": "source-map-support", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/source-map-support", + "peer": true, + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "version": "0.5.19", + }, + "source-map-url" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/source-map-resolve", + "name": "source-map-url", + "spec": "^0.4.0", + "type": "prod", + }, + }, + "location": "node_modules/source-map-url", + "name": "source-map-url", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/source-map-url", + "peer": true, + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "version": "0.4.0", + }, + "spdy" => ArboristNode { + "children": Map { + "debug" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/spdy", + "name": "debug", + "spec": "^4.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "ms" => EdgeOut { + "name": "ms", + "spec": "2.1.2", + "to": "node_modules/ms", + "type": "prod", + }, + }, + "location": "node_modules/spdy/node_modules/debug", + "name": "debug", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/spdy/node_modules/debug", + "peer": true, + "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", + "version": "4.2.0", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "spdy", + "spec": "^4.0.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "debug" => EdgeOut { + "name": "debug", + "spec": "^4.1.0", + "to": "node_modules/spdy/node_modules/debug", + "type": "prod", + }, + "handle-thing" => EdgeOut { + "name": "handle-thing", + "spec": "^2.0.0", + "to": "node_modules/handle-thing", + "type": "prod", + }, + "http-deceiver" => EdgeOut { + "name": "http-deceiver", + "spec": "^1.2.7", + "to": "node_modules/http-deceiver", + "type": "prod", + }, + "select-hose" => EdgeOut { + "name": "select-hose", + "spec": "^2.0.0", + "to": "node_modules/select-hose", + "type": "prod", + }, + "spdy-transport" => EdgeOut { + "name": "spdy-transport", + "spec": "^3.0.0", + "to": "node_modules/spdy-transport", + "type": "prod", + }, + }, + "location": "node_modules/spdy", + "name": "spdy", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/spdy", + "peer": true, + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "version": "4.0.2", + }, + "spdy-transport" => ArboristNode { + "children": Map { + "debug" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/spdy-transport", + "name": "debug", + "spec": "^4.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "ms" => EdgeOut { + "name": "ms", + "spec": "2.1.2", + "to": "node_modules/ms", + "type": "prod", + }, + }, + "location": "node_modules/spdy-transport/node_modules/debug", + "name": "debug", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/spdy-transport/node_modules/debug", + "peer": true, + "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", + "version": "4.2.0", + }, + "readable-stream" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/spdy-transport", + "name": "readable-stream", + "spec": "^3.0.6", + "type": "prod", + }, + }, + "edgesOut": Map { + "inherits" => EdgeOut { + "name": "inherits", + "spec": "^2.0.3", + "to": "node_modules/inherits", + "type": "prod", + }, + "string_decoder" => EdgeOut { + "name": "string_decoder", + "spec": "^1.1.1", + "to": "node_modules/string_decoder", + "type": "prod", + }, + "util-deprecate" => EdgeOut { + "name": "util-deprecate", + "spec": "^1.0.1", + "to": "node_modules/util-deprecate", + "type": "prod", + }, + }, + "location": "node_modules/spdy-transport/node_modules/readable-stream", + "name": "readable-stream", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/spdy-transport/node_modules/readable-stream", + "peer": true, + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "version": "3.6.0", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/spdy", + "name": "spdy-transport", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "debug" => EdgeOut { + "name": "debug", + "spec": "^4.1.0", + "to": "node_modules/spdy-transport/node_modules/debug", + "type": "prod", + }, + "detect-node" => EdgeOut { + "name": "detect-node", + "spec": "^2.0.4", + "to": "node_modules/detect-node", + "type": "prod", + }, + "hpack.js" => EdgeOut { + "name": "hpack.js", + "spec": "^2.1.6", + "to": "node_modules/hpack.js", + "type": "prod", + }, + "obuf" => EdgeOut { + "name": "obuf", + "spec": "^1.1.2", + "to": "node_modules/obuf", + "type": "prod", + }, + "readable-stream" => EdgeOut { + "name": "readable-stream", + "spec": "^3.0.6", + "to": "node_modules/spdy-transport/node_modules/readable-stream", + "type": "prod", + }, + "wbuf" => EdgeOut { + "name": "wbuf", + "spec": "^1.7.3", + "to": "node_modules/wbuf", + "type": "prod", + }, + }, + "location": "node_modules/spdy-transport", + "name": "spdy-transport", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/spdy-transport", + "peer": true, + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "version": "3.0.0", + }, + "split-string" => ArboristNode { + "children": Map { + "extend-shallow" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/split-string", + "name": "extend-shallow", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "assign-symbols" => EdgeOut { + "name": "assign-symbols", + "spec": "^1.0.0", + "to": "node_modules/assign-symbols", + "type": "prod", + }, + "is-extendable" => EdgeOut { + "name": "is-extendable", + "spec": "^1.0.1", + "to": "node_modules/split-string/node_modules/is-extendable", + "type": "prod", + }, + }, + "location": "node_modules/split-string/node_modules/extend-shallow", + "name": "extend-shallow", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/split-string/node_modules/extend-shallow", + "peer": true, + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "version": "3.0.2", + }, + "is-extendable" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/split-string/node_modules/extend-shallow", + "name": "is-extendable", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-plain-object" => EdgeOut { + "name": "is-plain-object", + "spec": "^2.0.4", + "to": "node_modules/is-plain-object", + "type": "prod", + }, + }, + "location": "node_modules/split-string/node_modules/is-extendable", + "name": "is-extendable", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/split-string/node_modules/is-extendable", + "peer": true, + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "version": "1.0.1", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/braces", + "name": "split-string", + "spec": "^3.0.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/set-value", + "name": "split-string", + "spec": "^3.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "extend-shallow" => EdgeOut { + "name": "extend-shallow", + "spec": "^3.0.0", + "to": "node_modules/split-string/node_modules/extend-shallow", + "type": "prod", + }, + }, + "location": "node_modules/split-string", + "name": "split-string", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/split-string", + "peer": true, + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "version": "3.1.0", + }, + "ssri" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/cacache", + "name": "ssri", + "spec": "^6.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "figgy-pudding" => EdgeOut { + "name": "figgy-pudding", + "spec": "^3.5.1", + "to": "node_modules/figgy-pudding", + "type": "prod", + }, + }, + "location": "node_modules/ssri", + "name": "ssri", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/ssri", + "peer": true, + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", + "version": "6.0.1", + }, + "stackframe" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/error-stack-parser", + "name": "stackframe", + "spec": "^1.1.1", + "type": "prod", + }, + }, + "location": "node_modules/stackframe", + "name": "stackframe", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/stackframe", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.2.0.tgz", + "version": "1.2.0", + }, + "static-extend" => ArboristNode { + "children": Map { + "define-property" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/static-extend", + "name": "define-property", + "spec": "^0.2.5", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-descriptor" => EdgeOut { + "name": "is-descriptor", + "spec": "^0.1.0", + "to": "node_modules/static-extend/node_modules/is-descriptor", + "type": "prod", + }, + }, + "location": "node_modules/static-extend/node_modules/define-property", + "name": "define-property", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/static-extend/node_modules/define-property", + "peer": true, + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "version": "0.2.5", + }, + "is-accessor-descriptor" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/static-extend/node_modules/is-descriptor", + "name": "is-accessor-descriptor", + "spec": "^0.1.6", + "type": "prod", + }, + }, + "edgesOut": Map { + "kind-of" => EdgeOut { + "name": "kind-of", + "spec": "^3.0.2", + "to": "node_modules/kind-of", + "type": "prod", + }, + }, + "location": "node_modules/static-extend/node_modules/is-accessor-descriptor", + "name": "is-accessor-descriptor", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/static-extend/node_modules/is-accessor-descriptor", + "peer": true, + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "version": "0.1.6", + }, + "is-data-descriptor" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/static-extend/node_modules/is-descriptor", + "name": "is-data-descriptor", + "spec": "^0.1.4", + "type": "prod", + }, + }, + "edgesOut": Map { + "kind-of" => EdgeOut { + "name": "kind-of", + "spec": "^3.0.2", + "to": "node_modules/kind-of", + "type": "prod", + }, + }, + "location": "node_modules/static-extend/node_modules/is-data-descriptor", + "name": "is-data-descriptor", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/static-extend/node_modules/is-data-descriptor", + "peer": true, + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "version": "0.1.4", + }, + "is-descriptor" => ArboristNode { + "children": Map { + "kind-of" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/static-extend/node_modules/is-descriptor", + "name": "kind-of", + "spec": "^5.0.0", + "type": "prod", + }, + }, + "location": "node_modules/static-extend/node_modules/is-descriptor/node_modules/kind-of", + "name": "kind-of", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/static-extend/node_modules/is-descriptor/node_modules/kind-of", + "peer": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "version": "5.1.0", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/static-extend/node_modules/define-property", + "name": "is-descriptor", + "spec": "^0.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-accessor-descriptor" => EdgeOut { + "name": "is-accessor-descriptor", + "spec": "^0.1.6", + "to": "node_modules/static-extend/node_modules/is-accessor-descriptor", + "type": "prod", + }, + "is-data-descriptor" => EdgeOut { + "name": "is-data-descriptor", + "spec": "^0.1.4", + "to": "node_modules/static-extend/node_modules/is-data-descriptor", + "type": "prod", + }, + "kind-of" => EdgeOut { + "name": "kind-of", + "spec": "^5.0.0", + "to": "node_modules/static-extend/node_modules/is-descriptor/node_modules/kind-of", + "type": "prod", + }, + }, + "location": "node_modules/static-extend/node_modules/is-descriptor", + "name": "is-descriptor", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/static-extend/node_modules/is-descriptor", + "peer": true, + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "version": "0.1.6", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/class-utils", + "name": "static-extend", + "spec": "^0.1.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "define-property" => EdgeOut { + "name": "define-property", + "spec": "^0.2.5", + "to": "node_modules/static-extend/node_modules/define-property", + "type": "prod", + }, + "object-copy" => EdgeOut { + "name": "object-copy", + "spec": "^0.1.0", + "to": "node_modules/object-copy", + "type": "prod", + }, + }, + "location": "node_modules/static-extend", + "name": "static-extend", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/static-extend", + "peer": true, + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "version": "0.1.2", + }, + "statuses" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/express", + "name": "statuses", + "spec": "~1.5.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/finalhandler", + "name": "statuses", + "spec": "~1.5.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/http-errors", + "name": "statuses", + "spec": ">= 1.5.0 < 2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/send", + "name": "statuses", + "spec": "~1.5.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/serve-index/node_modules/http-errors", + "name": "statuses", + "spec": ">= 1.4.0 < 2", + "type": "prod", + }, + }, + "location": "node_modules/statuses", + "name": "statuses", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/statuses", + "peer": true, + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "version": "1.5.0", + }, + "stream-browserify" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/node-libs-browser", + "name": "stream-browserify", + "spec": "^2.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "inherits" => EdgeOut { + "name": "inherits", + "spec": "~2.0.1", + "to": "node_modules/inherits", + "type": "prod", + }, + "readable-stream" => EdgeOut { + "name": "readable-stream", + "spec": "^2.0.2", + "to": "node_modules/readable-stream", + "type": "prod", + }, + }, + "location": "node_modules/stream-browserify", + "name": "stream-browserify", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/stream-browserify", + "peer": true, + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "version": "2.0.2", + }, + "stream-each" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/mississippi", + "name": "stream-each", + "spec": "^1.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "end-of-stream" => EdgeOut { + "name": "end-of-stream", + "spec": "^1.1.0", + "to": "node_modules/end-of-stream", + "type": "prod", + }, + "stream-shift" => EdgeOut { + "name": "stream-shift", + "spec": "^1.0.0", + "to": "node_modules/stream-shift", + "type": "prod", + }, + }, + "location": "node_modules/stream-each", + "name": "stream-each", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/stream-each", + "peer": true, + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "version": "1.2.3", + }, + "stream-http" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/node-libs-browser", + "name": "stream-http", + "spec": "^2.7.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "builtin-status-codes" => EdgeOut { + "name": "builtin-status-codes", + "spec": "^3.0.0", + "to": "node_modules/builtin-status-codes", + "type": "prod", + }, + "inherits" => EdgeOut { + "name": "inherits", + "spec": "^2.0.1", + "to": "node_modules/inherits", + "type": "prod", + }, + "readable-stream" => EdgeOut { + "name": "readable-stream", + "spec": "^2.3.6", + "to": "node_modules/readable-stream", + "type": "prod", + }, + "to-arraybuffer" => EdgeOut { + "name": "to-arraybuffer", + "spec": "^1.0.0", + "to": "node_modules/to-arraybuffer", + "type": "prod", + }, + "xtend" => EdgeOut { + "name": "xtend", + "spec": "^4.0.0", + "to": "node_modules/xtend", + "type": "prod", + }, + }, + "location": "node_modules/stream-http", + "name": "stream-http", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/stream-http", + "peer": true, + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "version": "2.8.3", + }, + "stream-shift" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/duplexify", + "name": "stream-shift", + "spec": "^1.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/stream-each", + "name": "stream-shift", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/stream-shift", + "name": "stream-shift", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/stream-shift", + "peer": true, + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "version": "1.0.1", + }, + "string_decoder" => ArboristNode { + "children": Map { + "safe-buffer" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/string_decoder", + "name": "safe-buffer", + "spec": "~5.1.0", + "type": "prod", + }, + }, + "location": "node_modules/string_decoder/node_modules/safe-buffer", + "name": "safe-buffer", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/string_decoder/node_modules/safe-buffer", + "peer": true, + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "version": "5.1.2", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/browserify-sign/node_modules/readable-stream", + "name": "string_decoder", + "spec": "^1.1.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/hash-base/node_modules/readable-stream", + "name": "string_decoder", + "spec": "^1.1.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/node-libs-browser", + "name": "string_decoder", + "spec": "^1.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/readable-stream", + "name": "string_decoder", + "spec": "~1.1.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/spdy-transport/node_modules/readable-stream", + "name": "string_decoder", + "spec": "^1.1.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "safe-buffer" => EdgeOut { + "name": "safe-buffer", + "spec": "~5.1.0", + "to": "node_modules/string_decoder/node_modules/safe-buffer", + "type": "prod", + }, + }, + "location": "node_modules/string_decoder", + "name": "string_decoder", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/string_decoder", + "peer": true, + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "version": "1.1.1", + }, + "string-width" => ArboristNode { + "children": Map { + "ansi-regex" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/string-width/node_modules/strip-ansi", + "name": "ansi-regex", + "spec": "^4.1.0", + "type": "prod", + }, + }, + "location": "node_modules/string-width/node_modules/ansi-regex", + "name": "ansi-regex", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/string-width/node_modules/ansi-regex", + "peer": true, + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "version": "4.1.0", + }, + "strip-ansi" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/string-width", + "name": "strip-ansi", + "spec": "^5.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "ansi-regex" => EdgeOut { + "name": "ansi-regex", + "spec": "^4.1.0", + "to": "node_modules/string-width/node_modules/ansi-regex", + "type": "prod", + }, + }, + "location": "node_modules/string-width/node_modules/strip-ansi", + "name": "strip-ansi", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/string-width/node_modules/strip-ansi", + "peer": true, + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "version": "5.2.0", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/cliui", + "name": "string-width", + "spec": "^3.1.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/wrap-ansi", + "name": "string-width", + "spec": "^3.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/yargs", + "name": "string-width", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "emoji-regex" => EdgeOut { + "name": "emoji-regex", + "spec": "^7.0.1", + "to": "node_modules/emoji-regex", + "type": "prod", + }, + "is-fullwidth-code-point" => EdgeOut { + "name": "is-fullwidth-code-point", + "spec": "^2.0.0", + "to": "node_modules/is-fullwidth-code-point", + "type": "prod", + }, + "strip-ansi" => EdgeOut { + "name": "strip-ansi", + "spec": "^5.1.0", + "to": "node_modules/string-width/node_modules/strip-ansi", + "type": "prod", + }, + }, + "location": "node_modules/string-width", + "name": "string-width", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/string-width", + "peer": true, + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "version": "3.1.0", + }, + "string.prototype.trimend" => ArboristNode { + "children": Map { + "es-abstract" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/string.prototype.trimend", + "name": "es-abstract", + "spec": "^1.17.5", + "type": "prod", + }, + }, + "edgesOut": Map { + "es-to-primitive" => EdgeOut { + "name": "es-to-primitive", + "spec": "^1.2.1", + "to": "node_modules/es-to-primitive", + "type": "prod", + }, + "function-bind" => EdgeOut { + "name": "function-bind", + "spec": "^1.1.1", + "to": "node_modules/function-bind", + "type": "prod", + }, + "has" => EdgeOut { + "name": "has", + "spec": "^1.0.3", + "to": "node_modules/has", + "type": "prod", + }, + "has-symbols" => EdgeOut { + "name": "has-symbols", + "spec": "^1.0.1", + "to": "node_modules/has-symbols", + "type": "prod", + }, + "is-callable" => EdgeOut { + "name": "is-callable", + "spec": "^1.2.2", + "to": "node_modules/is-callable", + "type": "prod", + }, + "is-regex" => EdgeOut { + "name": "is-regex", + "spec": "^1.1.1", + "to": "node_modules/is-regex", + "type": "prod", + }, + "object-inspect" => EdgeOut { + "name": "object-inspect", + "spec": "^1.8.0", + "to": "node_modules/object-inspect", + "type": "prod", + }, + "object-keys" => EdgeOut { + "name": "object-keys", + "spec": "^1.1.1", + "to": "node_modules/object-keys", + "type": "prod", + }, + "object.assign" => EdgeOut { + "name": "object.assign", + "spec": "^4.1.1", + "to": "node_modules/object.assign", + "type": "prod", + }, + "string.prototype.trimend" => EdgeOut { + "name": "string.prototype.trimend", + "spec": "^1.0.1", + "to": "node_modules/string.prototype.trimend", + "type": "prod", + }, + "string.prototype.trimstart" => EdgeOut { + "name": "string.prototype.trimstart", + "spec": "^1.0.1", + "to": "node_modules/string.prototype.trimstart", + "type": "prod", + }, + }, + "location": "node_modules/string.prototype.trimend/node_modules/es-abstract", + "name": "es-abstract", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/string.prototype.trimend/node_modules/es-abstract", + "peer": true, + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", + "version": "1.17.7", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/es-abstract", + "name": "string.prototype.trimend", + "spec": "^1.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/regexp.prototype.flags/node_modules/es-abstract", + "name": "string.prototype.trimend", + "spec": "^1.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/string.prototype.trimend/node_modules/es-abstract", + "name": "string.prototype.trimend", + "spec": "^1.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/string.prototype.trimstart/node_modules/es-abstract", + "name": "string.prototype.trimend", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "define-properties" => EdgeOut { + "name": "define-properties", + "spec": "^1.1.3", + "to": "node_modules/define-properties", + "type": "prod", + }, + "es-abstract" => EdgeOut { + "name": "es-abstract", + "spec": "^1.17.5", + "to": "node_modules/string.prototype.trimend/node_modules/es-abstract", + "type": "prod", + }, + }, + "location": "node_modules/string.prototype.trimend", + "name": "string.prototype.trimend", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/string.prototype.trimend", + "peer": true, + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz", + "version": "1.0.1", + }, + "string.prototype.trimstart" => ArboristNode { + "children": Map { + "es-abstract" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/string.prototype.trimstart", + "name": "es-abstract", + "spec": "^1.17.5", + "type": "prod", + }, + }, + "edgesOut": Map { + "es-to-primitive" => EdgeOut { + "name": "es-to-primitive", + "spec": "^1.2.1", + "to": "node_modules/es-to-primitive", + "type": "prod", + }, + "function-bind" => EdgeOut { + "name": "function-bind", + "spec": "^1.1.1", + "to": "node_modules/function-bind", + "type": "prod", + }, + "has" => EdgeOut { + "name": "has", + "spec": "^1.0.3", + "to": "node_modules/has", + "type": "prod", + }, + "has-symbols" => EdgeOut { + "name": "has-symbols", + "spec": "^1.0.1", + "to": "node_modules/has-symbols", + "type": "prod", + }, + "is-callable" => EdgeOut { + "name": "is-callable", + "spec": "^1.2.2", + "to": "node_modules/is-callable", + "type": "prod", + }, + "is-regex" => EdgeOut { + "name": "is-regex", + "spec": "^1.1.1", + "to": "node_modules/is-regex", + "type": "prod", + }, + "object-inspect" => EdgeOut { + "name": "object-inspect", + "spec": "^1.8.0", + "to": "node_modules/object-inspect", + "type": "prod", + }, + "object-keys" => EdgeOut { + "name": "object-keys", + "spec": "^1.1.1", + "to": "node_modules/object-keys", + "type": "prod", + }, + "object.assign" => EdgeOut { + "name": "object.assign", + "spec": "^4.1.1", + "to": "node_modules/object.assign", + "type": "prod", + }, + "string.prototype.trimend" => EdgeOut { + "name": "string.prototype.trimend", + "spec": "^1.0.1", + "to": "node_modules/string.prototype.trimend", + "type": "prod", + }, + "string.prototype.trimstart" => EdgeOut { + "name": "string.prototype.trimstart", + "spec": "^1.0.1", + "to": "node_modules/string.prototype.trimstart", + "type": "prod", + }, + }, + "location": "node_modules/string.prototype.trimstart/node_modules/es-abstract", + "name": "es-abstract", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/string.prototype.trimstart/node_modules/es-abstract", + "peer": true, + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", + "version": "1.17.7", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/es-abstract", + "name": "string.prototype.trimstart", + "spec": "^1.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/regexp.prototype.flags/node_modules/es-abstract", + "name": "string.prototype.trimstart", + "spec": "^1.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/string.prototype.trimend/node_modules/es-abstract", + "name": "string.prototype.trimstart", + "spec": "^1.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/string.prototype.trimstart/node_modules/es-abstract", + "name": "string.prototype.trimstart", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "define-properties" => EdgeOut { + "name": "define-properties", + "spec": "^1.1.3", + "to": "node_modules/define-properties", + "type": "prod", + }, + "es-abstract" => EdgeOut { + "name": "es-abstract", + "spec": "^1.17.5", + "to": "node_modules/string.prototype.trimstart/node_modules/es-abstract", + "type": "prod", + }, + }, + "location": "node_modules/string.prototype.trimstart", + "name": "string.prototype.trimstart", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/string.prototype.trimstart", + "peer": true, + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz", + "version": "1.0.1", + }, + "strip-ansi" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "strip-ansi", + "spec": "^3.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "ansi-regex" => EdgeOut { + "name": "ansi-regex", + "spec": "^2.0.0", + "to": "node_modules/ansi-regex", + "type": "prod", + }, + }, + "location": "node_modules/strip-ansi", + "name": "strip-ansi", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/strip-ansi", + "peer": true, + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "version": "3.0.1", + }, + "strip-eof" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/execa", + "name": "strip-eof", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/strip-eof", + "name": "strip-eof", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/strip-eof", + "peer": true, + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "version": "1.0.0", + }, + "tapable" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/enhanced-resolve", + "name": "tapable", + "spec": "^1.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/webpack", + "name": "tapable", + "spec": "^1.1.3", + "type": "prod", + }, + }, + "location": "node_modules/tapable", + "name": "tapable", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/tapable", + "peer": true, + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "version": "1.1.3", + }, + "terser" => ArboristNode { + "children": Map { + "source-map" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/terser", + "name": "source-map", + "spec": "~0.6.1", + "type": "prod", + }, + }, + "location": "node_modules/terser/node_modules/source-map", + "name": "source-map", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/terser/node_modules/source-map", + "peer": true, + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "version": "0.6.1", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/terser-webpack-plugin", + "name": "terser", + "spec": "^4.1.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "commander" => EdgeOut { + "name": "commander", + "spec": "^2.20.0", + "to": "node_modules/commander", + "type": "prod", + }, + "source-map" => EdgeOut { + "name": "source-map", + "spec": "~0.6.1", + "to": "node_modules/terser/node_modules/source-map", + "type": "prod", + }, + "source-map-support" => EdgeOut { + "name": "source-map-support", + "spec": "~0.5.12", + "to": "node_modules/source-map-support", + "type": "prod", + }, + }, + "location": "node_modules/terser", + "name": "terser", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/terser", + "peer": true, + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", + "version": "4.8.0", + }, + "terser-webpack-plugin" => ArboristNode { + "children": Map { + "schema-utils" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/terser-webpack-plugin", + "name": "schema-utils", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "ajv" => EdgeOut { + "name": "ajv", + "spec": "^6.1.0", + "to": "node_modules/ajv", + "type": "prod", + }, + "ajv-errors" => EdgeOut { + "name": "ajv-errors", + "spec": "^1.0.0", + "to": "node_modules/ajv-errors", + "type": "prod", + }, + "ajv-keywords" => EdgeOut { + "name": "ajv-keywords", + "spec": "^3.1.0", + "to": "node_modules/ajv-keywords", + "type": "prod", + }, + }, + "location": "node_modules/terser-webpack-plugin/node_modules/schema-utils", + "name": "schema-utils", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/terser-webpack-plugin/node_modules/schema-utils", + "peer": true, + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "version": "1.0.0", + }, + "source-map" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/terser-webpack-plugin", + "name": "source-map", + "spec": "^0.6.1", + "type": "prod", + }, + }, + "location": "node_modules/terser-webpack-plugin/node_modules/source-map", + "name": "source-map", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/terser-webpack-plugin/node_modules/source-map", + "peer": true, + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "version": "0.6.1", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack", + "name": "terser-webpack-plugin", + "spec": "^1.4.3", + "type": "prod", + }, + }, + "edgesOut": Map { + "cacache" => EdgeOut { + "name": "cacache", + "spec": "^12.0.2", + "to": "node_modules/cacache", + "type": "prod", + }, + "find-cache-dir" => EdgeOut { + "name": "find-cache-dir", + "spec": "^2.1.0", + "to": "node_modules/find-cache-dir", + "type": "prod", + }, + "is-wsl" => EdgeOut { + "name": "is-wsl", + "spec": "^1.1.0", + "to": "node_modules/is-wsl", + "type": "prod", + }, + "schema-utils" => EdgeOut { + "name": "schema-utils", + "spec": "^1.0.0", + "to": "node_modules/terser-webpack-plugin/node_modules/schema-utils", + "type": "prod", + }, + "serialize-javascript" => EdgeOut { + "name": "serialize-javascript", + "spec": "^4.0.0", + "to": "node_modules/serialize-javascript", + "type": "prod", + }, + "source-map" => EdgeOut { + "name": "source-map", + "spec": "^0.6.1", + "to": "node_modules/terser-webpack-plugin/node_modules/source-map", + "type": "prod", + }, + "terser" => EdgeOut { + "name": "terser", + "spec": "^4.1.2", + "to": "node_modules/terser", + "type": "prod", + }, + "webpack" => EdgeOut { + "name": "webpack", + "spec": "^4.0.0", + "to": "node_modules/webpack", + "type": "peer", + }, + "webpack-sources" => EdgeOut { + "name": "webpack-sources", + "spec": "^1.4.0", + "to": "node_modules/webpack-sources", + "type": "prod", + }, + "worker-farm" => EdgeOut { + "name": "worker-farm", + "spec": "^1.7.0", + "to": "node_modules/worker-farm", + "type": "prod", + }, + }, + "location": "node_modules/terser-webpack-plugin", + "name": "terser-webpack-plugin", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/terser-webpack-plugin", + "peer": true, + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", + "version": "1.4.5", + }, + "through2" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/mississippi", + "name": "through2", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "readable-stream" => EdgeOut { + "name": "readable-stream", + "spec": "~2.3.6", + "to": "node_modules/readable-stream", + "type": "prod", + }, + "xtend" => EdgeOut { + "name": "xtend", + "spec": "~4.0.1", + "to": "node_modules/xtend", + "type": "prod", + }, + }, + "location": "node_modules/through2", + "name": "through2", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/through2", + "peer": true, + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "version": "2.0.5", + }, + "thunky" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/multicast-dns", + "name": "thunky", + "spec": "^1.0.2", + "type": "prod", + }, + }, + "location": "node_modules/thunky", + "name": "thunky", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/thunky", + "peer": true, + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "version": "1.1.0", + }, + "timers-browserify" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/node-libs-browser", + "name": "timers-browserify", + "spec": "^2.0.4", + "type": "prod", + }, + }, + "edgesOut": Map { + "setimmediate" => EdgeOut { + "name": "setimmediate", + "spec": "^1.0.4", + "to": "node_modules/setimmediate", + "type": "prod", + }, + }, + "location": "node_modules/timers-browserify", + "name": "timers-browserify", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/timers-browserify", + "peer": true, + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", + "version": "2.0.12", + }, + "to-arraybuffer" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/stream-http", + "name": "to-arraybuffer", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/to-arraybuffer", + "name": "to-arraybuffer", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/to-arraybuffer", + "peer": true, + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "version": "1.0.1", + }, + "to-object-path" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/cache-base", + "name": "to-object-path", + "spec": "^0.3.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "kind-of" => EdgeOut { + "name": "kind-of", + "spec": "^3.0.2", + "to": "node_modules/kind-of", + "type": "prod", + }, + }, + "location": "node_modules/to-object-path", + "name": "to-object-path", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/to-object-path", + "peer": true, + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "version": "0.3.0", + }, + "to-regex" => ArboristNode { + "children": Map { + "extend-shallow" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/to-regex", + "name": "extend-shallow", + "spec": "^3.0.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "assign-symbols" => EdgeOut { + "name": "assign-symbols", + "spec": "^1.0.0", + "to": "node_modules/assign-symbols", + "type": "prod", + }, + "is-extendable" => EdgeOut { + "name": "is-extendable", + "spec": "^1.0.1", + "to": "node_modules/to-regex/node_modules/is-extendable", + "type": "prod", + }, + }, + "location": "node_modules/to-regex/node_modules/extend-shallow", + "name": "extend-shallow", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/to-regex/node_modules/extend-shallow", + "peer": true, + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "version": "3.0.2", + }, + "is-extendable" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/to-regex/node_modules/extend-shallow", + "name": "is-extendable", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-plain-object" => EdgeOut { + "name": "is-plain-object", + "spec": "^2.0.4", + "to": "node_modules/is-plain-object", + "type": "prod", + }, + }, + "location": "node_modules/to-regex/node_modules/is-extendable", + "name": "is-extendable", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/to-regex/node_modules/is-extendable", + "peer": true, + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "version": "1.0.1", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/braces", + "name": "to-regex", + "spec": "^3.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/expand-brackets", + "name": "to-regex", + "spec": "^3.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/extglob", + "name": "to-regex", + "spec": "^3.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/micromatch", + "name": "to-regex", + "spec": "^3.0.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/nanomatch", + "name": "to-regex", + "spec": "^3.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "define-property" => EdgeOut { + "name": "define-property", + "spec": "^2.0.2", + "to": "node_modules/define-property", + "type": "prod", + }, + "extend-shallow" => EdgeOut { + "name": "extend-shallow", + "spec": "^3.0.2", + "to": "node_modules/to-regex/node_modules/extend-shallow", + "type": "prod", + }, + "regex-not" => EdgeOut { + "name": "regex-not", + "spec": "^1.0.2", + "to": "node_modules/regex-not", + "type": "prod", + }, + "safe-regex" => EdgeOut { + "name": "safe-regex", + "spec": "^1.1.0", + "to": "node_modules/safe-regex", + "type": "prod", + }, + }, + "location": "node_modules/to-regex", + "name": "to-regex", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/to-regex", + "peer": true, + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "version": "3.0.2", + }, + "to-regex-range" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/fill-range", + "name": "to-regex-range", + "spec": "^2.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-number" => EdgeOut { + "name": "is-number", + "spec": "^3.0.0", + "to": "node_modules/is-number", + "type": "prod", + }, + "repeat-string" => EdgeOut { + "name": "repeat-string", + "spec": "^1.6.1", + "to": "node_modules/repeat-string", + "type": "prod", + }, + }, + "location": "node_modules/to-regex-range", + "name": "to-regex-range", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/to-regex-range", + "peer": true, + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "version": "2.1.1", + }, + "toidentifier" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/http-errors", + "name": "toidentifier", + "spec": "1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/toidentifier", + "name": "toidentifier", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/toidentifier", + "peer": true, + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "version": "1.0.0", + }, + "tslib" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/chrome-trace-event", + "name": "tslib", + "spec": "^1.9.0", + "type": "prod", + }, + }, + "location": "node_modules/tslib", + "name": "tslib", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/tslib", + "peer": true, + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "version": "1.14.1", + }, + "tty-browserify" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/node-libs-browser", + "name": "tty-browserify", + "spec": "0.0.0", + "type": "prod", + }, + }, + "location": "node_modules/tty-browserify", + "name": "tty-browserify", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/tty-browserify", + "peer": true, + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "version": "0.0.0", + }, + "type-fest" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "", + "name": "type-fest", + "spec": "^0.12.0", + "type": "prod", + }, + EdgeIn { + "error": "INVALID", + "from": "node_modules/@pmmmwh/react-refresh-webpack-plugin", + "name": "type-fest", + "peerConflicted": true, + "spec": "^0.13.1", + "type": "peerOptional", + }, + }, + "location": "node_modules/type-fest", + "name": "type-fest", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/type-fest", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.12.0.tgz", + "version": "0.12.0", + }, + "type-is" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/body-parser", + "name": "type-is", + "spec": "~1.6.17", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/express", + "name": "type-is", + "spec": "~1.6.18", + "type": "prod", + }, + }, + "edgesOut": Map { + "media-typer" => EdgeOut { + "name": "media-typer", + "spec": "0.3.0", + "to": "node_modules/media-typer", + "type": "prod", + }, + "mime-types" => EdgeOut { + "name": "mime-types", + "spec": "~2.1.24", + "to": "node_modules/mime-types", + "type": "prod", + }, + }, + "location": "node_modules/type-is", + "name": "type-is", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/type-is", + "peer": true, + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "version": "1.6.18", + }, + "typedarray" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/concat-stream", + "name": "typedarray", + "spec": "^0.0.6", + "type": "prod", + }, + }, + "location": "node_modules/typedarray", + "name": "typedarray", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/typedarray", + "peer": true, + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "version": "0.0.6", + }, + "union-value" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/cache-base", + "name": "union-value", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "arr-union" => EdgeOut { + "name": "arr-union", + "spec": "^3.1.0", + "to": "node_modules/arr-union", + "type": "prod", + }, + "get-value" => EdgeOut { + "name": "get-value", + "spec": "^2.0.6", + "to": "node_modules/get-value", + "type": "prod", + }, + "is-extendable" => EdgeOut { + "name": "is-extendable", + "spec": "^0.1.1", + "to": "node_modules/is-extendable", + "type": "prod", + }, + "set-value" => EdgeOut { + "name": "set-value", + "spec": "^2.0.1", + "to": "node_modules/set-value", + "type": "prod", + }, + }, + "location": "node_modules/union-value", + "name": "union-value", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/union-value", + "peer": true, + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "version": "1.0.1", + }, + "unique-filename" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/cacache", + "name": "unique-filename", + "spec": "^1.1.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "unique-slug" => EdgeOut { + "name": "unique-slug", + "spec": "^2.0.0", + "to": "node_modules/unique-slug", + "type": "prod", + }, + }, + "location": "node_modules/unique-filename", + "name": "unique-filename", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/unique-filename", + "peer": true, + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "version": "1.1.1", + }, + "unique-slug" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/unique-filename", + "name": "unique-slug", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "imurmurhash" => EdgeOut { + "name": "imurmurhash", + "spec": "^0.1.4", + "to": "node_modules/imurmurhash", + "type": "prod", + }, + }, + "location": "node_modules/unique-slug", + "name": "unique-slug", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/unique-slug", + "peer": true, + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "version": "2.0.2", + }, + "unpipe" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/finalhandler", + "name": "unpipe", + "spec": "~1.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/raw-body", + "name": "unpipe", + "spec": "1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/unpipe", + "name": "unpipe", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/unpipe", + "peer": true, + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "version": "1.0.0", + }, + "unset-value" => ArboristNode { + "children": Map { + "has-value" => ArboristNode { + "children": Map { + "isobject" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/unset-value/node_modules/has-value", + "name": "isobject", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "isarray" => EdgeOut { + "name": "isarray", + "spec": "1.0.0", + "to": "node_modules/isarray", + "type": "prod", + }, + }, + "location": "node_modules/unset-value/node_modules/has-value/node_modules/isobject", + "name": "isobject", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/unset-value/node_modules/has-value/node_modules/isobject", + "peer": true, + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "version": "2.1.0", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/unset-value", + "name": "has-value", + "spec": "^0.3.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "get-value" => EdgeOut { + "name": "get-value", + "spec": "^2.0.3", + "to": "node_modules/get-value", + "type": "prod", + }, + "has-values" => EdgeOut { + "name": "has-values", + "spec": "^0.1.4", + "to": "node_modules/unset-value/node_modules/has-values", + "type": "prod", + }, + "isobject" => EdgeOut { + "name": "isobject", + "spec": "^2.0.0", + "to": "node_modules/unset-value/node_modules/has-value/node_modules/isobject", + "type": "prod", + }, + }, + "location": "node_modules/unset-value/node_modules/has-value", + "name": "has-value", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/unset-value/node_modules/has-value", + "peer": true, + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "version": "0.3.1", + }, + "has-values" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/unset-value/node_modules/has-value", + "name": "has-values", + "spec": "^0.1.4", + "type": "prod", + }, + }, + "location": "node_modules/unset-value/node_modules/has-values", + "name": "has-values", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/unset-value/node_modules/has-values", + "peer": true, + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "version": "0.1.4", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/cache-base", + "name": "unset-value", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "has-value" => EdgeOut { + "name": "has-value", + "spec": "^0.3.1", + "to": "node_modules/unset-value/node_modules/has-value", + "type": "prod", + }, + "isobject" => EdgeOut { + "name": "isobject", + "spec": "^3.0.0", + "to": "node_modules/isobject", + "type": "prod", + }, + }, + "location": "node_modules/unset-value", + "name": "unset-value", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/unset-value", + "peer": true, + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "version": "1.0.0", + }, + "upath" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/chokidar", + "name": "upath", + "spec": "^1.1.1", + "type": "prod", + }, + }, + "location": "node_modules/upath", + "name": "upath", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/upath", + "peer": true, + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "version": "1.2.0", + }, + "uri-js" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/ajv", + "name": "uri-js", + "spec": "^4.2.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "punycode" => EdgeOut { + "name": "punycode", + "spec": "^2.1.0", + "to": "node_modules/punycode", + "type": "prod", + }, + }, + "location": "node_modules/uri-js", + "name": "uri-js", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/uri-js", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz", + "version": "4.4.0", + }, + "urix" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/source-map-resolve", + "name": "urix", + "spec": "^0.1.0", + "type": "prod", + }, + }, + "location": "node_modules/urix", + "name": "urix", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/urix", + "peer": true, + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "version": "0.1.0", + }, + "url" => ArboristNode { + "children": Map { + "punycode" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/url", + "name": "punycode", + "spec": "1.3.2", + "type": "prod", + }, + }, + "location": "node_modules/url/node_modules/punycode", + "name": "punycode", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/url/node_modules/punycode", + "peer": true, + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "version": "1.3.2", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/node-libs-browser", + "name": "url", + "spec": "^0.11.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "url", + "spec": "^0.11.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "punycode" => EdgeOut { + "name": "punycode", + "spec": "1.3.2", + "to": "node_modules/url/node_modules/punycode", + "type": "prod", + }, + "querystring" => EdgeOut { + "name": "querystring", + "spec": "0.2.0", + "to": "node_modules/querystring", + "type": "prod", + }, + }, + "location": "node_modules/url", + "name": "url", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/url", + "peer": true, + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "version": "0.11.0", + }, + "url-parse" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/original", + "name": "url-parse", + "spec": "^1.4.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/sockjs-client", + "name": "url-parse", + "spec": "^1.4.7", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/webpack-dev-server/node_modules/sockjs-client", + "name": "url-parse", + "spec": "^1.4.3", + "type": "prod", + }, + }, + "edgesOut": Map { + "querystringify" => EdgeOut { + "name": "querystringify", + "spec": "^2.1.1", + "to": "node_modules/querystringify", + "type": "prod", + }, + "requires-port" => EdgeOut { + "name": "requires-port", + "spec": "^1.0.0", + "to": "node_modules/requires-port", + "type": "prod", + }, + }, + "location": "node_modules/url-parse", + "name": "url-parse", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/url-parse", + "peer": true, + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz", + "version": "1.4.7", + }, + "use" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/snapdragon", + "name": "use", + "spec": "^3.1.0", + "type": "prod", + }, + }, + "location": "node_modules/use", + "name": "use", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/use", + "peer": true, + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "version": "3.1.1", + }, + "util" => ArboristNode { + "children": Map { + "inherits" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/util", + "name": "inherits", + "spec": "2.0.3", + "type": "prod", + }, + }, + "location": "node_modules/util/node_modules/inherits", + "name": "inherits", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/util/node_modules/inherits", + "peer": true, + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "version": "2.0.3", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/node-libs-browser", + "name": "util", + "spec": "^0.11.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "inherits" => EdgeOut { + "name": "inherits", + "spec": "2.0.3", + "to": "node_modules/util/node_modules/inherits", + "type": "prod", + }, + }, + "location": "node_modules/util", + "name": "util", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/util", + "peer": true, + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "version": "0.11.1", + }, + "util-deprecate" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/browserify-sign/node_modules/readable-stream", + "name": "util-deprecate", + "spec": "^1.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/hash-base/node_modules/readable-stream", + "name": "util-deprecate", + "spec": "^1.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/readable-stream", + "name": "util-deprecate", + "spec": "~1.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/spdy-transport/node_modules/readable-stream", + "name": "util-deprecate", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "location": "node_modules/util-deprecate", + "name": "util-deprecate", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/util-deprecate", + "peer": true, + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "version": "1.0.2", + }, + "utils-merge" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/express", + "name": "utils-merge", + "spec": "1.0.1", + "type": "prod", + }, + }, + "location": "node_modules/utils-merge", + "name": "utils-merge", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/utils-merge", + "peer": true, + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "version": "1.0.1", + }, + "uuid" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/sockjs", + "name": "uuid", + "spec": "^3.4.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/webpack-log", + "name": "uuid", + "spec": "^3.3.2", + "type": "prod", + }, + }, + "location": "node_modules/uuid", + "name": "uuid", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/uuid", + "peer": true, + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "version": "3.4.0", + }, + "vary" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/compression", + "name": "vary", + "spec": "~1.1.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/express", + "name": "vary", + "spec": "~1.1.2", + "type": "prod", + }, + }, + "location": "node_modules/vary", + "name": "vary", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/vary", + "peer": true, + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "version": "1.1.2", + }, + "vm-browserify" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/node-libs-browser", + "name": "vm-browserify", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "location": "node_modules/vm-browserify", + "name": "vm-browserify", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/vm-browserify", + "peer": true, + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "version": "1.1.2", + }, + "watchpack" => ArboristNode { + "children": Map { + "anymatch" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/watchpack/node_modules/chokidar", + "name": "anymatch", + "spec": "~3.1.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "normalize-path" => EdgeOut { + "name": "normalize-path", + "spec": "^3.0.0", + "to": "node_modules/normalize-path", + "type": "prod", + }, + "picomatch" => EdgeOut { + "name": "picomatch", + "spec": "^2.0.4", + "to": "node_modules/picomatch", + "type": "prod", + }, + }, + "location": "node_modules/watchpack/node_modules/anymatch", + "name": "anymatch", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/watchpack/node_modules/anymatch", + "peer": true, + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "version": "3.1.1", + }, + "binary-extensions" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/watchpack/node_modules/is-binary-path", + "name": "binary-extensions", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/watchpack/node_modules/binary-extensions", + "name": "binary-extensions", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/watchpack/node_modules/binary-extensions", + "peer": true, + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", + "version": "2.1.0", + }, + "braces" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/watchpack/node_modules/chokidar", + "name": "braces", + "spec": "~3.0.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "fill-range" => EdgeOut { + "name": "fill-range", + "spec": "^7.0.1", + "to": "node_modules/watchpack/node_modules/fill-range", + "type": "prod", + }, + }, + "location": "node_modules/watchpack/node_modules/braces", + "name": "braces", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/watchpack/node_modules/braces", + "peer": true, + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "version": "3.0.2", + }, + "chokidar" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/watchpack", + "name": "chokidar", + "spec": "^3.4.1", + "type": "optional", + }, + }, + "edgesOut": Map { + "anymatch" => EdgeOut { + "name": "anymatch", + "spec": "~3.1.1", + "to": "node_modules/watchpack/node_modules/anymatch", + "type": "prod", + }, + "braces" => EdgeOut { + "name": "braces", + "spec": "~3.0.2", + "to": "node_modules/watchpack/node_modules/braces", + "type": "prod", + }, + "fsevents" => EdgeOut { + "name": "fsevents", + "spec": "~2.1.2", + "to": "node_modules/watchpack/node_modules/fsevents", + "type": "optional", + }, + "glob-parent" => EdgeOut { + "name": "glob-parent", + "spec": "~5.1.0", + "to": "node_modules/watchpack/node_modules/glob-parent", + "type": "prod", + }, + "is-binary-path" => EdgeOut { + "name": "is-binary-path", + "spec": "~2.1.0", + "to": "node_modules/watchpack/node_modules/is-binary-path", + "type": "prod", + }, + "is-glob" => EdgeOut { + "name": "is-glob", + "spec": "~4.0.1", + "to": "node_modules/is-glob", + "type": "prod", + }, + "normalize-path" => EdgeOut { + "name": "normalize-path", + "spec": "~3.0.0", + "to": "node_modules/normalize-path", + "type": "prod", + }, + "readdirp" => EdgeOut { + "name": "readdirp", + "spec": "~3.5.0", + "to": "node_modules/watchpack/node_modules/readdirp", + "type": "prod", + }, + }, + "location": "node_modules/watchpack/node_modules/chokidar", + "name": "chokidar", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/watchpack/node_modules/chokidar", + "peer": true, + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz", + "version": "3.4.3", + }, + "fill-range" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/watchpack/node_modules/braces", + "name": "fill-range", + "spec": "^7.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "to-regex-range" => EdgeOut { + "name": "to-regex-range", + "spec": "^5.0.1", + "to": "node_modules/watchpack/node_modules/to-regex-range", + "type": "prod", + }, + }, + "location": "node_modules/watchpack/node_modules/fill-range", + "name": "fill-range", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/watchpack/node_modules/fill-range", + "peer": true, + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "version": "7.0.1", + }, + "fsevents" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/watchpack/node_modules/chokidar", + "name": "fsevents", + "spec": "~2.1.2", + "type": "optional", + }, + }, + "location": "node_modules/watchpack/node_modules/fsevents", + "name": "fsevents", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/watchpack/node_modules/fsevents", + "peer": true, + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "version": "2.1.3", + }, + "glob-parent" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/watchpack/node_modules/chokidar", + "name": "glob-parent", + "spec": "~5.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-glob" => EdgeOut { + "name": "is-glob", + "spec": "^4.0.1", + "to": "node_modules/is-glob", + "type": "prod", + }, + }, + "location": "node_modules/watchpack/node_modules/glob-parent", + "name": "glob-parent", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/watchpack/node_modules/glob-parent", + "peer": true, + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "version": "5.1.1", + }, + "is-binary-path" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/watchpack/node_modules/chokidar", + "name": "is-binary-path", + "spec": "~2.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "binary-extensions" => EdgeOut { + "name": "binary-extensions", + "spec": "^2.0.0", + "to": "node_modules/watchpack/node_modules/binary-extensions", + "type": "prod", + }, + }, + "location": "node_modules/watchpack/node_modules/is-binary-path", + "name": "is-binary-path", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/watchpack/node_modules/is-binary-path", + "peer": true, + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "version": "2.1.0", + }, + "is-number" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/watchpack/node_modules/to-regex-range", + "name": "is-number", + "spec": "^7.0.0", + "type": "prod", + }, + }, + "location": "node_modules/watchpack/node_modules/is-number", + "name": "is-number", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/watchpack/node_modules/is-number", + "peer": true, + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "version": "7.0.0", + }, + "readdirp" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/watchpack/node_modules/chokidar", + "name": "readdirp", + "spec": "~3.5.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "picomatch" => EdgeOut { + "name": "picomatch", + "spec": "^2.2.1", + "to": "node_modules/picomatch", + "type": "prod", + }, + }, + "location": "node_modules/watchpack/node_modules/readdirp", + "name": "readdirp", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/watchpack/node_modules/readdirp", + "peer": true, + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", + "version": "3.5.0", + }, + "to-regex-range" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/watchpack/node_modules/fill-range", + "name": "to-regex-range", + "spec": "^5.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-number" => EdgeOut { + "name": "is-number", + "spec": "^7.0.0", + "to": "node_modules/watchpack/node_modules/is-number", + "type": "prod", + }, + }, + "location": "node_modules/watchpack/node_modules/to-regex-range", + "name": "to-regex-range", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/watchpack/node_modules/to-regex-range", + "peer": true, + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "version": "5.0.1", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack", + "name": "watchpack", + "spec": "^1.7.4", + "type": "prod", + }, + }, + "edgesOut": Map { + "chokidar" => EdgeOut { + "name": "chokidar", + "spec": "^3.4.1", + "to": "node_modules/watchpack/node_modules/chokidar", + "type": "optional", + }, + "graceful-fs" => EdgeOut { + "name": "graceful-fs", + "spec": "^4.1.2", + "to": "node_modules/graceful-fs", + "type": "prod", + }, + "neo-async" => EdgeOut { + "name": "neo-async", + "spec": "^2.5.0", + "to": "node_modules/neo-async", + "type": "prod", + }, + "watchpack-chokidar2" => EdgeOut { + "name": "watchpack-chokidar2", + "spec": "^2.0.0", + "to": "node_modules/watchpack-chokidar2", + "type": "optional", + }, + }, + "location": "node_modules/watchpack", + "name": "watchpack", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/watchpack", + "peer": true, + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.4.tgz", + "version": "1.7.4", + }, + "watchpack-chokidar2" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/watchpack", + "name": "watchpack-chokidar2", + "spec": "^2.0.0", + "type": "optional", + }, + }, + "edgesOut": Map { + "chokidar" => EdgeOut { + "name": "chokidar", + "spec": "^2.1.8", + "to": "node_modules/chokidar", + "type": "prod", + }, + }, + "location": "node_modules/watchpack-chokidar2", + "name": "watchpack-chokidar2", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/watchpack-chokidar2", + "peer": true, + "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", + "version": "2.0.1", + }, + "wbuf" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/hpack.js", + "name": "wbuf", + "spec": "^1.1.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/spdy-transport", + "name": "wbuf", + "spec": "^1.7.3", + "type": "prod", + }, + }, + "edgesOut": Map { + "minimalistic-assert" => EdgeOut { + "name": "minimalistic-assert", + "spec": "^1.0.0", + "to": "node_modules/minimalistic-assert", + "type": "prod", + }, + }, + "location": "node_modules/wbuf", + "name": "wbuf", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/wbuf", + "peer": true, + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "version": "1.7.3", + }, + "webpack" => ArboristNode { + "children": Map { + "schema-utils" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack", + "name": "schema-utils", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "ajv" => EdgeOut { + "name": "ajv", + "spec": "^6.1.0", + "to": "node_modules/ajv", + "type": "prod", + }, + "ajv-errors" => EdgeOut { + "name": "ajv-errors", + "spec": "^1.0.0", + "to": "node_modules/ajv-errors", + "type": "prod", + }, + "ajv-keywords" => EdgeOut { + "name": "ajv-keywords", + "spec": "^3.1.0", + "to": "node_modules/ajv-keywords", + "type": "prod", + }, + }, + "location": "node_modules/webpack/node_modules/schema-utils", + "name": "schema-utils", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/webpack/node_modules/schema-utils", + "peer": true, + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "version": "1.0.0", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/@pmmmwh/react-refresh-webpack-plugin", + "name": "webpack", + "spec": ">=4.43.0 <6.0.0", + "type": "peer", + }, + EdgeIn { + "from": "node_modules/terser-webpack-plugin", + "name": "webpack", + "spec": "^4.0.0", + "type": "peer", + }, + EdgeIn { + "from": "node_modules/webpack-dev-middleware", + "name": "webpack", + "spec": "^4.0.0", + "type": "peer", + }, + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "webpack", + "spec": "^4.0.0 || ^5.0.0", + "type": "peer", + }, + }, + "edgesOut": Map { + "@webassemblyjs/ast" => EdgeOut { + "name": "@webassemblyjs/ast", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/ast", + "type": "prod", + }, + "@webassemblyjs/helper-module-context" => EdgeOut { + "name": "@webassemblyjs/helper-module-context", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/helper-module-context", + "type": "prod", + }, + "@webassemblyjs/wasm-edit" => EdgeOut { + "name": "@webassemblyjs/wasm-edit", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/wasm-edit", + "type": "prod", + }, + "@webassemblyjs/wasm-parser" => EdgeOut { + "name": "@webassemblyjs/wasm-parser", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/wasm-parser", + "type": "prod", + }, + "acorn" => EdgeOut { + "name": "acorn", + "spec": "^6.4.1", + "to": "node_modules/acorn", + "type": "prod", + }, + "ajv" => EdgeOut { + "name": "ajv", + "spec": "^6.10.2", + "to": "node_modules/ajv", + "type": "prod", + }, + "ajv-keywords" => EdgeOut { + "name": "ajv-keywords", + "spec": "^3.4.1", + "to": "node_modules/ajv-keywords", + "type": "prod", + }, + "chrome-trace-event" => EdgeOut { + "name": "chrome-trace-event", + "spec": "^1.0.2", + "to": "node_modules/chrome-trace-event", + "type": "prod", + }, + "enhanced-resolve" => EdgeOut { + "name": "enhanced-resolve", + "spec": "^4.3.0", + "to": "node_modules/enhanced-resolve", + "type": "prod", + }, + "eslint-scope" => EdgeOut { + "name": "eslint-scope", + "spec": "^4.0.3", + "to": "node_modules/eslint-scope", + "type": "prod", + }, + "json-parse-better-errors" => EdgeOut { + "name": "json-parse-better-errors", + "spec": "^1.0.2", + "to": "node_modules/json-parse-better-errors", + "type": "prod", + }, + "loader-runner" => EdgeOut { + "name": "loader-runner", + "spec": "^2.4.0", + "to": "node_modules/loader-runner", + "type": "prod", + }, + "loader-utils" => EdgeOut { + "name": "loader-utils", + "spec": "^1.2.3", + "to": "node_modules/loader-utils", + "type": "prod", + }, + "memory-fs" => EdgeOut { + "name": "memory-fs", + "spec": "^0.4.1", + "to": "node_modules/memory-fs", + "type": "prod", + }, + "micromatch" => EdgeOut { + "name": "micromatch", + "spec": "^3.1.10", + "to": "node_modules/micromatch", + "type": "prod", + }, + "mkdirp" => EdgeOut { + "name": "mkdirp", + "spec": "^0.5.3", + "to": "node_modules/mkdirp", + "type": "prod", + }, + "neo-async" => EdgeOut { + "name": "neo-async", + "spec": "^2.6.1", + "to": "node_modules/neo-async", + "type": "prod", + }, + "node-libs-browser" => EdgeOut { + "name": "node-libs-browser", + "spec": "^2.2.1", + "to": "node_modules/node-libs-browser", + "type": "prod", + }, + "schema-utils" => EdgeOut { + "name": "schema-utils", + "spec": "^1.0.0", + "to": "node_modules/webpack/node_modules/schema-utils", + "type": "prod", + }, + "tapable" => EdgeOut { + "name": "tapable", + "spec": "^1.1.3", + "to": "node_modules/tapable", + "type": "prod", + }, + "terser-webpack-plugin" => EdgeOut { + "name": "terser-webpack-plugin", + "spec": "^1.4.3", + "to": "node_modules/terser-webpack-plugin", + "type": "prod", + }, + "watchpack" => EdgeOut { + "name": "watchpack", + "spec": "^1.7.4", + "to": "node_modules/watchpack", + "type": "prod", + }, + "webpack-sources" => EdgeOut { + "name": "webpack-sources", + "spec": "^1.4.1", + "to": "node_modules/webpack-sources", + "type": "prod", + }, + }, + "location": "node_modules/webpack", + "name": "webpack", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/webpack", + "peer": true, + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.44.2.tgz", + "version": "4.44.2", + }, + "webpack-dev-middleware" => ArboristNode { + "children": Map { + "mime" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-dev-middleware", + "name": "mime", + "spec": "^2.4.4", + "type": "prod", + }, + }, + "location": "node_modules/webpack-dev-middleware/node_modules/mime", + "name": "mime", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/webpack-dev-middleware/node_modules/mime", + "peer": true, + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz", + "version": "2.4.6", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "webpack-dev-middleware", + "spec": "^3.7.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "memory-fs" => EdgeOut { + "name": "memory-fs", + "spec": "^0.4.1", + "to": "node_modules/memory-fs", + "type": "prod", + }, + "mime" => EdgeOut { + "name": "mime", + "spec": "^2.4.4", + "to": "node_modules/webpack-dev-middleware/node_modules/mime", + "type": "prod", + }, + "mkdirp" => EdgeOut { + "name": "mkdirp", + "spec": "^0.5.1", + "to": "node_modules/mkdirp", + "type": "prod", + }, + "range-parser" => EdgeOut { + "name": "range-parser", + "spec": "^1.2.1", + "to": "node_modules/range-parser", + "type": "prod", + }, + "webpack" => EdgeOut { + "name": "webpack", + "spec": "^4.0.0", + "to": "node_modules/webpack", + "type": "peer", + }, + "webpack-log" => EdgeOut { + "name": "webpack-log", + "spec": "^2.0.0", + "to": "node_modules/webpack-log", + "type": "prod", + }, + }, + "location": "node_modules/webpack-dev-middleware", + "name": "webpack-dev-middleware", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/webpack-dev-middleware", + "peer": true, + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz", + "version": "3.7.2", + }, + "webpack-dev-server" => ArboristNode { + "children": Map { + "debug" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "debug", + "spec": "^4.1.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "ms" => EdgeOut { + "name": "ms", + "spec": "2.1.2", + "to": "node_modules/ms", + "type": "prod", + }, + }, + "location": "node_modules/webpack-dev-server/node_modules/debug", + "name": "debug", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/webpack-dev-server/node_modules/debug", + "peer": true, + "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", + "version": "4.2.0", + }, + "schema-utils" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "schema-utils", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "ajv" => EdgeOut { + "name": "ajv", + "spec": "^6.1.0", + "to": "node_modules/ajv", + "type": "prod", + }, + "ajv-errors" => EdgeOut { + "name": "ajv-errors", + "spec": "^1.0.0", + "to": "node_modules/ajv-errors", + "type": "prod", + }, + "ajv-keywords" => EdgeOut { + "name": "ajv-keywords", + "spec": "^3.1.0", + "to": "node_modules/ajv-keywords", + "type": "prod", + }, + }, + "location": "node_modules/webpack-dev-server/node_modules/schema-utils", + "name": "schema-utils", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/webpack-dev-server/node_modules/schema-utils", + "peer": true, + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "version": "1.0.0", + }, + "sockjs-client" => ArboristNode { + "children": Map { + "debug" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-dev-server/node_modules/sockjs-client", + "name": "debug", + "spec": "^3.2.5", + "type": "prod", + }, + }, + "edgesOut": Map { + "ms" => EdgeOut { + "name": "ms", + "spec": "^2.1.1", + "to": "node_modules/ms", + "type": "prod", + }, + }, + "location": "node_modules/webpack-dev-server/node_modules/sockjs-client/node_modules/debug", + "name": "debug", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/webpack-dev-server/node_modules/sockjs-client/node_modules/debug", + "peer": true, + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "version": "3.2.6", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "sockjs-client", + "spec": "1.4.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "debug" => EdgeOut { + "name": "debug", + "spec": "^3.2.5", + "to": "node_modules/webpack-dev-server/node_modules/sockjs-client/node_modules/debug", + "type": "prod", + }, + "eventsource" => EdgeOut { + "name": "eventsource", + "spec": "^1.0.7", + "to": "node_modules/eventsource", + "type": "prod", + }, + "faye-websocket" => EdgeOut { + "name": "faye-websocket", + "spec": "~0.11.1", + "to": "node_modules/faye-websocket", + "type": "prod", + }, + "inherits" => EdgeOut { + "name": "inherits", + "spec": "^2.0.3", + "to": "node_modules/inherits", + "type": "prod", + }, + "json3" => EdgeOut { + "name": "json3", + "spec": "^3.3.2", + "to": "node_modules/json3", + "type": "prod", + }, + "url-parse" => EdgeOut { + "name": "url-parse", + "spec": "^1.4.3", + "to": "node_modules/url-parse", + "type": "prod", + }, + }, + "location": "node_modules/webpack-dev-server/node_modules/sockjs-client", + "name": "sockjs-client", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/webpack-dev-server/node_modules/sockjs-client", + "peer": true, + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.4.0.tgz", + "version": "1.4.0", + }, + "supports-color" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "supports-color", + "spec": "^6.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "has-flag" => EdgeOut { + "name": "has-flag", + "spec": "^3.0.0", + "to": "node_modules/has-flag", + "type": "prod", + }, + }, + "location": "node_modules/webpack-dev-server/node_modules/supports-color", + "name": "supports-color", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/webpack-dev-server/node_modules/supports-color", + "peer": true, + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "version": "6.1.0", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/@pmmmwh/react-refresh-webpack-plugin", + "name": "webpack-dev-server", + "spec": "3.x", + "type": "peerOptional", + }, + }, + "edgesOut": Map { + "ansi-html" => EdgeOut { + "name": "ansi-html", + "spec": "0.0.7", + "to": "node_modules/ansi-html", + "type": "prod", + }, + "bonjour" => EdgeOut { + "name": "bonjour", + "spec": "^3.5.0", + "to": "node_modules/bonjour", + "type": "prod", + }, + "chokidar" => EdgeOut { + "name": "chokidar", + "spec": "^2.1.8", + "to": "node_modules/chokidar", + "type": "prod", + }, + "compression" => EdgeOut { + "name": "compression", + "spec": "^1.7.4", + "to": "node_modules/compression", + "type": "prod", + }, + "connect-history-api-fallback" => EdgeOut { + "name": "connect-history-api-fallback", + "spec": "^1.6.0", + "to": "node_modules/connect-history-api-fallback", + "type": "prod", + }, + "debug" => EdgeOut { + "name": "debug", + "spec": "^4.1.1", + "to": "node_modules/webpack-dev-server/node_modules/debug", + "type": "prod", + }, + "del" => EdgeOut { + "name": "del", + "spec": "^4.1.1", + "to": "node_modules/del", + "type": "prod", + }, + "express" => EdgeOut { + "name": "express", + "spec": "^4.17.1", + "to": "node_modules/express", + "type": "prod", + }, + "html-entities" => EdgeOut { + "name": "html-entities", + "spec": "^1.3.1", + "to": "node_modules/html-entities", + "type": "prod", + }, + "http-proxy-middleware" => EdgeOut { + "name": "http-proxy-middleware", + "spec": "0.19.1", + "to": "node_modules/http-proxy-middleware", + "type": "prod", + }, + "import-local" => EdgeOut { + "name": "import-local", + "spec": "^2.0.0", + "to": "node_modules/import-local", + "type": "prod", + }, + "internal-ip" => EdgeOut { + "name": "internal-ip", + "spec": "^4.3.0", + "to": "node_modules/internal-ip", + "type": "prod", + }, + "ip" => EdgeOut { + "name": "ip", + "spec": "^1.1.5", + "to": "node_modules/ip", + "type": "prod", + }, + "is-absolute-url" => EdgeOut { + "name": "is-absolute-url", + "spec": "^3.0.3", + "to": "node_modules/is-absolute-url", + "type": "prod", + }, + "killable" => EdgeOut { + "name": "killable", + "spec": "^1.0.1", + "to": "node_modules/killable", + "type": "prod", + }, + "loglevel" => EdgeOut { + "name": "loglevel", + "spec": "^1.6.8", + "to": "node_modules/loglevel", + "type": "prod", + }, + "opn" => EdgeOut { + "name": "opn", + "spec": "^5.5.0", + "to": "node_modules/opn", + "type": "prod", + }, + "p-retry" => EdgeOut { + "name": "p-retry", + "spec": "^3.0.1", + "to": "node_modules/p-retry", + "type": "prod", + }, + "portfinder" => EdgeOut { + "name": "portfinder", + "spec": "^1.0.26", + "to": "node_modules/portfinder", + "type": "prod", + }, + "schema-utils" => EdgeOut { + "name": "schema-utils", + "spec": "^1.0.0", + "to": "node_modules/webpack-dev-server/node_modules/schema-utils", + "type": "prod", + }, + "selfsigned" => EdgeOut { + "name": "selfsigned", + "spec": "^1.10.7", + "to": "node_modules/selfsigned", + "type": "prod", + }, + "semver" => EdgeOut { + "name": "semver", + "spec": "^6.3.0", + "to": "node_modules/semver", + "type": "prod", + }, + "serve-index" => EdgeOut { + "name": "serve-index", + "spec": "^1.9.1", + "to": "node_modules/serve-index", + "type": "prod", + }, + "sockjs" => EdgeOut { + "name": "sockjs", + "spec": "0.3.20", + "to": "node_modules/sockjs", + "type": "prod", + }, + "sockjs-client" => EdgeOut { + "name": "sockjs-client", + "spec": "1.4.0", + "to": "node_modules/webpack-dev-server/node_modules/sockjs-client", + "type": "prod", + }, + "spdy" => EdgeOut { + "name": "spdy", + "spec": "^4.0.2", + "to": "node_modules/spdy", + "type": "prod", + }, + "strip-ansi" => EdgeOut { + "name": "strip-ansi", + "spec": "^3.0.1", + "to": "node_modules/strip-ansi", + "type": "prod", + }, + "supports-color" => EdgeOut { + "name": "supports-color", + "spec": "^6.1.0", + "to": "node_modules/webpack-dev-server/node_modules/supports-color", + "type": "prod", + }, + "url" => EdgeOut { + "name": "url", + "spec": "^0.11.0", + "to": "node_modules/url", + "type": "prod", + }, + "webpack" => EdgeOut { + "name": "webpack", + "spec": "^4.0.0 || ^5.0.0", + "to": "node_modules/webpack", + "type": "peer", + }, + "webpack-dev-middleware" => EdgeOut { + "name": "webpack-dev-middleware", + "spec": "^3.7.2", + "to": "node_modules/webpack-dev-middleware", + "type": "prod", + }, + "webpack-log" => EdgeOut { + "name": "webpack-log", + "spec": "^2.0.0", + "to": "node_modules/webpack-log", + "type": "prod", + }, + "ws" => EdgeOut { + "name": "ws", + "spec": "^6.2.1", + "to": "node_modules/ws", + "type": "prod", + }, + "yargs" => EdgeOut { + "name": "yargs", + "spec": "^13.3.2", + "to": "node_modules/yargs", + "type": "prod", + }, + }, + "location": "node_modules/webpack-dev-server", + "name": "webpack-dev-server", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/webpack-dev-server", + "peer": true, + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.0.tgz", + "version": "3.11.0", + }, + "webpack-log" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-dev-middleware", + "name": "webpack-log", + "spec": "^2.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "webpack-log", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "ansi-colors" => EdgeOut { + "name": "ansi-colors", + "spec": "^3.0.0", + "to": "node_modules/ansi-colors", + "type": "prod", + }, + "uuid" => EdgeOut { + "name": "uuid", + "spec": "^3.3.2", + "to": "node_modules/uuid", + "type": "prod", + }, + }, + "location": "node_modules/webpack-log", + "name": "webpack-log", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/webpack-log", + "peer": true, + "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", + "version": "2.0.0", + }, + "webpack-sources" => ArboristNode { + "children": Map { + "source-map" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-sources", + "name": "source-map", + "spec": "~0.6.1", + "type": "prod", + }, + }, + "location": "node_modules/webpack-sources/node_modules/source-map", + "name": "source-map", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/webpack-sources/node_modules/source-map", + "peer": true, + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "version": "0.6.1", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/terser-webpack-plugin", + "name": "webpack-sources", + "spec": "^1.4.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/webpack", + "name": "webpack-sources", + "spec": "^1.4.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "source-list-map" => EdgeOut { + "name": "source-list-map", + "spec": "^2.0.0", + "to": "node_modules/source-list-map", + "type": "prod", + }, + "source-map" => EdgeOut { + "name": "source-map", + "spec": "~0.6.1", + "to": "node_modules/webpack-sources/node_modules/source-map", + "type": "prod", + }, + }, + "location": "node_modules/webpack-sources", + "name": "webpack-sources", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/webpack-sources", + "peer": true, + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "version": "1.4.3", + }, + "websocket-driver" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/faye-websocket", + "name": "websocket-driver", + "spec": ">=0.5.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "http-parser-js" => EdgeOut { + "name": "http-parser-js", + "spec": ">=0.5.1", + "to": "node_modules/http-parser-js", + "type": "prod", + }, + "safe-buffer" => EdgeOut { + "name": "safe-buffer", + "spec": ">=5.1.0", + "to": "node_modules/safe-buffer", + "type": "prod", + }, + "websocket-extensions" => EdgeOut { + "name": "websocket-extensions", + "spec": ">=0.1.1", + "to": "node_modules/websocket-extensions", + "type": "prod", + }, + }, + "location": "node_modules/websocket-driver", + "name": "websocket-driver", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/websocket-driver", + "peer": true, + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "version": "0.7.4", + }, + "websocket-extensions" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/sockjs/node_modules/websocket-driver", + "name": "websocket-extensions", + "spec": ">=0.1.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/websocket-driver", + "name": "websocket-extensions", + "spec": ">=0.1.1", + "type": "prod", + }, + }, + "location": "node_modules/websocket-extensions", + "name": "websocket-extensions", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/websocket-extensions", + "peer": true, + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "version": "0.1.4", + }, + "which" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/cross-spawn", + "name": "which", + "spec": "^1.2.9", + "type": "prod", + }, + }, + "edgesOut": Map { + "isexe" => EdgeOut { + "name": "isexe", + "spec": "^2.0.0", + "to": "node_modules/isexe", + "type": "prod", + }, + }, + "location": "node_modules/which", + "name": "which", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/which", + "peer": true, + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "version": "1.3.1", + }, + "which-module" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/yargs", + "name": "which-module", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/which-module", + "name": "which-module", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/which-module", + "peer": true, + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "version": "2.0.0", + }, + "worker-farm" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/terser-webpack-plugin", + "name": "worker-farm", + "spec": "^1.7.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "errno" => EdgeOut { + "name": "errno", + "spec": "~0.1.7", + "to": "node_modules/errno", + "type": "prod", + }, + }, + "location": "node_modules/worker-farm", + "name": "worker-farm", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/worker-farm", + "peer": true, + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "version": "1.7.0", + }, + "wrap-ansi" => ArboristNode { + "children": Map { + "ansi-regex" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/wrap-ansi/node_modules/strip-ansi", + "name": "ansi-regex", + "spec": "^4.1.0", + "type": "prod", + }, + }, + "location": "node_modules/wrap-ansi/node_modules/ansi-regex", + "name": "ansi-regex", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/wrap-ansi/node_modules/ansi-regex", + "peer": true, + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "version": "4.1.0", + }, + "strip-ansi" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/wrap-ansi", + "name": "strip-ansi", + "spec": "^5.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "ansi-regex" => EdgeOut { + "name": "ansi-regex", + "spec": "^4.1.0", + "to": "node_modules/wrap-ansi/node_modules/ansi-regex", + "type": "prod", + }, + }, + "location": "node_modules/wrap-ansi/node_modules/strip-ansi", + "name": "strip-ansi", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/wrap-ansi/node_modules/strip-ansi", + "peer": true, + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "version": "5.2.0", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/cliui", + "name": "wrap-ansi", + "spec": "^5.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "ansi-styles" => EdgeOut { + "name": "ansi-styles", + "spec": "^3.2.0", + "to": "node_modules/ansi-styles", + "type": "prod", + }, + "string-width" => EdgeOut { + "name": "string-width", + "spec": "^3.0.0", + "to": "node_modules/string-width", + "type": "prod", + }, + "strip-ansi" => EdgeOut { + "name": "strip-ansi", + "spec": "^5.0.0", + "to": "node_modules/wrap-ansi/node_modules/strip-ansi", + "type": "prod", + }, + }, + "location": "node_modules/wrap-ansi", + "name": "wrap-ansi", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/wrap-ansi", + "peer": true, + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "version": "5.1.0", + }, + "wrappy" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/inflight", + "name": "wrappy", + "spec": "1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/once", + "name": "wrappy", + "spec": "1", + "type": "prod", + }, + }, + "location": "node_modules/wrappy", + "name": "wrappy", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/wrappy", + "peer": true, + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "version": "1.0.2", + }, + "ws" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "ws", + "spec": "^6.2.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "async-limiter" => EdgeOut { + "name": "async-limiter", + "spec": "~1.0.0", + "to": "node_modules/async-limiter", + "type": "prod", + }, + }, + "location": "node_modules/ws", + "name": "ws", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/ws", + "peer": true, + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", + "version": "6.2.1", + }, + "xtend" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/stream-http", + "name": "xtend", + "spec": "^4.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/through2", + "name": "xtend", + "spec": "~4.0.1", + "type": "prod", + }, + }, + "location": "node_modules/xtend", + "name": "xtend", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/xtend", + "peer": true, + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "version": "4.0.2", + }, + "y18n" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/cacache", + "name": "y18n", + "spec": "^4.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/yargs", + "name": "y18n", + "spec": "^4.0.0", + "type": "prod", + }, + }, + "location": "node_modules/y18n", + "name": "y18n", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/y18n", + "peer": true, + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "version": "4.0.0", + }, + "yallist" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/lru-cache", + "name": "yallist", + "spec": "^3.0.2", + "type": "prod", + }, + }, + "location": "node_modules/yallist", + "name": "yallist", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/yallist", + "peer": true, + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "version": "3.1.1", + }, + "yargs" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "yargs", + "spec": "^13.3.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "cliui" => EdgeOut { + "name": "cliui", + "spec": "^5.0.0", + "to": "node_modules/cliui", + "type": "prod", + }, + "find-up" => EdgeOut { + "name": "find-up", + "spec": "^3.0.0", + "to": "node_modules/find-up", + "type": "prod", + }, + "get-caller-file" => EdgeOut { + "name": "get-caller-file", + "spec": "^2.0.1", + "to": "node_modules/get-caller-file", + "type": "prod", + }, + "require-directory" => EdgeOut { + "name": "require-directory", + "spec": "^2.1.1", + "to": "node_modules/require-directory", + "type": "prod", + }, + "require-main-filename" => EdgeOut { + "name": "require-main-filename", + "spec": "^2.0.0", + "to": "node_modules/require-main-filename", + "type": "prod", + }, + "set-blocking" => EdgeOut { + "name": "set-blocking", + "spec": "^2.0.0", + "to": "node_modules/set-blocking", + "type": "prod", + }, + "string-width" => EdgeOut { + "name": "string-width", + "spec": "^3.0.0", + "to": "node_modules/string-width", + "type": "prod", + }, + "which-module" => EdgeOut { + "name": "which-module", + "spec": "^2.0.0", + "to": "node_modules/which-module", + "type": "prod", + }, + "y18n" => EdgeOut { + "name": "y18n", + "spec": "^4.0.0", + "to": "node_modules/y18n", + "type": "prod", + }, + "yargs-parser" => EdgeOut { + "name": "yargs-parser", + "spec": "^13.1.2", + "to": "node_modules/yargs-parser", + "type": "prod", + }, + }, + "location": "node_modules/yargs", + "name": "yargs", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/yargs", + "peer": true, + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "version": "13.3.2", + }, + "yargs-parser" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/yargs", + "name": "yargs-parser", + "spec": "^13.1.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "camelcase" => EdgeOut { + "name": "camelcase", + "spec": "^5.0.0", + "to": "node_modules/camelcase", + "type": "prod", + }, + "decamelize" => EdgeOut { + "name": "decamelize", + "spec": "^1.2.0", + "to": "node_modules/decamelize", + "type": "prod", + }, + }, + "location": "node_modules/yargs-parser", + "name": "yargs-parser", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid/node_modules/yargs-parser", + "peer": true, + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "version": "13.1.2", + }, + }, + "edgesOut": Map { + "@pmmmwh/react-refresh-webpack-plugin" => EdgeOut { + "name": "@pmmmwh/react-refresh-webpack-plugin", + "spec": "0.4.2", + "to": "node_modules/@pmmmwh/react-refresh-webpack-plugin", + "type": "prod", + }, + "type-fest" => EdgeOut { + "name": "type-fest", + "spec": "^0.12.0", + "to": "node_modules/type-fest", + "type": "prod", + }, + }, + "isProjectRoot": true, + "location": "", + "name": "tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-allows-a-peerOptional-to-conflict-and-be-invalid", +} +` + +exports[`test/arborist/build-ideal-tree.js TAP always prefer deduping peer deps > must match snapshot 1`] = ` +ArboristNode { + "children": Map { + "@pmmmwh/react-refresh-webpack-plugin" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "", + "name": "@pmmmwh/react-refresh-webpack-plugin", + "spec": "0.4.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "@types/webpack" => EdgeOut { + "name": "@types/webpack", + "peerConflicted": true, + "spec": "4.x", + "to": null, + "type": "peerOptional", + }, + "ansi-html" => EdgeOut { + "name": "ansi-html", + "spec": "^0.0.7", + "to": "node_modules/ansi-html", + "type": "prod", + }, + "error-stack-parser" => EdgeOut { + "name": "error-stack-parser", + "spec": "^2.0.6", + "to": "node_modules/error-stack-parser", + "type": "prod", + }, + "html-entities" => EdgeOut { + "name": "html-entities", + "spec": "^1.2.1", + "to": "node_modules/html-entities", + "type": "prod", + }, + "native-url" => EdgeOut { + "name": "native-url", + "spec": "^0.2.6", + "to": "node_modules/native-url", + "type": "prod", + }, + "react-refresh" => EdgeOut { + "name": "react-refresh", + "spec": "^0.8.3", + "to": "node_modules/react-refresh", + "type": "peer", + }, + "schema-utils" => EdgeOut { + "name": "schema-utils", + "spec": "^2.6.5", + "to": "node_modules/schema-utils", + "type": "prod", + }, + "sockjs-client" => EdgeOut { + "name": "sockjs-client", + "spec": "^1.4.0", + "to": "node_modules/sockjs-client", + "type": "peerOptional", + }, + "source-map" => EdgeOut { + "name": "source-map", + "spec": "^0.7.3", + "to": "node_modules/source-map", + "type": "prod", + }, + "type-fest" => EdgeOut { + "name": "type-fest", + "spec": "^0.13.1", + "to": "node_modules/type-fest", + "type": "peerOptional", + }, + "webpack" => EdgeOut { + "name": "webpack", + "spec": ">=4.43.0 <6.0.0", + "to": "node_modules/webpack", + "type": "peer", + }, + "webpack-dev-server" => EdgeOut { + "name": "webpack-dev-server", + "spec": "3.x", + "to": "node_modules/webpack-dev-server", + "type": "peerOptional", + }, + "webpack-hot-middleware" => EdgeOut { + "name": "webpack-hot-middleware", + "peerConflicted": true, + "spec": "2.x", + "to": null, + "type": "peerOptional", + }, + "webpack-plugin-serve" => EdgeOut { + "name": "webpack-plugin-serve", + "peerConflicted": true, + "spec": "0.x || 1.x", + "to": null, + "type": "peerOptional", + }, + }, + "location": "node_modules/@pmmmwh/react-refresh-webpack-plugin", + "name": "@pmmmwh/react-refresh-webpack-plugin", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/@pmmmwh/react-refresh-webpack-plugin", + "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.4.2.tgz", + "version": "0.4.2", + }, + "@types/glob" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/del", + "name": "@types/glob", + "spec": "^7.1.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "@types/minimatch" => EdgeOut { + "name": "@types/minimatch", + "spec": "*", + "to": "node_modules/@types/minimatch", + "type": "prod", + }, + "@types/node" => EdgeOut { + "name": "@types/node", + "spec": "*", + "to": "node_modules/@types/node", + "type": "prod", + }, + }, + "location": "node_modules/@types/glob", + "name": "@types/glob", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/@types/glob", + "peer": true, + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz", + "version": "7.1.3", + }, + "@types/json-schema" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/schema-utils", "name": "@types/json-schema", - "spec": "^7.0.6", + "spec": "^7.0.5", "type": "prod", }, }, @@ -3873,10 +22820,27 @@ ArboristNode { "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz", "version": "7.0.6", }, + "@types/minimatch" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/@types/glob", + "name": "@types/minimatch", + "spec": "*", + "type": "prod", + }, + }, + "location": "node_modules/@types/minimatch", + "name": "@types/minimatch", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/@types/minimatch", + "peer": true, + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", + "version": "3.0.3", + }, "@types/node" => ArboristNode { "edgesIn": Set { EdgeIn { - "from": "node_modules/jest-worker", + "from": "node_modules/@types/glob", "name": "@types/node", "spec": "*", "type": "prod", @@ -3884,11 +22848,60 @@ ArboristNode { }, "location": "node_modules/@types/node", "name": "@types/node", + "optional": true, "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/@types/node", "peer": true, "resolved": "https://registry.npmjs.org/@types/node/-/node-14.11.8.tgz", "version": "14.11.8", }, + "@types/prop-types" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/@types/react", + "name": "@types/prop-types", + "spec": "*", + "type": "prod", + }, + }, + "location": "node_modules/@types/prop-types", + "name": "@types/prop-types", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/@types/prop-types", + "peer": true, + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.3.tgz", + "version": "15.7.3", + }, + "@types/react" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/ink", + "name": "@types/react", + "spec": ">=16.8.0", + "type": "peerOptional", + }, + }, + "edgesOut": Map { + "@types/prop-types" => EdgeOut { + "name": "@types/prop-types", + "spec": "*", + "to": "node_modules/@types/prop-types", + "type": "prod", + }, + "csstype" => EdgeOut { + "name": "csstype", + "spec": "^3.0.2", + "to": "node_modules/csstype", + "type": "prod", + }, + }, + "location": "node_modules/@types/react", + "name": "@types/react", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/@types/react", + "peer": true, + "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.0.tgz", + "version": "17.0.0", + }, "@types/yoga-layout" => ArboristNode { "edgesIn": Set { EdgeIn { @@ -4668,12 +23681,55 @@ ArboristNode { "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", "version": "4.2.2", }, + "accepts" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/compression", + "name": "accepts", + "spec": "~1.3.5", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/express", + "name": "accepts", + "spec": "~1.3.7", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/serve-index", + "name": "accepts", + "spec": "~1.3.4", + "type": "prod", + }, + }, + "edgesOut": Map { + "mime-types" => EdgeOut { + "name": "mime-types", + "spec": "~2.1.24", + "to": "node_modules/mime-types", + "type": "prod", + }, + "negotiator" => EdgeOut { + "name": "negotiator", + "spec": "0.6.2", + "to": "node_modules/negotiator", + "type": "prod", + }, + }, + "location": "node_modules/accepts", + "name": "accepts", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/accepts", + "peer": true, + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "version": "1.3.7", + }, "acorn" => ArboristNode { "edgesIn": Set { EdgeIn { "from": "node_modules/webpack", "name": "acorn", - "spec": "^8.0.4", + "spec": "^6.4.1", "type": "prod", }, }, @@ -4681,12 +23737,18 @@ ArboristNode { "name": "acorn", "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/acorn", "peer": true, - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.0.4.tgz", - "version": "8.0.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "version": "6.4.2", }, "ajv" => ArboristNode { "edgesIn": Set { EdgeIn { + "from": "node_modules/ajv-errors", + "name": "ajv", + "spec": ">=5.0.0", + "type": "peer", + }, + EdgeIn { "from": "node_modules/ajv-keywords", "name": "ajv", "spec": "^6.9.1", @@ -4701,13 +23763,25 @@ ArboristNode { EdgeIn { "from": "node_modules/terser-webpack-plugin/node_modules/schema-utils", "name": "ajv", - "spec": "^6.12.5", + "spec": "^6.1.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/webpack", + "name": "ajv", + "spec": "^6.10.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/webpack-dev-server/node_modules/schema-utils", + "name": "ajv", + "spec": "^6.1.0", "type": "prod", }, EdgeIn { "from": "node_modules/webpack/node_modules/schema-utils", "name": "ajv", - "spec": "^6.12.5", + "spec": "^6.1.0", "type": "prod", }, }, @@ -4743,6 +23817,42 @@ ArboristNode { "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "version": "6.12.6", }, + "ajv-errors" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/terser-webpack-plugin/node_modules/schema-utils", + "name": "ajv-errors", + "spec": "^1.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/webpack-dev-server/node_modules/schema-utils", + "name": "ajv-errors", + "spec": "^1.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/webpack/node_modules/schema-utils", + "name": "ajv-errors", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "ajv" => EdgeOut { + "name": "ajv", + "spec": ">=5.0.0", + "to": "node_modules/ajv", + "type": "peer", + }, + }, + "location": "node_modules/ajv-errors", + "name": "ajv-errors", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/ajv-errors", + "peer": true, + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + "version": "1.0.1", + }, "ajv-keywords" => ArboristNode { "edgesIn": Set { EdgeIn { @@ -4754,13 +23864,25 @@ ArboristNode { EdgeIn { "from": "node_modules/terser-webpack-plugin/node_modules/schema-utils", "name": "ajv-keywords", - "spec": "^3.5.2", + "spec": "^3.1.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/webpack", + "name": "ajv-keywords", + "spec": "^3.4.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/webpack-dev-server/node_modules/schema-utils", + "name": "ajv-keywords", + "spec": "^3.1.0", "type": "prod", }, EdgeIn { "from": "node_modules/webpack/node_modules/schema-utils", "name": "ajv-keywords", - "spec": "^3.5.2", + "spec": "^3.1.0", "type": "prod", }, }, @@ -4778,6 +23900,23 @@ ArboristNode { "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "version": "3.5.2", }, + "ansi-colors" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-log", + "name": "ansi-colors", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "location": "node_modules/ansi-colors", + "name": "ansi-colors", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/ansi-colors", + "peer": true, + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", + "version": "3.2.4", + }, "ansi-escapes" => ArboristNode { "children": Map { "type-fest" => ArboristNode { @@ -4826,6 +23965,12 @@ ArboristNode { "spec": "^0.0.7", "type": "prod", }, + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "ansi-html", + "spec": "0.0.7", + "type": "prod", + }, }, "location": "node_modules/ansi-html", "name": "ansi-html", @@ -4883,6 +24028,417 @@ ArboristNode { "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "version": "4.3.0", }, + "anymatch" => ArboristNode { + "children": Map { + "normalize-path" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/anymatch", + "name": "normalize-path", + "spec": "^2.1.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "remove-trailing-separator" => EdgeOut { + "name": "remove-trailing-separator", + "spec": "^1.0.1", + "to": "node_modules/remove-trailing-separator", + "type": "prod", + }, + }, + "location": "node_modules/anymatch/node_modules/normalize-path", + "name": "normalize-path", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/anymatch/node_modules/normalize-path", + "peer": true, + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "version": "2.1.1", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/chokidar", + "name": "anymatch", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "micromatch" => EdgeOut { + "name": "micromatch", + "spec": "^3.1.4", + "to": "node_modules/micromatch", + "type": "prod", + }, + "normalize-path" => EdgeOut { + "name": "normalize-path", + "spec": "^2.1.1", + "to": "node_modules/anymatch/node_modules/normalize-path", + "type": "prod", + }, + }, + "location": "node_modules/anymatch", + "name": "anymatch", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/anymatch", + "peer": true, + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "version": "2.0.0", + }, + "aproba" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/copy-concurrently", + "name": "aproba", + "spec": "^1.1.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/move-concurrently", + "name": "aproba", + "spec": "^1.1.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/run-queue", + "name": "aproba", + "spec": "^1.1.1", + "type": "prod", + }, + }, + "location": "node_modules/aproba", + "name": "aproba", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/aproba", + "peer": true, + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "version": "1.2.0", + }, + "arr-diff" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/micromatch", + "name": "arr-diff", + "spec": "^4.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/nanomatch", + "name": "arr-diff", + "spec": "^4.0.0", + "type": "prod", + }, + }, + "location": "node_modules/arr-diff", + "name": "arr-diff", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/arr-diff", + "peer": true, + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "version": "4.0.0", + }, + "arr-flatten" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/braces", + "name": "arr-flatten", + "spec": "^1.1.0", + "type": "prod", + }, + }, + "location": "node_modules/arr-flatten", + "name": "arr-flatten", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/arr-flatten", + "peer": true, + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "version": "1.1.0", + }, + "arr-union" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/class-utils", + "name": "arr-union", + "spec": "^3.1.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/union-value", + "name": "arr-union", + "spec": "^3.1.0", + "type": "prod", + }, + }, + "location": "node_modules/arr-union", + "name": "arr-union", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/arr-union", + "peer": true, + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "version": "3.1.0", + }, + "array-flatten" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/bonjour", + "name": "array-flatten", + "spec": "^2.1.0", + "type": "prod", + }, + }, + "location": "node_modules/array-flatten", + "name": "array-flatten", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/array-flatten", + "peer": true, + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "version": "2.1.2", + }, + "array-union" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/globby", + "name": "array-union", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "array-uniq" => EdgeOut { + "name": "array-uniq", + "spec": "^1.0.1", + "to": "node_modules/array-uniq", + "type": "prod", + }, + }, + "location": "node_modules/array-union", + "name": "array-union", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/array-union", + "peer": true, + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "version": "1.0.2", + }, + "array-uniq" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/array-union", + "name": "array-uniq", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "location": "node_modules/array-uniq", + "name": "array-uniq", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/array-uniq", + "peer": true, + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "version": "1.0.3", + }, + "array-unique" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/braces", + "name": "array-unique", + "spec": "^0.3.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/extglob", + "name": "array-unique", + "spec": "^0.3.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/micromatch", + "name": "array-unique", + "spec": "^0.3.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/nanomatch", + "name": "array-unique", + "spec": "^0.3.2", + "type": "prod", + }, + }, + "location": "node_modules/array-unique", + "name": "array-unique", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/array-unique", + "peer": true, + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "version": "0.3.2", + }, + "asn1.js" => ArboristNode { + "children": Map { + "bn.js" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/asn1.js", + "name": "bn.js", + "spec": "^4.0.0", + "type": "prod", + }, + }, + "location": "node_modules/asn1.js/node_modules/bn.js", + "name": "bn.js", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/asn1.js/node_modules/bn.js", + "peer": true, + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "version": "4.11.9", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/parse-asn1", + "name": "asn1.js", + "spec": "^5.2.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "bn.js" => EdgeOut { + "name": "bn.js", + "spec": "^4.0.0", + "to": "node_modules/asn1.js/node_modules/bn.js", + "type": "prod", + }, + "inherits" => EdgeOut { + "name": "inherits", + "spec": "^2.0.1", + "to": "node_modules/inherits", + "type": "prod", + }, + "minimalistic-assert" => EdgeOut { + "name": "minimalistic-assert", + "spec": "^1.0.0", + "to": "node_modules/minimalistic-assert", + "type": "prod", + }, + "safer-buffer" => EdgeOut { + "name": "safer-buffer", + "spec": "^2.1.0", + "to": "node_modules/safer-buffer", + "type": "prod", + }, + }, + "location": "node_modules/asn1.js", + "name": "asn1.js", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/asn1.js", + "peer": true, + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "version": "5.4.1", + }, + "assert" => ArboristNode { + "children": Map { + "inherits" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/assert/node_modules/util", + "name": "inherits", + "spec": "2.0.1", + "type": "prod", + }, + }, + "location": "node_modules/assert/node_modules/inherits", + "name": "inherits", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/assert/node_modules/inherits", + "peer": true, + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "version": "2.0.1", + }, + "util" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/assert", + "name": "util", + "spec": "0.10.3", + "type": "prod", + }, + }, + "edgesOut": Map { + "inherits" => EdgeOut { + "name": "inherits", + "spec": "2.0.1", + "to": "node_modules/assert/node_modules/inherits", + "type": "prod", + }, + }, + "location": "node_modules/assert/node_modules/util", + "name": "util", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/assert/node_modules/util", + "peer": true, + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "version": "0.10.3", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/node-libs-browser", + "name": "assert", + "spec": "^1.1.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "object-assign" => EdgeOut { + "name": "object-assign", + "spec": "^4.1.1", + "to": "node_modules/object-assign", + "type": "prod", + }, + "util" => EdgeOut { + "name": "util", + "spec": "0.10.3", + "to": "node_modules/assert/node_modules/util", + "type": "prod", + }, + }, + "location": "node_modules/assert", + "name": "assert", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/assert", + "peer": true, + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "version": "1.5.0", + }, + "assign-symbols" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/micromatch/node_modules/extend-shallow", + "name": "assign-symbols", + "spec": "^1.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/nanomatch/node_modules/extend-shallow", + "name": "assign-symbols", + "spec": "^1.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/regex-not/node_modules/extend-shallow", + "name": "assign-symbols", + "spec": "^1.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/split-string/node_modules/extend-shallow", + "name": "assign-symbols", + "spec": "^1.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/to-regex/node_modules/extend-shallow", + "name": "assign-symbols", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/assign-symbols", + "name": "assign-symbols", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/assign-symbols", + "peer": true, + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "version": "1.0.0", + }, "astral-regex" => ArboristNode { "edgesIn": Set { EdgeIn { @@ -4898,6 +24454,81 @@ ArboristNode { "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", "version": "2.0.0", }, + "async" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/portfinder", + "name": "async", + "spec": "^2.6.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "lodash" => EdgeOut { + "name": "lodash", + "spec": "^4.17.14", + "to": "node_modules/lodash", + "type": "prod", + }, + }, + "location": "node_modules/async", + "name": "async", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/async", + "peer": true, + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "version": "2.6.3", + }, + "async-each" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/chokidar", + "name": "async-each", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "location": "node_modules/async-each", + "name": "async-each", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/async-each", + "peer": true, + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "version": "1.0.3", + }, + "async-limiter" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-dev-server/node_modules/ws", + "name": "async-limiter", + "spec": "~1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/async-limiter", + "name": "async-limiter", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/async-limiter", + "peer": true, + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "version": "1.0.1", + }, + "atob" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/source-map-resolve", + "name": "atob", + "spec": "^2.1.2", + "type": "prod", + }, + }, + "location": "node_modules/atob", + "name": "atob", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/atob", + "peer": true, + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "version": "2.1.2", + }, "auto-bind" => ArboristNode { "edgesIn": Set { EdgeIn { @@ -4913,51 +24544,933 @@ ArboristNode { "resolved": "https://registry.npmjs.org/auto-bind/-/auto-bind-4.0.0.tgz", "version": "4.0.0", }, - "browserslist" => ArboristNode { + "balanced-match" => ArboristNode { "edgesIn": Set { EdgeIn { - "from": "node_modules/webpack", - "name": "browserslist", - "spec": "^4.14.5", + "from": "node_modules/brace-expansion", + "name": "balanced-match", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/balanced-match", + "name": "balanced-match", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/balanced-match", + "peer": true, + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "version": "1.0.0", + }, + "base" => ArboristNode { + "children": Map { + "define-property" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/base", + "name": "define-property", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-descriptor" => EdgeOut { + "name": "is-descriptor", + "spec": "^1.0.0", + "to": "node_modules/is-descriptor", + "type": "prod", + }, + }, + "location": "node_modules/base/node_modules/define-property", + "name": "define-property", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/base/node_modules/define-property", + "peer": true, + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "version": "1.0.0", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/snapdragon", + "name": "base", + "spec": "^0.11.1", "type": "prod", }, }, "edgesOut": Map { - "caniuse-lite" => EdgeOut { - "name": "caniuse-lite", - "spec": "^1.0.30001135", - "to": "node_modules/caniuse-lite", + "cache-base" => EdgeOut { + "name": "cache-base", + "spec": "^1.0.1", + "to": "node_modules/cache-base", "type": "prod", }, - "electron-to-chromium" => EdgeOut { - "name": "electron-to-chromium", - "spec": "^1.3.571", - "to": "node_modules/electron-to-chromium", + "class-utils" => EdgeOut { + "name": "class-utils", + "spec": "^0.3.5", + "to": "node_modules/class-utils", "type": "prod", }, - "escalade" => EdgeOut { - "name": "escalade", - "spec": "^3.1.0", - "to": "node_modules/escalade", + "component-emitter" => EdgeOut { + "name": "component-emitter", + "spec": "^1.2.1", + "to": "node_modules/component-emitter", "type": "prod", }, - "node-releases" => EdgeOut { - "name": "node-releases", - "spec": "^1.1.61", - "to": "node_modules/node-releases", + "define-property" => EdgeOut { + "name": "define-property", + "spec": "^1.0.0", + "to": "node_modules/base/node_modules/define-property", + "type": "prod", + }, + "isobject" => EdgeOut { + "name": "isobject", + "spec": "^3.0.1", + "to": "node_modules/isobject", + "type": "prod", + }, + "mixin-deep" => EdgeOut { + "name": "mixin-deep", + "spec": "^1.2.0", + "to": "node_modules/mixin-deep", + "type": "prod", + }, + "pascalcase" => EdgeOut { + "name": "pascalcase", + "spec": "^0.1.1", + "to": "node_modules/pascalcase", "type": "prod", }, }, - "location": "node_modules/browserslist", - "name": "browserslist", - "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/browserslist", + "location": "node_modules/base", + "name": "base", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/base", "peer": true, - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.14.5.tgz", - "version": "4.14.5", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "version": "0.11.2", + }, + "base64-js" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/buffer", + "name": "base64-js", + "spec": "^1.0.2", + "type": "prod", + }, + }, + "location": "node_modules/base64-js", + "name": "base64-js", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/base64-js", + "peer": true, + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "version": "1.5.1", + }, + "batch" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/serve-index", + "name": "batch", + "spec": "0.6.1", + "type": "prod", + }, + }, + "location": "node_modules/batch", + "name": "batch", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/batch", + "peer": true, + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "version": "0.6.1", + }, + "big.js" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/loader-utils", + "name": "big.js", + "spec": "^5.2.2", + "type": "prod", + }, + }, + "location": "node_modules/big.js", + "name": "big.js", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/big.js", + "peer": true, + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "version": "5.2.2", + }, + "binary-extensions" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/is-binary-path", + "name": "binary-extensions", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/binary-extensions", + "name": "binary-extensions", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/binary-extensions", + "peer": true, + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "version": "1.13.1", + }, + "bindings" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/fsevents", + "name": "bindings", + "spec": "^1.5.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "file-uri-to-path" => EdgeOut { + "name": "file-uri-to-path", + "spec": "1.0.0", + "to": "node_modules/file-uri-to-path", + "type": "prod", + }, + }, + "location": "node_modules/bindings", + "name": "bindings", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/bindings", + "peer": true, + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "version": "1.5.0", + }, + "bluebird" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/cacache", + "name": "bluebird", + "spec": "^3.5.5", + "type": "prod", + }, + }, + "location": "node_modules/bluebird", + "name": "bluebird", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/bluebird", + "peer": true, + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "version": "3.7.2", + }, + "bn.js" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/browserify-sign", + "name": "bn.js", + "spec": "^5.1.1", + "type": "prod", + }, + }, + "location": "node_modules/bn.js", + "name": "bn.js", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/bn.js", + "peer": true, + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.3.tgz", + "version": "5.1.3", + }, + "body-parser" => ArboristNode { + "children": Map { + "bytes" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/body-parser", + "name": "bytes", + "spec": "3.1.0", + "type": "prod", + }, + }, + "location": "node_modules/body-parser/node_modules/bytes", + "name": "bytes", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/body-parser/node_modules/bytes", + "peer": true, + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "version": "3.1.0", + }, + "debug" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/body-parser", + "name": "debug", + "spec": "2.6.9", + "type": "prod", + }, + }, + "edgesOut": Map { + "ms" => EdgeOut { + "name": "ms", + "spec": "2.0.0", + "to": "node_modules/body-parser/node_modules/ms", + "type": "prod", + }, + }, + "location": "node_modules/body-parser/node_modules/debug", + "name": "debug", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/body-parser/node_modules/debug", + "peer": true, + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "version": "2.6.9", + }, + "ms" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/body-parser/node_modules/debug", + "name": "ms", + "spec": "2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/body-parser/node_modules/ms", + "name": "ms", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/body-parser/node_modules/ms", + "peer": true, + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "version": "2.0.0", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/express", + "name": "body-parser", + "spec": "1.19.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "bytes" => EdgeOut { + "name": "bytes", + "spec": "3.1.0", + "to": "node_modules/body-parser/node_modules/bytes", + "type": "prod", + }, + "content-type" => EdgeOut { + "name": "content-type", + "spec": "~1.0.4", + "to": "node_modules/content-type", + "type": "prod", + }, + "debug" => EdgeOut { + "name": "debug", + "spec": "2.6.9", + "to": "node_modules/body-parser/node_modules/debug", + "type": "prod", + }, + "depd" => EdgeOut { + "name": "depd", + "spec": "~1.1.2", + "to": "node_modules/depd", + "type": "prod", + }, + "http-errors" => EdgeOut { + "name": "http-errors", + "spec": "1.7.2", + "to": "node_modules/http-errors", + "type": "prod", + }, + "iconv-lite" => EdgeOut { + "name": "iconv-lite", + "spec": "0.4.24", + "to": "node_modules/iconv-lite", + "type": "prod", + }, + "on-finished" => EdgeOut { + "name": "on-finished", + "spec": "~2.3.0", + "to": "node_modules/on-finished", + "type": "prod", + }, + "qs" => EdgeOut { + "name": "qs", + "spec": "6.7.0", + "to": "node_modules/qs", + "type": "prod", + }, + "raw-body" => EdgeOut { + "name": "raw-body", + "spec": "2.4.0", + "to": "node_modules/raw-body", + "type": "prod", + }, + "type-is" => EdgeOut { + "name": "type-is", + "spec": "~1.6.17", + "to": "node_modules/type-is", + "type": "prod", + }, + }, + "location": "node_modules/body-parser", + "name": "body-parser", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/body-parser", + "peer": true, + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "version": "1.19.0", + }, + "bonjour" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "bonjour", + "spec": "^3.5.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "array-flatten" => EdgeOut { + "name": "array-flatten", + "spec": "^2.1.0", + "to": "node_modules/array-flatten", + "type": "prod", + }, + "deep-equal" => EdgeOut { + "name": "deep-equal", + "spec": "^1.0.1", + "to": "node_modules/deep-equal", + "type": "prod", + }, + "dns-equal" => EdgeOut { + "name": "dns-equal", + "spec": "^1.0.0", + "to": "node_modules/dns-equal", + "type": "prod", + }, + "dns-txt" => EdgeOut { + "name": "dns-txt", + "spec": "^2.0.2", + "to": "node_modules/dns-txt", + "type": "prod", + }, + "multicast-dns" => EdgeOut { + "name": "multicast-dns", + "spec": "^6.0.1", + "to": "node_modules/multicast-dns", + "type": "prod", + }, + "multicast-dns-service-types" => EdgeOut { + "name": "multicast-dns-service-types", + "spec": "^1.1.0", + "to": "node_modules/multicast-dns-service-types", + "type": "prod", + }, + }, + "location": "node_modules/bonjour", + "name": "bonjour", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/bonjour", + "peer": true, + "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", + "version": "3.5.0", + }, + "brace-expansion" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/minimatch", + "name": "brace-expansion", + "spec": "^1.1.7", + "type": "prod", + }, + }, + "edgesOut": Map { + "balanced-match" => EdgeOut { + "name": "balanced-match", + "spec": "^1.0.0", + "to": "node_modules/balanced-match", + "type": "prod", + }, + "concat-map" => EdgeOut { + "name": "concat-map", + "spec": "0.0.1", + "to": "node_modules/concat-map", + "type": "prod", + }, + }, + "location": "node_modules/brace-expansion", + "name": "brace-expansion", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/brace-expansion", + "peer": true, + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "version": "1.1.11", + }, + "braces" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/chokidar", + "name": "braces", + "spec": "^2.3.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/micromatch", + "name": "braces", + "spec": "^2.3.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "arr-flatten" => EdgeOut { + "name": "arr-flatten", + "spec": "^1.1.0", + "to": "node_modules/arr-flatten", + "type": "prod", + }, + "array-unique" => EdgeOut { + "name": "array-unique", + "spec": "^0.3.2", + "to": "node_modules/array-unique", + "type": "prod", + }, + "extend-shallow" => EdgeOut { + "name": "extend-shallow", + "spec": "^2.0.1", + "to": "node_modules/extend-shallow", + "type": "prod", + }, + "fill-range" => EdgeOut { + "name": "fill-range", + "spec": "^4.0.0", + "to": "node_modules/fill-range", + "type": "prod", + }, + "isobject" => EdgeOut { + "name": "isobject", + "spec": "^3.0.1", + "to": "node_modules/isobject", + "type": "prod", + }, + "repeat-element" => EdgeOut { + "name": "repeat-element", + "spec": "^1.1.2", + "to": "node_modules/repeat-element", + "type": "prod", + }, + "snapdragon" => EdgeOut { + "name": "snapdragon", + "spec": "^0.8.1", + "to": "node_modules/snapdragon", + "type": "prod", + }, + "snapdragon-node" => EdgeOut { + "name": "snapdragon-node", + "spec": "^2.0.1", + "to": "node_modules/snapdragon-node", + "type": "prod", + }, + "split-string" => EdgeOut { + "name": "split-string", + "spec": "^3.0.2", + "to": "node_modules/split-string", + "type": "prod", + }, + "to-regex" => EdgeOut { + "name": "to-regex", + "spec": "^3.0.1", + "to": "node_modules/to-regex", + "type": "prod", + }, + }, + "location": "node_modules/braces", + "name": "braces", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/braces", + "peer": true, + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "version": "2.3.2", + }, + "brorand" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/elliptic", + "name": "brorand", + "spec": "^1.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/miller-rabin", + "name": "brorand", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "location": "node_modules/brorand", + "name": "brorand", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/brorand", + "peer": true, + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "version": "1.1.0", + }, + "browserify-aes" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/browserify-cipher", + "name": "browserify-aes", + "spec": "^1.0.4", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/parse-asn1", + "name": "browserify-aes", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "buffer-xor" => EdgeOut { + "name": "buffer-xor", + "spec": "^1.0.3", + "to": "node_modules/buffer-xor", + "type": "prod", + }, + "cipher-base" => EdgeOut { + "name": "cipher-base", + "spec": "^1.0.0", + "to": "node_modules/cipher-base", + "type": "prod", + }, + "create-hash" => EdgeOut { + "name": "create-hash", + "spec": "^1.1.0", + "to": "node_modules/create-hash", + "type": "prod", + }, + "evp_bytestokey" => EdgeOut { + "name": "evp_bytestokey", + "spec": "^1.0.3", + "to": "node_modules/evp_bytestokey", + "type": "prod", + }, + "inherits" => EdgeOut { + "name": "inherits", + "spec": "^2.0.1", + "to": "node_modules/inherits", + "type": "prod", + }, + "safe-buffer" => EdgeOut { + "name": "safe-buffer", + "spec": "^5.0.1", + "to": "node_modules/safe-buffer", + "type": "prod", + }, + }, + "location": "node_modules/browserify-aes", + "name": "browserify-aes", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/browserify-aes", + "peer": true, + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "version": "1.2.0", + }, + "browserify-cipher" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/crypto-browserify", + "name": "browserify-cipher", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "browserify-aes" => EdgeOut { + "name": "browserify-aes", + "spec": "^1.0.4", + "to": "node_modules/browserify-aes", + "type": "prod", + }, + "browserify-des" => EdgeOut { + "name": "browserify-des", + "spec": "^1.0.0", + "to": "node_modules/browserify-des", + "type": "prod", + }, + "evp_bytestokey" => EdgeOut { + "name": "evp_bytestokey", + "spec": "^1.0.0", + "to": "node_modules/evp_bytestokey", + "type": "prod", + }, + }, + "location": "node_modules/browserify-cipher", + "name": "browserify-cipher", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/browserify-cipher", + "peer": true, + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "version": "1.0.1", + }, + "browserify-des" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/browserify-cipher", + "name": "browserify-des", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "cipher-base" => EdgeOut { + "name": "cipher-base", + "spec": "^1.0.1", + "to": "node_modules/cipher-base", + "type": "prod", + }, + "des.js" => EdgeOut { + "name": "des.js", + "spec": "^1.0.0", + "to": "node_modules/des.js", + "type": "prod", + }, + "inherits" => EdgeOut { + "name": "inherits", + "spec": "^2.0.1", + "to": "node_modules/inherits", + "type": "prod", + }, + "safe-buffer" => EdgeOut { + "name": "safe-buffer", + "spec": "^5.1.2", + "to": "node_modules/safe-buffer", + "type": "prod", + }, + }, + "location": "node_modules/browserify-des", + "name": "browserify-des", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/browserify-des", + "peer": true, + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "version": "1.0.2", + }, + "browserify-rsa" => ArboristNode { + "children": Map { + "bn.js" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/browserify-rsa", + "name": "bn.js", + "spec": "^4.1.0", + "type": "prod", + }, + }, + "location": "node_modules/browserify-rsa/node_modules/bn.js", + "name": "bn.js", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/browserify-rsa/node_modules/bn.js", + "peer": true, + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "version": "4.11.9", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/browserify-sign", + "name": "browserify-rsa", + "spec": "^4.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/public-encrypt", + "name": "browserify-rsa", + "spec": "^4.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "bn.js" => EdgeOut { + "name": "bn.js", + "spec": "^4.1.0", + "to": "node_modules/browserify-rsa/node_modules/bn.js", + "type": "prod", + }, + "randombytes" => EdgeOut { + "name": "randombytes", + "spec": "^2.0.1", + "to": "node_modules/randombytes", + "type": "prod", + }, + }, + "location": "node_modules/browserify-rsa", + "name": "browserify-rsa", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/browserify-rsa", + "peer": true, + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "version": "4.0.1", + }, + "browserify-sign" => ArboristNode { + "children": Map { + "readable-stream" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/browserify-sign", + "name": "readable-stream", + "spec": "^3.6.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "inherits" => EdgeOut { + "name": "inherits", + "spec": "^2.0.3", + "to": "node_modules/inherits", + "type": "prod", + }, + "string_decoder" => EdgeOut { + "name": "string_decoder", + "spec": "^1.1.1", + "to": "node_modules/string_decoder", + "type": "prod", + }, + "util-deprecate" => EdgeOut { + "name": "util-deprecate", + "spec": "^1.0.1", + "to": "node_modules/util-deprecate", + "type": "prod", + }, + }, + "location": "node_modules/browserify-sign/node_modules/readable-stream", + "name": "readable-stream", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/browserify-sign/node_modules/readable-stream", + "peer": true, + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "version": "3.6.0", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/crypto-browserify", + "name": "browserify-sign", + "spec": "^4.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "bn.js" => EdgeOut { + "name": "bn.js", + "spec": "^5.1.1", + "to": "node_modules/bn.js", + "type": "prod", + }, + "browserify-rsa" => EdgeOut { + "name": "browserify-rsa", + "spec": "^4.0.1", + "to": "node_modules/browserify-rsa", + "type": "prod", + }, + "create-hash" => EdgeOut { + "name": "create-hash", + "spec": "^1.2.0", + "to": "node_modules/create-hash", + "type": "prod", + }, + "create-hmac" => EdgeOut { + "name": "create-hmac", + "spec": "^1.1.7", + "to": "node_modules/create-hmac", + "type": "prod", + }, + "elliptic" => EdgeOut { + "name": "elliptic", + "spec": "^6.5.3", + "to": "node_modules/elliptic", + "type": "prod", + }, + "inherits" => EdgeOut { + "name": "inherits", + "spec": "^2.0.4", + "to": "node_modules/inherits", + "type": "prod", + }, + "parse-asn1" => EdgeOut { + "name": "parse-asn1", + "spec": "^5.1.5", + "to": "node_modules/parse-asn1", + "type": "prod", + }, + "readable-stream" => EdgeOut { + "name": "readable-stream", + "spec": "^3.6.0", + "to": "node_modules/browserify-sign/node_modules/readable-stream", + "type": "prod", + }, + "safe-buffer" => EdgeOut { + "name": "safe-buffer", + "spec": "^5.2.0", + "to": "node_modules/safe-buffer", + "type": "prod", + }, + }, + "location": "node_modules/browserify-sign", + "name": "browserify-sign", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/browserify-sign", + "peer": true, + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", + "version": "4.2.1", + }, + "browserify-zlib" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/node-libs-browser", + "name": "browserify-zlib", + "spec": "^0.2.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "pako" => EdgeOut { + "name": "pako", + "spec": "~1.0.5", + "to": "node_modules/pako", + "type": "prod", + }, + }, + "location": "node_modules/browserify-zlib", + "name": "browserify-zlib", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/browserify-zlib", + "peer": true, + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "version": "0.2.0", + }, + "buffer" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/node-libs-browser", + "name": "buffer", + "spec": "^4.3.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "base64-js" => EdgeOut { + "name": "base64-js", + "spec": "^1.0.2", + "to": "node_modules/base64-js", + "type": "prod", + }, + "ieee754" => EdgeOut { + "name": "ieee754", + "spec": "^1.1.4", + "to": "node_modules/ieee754", + "type": "prod", + }, + "isarray" => EdgeOut { + "name": "isarray", + "spec": "^1.0.0", + "to": "node_modules/isarray", + "type": "prod", + }, + }, + "location": "node_modules/buffer", + "name": "buffer", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/buffer", + "peer": true, + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "version": "4.9.2", }, "buffer-from" => ArboristNode { "edgesIn": Set { EdgeIn { + "from": "node_modules/concat-stream", + "name": "buffer-from", + "spec": "^1.0.0", + "type": "prod", + }, + EdgeIn { "from": "node_modules/source-map-support", "name": "buffer-from", "spec": "^1.0.0", @@ -4971,21 +25484,268 @@ ArboristNode { "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", "version": "1.1.1", }, - "caniuse-lite" => ArboristNode { + "buffer-indexof" => ArboristNode { "edgesIn": Set { EdgeIn { - "from": "node_modules/browserslist", - "name": "caniuse-lite", - "spec": "^1.0.30001135", + "from": "node_modules/dns-txt", + "name": "buffer-indexof", + "spec": "^1.0.0", "type": "prod", }, }, - "location": "node_modules/caniuse-lite", - "name": "caniuse-lite", - "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/caniuse-lite", + "location": "node_modules/buffer-indexof", + "name": "buffer-indexof", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/buffer-indexof", "peer": true, - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001148.tgz", - "version": "1.0.30001148", + "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", + "version": "1.1.1", + }, + "buffer-xor" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/browserify-aes", + "name": "buffer-xor", + "spec": "^1.0.3", + "type": "prod", + }, + }, + "location": "node_modules/buffer-xor", + "name": "buffer-xor", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/buffer-xor", + "peer": true, + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "version": "1.0.3", + }, + "builtin-status-codes" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/stream-http", + "name": "builtin-status-codes", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "location": "node_modules/builtin-status-codes", + "name": "builtin-status-codes", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/builtin-status-codes", + "peer": true, + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "version": "3.0.0", + }, + "bytes" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/compression", + "name": "bytes", + "spec": "3.0.0", + "type": "prod", + }, + }, + "location": "node_modules/bytes", + "name": "bytes", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/bytes", + "peer": true, + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "version": "3.0.0", + }, + "cacache" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/terser-webpack-plugin", + "name": "cacache", + "spec": "^12.0.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "bluebird" => EdgeOut { + "name": "bluebird", + "spec": "^3.5.5", + "to": "node_modules/bluebird", + "type": "prod", + }, + "chownr" => EdgeOut { + "name": "chownr", + "spec": "^1.1.1", + "to": "node_modules/chownr", + "type": "prod", + }, + "figgy-pudding" => EdgeOut { + "name": "figgy-pudding", + "spec": "^3.5.1", + "to": "node_modules/figgy-pudding", + "type": "prod", + }, + "glob" => EdgeOut { + "name": "glob", + "spec": "^7.1.4", + "to": "node_modules/glob", + "type": "prod", + }, + "graceful-fs" => EdgeOut { + "name": "graceful-fs", + "spec": "^4.1.15", + "to": "node_modules/graceful-fs", + "type": "prod", + }, + "infer-owner" => EdgeOut { + "name": "infer-owner", + "spec": "^1.0.3", + "to": "node_modules/infer-owner", + "type": "prod", + }, + "lru-cache" => EdgeOut { + "name": "lru-cache", + "spec": "^5.1.1", + "to": "node_modules/lru-cache", + "type": "prod", + }, + "mississippi" => EdgeOut { + "name": "mississippi", + "spec": "^3.0.0", + "to": "node_modules/mississippi", + "type": "prod", + }, + "mkdirp" => EdgeOut { + "name": "mkdirp", + "spec": "^0.5.1", + "to": "node_modules/mkdirp", + "type": "prod", + }, + "move-concurrently" => EdgeOut { + "name": "move-concurrently", + "spec": "^1.0.1", + "to": "node_modules/move-concurrently", + "type": "prod", + }, + "promise-inflight" => EdgeOut { + "name": "promise-inflight", + "spec": "^1.0.1", + "to": "node_modules/promise-inflight", + "type": "prod", + }, + "rimraf" => EdgeOut { + "name": "rimraf", + "spec": "^2.6.3", + "to": "node_modules/rimraf", + "type": "prod", + }, + "ssri" => EdgeOut { + "name": "ssri", + "spec": "^6.0.1", + "to": "node_modules/ssri", + "type": "prod", + }, + "unique-filename" => EdgeOut { + "name": "unique-filename", + "spec": "^1.1.1", + "to": "node_modules/unique-filename", + "type": "prod", + }, + "y18n" => EdgeOut { + "name": "y18n", + "spec": "^4.0.0", + "to": "node_modules/y18n", + "type": "prod", + }, + }, + "location": "node_modules/cacache", + "name": "cacache", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/cacache", + "peer": true, + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", + "version": "12.0.4", + }, + "cache-base" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/base", + "name": "cache-base", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "collection-visit" => EdgeOut { + "name": "collection-visit", + "spec": "^1.0.0", + "to": "node_modules/collection-visit", + "type": "prod", + }, + "component-emitter" => EdgeOut { + "name": "component-emitter", + "spec": "^1.2.1", + "to": "node_modules/component-emitter", + "type": "prod", + }, + "get-value" => EdgeOut { + "name": "get-value", + "spec": "^2.0.6", + "to": "node_modules/get-value", + "type": "prod", + }, + "has-value" => EdgeOut { + "name": "has-value", + "spec": "^1.0.0", + "to": "node_modules/has-value", + "type": "prod", + }, + "isobject" => EdgeOut { + "name": "isobject", + "spec": "^3.0.1", + "to": "node_modules/isobject", + "type": "prod", + }, + "set-value" => EdgeOut { + "name": "set-value", + "spec": "^2.0.0", + "to": "node_modules/set-value", + "type": "prod", + }, + "to-object-path" => EdgeOut { + "name": "to-object-path", + "spec": "^0.3.0", + "to": "node_modules/to-object-path", + "type": "prod", + }, + "union-value" => EdgeOut { + "name": "union-value", + "spec": "^1.0.0", + "to": "node_modules/union-value", + "type": "prod", + }, + "unset-value" => EdgeOut { + "name": "unset-value", + "spec": "^1.0.0", + "to": "node_modules/unset-value", + "type": "prod", + }, + }, + "location": "node_modules/cache-base", + "name": "cache-base", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/cache-base", + "peer": true, + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "version": "1.0.1", + }, + "camelcase" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/yargs-parser", + "name": "camelcase", + "spec": "^5.0.0", + "type": "prod", + }, + }, + "location": "node_modules/camelcase", + "name": "camelcase", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/camelcase", + "peer": true, + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "version": "5.3.1", }, "chalk" => ArboristNode { "edgesIn": Set { @@ -5016,6 +25776,119 @@ ArboristNode { "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", "version": "4.1.0", }, + "chokidar" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/watchpack-chokidar2", + "name": "chokidar", + "spec": "^2.1.8", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "chokidar", + "spec": "^2.1.8", + "type": "prod", + }, + }, + "edgesOut": Map { + "anymatch" => EdgeOut { + "name": "anymatch", + "spec": "^2.0.0", + "to": "node_modules/anymatch", + "type": "prod", + }, + "async-each" => EdgeOut { + "name": "async-each", + "spec": "^1.0.1", + "to": "node_modules/async-each", + "type": "prod", + }, + "braces" => EdgeOut { + "name": "braces", + "spec": "^2.3.2", + "to": "node_modules/braces", + "type": "prod", + }, + "fsevents" => EdgeOut { + "name": "fsevents", + "spec": "^1.2.7", + "to": "node_modules/fsevents", + "type": "optional", + }, + "glob-parent" => EdgeOut { + "name": "glob-parent", + "spec": "^3.1.0", + "to": "node_modules/glob-parent", + "type": "prod", + }, + "inherits" => EdgeOut { + "name": "inherits", + "spec": "^2.0.3", + "to": "node_modules/inherits", + "type": "prod", + }, + "is-binary-path" => EdgeOut { + "name": "is-binary-path", + "spec": "^1.0.0", + "to": "node_modules/is-binary-path", + "type": "prod", + }, + "is-glob" => EdgeOut { + "name": "is-glob", + "spec": "^4.0.0", + "to": "node_modules/is-glob", + "type": "prod", + }, + "normalize-path" => EdgeOut { + "name": "normalize-path", + "spec": "^3.0.0", + "to": "node_modules/normalize-path", + "type": "prod", + }, + "path-is-absolute" => EdgeOut { + "name": "path-is-absolute", + "spec": "^1.0.0", + "to": "node_modules/path-is-absolute", + "type": "prod", + }, + "readdirp" => EdgeOut { + "name": "readdirp", + "spec": "^2.2.1", + "to": "node_modules/readdirp", + "type": "prod", + }, + "upath" => EdgeOut { + "name": "upath", + "spec": "^1.1.1", + "to": "node_modules/upath", + "type": "prod", + }, + }, + "location": "node_modules/chokidar", + "name": "chokidar", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/chokidar", + "peer": true, + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "version": "2.1.8", + }, + "chownr" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/cacache", + "name": "chownr", + "spec": "^1.1.1", + "type": "prod", + }, + }, + "location": "node_modules/chownr", + "name": "chownr", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/chownr", + "peer": true, + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "version": "1.1.4", + }, "chrome-trace-event" => ArboristNode { "edgesIn": Set { EdgeIn { @@ -5055,6 +25928,224 @@ ArboristNode { "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", "version": "2.0.0", }, + "cipher-base" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/browserify-aes", + "name": "cipher-base", + "spec": "^1.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/browserify-des", + "name": "cipher-base", + "spec": "^1.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/create-hash", + "name": "cipher-base", + "spec": "^1.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/create-hmac", + "name": "cipher-base", + "spec": "^1.0.3", + "type": "prod", + }, + }, + "edgesOut": Map { + "inherits" => EdgeOut { + "name": "inherits", + "spec": "^2.0.1", + "to": "node_modules/inherits", + "type": "prod", + }, + "safe-buffer" => EdgeOut { + "name": "safe-buffer", + "spec": "^5.0.1", + "to": "node_modules/safe-buffer", + "type": "prod", + }, + }, + "location": "node_modules/cipher-base", + "name": "cipher-base", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/cipher-base", + "peer": true, + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "version": "1.0.4", + }, + "class-utils" => ArboristNode { + "children": Map { + "define-property" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/class-utils", + "name": "define-property", + "spec": "^0.2.5", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-descriptor" => EdgeOut { + "name": "is-descriptor", + "spec": "^0.1.0", + "to": "node_modules/class-utils/node_modules/is-descriptor", + "type": "prod", + }, + }, + "location": "node_modules/class-utils/node_modules/define-property", + "name": "define-property", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/class-utils/node_modules/define-property", + "peer": true, + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "version": "0.2.5", + }, + "is-accessor-descriptor" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/class-utils/node_modules/is-descriptor", + "name": "is-accessor-descriptor", + "spec": "^0.1.6", + "type": "prod", + }, + }, + "edgesOut": Map { + "kind-of" => EdgeOut { + "name": "kind-of", + "spec": "^3.0.2", + "to": "node_modules/kind-of", + "type": "prod", + }, + }, + "location": "node_modules/class-utils/node_modules/is-accessor-descriptor", + "name": "is-accessor-descriptor", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/class-utils/node_modules/is-accessor-descriptor", + "peer": true, + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "version": "0.1.6", + }, + "is-data-descriptor" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/class-utils/node_modules/is-descriptor", + "name": "is-data-descriptor", + "spec": "^0.1.4", + "type": "prod", + }, + }, + "edgesOut": Map { + "kind-of" => EdgeOut { + "name": "kind-of", + "spec": "^3.0.2", + "to": "node_modules/kind-of", + "type": "prod", + }, + }, + "location": "node_modules/class-utils/node_modules/is-data-descriptor", + "name": "is-data-descriptor", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/class-utils/node_modules/is-data-descriptor", + "peer": true, + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "version": "0.1.4", + }, + "is-descriptor" => ArboristNode { + "children": Map { + "kind-of" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/class-utils/node_modules/is-descriptor", + "name": "kind-of", + "spec": "^5.0.0", + "type": "prod", + }, + }, + "location": "node_modules/class-utils/node_modules/is-descriptor/node_modules/kind-of", + "name": "kind-of", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/class-utils/node_modules/is-descriptor/node_modules/kind-of", + "peer": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "version": "5.1.0", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/class-utils/node_modules/define-property", + "name": "is-descriptor", + "spec": "^0.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-accessor-descriptor" => EdgeOut { + "name": "is-accessor-descriptor", + "spec": "^0.1.6", + "to": "node_modules/class-utils/node_modules/is-accessor-descriptor", + "type": "prod", + }, + "is-data-descriptor" => EdgeOut { + "name": "is-data-descriptor", + "spec": "^0.1.4", + "to": "node_modules/class-utils/node_modules/is-data-descriptor", + "type": "prod", + }, + "kind-of" => EdgeOut { + "name": "kind-of", + "spec": "^5.0.0", + "to": "node_modules/class-utils/node_modules/is-descriptor/node_modules/kind-of", + "type": "prod", + }, + }, + "location": "node_modules/class-utils/node_modules/is-descriptor", + "name": "is-descriptor", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/class-utils/node_modules/is-descriptor", + "peer": true, + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "version": "0.1.6", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/base", + "name": "class-utils", + "spec": "^0.3.5", + "type": "prod", + }, + }, + "edgesOut": Map { + "arr-union" => EdgeOut { + "name": "arr-union", + "spec": "^3.1.0", + "to": "node_modules/arr-union", + "type": "prod", + }, + "define-property" => EdgeOut { + "name": "define-property", + "spec": "^0.2.5", + "to": "node_modules/class-utils/node_modules/define-property", + "type": "prod", + }, + "isobject" => EdgeOut { + "name": "isobject", + "spec": "^3.0.0", + "to": "node_modules/isobject", + "type": "prod", + }, + "static-extend" => EdgeOut { + "name": "static-extend", + "spec": "^0.1.1", + "to": "node_modules/static-extend", + "type": "prod", + }, + }, + "location": "node_modules/class-utils", + "name": "class-utils", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/class-utils", + "peer": true, + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "version": "0.3.6", + }, "cli-boxes" => ArboristNode { "edgesIn": Set { EdgeIn { @@ -5122,6 +26213,226 @@ ArboristNode { "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", "version": "2.1.0", }, + "cliui" => ArboristNode { + "children": Map { + "ansi-styles" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/cliui/node_modules/wrap-ansi", + "name": "ansi-styles", + "spec": "^3.2.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "color-convert" => EdgeOut { + "name": "color-convert", + "spec": "^1.9.0", + "to": "node_modules/cliui/node_modules/color-convert", + "type": "prod", + }, + }, + "location": "node_modules/cliui/node_modules/ansi-styles", + "name": "ansi-styles", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/cliui/node_modules/ansi-styles", + "peer": true, + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "version": "3.2.1", + }, + "color-convert" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/cliui/node_modules/ansi-styles", + "name": "color-convert", + "spec": "^1.9.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "color-name" => EdgeOut { + "name": "color-name", + "spec": "1.1.3", + "to": "node_modules/cliui/node_modules/color-name", + "type": "prod", + }, + }, + "location": "node_modules/cliui/node_modules/color-convert", + "name": "color-convert", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/cliui/node_modules/color-convert", + "peer": true, + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "version": "1.9.3", + }, + "color-name" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/cliui/node_modules/color-convert", + "name": "color-name", + "spec": "1.1.3", + "type": "prod", + }, + }, + "location": "node_modules/cliui/node_modules/color-name", + "name": "color-name", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/cliui/node_modules/color-name", + "peer": true, + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "version": "1.1.3", + }, + "emoji-regex" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/cliui/node_modules/string-width", + "name": "emoji-regex", + "spec": "^7.0.1", + "type": "prod", + }, + }, + "location": "node_modules/cliui/node_modules/emoji-regex", + "name": "emoji-regex", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/cliui/node_modules/emoji-regex", + "peer": true, + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "version": "7.0.3", + }, + "is-fullwidth-code-point" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/cliui/node_modules/string-width", + "name": "is-fullwidth-code-point", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/cliui/node_modules/is-fullwidth-code-point", + "name": "is-fullwidth-code-point", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/cliui/node_modules/is-fullwidth-code-point", + "peer": true, + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "version": "2.0.0", + }, + "string-width" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/cliui", + "name": "string-width", + "spec": "^3.1.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/cliui/node_modules/wrap-ansi", + "name": "string-width", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "emoji-regex" => EdgeOut { + "name": "emoji-regex", + "spec": "^7.0.1", + "to": "node_modules/cliui/node_modules/emoji-regex", + "type": "prod", + }, + "is-fullwidth-code-point" => EdgeOut { + "name": "is-fullwidth-code-point", + "spec": "^2.0.0", + "to": "node_modules/cliui/node_modules/is-fullwidth-code-point", + "type": "prod", + }, + "strip-ansi" => EdgeOut { + "name": "strip-ansi", + "spec": "^5.1.0", + "to": "node_modules/strip-ansi", + "type": "prod", + }, + }, + "location": "node_modules/cliui/node_modules/string-width", + "name": "string-width", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/cliui/node_modules/string-width", + "peer": true, + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "version": "3.1.0", + }, + "wrap-ansi" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/cliui", + "name": "wrap-ansi", + "spec": "^5.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "ansi-styles" => EdgeOut { + "name": "ansi-styles", + "spec": "^3.2.0", + "to": "node_modules/cliui/node_modules/ansi-styles", + "type": "prod", + }, + "string-width" => EdgeOut { + "name": "string-width", + "spec": "^3.0.0", + "to": "node_modules/cliui/node_modules/string-width", + "type": "prod", + }, + "strip-ansi" => EdgeOut { + "name": "strip-ansi", + "spec": "^5.0.0", + "to": "node_modules/strip-ansi", + "type": "prod", + }, + }, + "location": "node_modules/cliui/node_modules/wrap-ansi", + "name": "wrap-ansi", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/cliui/node_modules/wrap-ansi", + "peer": true, + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "version": "5.1.0", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/yargs", + "name": "cliui", + "spec": "^5.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "string-width" => EdgeOut { + "name": "string-width", + "spec": "^3.1.0", + "to": "node_modules/cliui/node_modules/string-width", + "type": "prod", + }, + "strip-ansi" => EdgeOut { + "name": "strip-ansi", + "spec": "^5.2.0", + "to": "node_modules/strip-ansi", + "type": "prod", + }, + "wrap-ansi" => EdgeOut { + "name": "wrap-ansi", + "spec": "^5.1.0", + "to": "node_modules/cliui/node_modules/wrap-ansi", + "type": "prod", + }, + }, + "location": "node_modules/cliui", + "name": "cliui", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/cliui", + "peer": true, + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "version": "5.0.0", + }, "code-excerpt" => ArboristNode { "edgesIn": Set { EdgeIn { @@ -5145,6 +26456,36 @@ ArboristNode { "resolved": "https://registry.npmjs.org/code-excerpt/-/code-excerpt-3.0.0.tgz", "version": "3.0.0", }, + "collection-visit" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/cache-base", + "name": "collection-visit", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "map-visit" => EdgeOut { + "name": "map-visit", + "spec": "^1.0.0", + "to": "node_modules/map-visit", + "type": "prod", + }, + "object-visit" => EdgeOut { + "name": "object-visit", + "spec": "^1.0.0", + "to": "node_modules/object-visit", + "type": "prod", + }, + }, + "location": "node_modules/collection-visit", + "name": "collection-visit", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/collection-visit", + "peer": true, + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "version": "1.0.0", + }, "color-convert" => ArboristNode { "edgesIn": Set { EdgeIn { @@ -5199,6 +26540,365 @@ ArboristNode { "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", "version": "2.20.3", }, + "commondir" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/find-cache-dir", + "name": "commondir", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "location": "node_modules/commondir", + "name": "commondir", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/commondir", + "peer": true, + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "version": "1.0.1", + }, + "component-emitter" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/base", + "name": "component-emitter", + "spec": "^1.2.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/cache-base", + "name": "component-emitter", + "spec": "^1.2.1", + "type": "prod", + }, + }, + "location": "node_modules/component-emitter", + "name": "component-emitter", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/component-emitter", + "peer": true, + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "version": "1.3.0", + }, + "compressible" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/compression", + "name": "compressible", + "spec": "~2.0.16", + "type": "prod", + }, + }, + "edgesOut": Map { + "mime-db" => EdgeOut { + "name": "mime-db", + "spec": ">= 1.43.0 < 2", + "to": "node_modules/mime-db", + "type": "prod", + }, + }, + "location": "node_modules/compressible", + "name": "compressible", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/compressible", + "peer": true, + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "version": "2.0.18", + }, + "compression" => ArboristNode { + "children": Map { + "debug" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/compression", + "name": "debug", + "spec": "2.6.9", + "type": "prod", + }, + }, + "edgesOut": Map { + "ms" => EdgeOut { + "name": "ms", + "spec": "2.0.0", + "to": "node_modules/compression/node_modules/ms", + "type": "prod", + }, + }, + "location": "node_modules/compression/node_modules/debug", + "name": "debug", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/compression/node_modules/debug", + "peer": true, + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "version": "2.6.9", + }, + "ms" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/compression/node_modules/debug", + "name": "ms", + "spec": "2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/compression/node_modules/ms", + "name": "ms", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/compression/node_modules/ms", + "peer": true, + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "version": "2.0.0", + }, + "safe-buffer" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/compression", + "name": "safe-buffer", + "spec": "5.1.2", + "type": "prod", + }, + }, + "location": "node_modules/compression/node_modules/safe-buffer", + "name": "safe-buffer", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/compression/node_modules/safe-buffer", + "peer": true, + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "version": "5.1.2", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "compression", + "spec": "^1.7.4", + "type": "prod", + }, + }, + "edgesOut": Map { + "accepts" => EdgeOut { + "name": "accepts", + "spec": "~1.3.5", + "to": "node_modules/accepts", + "type": "prod", + }, + "bytes" => EdgeOut { + "name": "bytes", + "spec": "3.0.0", + "to": "node_modules/bytes", + "type": "prod", + }, + "compressible" => EdgeOut { + "name": "compressible", + "spec": "~2.0.16", + "to": "node_modules/compressible", + "type": "prod", + }, + "debug" => EdgeOut { + "name": "debug", + "spec": "2.6.9", + "to": "node_modules/compression/node_modules/debug", + "type": "prod", + }, + "on-headers" => EdgeOut { + "name": "on-headers", + "spec": "~1.0.2", + "to": "node_modules/on-headers", + "type": "prod", + }, + "safe-buffer" => EdgeOut { + "name": "safe-buffer", + "spec": "5.1.2", + "to": "node_modules/compression/node_modules/safe-buffer", + "type": "prod", + }, + "vary" => EdgeOut { + "name": "vary", + "spec": "~1.1.2", + "to": "node_modules/vary", + "type": "prod", + }, + }, + "location": "node_modules/compression", + "name": "compression", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/compression", + "peer": true, + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "version": "1.7.4", + }, + "concat-map" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/brace-expansion", + "name": "concat-map", + "spec": "0.0.1", + "type": "prod", + }, + }, + "location": "node_modules/concat-map", + "name": "concat-map", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/concat-map", + "peer": true, + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "version": "0.0.1", + }, + "concat-stream" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/mississippi", + "name": "concat-stream", + "spec": "^1.5.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "buffer-from" => EdgeOut { + "name": "buffer-from", + "spec": "^1.0.0", + "to": "node_modules/buffer-from", + "type": "prod", + }, + "inherits" => EdgeOut { + "name": "inherits", + "spec": "^2.0.3", + "to": "node_modules/inherits", + "type": "prod", + }, + "readable-stream" => EdgeOut { + "name": "readable-stream", + "spec": "^2.2.2", + "to": "node_modules/readable-stream", + "type": "prod", + }, + "typedarray" => EdgeOut { + "name": "typedarray", + "spec": "^0.0.6", + "to": "node_modules/typedarray", + "type": "prod", + }, + }, + "location": "node_modules/concat-stream", + "name": "concat-stream", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/concat-stream", + "peer": true, + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "version": "1.6.2", + }, + "connect-history-api-fallback" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "connect-history-api-fallback", + "spec": "^1.6.0", + "type": "prod", + }, + }, + "location": "node_modules/connect-history-api-fallback", + "name": "connect-history-api-fallback", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/connect-history-api-fallback", + "peer": true, + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", + "version": "1.6.0", + }, + "console-browserify" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/node-libs-browser", + "name": "console-browserify", + "spec": "^1.1.0", + "type": "prod", + }, + }, + "location": "node_modules/console-browserify", + "name": "console-browserify", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/console-browserify", + "peer": true, + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "version": "1.2.0", + }, + "constants-browserify" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/node-libs-browser", + "name": "constants-browserify", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/constants-browserify", + "name": "constants-browserify", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/constants-browserify", + "peer": true, + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "version": "1.0.0", + }, + "content-disposition" => ArboristNode { + "children": Map { + "safe-buffer" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/content-disposition", + "name": "safe-buffer", + "spec": "5.1.2", + "type": "prod", + }, + }, + "location": "node_modules/content-disposition/node_modules/safe-buffer", + "name": "safe-buffer", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/content-disposition/node_modules/safe-buffer", + "peer": true, + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "version": "5.1.2", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/express", + "name": "content-disposition", + "spec": "0.5.3", + "type": "prod", + }, + }, + "edgesOut": Map { + "safe-buffer" => EdgeOut { + "name": "safe-buffer", + "spec": "5.1.2", + "to": "node_modules/content-disposition/node_modules/safe-buffer", + "type": "prod", + }, + }, + "location": "node_modules/content-disposition", + "name": "content-disposition", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/content-disposition", + "peer": true, + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "version": "0.5.3", + }, + "content-type" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/body-parser", + "name": "content-type", + "spec": "~1.0.4", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/express", + "name": "content-type", + "spec": "~1.0.4", + "type": "prod", + }, + }, + "location": "node_modules/content-type", + "name": "content-type", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/content-type", + "peer": true, + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "version": "1.0.4", + }, "convert-to-spaces" => ArboristNode { "edgesIn": Set { EdgeIn { @@ -5214,21 +26914,1201 @@ ArboristNode { "resolved": "https://registry.npmjs.org/convert-to-spaces/-/convert-to-spaces-1.0.2.tgz", "version": "1.0.2", }, - "electron-to-chromium" => ArboristNode { + "cookie" => ArboristNode { "edgesIn": Set { EdgeIn { - "from": "node_modules/browserslist", - "name": "electron-to-chromium", - "spec": "^1.3.571", + "from": "node_modules/express", + "name": "cookie", + "spec": "0.4.0", "type": "prod", }, }, - "location": "node_modules/electron-to-chromium", - "name": "electron-to-chromium", - "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/electron-to-chromium", + "location": "node_modules/cookie", + "name": "cookie", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/cookie", "peer": true, - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.582.tgz", - "version": "1.3.582", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "version": "0.4.0", + }, + "cookie-signature" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/express", + "name": "cookie-signature", + "spec": "1.0.6", + "type": "prod", + }, + }, + "location": "node_modules/cookie-signature", + "name": "cookie-signature", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/cookie-signature", + "peer": true, + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "version": "1.0.6", + }, + "copy-concurrently" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/move-concurrently", + "name": "copy-concurrently", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "aproba" => EdgeOut { + "name": "aproba", + "spec": "^1.1.1", + "to": "node_modules/aproba", + "type": "prod", + }, + "fs-write-stream-atomic" => EdgeOut { + "name": "fs-write-stream-atomic", + "spec": "^1.0.8", + "to": "node_modules/fs-write-stream-atomic", + "type": "prod", + }, + "iferr" => EdgeOut { + "name": "iferr", + "spec": "^0.1.5", + "to": "node_modules/iferr", + "type": "prod", + }, + "mkdirp" => EdgeOut { + "name": "mkdirp", + "spec": "^0.5.1", + "to": "node_modules/mkdirp", + "type": "prod", + }, + "rimraf" => EdgeOut { + "name": "rimraf", + "spec": "^2.5.4", + "to": "node_modules/rimraf", + "type": "prod", + }, + "run-queue" => EdgeOut { + "name": "run-queue", + "spec": "^1.0.0", + "to": "node_modules/run-queue", + "type": "prod", + }, + }, + "location": "node_modules/copy-concurrently", + "name": "copy-concurrently", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/copy-concurrently", + "peer": true, + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "version": "1.0.5", + }, + "copy-descriptor" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/object-copy", + "name": "copy-descriptor", + "spec": "^0.1.0", + "type": "prod", + }, + }, + "location": "node_modules/copy-descriptor", + "name": "copy-descriptor", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/copy-descriptor", + "peer": true, + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "version": "0.1.1", + }, + "core-util-is" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/readable-stream", + "name": "core-util-is", + "spec": "~1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/core-util-is", + "name": "core-util-is", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/core-util-is", + "peer": true, + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "version": "1.0.2", + }, + "create-ecdh" => ArboristNode { + "children": Map { + "bn.js" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/create-ecdh", + "name": "bn.js", + "spec": "^4.1.0", + "type": "prod", + }, + }, + "location": "node_modules/create-ecdh/node_modules/bn.js", + "name": "bn.js", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/create-ecdh/node_modules/bn.js", + "peer": true, + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "version": "4.11.9", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/crypto-browserify", + "name": "create-ecdh", + "spec": "^4.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "bn.js" => EdgeOut { + "name": "bn.js", + "spec": "^4.1.0", + "to": "node_modules/create-ecdh/node_modules/bn.js", + "type": "prod", + }, + "elliptic" => EdgeOut { + "name": "elliptic", + "spec": "^6.5.3", + "to": "node_modules/elliptic", + "type": "prod", + }, + }, + "location": "node_modules/create-ecdh", + "name": "create-ecdh", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/create-ecdh", + "peer": true, + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "version": "4.0.4", + }, + "create-hash" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/browserify-aes", + "name": "create-hash", + "spec": "^1.1.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/browserify-sign", + "name": "create-hash", + "spec": "^1.2.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/create-hmac", + "name": "create-hash", + "spec": "^1.1.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/crypto-browserify", + "name": "create-hash", + "spec": "^1.1.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/pbkdf2", + "name": "create-hash", + "spec": "^1.1.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/public-encrypt", + "name": "create-hash", + "spec": "^1.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "cipher-base" => EdgeOut { + "name": "cipher-base", + "spec": "^1.0.1", + "to": "node_modules/cipher-base", + "type": "prod", + }, + "inherits" => EdgeOut { + "name": "inherits", + "spec": "^2.0.1", + "to": "node_modules/inherits", + "type": "prod", + }, + "md5.js" => EdgeOut { + "name": "md5.js", + "spec": "^1.3.4", + "to": "node_modules/md5.js", + "type": "prod", + }, + "ripemd160" => EdgeOut { + "name": "ripemd160", + "spec": "^2.0.1", + "to": "node_modules/ripemd160", + "type": "prod", + }, + "sha.js" => EdgeOut { + "name": "sha.js", + "spec": "^2.4.0", + "to": "node_modules/sha.js", + "type": "prod", + }, + }, + "location": "node_modules/create-hash", + "name": "create-hash", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/create-hash", + "peer": true, + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "version": "1.2.0", + }, + "create-hmac" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/browserify-sign", + "name": "create-hmac", + "spec": "^1.1.7", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/crypto-browserify", + "name": "create-hmac", + "spec": "^1.1.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/pbkdf2", + "name": "create-hmac", + "spec": "^1.1.4", + "type": "prod", + }, + }, + "edgesOut": Map { + "cipher-base" => EdgeOut { + "name": "cipher-base", + "spec": "^1.0.3", + "to": "node_modules/cipher-base", + "type": "prod", + }, + "create-hash" => EdgeOut { + "name": "create-hash", + "spec": "^1.1.0", + "to": "node_modules/create-hash", + "type": "prod", + }, + "inherits" => EdgeOut { + "name": "inherits", + "spec": "^2.0.1", + "to": "node_modules/inherits", + "type": "prod", + }, + "ripemd160" => EdgeOut { + "name": "ripemd160", + "spec": "^2.0.0", + "to": "node_modules/ripemd160", + "type": "prod", + }, + "safe-buffer" => EdgeOut { + "name": "safe-buffer", + "spec": "^5.0.1", + "to": "node_modules/safe-buffer", + "type": "prod", + }, + "sha.js" => EdgeOut { + "name": "sha.js", + "spec": "^2.4.8", + "to": "node_modules/sha.js", + "type": "prod", + }, + }, + "location": "node_modules/create-hmac", + "name": "create-hmac", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/create-hmac", + "peer": true, + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "version": "1.1.7", + }, + "cross-spawn" => ArboristNode { + "children": Map { + "semver" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/cross-spawn", + "name": "semver", + "spec": "^5.5.0", + "type": "prod", + }, + }, + "location": "node_modules/cross-spawn/node_modules/semver", + "name": "semver", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/cross-spawn/node_modules/semver", + "peer": true, + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "version": "5.7.1", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/execa", + "name": "cross-spawn", + "spec": "^6.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "nice-try" => EdgeOut { + "name": "nice-try", + "spec": "^1.0.4", + "to": "node_modules/nice-try", + "type": "prod", + }, + "path-key" => EdgeOut { + "name": "path-key", + "spec": "^2.0.1", + "to": "node_modules/path-key", + "type": "prod", + }, + "semver" => EdgeOut { + "name": "semver", + "spec": "^5.5.0", + "to": "node_modules/cross-spawn/node_modules/semver", + "type": "prod", + }, + "shebang-command" => EdgeOut { + "name": "shebang-command", + "spec": "^1.2.0", + "to": "node_modules/shebang-command", + "type": "prod", + }, + "which" => EdgeOut { + "name": "which", + "spec": "^1.2.9", + "to": "node_modules/which", + "type": "prod", + }, + }, + "location": "node_modules/cross-spawn", + "name": "cross-spawn", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/cross-spawn", + "peer": true, + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "version": "6.0.5", + }, + "crypto-browserify" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/node-libs-browser", + "name": "crypto-browserify", + "spec": "^3.11.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "browserify-cipher" => EdgeOut { + "name": "browserify-cipher", + "spec": "^1.0.0", + "to": "node_modules/browserify-cipher", + "type": "prod", + }, + "browserify-sign" => EdgeOut { + "name": "browserify-sign", + "spec": "^4.0.0", + "to": "node_modules/browserify-sign", + "type": "prod", + }, + "create-ecdh" => EdgeOut { + "name": "create-ecdh", + "spec": "^4.0.0", + "to": "node_modules/create-ecdh", + "type": "prod", + }, + "create-hash" => EdgeOut { + "name": "create-hash", + "spec": "^1.1.0", + "to": "node_modules/create-hash", + "type": "prod", + }, + "create-hmac" => EdgeOut { + "name": "create-hmac", + "spec": "^1.1.0", + "to": "node_modules/create-hmac", + "type": "prod", + }, + "diffie-hellman" => EdgeOut { + "name": "diffie-hellman", + "spec": "^5.0.0", + "to": "node_modules/diffie-hellman", + "type": "prod", + }, + "inherits" => EdgeOut { + "name": "inherits", + "spec": "^2.0.1", + "to": "node_modules/inherits", + "type": "prod", + }, + "pbkdf2" => EdgeOut { + "name": "pbkdf2", + "spec": "^3.0.3", + "to": "node_modules/pbkdf2", + "type": "prod", + }, + "public-encrypt" => EdgeOut { + "name": "public-encrypt", + "spec": "^4.0.0", + "to": "node_modules/public-encrypt", + "type": "prod", + }, + "randombytes" => EdgeOut { + "name": "randombytes", + "spec": "^2.0.0", + "to": "node_modules/randombytes", + "type": "prod", + }, + "randomfill" => EdgeOut { + "name": "randomfill", + "spec": "^1.0.3", + "to": "node_modules/randomfill", + "type": "prod", + }, + }, + "location": "node_modules/crypto-browserify", + "name": "crypto-browserify", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/crypto-browserify", + "peer": true, + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "version": "3.12.0", + }, + "csstype" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/@types/react", + "name": "csstype", + "spec": "^3.0.2", + "type": "prod", + }, + }, + "location": "node_modules/csstype", + "name": "csstype", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/csstype", + "peer": true, + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.5.tgz", + "version": "3.0.5", + }, + "cyclist" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/parallel-transform", + "name": "cyclist", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "location": "node_modules/cyclist", + "name": "cyclist", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/cyclist", + "peer": true, + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", + "version": "1.0.1", + }, + "debug" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/portfinder", + "name": "debug", + "spec": "^3.1.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/sockjs-client", + "name": "debug", + "spec": "^3.2.6", + "type": "prod", + }, + }, + "edgesOut": Map { + "ms" => EdgeOut { + "name": "ms", + "spec": "^2.1.1", + "to": "node_modules/ms", + "type": "prod", + }, + }, + "location": "node_modules/debug", + "name": "debug", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/debug", + "peer": true, + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "version": "3.2.6", + }, + "decamelize" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/yargs-parser", + "name": "decamelize", + "spec": "^1.2.0", + "type": "prod", + }, + }, + "location": "node_modules/decamelize", + "name": "decamelize", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/decamelize", + "peer": true, + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "version": "1.2.0", + }, + "decode-uri-component" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/source-map-resolve", + "name": "decode-uri-component", + "spec": "^0.2.0", + "type": "prod", + }, + }, + "location": "node_modules/decode-uri-component", + "name": "decode-uri-component", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/decode-uri-component", + "peer": true, + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "version": "0.2.0", + }, + "deep-equal" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/bonjour", + "name": "deep-equal", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-arguments" => EdgeOut { + "name": "is-arguments", + "spec": "^1.0.4", + "to": "node_modules/is-arguments", + "type": "prod", + }, + "is-date-object" => EdgeOut { + "name": "is-date-object", + "spec": "^1.0.1", + "to": "node_modules/is-date-object", + "type": "prod", + }, + "is-regex" => EdgeOut { + "name": "is-regex", + "spec": "^1.0.4", + "to": "node_modules/is-regex", + "type": "prod", + }, + "object-is" => EdgeOut { + "name": "object-is", + "spec": "^1.0.1", + "to": "node_modules/object-is", + "type": "prod", + }, + "object-keys" => EdgeOut { + "name": "object-keys", + "spec": "^1.1.1", + "to": "node_modules/object-keys", + "type": "prod", + }, + "regexp.prototype.flags" => EdgeOut { + "name": "regexp.prototype.flags", + "spec": "^1.2.0", + "to": "node_modules/regexp.prototype.flags", + "type": "prod", + }, + }, + "location": "node_modules/deep-equal", + "name": "deep-equal", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/deep-equal", + "peer": true, + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", + "version": "1.1.1", + }, + "default-gateway" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/internal-ip", + "name": "default-gateway", + "spec": "^4.2.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "execa" => EdgeOut { + "name": "execa", + "spec": "^1.0.0", + "to": "node_modules/execa", + "type": "prod", + }, + "ip-regex" => EdgeOut { + "name": "ip-regex", + "spec": "^2.1.0", + "to": "node_modules/ip-regex", + "type": "prod", + }, + }, + "location": "node_modules/default-gateway", + "name": "default-gateway", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/default-gateway", + "peer": true, + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", + "version": "4.2.0", + }, + "define-properties" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/object-is", + "name": "define-properties", + "spec": "^1.1.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/object.assign", + "name": "define-properties", + "spec": "^1.1.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/regexp.prototype.flags", + "name": "define-properties", + "spec": "^1.1.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/string.prototype.trimend", + "name": "define-properties", + "spec": "^1.1.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/string.prototype.trimstart", + "name": "define-properties", + "spec": "^1.1.3", + "type": "prod", + }, + }, + "edgesOut": Map { + "object-keys" => EdgeOut { + "name": "object-keys", + "spec": "^1.0.12", + "to": "node_modules/object-keys", + "type": "prod", + }, + }, + "location": "node_modules/define-properties", + "name": "define-properties", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/define-properties", + "peer": true, + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "version": "1.1.3", + }, + "define-property" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/micromatch", + "name": "define-property", + "spec": "^2.0.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/nanomatch", + "name": "define-property", + "spec": "^2.0.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/to-regex", + "name": "define-property", + "spec": "^2.0.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-descriptor" => EdgeOut { + "name": "is-descriptor", + "spec": "^1.0.2", + "to": "node_modules/is-descriptor", + "type": "prod", + }, + "isobject" => EdgeOut { + "name": "isobject", + "spec": "^3.0.1", + "to": "node_modules/isobject", + "type": "prod", + }, + }, + "location": "node_modules/define-property", + "name": "define-property", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/define-property", + "peer": true, + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "version": "2.0.2", + }, + "del" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "del", + "spec": "^4.1.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "@types/glob" => EdgeOut { + "name": "@types/glob", + "spec": "^7.1.1", + "to": "node_modules/@types/glob", + "type": "prod", + }, + "globby" => EdgeOut { + "name": "globby", + "spec": "^6.1.0", + "to": "node_modules/globby", + "type": "prod", + }, + "is-path-cwd" => EdgeOut { + "name": "is-path-cwd", + "spec": "^2.0.0", + "to": "node_modules/is-path-cwd", + "type": "prod", + }, + "is-path-in-cwd" => EdgeOut { + "name": "is-path-in-cwd", + "spec": "^2.0.0", + "to": "node_modules/is-path-in-cwd", + "type": "prod", + }, + "p-map" => EdgeOut { + "name": "p-map", + "spec": "^2.0.0", + "to": "node_modules/p-map", + "type": "prod", + }, + "pify" => EdgeOut { + "name": "pify", + "spec": "^4.0.1", + "to": "node_modules/pify", + "type": "prod", + }, + "rimraf" => EdgeOut { + "name": "rimraf", + "spec": "^2.6.3", + "to": "node_modules/rimraf", + "type": "prod", + }, + }, + "location": "node_modules/del", + "name": "del", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/del", + "peer": true, + "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", + "version": "4.1.1", + }, + "depd" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/body-parser", + "name": "depd", + "spec": "~1.1.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/express", + "name": "depd", + "spec": "~1.1.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/http-errors", + "name": "depd", + "spec": "~1.1.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/send", + "name": "depd", + "spec": "~1.1.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/serve-index/node_modules/http-errors", + "name": "depd", + "spec": "~1.1.2", + "type": "prod", + }, + }, + "location": "node_modules/depd", + "name": "depd", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/depd", + "peer": true, + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "version": "1.1.2", + }, + "des.js" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/browserify-des", + "name": "des.js", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "inherits" => EdgeOut { + "name": "inherits", + "spec": "^2.0.1", + "to": "node_modules/inherits", + "type": "prod", + }, + "minimalistic-assert" => EdgeOut { + "name": "minimalistic-assert", + "spec": "^1.0.0", + "to": "node_modules/minimalistic-assert", + "type": "prod", + }, + }, + "location": "node_modules/des.js", + "name": "des.js", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/des.js", + "peer": true, + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", + "version": "1.0.1", + }, + "destroy" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/send", + "name": "destroy", + "spec": "~1.0.4", + "type": "prod", + }, + }, + "location": "node_modules/destroy", + "name": "destroy", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/destroy", + "peer": true, + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "version": "1.0.4", + }, + "detect-node" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/spdy-transport", + "name": "detect-node", + "spec": "^2.0.4", + "type": "prod", + }, + }, + "location": "node_modules/detect-node", + "name": "detect-node", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/detect-node", + "peer": true, + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", + "version": "2.0.4", + }, + "diffie-hellman" => ArboristNode { + "children": Map { + "bn.js" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/diffie-hellman", + "name": "bn.js", + "spec": "^4.1.0", + "type": "prod", + }, + }, + "location": "node_modules/diffie-hellman/node_modules/bn.js", + "name": "bn.js", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/diffie-hellman/node_modules/bn.js", + "peer": true, + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "version": "4.11.9", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/crypto-browserify", + "name": "diffie-hellman", + "spec": "^5.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "bn.js" => EdgeOut { + "name": "bn.js", + "spec": "^4.1.0", + "to": "node_modules/diffie-hellman/node_modules/bn.js", + "type": "prod", + }, + "miller-rabin" => EdgeOut { + "name": "miller-rabin", + "spec": "^4.0.0", + "to": "node_modules/miller-rabin", + "type": "prod", + }, + "randombytes" => EdgeOut { + "name": "randombytes", + "spec": "^2.0.0", + "to": "node_modules/randombytes", + "type": "prod", + }, + }, + "location": "node_modules/diffie-hellman", + "name": "diffie-hellman", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/diffie-hellman", + "peer": true, + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "version": "5.0.3", + }, + "dns-equal" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/bonjour", + "name": "dns-equal", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/dns-equal", + "name": "dns-equal", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/dns-equal", + "peer": true, + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "version": "1.0.0", + }, + "dns-packet" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/multicast-dns", + "name": "dns-packet", + "spec": "^1.3.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "ip" => EdgeOut { + "name": "ip", + "spec": "^1.1.0", + "to": "node_modules/ip", + "type": "prod", + }, + "safe-buffer" => EdgeOut { + "name": "safe-buffer", + "spec": "^5.0.1", + "to": "node_modules/safe-buffer", + "type": "prod", + }, + }, + "location": "node_modules/dns-packet", + "name": "dns-packet", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/dns-packet", + "peer": true, + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", + "version": "1.3.1", + }, + "dns-txt" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/bonjour", + "name": "dns-txt", + "spec": "^2.0.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "buffer-indexof" => EdgeOut { + "name": "buffer-indexof", + "spec": "^1.0.0", + "to": "node_modules/buffer-indexof", + "type": "prod", + }, + }, + "location": "node_modules/dns-txt", + "name": "dns-txt", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/dns-txt", + "peer": true, + "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", + "version": "2.0.2", + }, + "domain-browser" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/node-libs-browser", + "name": "domain-browser", + "spec": "^1.1.1", + "type": "prod", + }, + }, + "location": "node_modules/domain-browser", + "name": "domain-browser", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/domain-browser", + "peer": true, + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "version": "1.2.0", + }, + "duplexify" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/mississippi", + "name": "duplexify", + "spec": "^3.4.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/pumpify", + "name": "duplexify", + "spec": "^3.6.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "end-of-stream" => EdgeOut { + "name": "end-of-stream", + "spec": "^1.0.0", + "to": "node_modules/end-of-stream", + "type": "prod", + }, + "inherits" => EdgeOut { + "name": "inherits", + "spec": "^2.0.1", + "to": "node_modules/inherits", + "type": "prod", + }, + "readable-stream" => EdgeOut { + "name": "readable-stream", + "spec": "^2.0.0", + "to": "node_modules/readable-stream", + "type": "prod", + }, + "stream-shift" => EdgeOut { + "name": "stream-shift", + "spec": "^1.0.0", + "to": "node_modules/stream-shift", + "type": "prod", + }, + }, + "location": "node_modules/duplexify", + "name": "duplexify", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/duplexify", + "peer": true, + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "version": "3.7.1", + }, + "ee-first" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/on-finished", + "name": "ee-first", + "spec": "1.1.1", + "type": "prod", + }, + }, + "location": "node_modules/ee-first", + "name": "ee-first", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/ee-first", + "peer": true, + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "version": "1.1.1", + }, + "elliptic" => ArboristNode { + "children": Map { + "bn.js" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/elliptic", + "name": "bn.js", + "spec": "^4.4.0", + "type": "prod", + }, + }, + "location": "node_modules/elliptic/node_modules/bn.js", + "name": "bn.js", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/elliptic/node_modules/bn.js", + "peer": true, + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "version": "4.11.9", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/browserify-sign", + "name": "elliptic", + "spec": "^6.5.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/create-ecdh", + "name": "elliptic", + "spec": "^6.5.3", + "type": "prod", + }, + }, + "edgesOut": Map { + "bn.js" => EdgeOut { + "name": "bn.js", + "spec": "^4.4.0", + "to": "node_modules/elliptic/node_modules/bn.js", + "type": "prod", + }, + "brorand" => EdgeOut { + "name": "brorand", + "spec": "^1.0.1", + "to": "node_modules/brorand", + "type": "prod", + }, + "hash.js" => EdgeOut { + "name": "hash.js", + "spec": "^1.0.0", + "to": "node_modules/hash.js", + "type": "prod", + }, + "hmac-drbg" => EdgeOut { + "name": "hmac-drbg", + "spec": "^1.0.0", + "to": "node_modules/hmac-drbg", + "type": "prod", + }, + "inherits" => EdgeOut { + "name": "inherits", + "spec": "^2.0.1", + "to": "node_modules/inherits", + "type": "prod", + }, + "minimalistic-assert" => EdgeOut { + "name": "minimalistic-assert", + "spec": "^1.0.0", + "to": "node_modules/minimalistic-assert", + "type": "prod", + }, + "minimalistic-crypto-utils" => EdgeOut { + "name": "minimalistic-crypto-utils", + "spec": "^1.0.0", + "to": "node_modules/minimalistic-crypto-utils", + "type": "prod", + }, + }, + "location": "node_modules/elliptic", + "name": "elliptic", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/elliptic", + "peer": true, + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz", + "version": "6.5.3", }, "emoji-regex" => ArboristNode { "edgesIn": Set { @@ -5245,25 +28125,162 @@ ArboristNode { "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "version": "8.0.0", }, + "emojis-list" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/loader-utils", + "name": "emojis-list", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "location": "node_modules/emojis-list", + "name": "emojis-list", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/emojis-list", + "peer": true, + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "version": "3.0.0", + }, + "encodeurl" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/express", + "name": "encodeurl", + "spec": "~1.0.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/finalhandler", + "name": "encodeurl", + "spec": "~1.0.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/send", + "name": "encodeurl", + "spec": "~1.0.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/serve-static", + "name": "encodeurl", + "spec": "~1.0.2", + "type": "prod", + }, + }, + "location": "node_modules/encodeurl", + "name": "encodeurl", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/encodeurl", + "peer": true, + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "version": "1.0.2", + }, + "end-of-stream" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/duplexify", + "name": "end-of-stream", + "spec": "^1.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/mississippi", + "name": "end-of-stream", + "spec": "^1.1.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/pump", + "name": "end-of-stream", + "spec": "^1.1.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/pumpify/node_modules/pump", + "name": "end-of-stream", + "spec": "^1.1.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/stream-each", + "name": "end-of-stream", + "spec": "^1.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "once" => EdgeOut { + "name": "once", + "spec": "^1.4.0", + "to": "node_modules/once", + "type": "prod", + }, + }, + "location": "node_modules/end-of-stream", + "name": "end-of-stream", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/end-of-stream", + "peer": true, + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "version": "1.4.4", + }, "enhanced-resolve" => ArboristNode { + "children": Map { + "memory-fs" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/enhanced-resolve", + "name": "memory-fs", + "spec": "^0.5.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "errno" => EdgeOut { + "name": "errno", + "spec": "^0.1.3", + "to": "node_modules/errno", + "type": "prod", + }, + "readable-stream" => EdgeOut { + "name": "readable-stream", + "spec": "^2.0.1", + "to": "node_modules/readable-stream", + "type": "prod", + }, + }, + "location": "node_modules/enhanced-resolve/node_modules/memory-fs", + "name": "memory-fs", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/enhanced-resolve/node_modules/memory-fs", + "peer": true, + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "version": "0.5.0", + }, + }, "edgesIn": Set { EdgeIn { "from": "node_modules/webpack", "name": "enhanced-resolve", - "spec": "^5.3.1", + "spec": "^4.3.0", "type": "prod", }, }, "edgesOut": Map { "graceful-fs" => EdgeOut { "name": "graceful-fs", - "spec": "^4.2.4", + "spec": "^4.1.2", "to": "node_modules/graceful-fs", "type": "prod", }, + "memory-fs" => EdgeOut { + "name": "memory-fs", + "spec": "^0.5.0", + "to": "node_modules/enhanced-resolve/node_modules/memory-fs", + "type": "prod", + }, "tapable" => EdgeOut { "name": "tapable", - "spec": "^2.0.0", + "spec": "^1.0.0", "to": "node_modules/tapable", "type": "prod", }, @@ -5272,8 +28289,44 @@ ArboristNode { "name": "enhanced-resolve", "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/enhanced-resolve", "peer": true, - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.3.1.tgz", - "version": "5.3.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz", + "version": "4.3.0", + }, + "errno" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/enhanced-resolve/node_modules/memory-fs", + "name": "errno", + "spec": "^0.1.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/memory-fs", + "name": "errno", + "spec": "^0.1.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/worker-farm", + "name": "errno", + "spec": "~0.1.7", + "type": "prod", + }, + }, + "edgesOut": Map { + "prr" => EdgeOut { + "name": "prr", + "spec": "~1.0.1", + "to": "node_modules/prr", + "type": "prod", + }, + }, + "location": "node_modules/errno", + "name": "errno", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/errno", + "peer": true, + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", + "version": "0.1.7", }, "error-stack-parser" => ArboristNode { "edgesIn": Set { @@ -5298,21 +28351,198 @@ ArboristNode { "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.6.tgz", "version": "2.0.6", }, - "escalade" => ArboristNode { + "es-abstract" => ArboristNode { "edgesIn": Set { EdgeIn { - "from": "node_modules/browserslist", - "name": "escalade", - "spec": "^3.1.0", + "from": "node_modules/object-is", + "name": "es-abstract", + "spec": "^1.18.0-next.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/object.assign", + "name": "es-abstract", + "spec": "^1.18.0-next.0", "type": "prod", }, }, - "location": "node_modules/escalade", - "name": "escalade", - "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/escalade", + "edgesOut": Map { + "es-to-primitive" => EdgeOut { + "name": "es-to-primitive", + "spec": "^1.2.1", + "to": "node_modules/es-to-primitive", + "type": "prod", + }, + "function-bind" => EdgeOut { + "name": "function-bind", + "spec": "^1.1.1", + "to": "node_modules/function-bind", + "type": "prod", + }, + "has" => EdgeOut { + "name": "has", + "spec": "^1.0.3", + "to": "node_modules/has", + "type": "prod", + }, + "has-symbols" => EdgeOut { + "name": "has-symbols", + "spec": "^1.0.1", + "to": "node_modules/has-symbols", + "type": "prod", + }, + "is-callable" => EdgeOut { + "name": "is-callable", + "spec": "^1.2.2", + "to": "node_modules/is-callable", + "type": "prod", + }, + "is-negative-zero" => EdgeOut { + "name": "is-negative-zero", + "spec": "^2.0.0", + "to": "node_modules/is-negative-zero", + "type": "prod", + }, + "is-regex" => EdgeOut { + "name": "is-regex", + "spec": "^1.1.1", + "to": "node_modules/is-regex", + "type": "prod", + }, + "object-inspect" => EdgeOut { + "name": "object-inspect", + "spec": "^1.8.0", + "to": "node_modules/object-inspect", + "type": "prod", + }, + "object-keys" => EdgeOut { + "name": "object-keys", + "spec": "^1.1.1", + "to": "node_modules/object-keys", + "type": "prod", + }, + "object.assign" => EdgeOut { + "name": "object.assign", + "spec": "^4.1.1", + "to": "node_modules/object.assign", + "type": "prod", + }, + "string.prototype.trimend" => EdgeOut { + "name": "string.prototype.trimend", + "spec": "^1.0.1", + "to": "node_modules/string.prototype.trimend", + "type": "prod", + }, + "string.prototype.trimstart" => EdgeOut { + "name": "string.prototype.trimstart", + "spec": "^1.0.1", + "to": "node_modules/string.prototype.trimstart", + "type": "prod", + }, + }, + "location": "node_modules/es-abstract", + "name": "es-abstract", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/es-abstract", "peer": true, - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "version": "3.1.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", + "version": "1.18.0-next.1", + }, + "es-to-primitive" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/es-abstract", + "name": "es-to-primitive", + "spec": "^1.2.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/regexp.prototype.flags/node_modules/es-abstract", + "name": "es-to-primitive", + "spec": "^1.2.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/string.prototype.trimend/node_modules/es-abstract", + "name": "es-to-primitive", + "spec": "^1.2.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/string.prototype.trimstart/node_modules/es-abstract", + "name": "es-to-primitive", + "spec": "^1.2.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-callable" => EdgeOut { + "name": "is-callable", + "spec": "^1.1.4", + "to": "node_modules/is-callable", + "type": "prod", + }, + "is-date-object" => EdgeOut { + "name": "is-date-object", + "spec": "^1.0.1", + "to": "node_modules/is-date-object", + "type": "prod", + }, + "is-symbol" => EdgeOut { + "name": "is-symbol", + "spec": "^1.0.2", + "to": "node_modules/is-symbol", + "type": "prod", + }, + }, + "location": "node_modules/es-to-primitive", + "name": "es-to-primitive", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/es-to-primitive", + "peer": true, + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "version": "1.2.1", + }, + "escape-html" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/express", + "name": "escape-html", + "spec": "~1.0.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/finalhandler", + "name": "escape-html", + "spec": "~1.0.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/send", + "name": "escape-html", + "spec": "~1.0.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/serve-index", + "name": "escape-html", + "spec": "~1.0.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/serve-static", + "name": "escape-html", + "spec": "~1.0.3", + "type": "prod", + }, + }, + "location": "node_modules/escape-html", + "name": "escape-html", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/escape-html", + "peer": true, + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "version": "1.0.3", }, "escape-string-regexp" => ArboristNode { "edgesIn": Set { @@ -5334,14 +28564,14 @@ ArboristNode { EdgeIn { "from": "node_modules/webpack", "name": "eslint-scope", - "spec": "^5.1.1", + "spec": "^4.0.3", "type": "prod", }, }, "edgesOut": Map { "esrecurse" => EdgeOut { "name": "esrecurse", - "spec": "^4.3.0", + "spec": "^4.1.0", "to": "node_modules/esrecurse", "type": "prod", }, @@ -5356,8 +28586,8 @@ ArboristNode { "name": "eslint-scope", "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/eslint-scope", "peer": true, - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "version": "4.0.3", }, "esrecurse" => ArboristNode { "children": Map { @@ -5382,7 +28612,7 @@ ArboristNode { EdgeIn { "from": "node_modules/eslint-scope", "name": "esrecurse", - "spec": "^4.3.0", + "spec": "^4.1.0", "type": "prod", }, }, @@ -5417,12 +28647,52 @@ ArboristNode { "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", "version": "4.3.0", }, + "etag" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/express", + "name": "etag", + "spec": "~1.8.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/send", + "name": "etag", + "spec": "~1.8.1", + "type": "prod", + }, + }, + "location": "node_modules/etag", + "name": "etag", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/etag", + "peer": true, + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "version": "1.8.1", + }, + "eventemitter3" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/http-proxy", + "name": "eventemitter3", + "spec": "^4.0.0", + "type": "prod", + }, + }, + "location": "node_modules/eventemitter3", + "name": "eventemitter3", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/eventemitter3", + "peer": true, + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "version": "4.0.7", + }, "events" => ArboristNode { "edgesIn": Set { EdgeIn { - "from": "node_modules/webpack", + "from": "node_modules/node-libs-browser", "name": "events", - "spec": "^3.2.0", + "spec": "^3.0.0", "type": "prod", }, }, @@ -5433,6 +28703,791 @@ ArboristNode { "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz", "version": "3.2.0", }, + "eventsource" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/sockjs-client", + "name": "eventsource", + "spec": "^1.0.7", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/webpack-dev-server/node_modules/sockjs-client", + "name": "eventsource", + "spec": "^1.0.7", + "type": "prod", + }, + }, + "edgesOut": Map { + "original" => EdgeOut { + "name": "original", + "spec": "^1.0.0", + "to": "node_modules/original", + "type": "prod", + }, + }, + "location": "node_modules/eventsource", + "name": "eventsource", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/eventsource", + "peer": true, + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz", + "version": "1.0.7", + }, + "evp_bytestokey" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/browserify-aes", + "name": "evp_bytestokey", + "spec": "^1.0.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/browserify-cipher", + "name": "evp_bytestokey", + "spec": "^1.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/parse-asn1", + "name": "evp_bytestokey", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "md5.js" => EdgeOut { + "name": "md5.js", + "spec": "^1.3.4", + "to": "node_modules/md5.js", + "type": "prod", + }, + "safe-buffer" => EdgeOut { + "name": "safe-buffer", + "spec": "^5.1.1", + "to": "node_modules/safe-buffer", + "type": "prod", + }, + }, + "location": "node_modules/evp_bytestokey", + "name": "evp_bytestokey", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/evp_bytestokey", + "peer": true, + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "version": "1.0.3", + }, + "execa" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/default-gateway", + "name": "execa", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "cross-spawn" => EdgeOut { + "name": "cross-spawn", + "spec": "^6.0.0", + "to": "node_modules/cross-spawn", + "type": "prod", + }, + "get-stream" => EdgeOut { + "name": "get-stream", + "spec": "^4.0.0", + "to": "node_modules/get-stream", + "type": "prod", + }, + "is-stream" => EdgeOut { + "name": "is-stream", + "spec": "^1.1.0", + "to": "node_modules/is-stream", + "type": "prod", + }, + "npm-run-path" => EdgeOut { + "name": "npm-run-path", + "spec": "^2.0.0", + "to": "node_modules/npm-run-path", + "type": "prod", + }, + "p-finally" => EdgeOut { + "name": "p-finally", + "spec": "^1.0.0", + "to": "node_modules/p-finally", + "type": "prod", + }, + "signal-exit" => EdgeOut { + "name": "signal-exit", + "spec": "^3.0.0", + "to": "node_modules/signal-exit", + "type": "prod", + }, + "strip-eof" => EdgeOut { + "name": "strip-eof", + "spec": "^1.0.0", + "to": "node_modules/strip-eof", + "type": "prod", + }, + }, + "location": "node_modules/execa", + "name": "execa", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/execa", + "peer": true, + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "version": "1.0.0", + }, + "expand-brackets" => ArboristNode { + "children": Map { + "debug" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/expand-brackets", + "name": "debug", + "spec": "^2.3.3", + "type": "prod", + }, + }, + "edgesOut": Map { + "ms" => EdgeOut { + "name": "ms", + "spec": "2.0.0", + "to": "node_modules/expand-brackets/node_modules/ms", + "type": "prod", + }, + }, + "location": "node_modules/expand-brackets/node_modules/debug", + "name": "debug", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/expand-brackets/node_modules/debug", + "peer": true, + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "version": "2.6.9", + }, + "define-property" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/expand-brackets", + "name": "define-property", + "spec": "^0.2.5", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-descriptor" => EdgeOut { + "name": "is-descriptor", + "spec": "^0.1.0", + "to": "node_modules/expand-brackets/node_modules/is-descriptor", + "type": "prod", + }, + }, + "location": "node_modules/expand-brackets/node_modules/define-property", + "name": "define-property", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/expand-brackets/node_modules/define-property", + "peer": true, + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "version": "0.2.5", + }, + "is-accessor-descriptor" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/expand-brackets/node_modules/is-descriptor", + "name": "is-accessor-descriptor", + "spec": "^0.1.6", + "type": "prod", + }, + }, + "edgesOut": Map { + "kind-of" => EdgeOut { + "name": "kind-of", + "spec": "^3.0.2", + "to": "node_modules/kind-of", + "type": "prod", + }, + }, + "location": "node_modules/expand-brackets/node_modules/is-accessor-descriptor", + "name": "is-accessor-descriptor", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/expand-brackets/node_modules/is-accessor-descriptor", + "peer": true, + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "version": "0.1.6", + }, + "is-data-descriptor" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/expand-brackets/node_modules/is-descriptor", + "name": "is-data-descriptor", + "spec": "^0.1.4", + "type": "prod", + }, + }, + "edgesOut": Map { + "kind-of" => EdgeOut { + "name": "kind-of", + "spec": "^3.0.2", + "to": "node_modules/kind-of", + "type": "prod", + }, + }, + "location": "node_modules/expand-brackets/node_modules/is-data-descriptor", + "name": "is-data-descriptor", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/expand-brackets/node_modules/is-data-descriptor", + "peer": true, + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "version": "0.1.4", + }, + "is-descriptor" => ArboristNode { + "children": Map { + "kind-of" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/expand-brackets/node_modules/is-descriptor", + "name": "kind-of", + "spec": "^5.0.0", + "type": "prod", + }, + }, + "location": "node_modules/expand-brackets/node_modules/is-descriptor/node_modules/kind-of", + "name": "kind-of", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/expand-brackets/node_modules/is-descriptor/node_modules/kind-of", + "peer": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "version": "5.1.0", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/expand-brackets/node_modules/define-property", + "name": "is-descriptor", + "spec": "^0.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-accessor-descriptor" => EdgeOut { + "name": "is-accessor-descriptor", + "spec": "^0.1.6", + "to": "node_modules/expand-brackets/node_modules/is-accessor-descriptor", + "type": "prod", + }, + "is-data-descriptor" => EdgeOut { + "name": "is-data-descriptor", + "spec": "^0.1.4", + "to": "node_modules/expand-brackets/node_modules/is-data-descriptor", + "type": "prod", + }, + "kind-of" => EdgeOut { + "name": "kind-of", + "spec": "^5.0.0", + "to": "node_modules/expand-brackets/node_modules/is-descriptor/node_modules/kind-of", + "type": "prod", + }, + }, + "location": "node_modules/expand-brackets/node_modules/is-descriptor", + "name": "is-descriptor", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/expand-brackets/node_modules/is-descriptor", + "peer": true, + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "version": "0.1.6", + }, + "ms" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/expand-brackets/node_modules/debug", + "name": "ms", + "spec": "2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/expand-brackets/node_modules/ms", + "name": "ms", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/expand-brackets/node_modules/ms", + "peer": true, + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "version": "2.0.0", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/extglob", + "name": "expand-brackets", + "spec": "^2.1.4", + "type": "prod", + }, + }, + "edgesOut": Map { + "debug" => EdgeOut { + "name": "debug", + "spec": "^2.3.3", + "to": "node_modules/expand-brackets/node_modules/debug", + "type": "prod", + }, + "define-property" => EdgeOut { + "name": "define-property", + "spec": "^0.2.5", + "to": "node_modules/expand-brackets/node_modules/define-property", + "type": "prod", + }, + "extend-shallow" => EdgeOut { + "name": "extend-shallow", + "spec": "^2.0.1", + "to": "node_modules/extend-shallow", + "type": "prod", + }, + "posix-character-classes" => EdgeOut { + "name": "posix-character-classes", + "spec": "^0.1.0", + "to": "node_modules/posix-character-classes", + "type": "prod", + }, + "regex-not" => EdgeOut { + "name": "regex-not", + "spec": "^1.0.0", + "to": "node_modules/regex-not", + "type": "prod", + }, + "snapdragon" => EdgeOut { + "name": "snapdragon", + "spec": "^0.8.1", + "to": "node_modules/snapdragon", + "type": "prod", + }, + "to-regex" => EdgeOut { + "name": "to-regex", + "spec": "^3.0.1", + "to": "node_modules/to-regex", + "type": "prod", + }, + }, + "location": "node_modules/expand-brackets", + "name": "expand-brackets", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/expand-brackets", + "peer": true, + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "version": "2.1.4", + }, + "express" => ArboristNode { + "children": Map { + "array-flatten" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/express", + "name": "array-flatten", + "spec": "1.1.1", + "type": "prod", + }, + }, + "location": "node_modules/express/node_modules/array-flatten", + "name": "array-flatten", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/express/node_modules/array-flatten", + "peer": true, + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "version": "1.1.1", + }, + "debug" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/express", + "name": "debug", + "spec": "2.6.9", + "type": "prod", + }, + }, + "edgesOut": Map { + "ms" => EdgeOut { + "name": "ms", + "spec": "2.0.0", + "to": "node_modules/express/node_modules/ms", + "type": "prod", + }, + }, + "location": "node_modules/express/node_modules/debug", + "name": "debug", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/express/node_modules/debug", + "peer": true, + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "version": "2.6.9", + }, + "ms" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/express/node_modules/debug", + "name": "ms", + "spec": "2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/express/node_modules/ms", + "name": "ms", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/express/node_modules/ms", + "peer": true, + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "version": "2.0.0", + }, + "safe-buffer" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/express", + "name": "safe-buffer", + "spec": "5.1.2", + "type": "prod", + }, + }, + "location": "node_modules/express/node_modules/safe-buffer", + "name": "safe-buffer", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/express/node_modules/safe-buffer", + "peer": true, + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "version": "5.1.2", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "express", + "spec": "^4.17.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "accepts" => EdgeOut { + "name": "accepts", + "spec": "~1.3.7", + "to": "node_modules/accepts", + "type": "prod", + }, + "array-flatten" => EdgeOut { + "name": "array-flatten", + "spec": "1.1.1", + "to": "node_modules/express/node_modules/array-flatten", + "type": "prod", + }, + "body-parser" => EdgeOut { + "name": "body-parser", + "spec": "1.19.0", + "to": "node_modules/body-parser", + "type": "prod", + }, + "content-disposition" => EdgeOut { + "name": "content-disposition", + "spec": "0.5.3", + "to": "node_modules/content-disposition", + "type": "prod", + }, + "content-type" => EdgeOut { + "name": "content-type", + "spec": "~1.0.4", + "to": "node_modules/content-type", + "type": "prod", + }, + "cookie" => EdgeOut { + "name": "cookie", + "spec": "0.4.0", + "to": "node_modules/cookie", + "type": "prod", + }, + "cookie-signature" => EdgeOut { + "name": "cookie-signature", + "spec": "1.0.6", + "to": "node_modules/cookie-signature", + "type": "prod", + }, + "debug" => EdgeOut { + "name": "debug", + "spec": "2.6.9", + "to": "node_modules/express/node_modules/debug", + "type": "prod", + }, + "depd" => EdgeOut { + "name": "depd", + "spec": "~1.1.2", + "to": "node_modules/depd", + "type": "prod", + }, + "encodeurl" => EdgeOut { + "name": "encodeurl", + "spec": "~1.0.2", + "to": "node_modules/encodeurl", + "type": "prod", + }, + "escape-html" => EdgeOut { + "name": "escape-html", + "spec": "~1.0.3", + "to": "node_modules/escape-html", + "type": "prod", + }, + "etag" => EdgeOut { + "name": "etag", + "spec": "~1.8.1", + "to": "node_modules/etag", + "type": "prod", + }, + "finalhandler" => EdgeOut { + "name": "finalhandler", + "spec": "~1.1.2", + "to": "node_modules/finalhandler", + "type": "prod", + }, + "fresh" => EdgeOut { + "name": "fresh", + "spec": "0.5.2", + "to": "node_modules/fresh", + "type": "prod", + }, + "merge-descriptors" => EdgeOut { + "name": "merge-descriptors", + "spec": "1.0.1", + "to": "node_modules/merge-descriptors", + "type": "prod", + }, + "methods" => EdgeOut { + "name": "methods", + "spec": "~1.1.2", + "to": "node_modules/methods", + "type": "prod", + }, + "on-finished" => EdgeOut { + "name": "on-finished", + "spec": "~2.3.0", + "to": "node_modules/on-finished", + "type": "prod", + }, + "parseurl" => EdgeOut { + "name": "parseurl", + "spec": "~1.3.3", + "to": "node_modules/parseurl", + "type": "prod", + }, + "path-to-regexp" => EdgeOut { + "name": "path-to-regexp", + "spec": "0.1.7", + "to": "node_modules/path-to-regexp", + "type": "prod", + }, + "proxy-addr" => EdgeOut { + "name": "proxy-addr", + "spec": "~2.0.5", + "to": "node_modules/proxy-addr", + "type": "prod", + }, + "qs" => EdgeOut { + "name": "qs", + "spec": "6.7.0", + "to": "node_modules/qs", + "type": "prod", + }, + "range-parser" => EdgeOut { + "name": "range-parser", + "spec": "~1.2.1", + "to": "node_modules/range-parser", + "type": "prod", + }, + "safe-buffer" => EdgeOut { + "name": "safe-buffer", + "spec": "5.1.2", + "to": "node_modules/express/node_modules/safe-buffer", + "type": "prod", + }, + "send" => EdgeOut { + "name": "send", + "spec": "0.17.1", + "to": "node_modules/send", + "type": "prod", + }, + "serve-static" => EdgeOut { + "name": "serve-static", + "spec": "1.14.1", + "to": "node_modules/serve-static", + "type": "prod", + }, + "setprototypeof" => EdgeOut { + "name": "setprototypeof", + "spec": "1.1.1", + "to": "node_modules/setprototypeof", + "type": "prod", + }, + "statuses" => EdgeOut { + "name": "statuses", + "spec": "~1.5.0", + "to": "node_modules/statuses", + "type": "prod", + }, + "type-is" => EdgeOut { + "name": "type-is", + "spec": "~1.6.18", + "to": "node_modules/type-is", + "type": "prod", + }, + "utils-merge" => EdgeOut { + "name": "utils-merge", + "spec": "1.0.1", + "to": "node_modules/utils-merge", + "type": "prod", + }, + "vary" => EdgeOut { + "name": "vary", + "spec": "~1.1.2", + "to": "node_modules/vary", + "type": "prod", + }, + }, + "location": "node_modules/express", + "name": "express", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/express", + "peer": true, + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "version": "4.17.1", + }, + "extend-shallow" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/braces", + "name": "extend-shallow", + "spec": "^2.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/expand-brackets", + "name": "extend-shallow", + "spec": "^2.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/extglob", + "name": "extend-shallow", + "spec": "^2.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/fill-range", + "name": "extend-shallow", + "spec": "^2.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/set-value", + "name": "extend-shallow", + "spec": "^2.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/snapdragon", + "name": "extend-shallow", + "spec": "^2.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-extendable" => EdgeOut { + "name": "is-extendable", + "spec": "^0.1.0", + "to": "node_modules/is-extendable", + "type": "prod", + }, + }, + "location": "node_modules/extend-shallow", + "name": "extend-shallow", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/extend-shallow", + "peer": true, + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "version": "2.0.1", + }, + "extglob" => ArboristNode { + "children": Map { + "define-property" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/extglob", + "name": "define-property", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-descriptor" => EdgeOut { + "name": "is-descriptor", + "spec": "^1.0.0", + "to": "node_modules/is-descriptor", + "type": "prod", + }, + }, + "location": "node_modules/extglob/node_modules/define-property", + "name": "define-property", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/extglob/node_modules/define-property", + "peer": true, + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "version": "1.0.0", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/micromatch", + "name": "extglob", + "spec": "^2.0.4", + "type": "prod", + }, + }, + "edgesOut": Map { + "array-unique" => EdgeOut { + "name": "array-unique", + "spec": "^0.3.2", + "to": "node_modules/array-unique", + "type": "prod", + }, + "define-property" => EdgeOut { + "name": "define-property", + "spec": "^1.0.0", + "to": "node_modules/extglob/node_modules/define-property", + "type": "prod", + }, + "expand-brackets" => EdgeOut { + "name": "expand-brackets", + "spec": "^2.1.4", + "to": "node_modules/expand-brackets", + "type": "prod", + }, + "extend-shallow" => EdgeOut { + "name": "extend-shallow", + "spec": "^2.0.1", + "to": "node_modules/extend-shallow", + "type": "prod", + }, + "fragment-cache" => EdgeOut { + "name": "fragment-cache", + "spec": "^0.2.1", + "to": "node_modules/fragment-cache", + "type": "prod", + }, + "regex-not" => EdgeOut { + "name": "regex-not", + "spec": "^1.0.0", + "to": "node_modules/regex-not", + "type": "prod", + }, + "snapdragon" => EdgeOut { + "name": "snapdragon", + "spec": "^0.8.1", + "to": "node_modules/snapdragon", + "type": "prod", + }, + "to-regex" => EdgeOut { + "name": "to-regex", + "spec": "^3.0.1", + "to": "node_modules/to-regex", + "type": "prod", + }, + }, + "location": "node_modules/extglob", + "name": "extglob", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/extglob", + "peer": true, + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "version": "2.0.4", + }, "fast-deep-equal" => ArboristNode { "edgesIn": Set { EdgeIn { @@ -5463,76 +29518,892 @@ ArboristNode { "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", "version": "2.1.0", }, + "faye-websocket" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/sockjs-client", + "name": "faye-websocket", + "spec": "^0.11.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/webpack-dev-server/node_modules/sockjs-client", + "name": "faye-websocket", + "spec": "~0.11.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "websocket-driver" => EdgeOut { + "name": "websocket-driver", + "spec": ">=0.5.1", + "to": "node_modules/websocket-driver", + "type": "prod", + }, + }, + "location": "node_modules/faye-websocket", + "name": "faye-websocket", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/faye-websocket", + "peer": true, + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", + "version": "0.11.3", + }, + "figgy-pudding" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/cacache", + "name": "figgy-pudding", + "spec": "^3.5.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/ssri", + "name": "figgy-pudding", + "spec": "^3.5.1", + "type": "prod", + }, + }, + "location": "node_modules/figgy-pudding", + "name": "figgy-pudding", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/figgy-pudding", + "peer": true, + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", + "version": "3.5.2", + }, + "file-uri-to-path" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/bindings", + "name": "file-uri-to-path", + "spec": "1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/file-uri-to-path", + "name": "file-uri-to-path", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/file-uri-to-path", + "peer": true, + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "version": "1.0.0", + }, + "fill-range" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/braces", + "name": "fill-range", + "spec": "^4.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "extend-shallow" => EdgeOut { + "name": "extend-shallow", + "spec": "^2.0.1", + "to": "node_modules/extend-shallow", + "type": "prod", + }, + "is-number" => EdgeOut { + "name": "is-number", + "spec": "^3.0.0", + "to": "node_modules/is-number", + "type": "prod", + }, + "repeat-string" => EdgeOut { + "name": "repeat-string", + "spec": "^1.6.1", + "to": "node_modules/repeat-string", + "type": "prod", + }, + "to-regex-range" => EdgeOut { + "name": "to-regex-range", + "spec": "^2.1.0", + "to": "node_modules/to-regex-range", + "type": "prod", + }, + }, + "location": "node_modules/fill-range", + "name": "fill-range", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/fill-range", + "peer": true, + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "version": "4.0.0", + }, + "finalhandler" => ArboristNode { + "children": Map { + "debug" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/finalhandler", + "name": "debug", + "spec": "2.6.9", + "type": "prod", + }, + }, + "edgesOut": Map { + "ms" => EdgeOut { + "name": "ms", + "spec": "2.0.0", + "to": "node_modules/finalhandler/node_modules/ms", + "type": "prod", + }, + }, + "location": "node_modules/finalhandler/node_modules/debug", + "name": "debug", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/finalhandler/node_modules/debug", + "peer": true, + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "version": "2.6.9", + }, + "ms" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/finalhandler/node_modules/debug", + "name": "ms", + "spec": "2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/finalhandler/node_modules/ms", + "name": "ms", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/finalhandler/node_modules/ms", + "peer": true, + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "version": "2.0.0", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/express", + "name": "finalhandler", + "spec": "~1.1.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "debug" => EdgeOut { + "name": "debug", + "spec": "2.6.9", + "to": "node_modules/finalhandler/node_modules/debug", + "type": "prod", + }, + "encodeurl" => EdgeOut { + "name": "encodeurl", + "spec": "~1.0.2", + "to": "node_modules/encodeurl", + "type": "prod", + }, + "escape-html" => EdgeOut { + "name": "escape-html", + "spec": "~1.0.3", + "to": "node_modules/escape-html", + "type": "prod", + }, + "on-finished" => EdgeOut { + "name": "on-finished", + "spec": "~2.3.0", + "to": "node_modules/on-finished", + "type": "prod", + }, + "parseurl" => EdgeOut { + "name": "parseurl", + "spec": "~1.3.3", + "to": "node_modules/parseurl", + "type": "prod", + }, + "statuses" => EdgeOut { + "name": "statuses", + "spec": "~1.5.0", + "to": "node_modules/statuses", + "type": "prod", + }, + "unpipe" => EdgeOut { + "name": "unpipe", + "spec": "~1.0.0", + "to": "node_modules/unpipe", + "type": "prod", + }, + }, + "location": "node_modules/finalhandler", + "name": "finalhandler", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/finalhandler", + "peer": true, + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "version": "1.1.2", + }, + "find-cache-dir" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/terser-webpack-plugin", + "name": "find-cache-dir", + "spec": "^2.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "commondir" => EdgeOut { + "name": "commondir", + "spec": "^1.0.1", + "to": "node_modules/commondir", + "type": "prod", + }, + "make-dir" => EdgeOut { + "name": "make-dir", + "spec": "^2.0.0", + "to": "node_modules/make-dir", + "type": "prod", + }, + "pkg-dir" => EdgeOut { + "name": "pkg-dir", + "spec": "^3.0.0", + "to": "node_modules/pkg-dir", + "type": "prod", + }, + }, + "location": "node_modules/find-cache-dir", + "name": "find-cache-dir", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/find-cache-dir", + "peer": true, + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "version": "2.1.0", + }, "find-up" => ArboristNode { "edgesIn": Set { EdgeIn { "from": "node_modules/pkg-dir", "name": "find-up", - "spec": "^4.0.0", + "spec": "^3.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/yargs", + "name": "find-up", + "spec": "^3.0.0", "type": "prod", }, }, "edgesOut": Map { "locate-path" => EdgeOut { "name": "locate-path", - "spec": "^5.0.0", + "spec": "^3.0.0", "to": "node_modules/locate-path", "type": "prod", }, - "path-exists" => EdgeOut { - "name": "path-exists", - "spec": "^4.0.0", - "to": "node_modules/path-exists", - "type": "prod", - }, }, "location": "node_modules/find-up", "name": "find-up", "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/find-up", "peer": true, - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "version": "3.0.0", + }, + "flush-write-stream" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/mississippi", + "name": "flush-write-stream", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "inherits" => EdgeOut { + "name": "inherits", + "spec": "^2.0.3", + "to": "node_modules/inherits", + "type": "prod", + }, + "readable-stream" => EdgeOut { + "name": "readable-stream", + "spec": "^2.3.6", + "to": "node_modules/readable-stream", + "type": "prod", + }, + }, + "location": "node_modules/flush-write-stream", + "name": "flush-write-stream", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/flush-write-stream", + "peer": true, + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "version": "1.1.1", + }, + "follow-redirects" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/http-proxy", + "name": "follow-redirects", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/follow-redirects", + "name": "follow-redirects", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/follow-redirects", + "peer": true, + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.0.tgz", + "version": "1.13.0", + }, + "for-in" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/mixin-deep", + "name": "for-in", + "spec": "^1.0.2", + "type": "prod", + }, + }, + "location": "node_modules/for-in", + "name": "for-in", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/for-in", + "peer": true, + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "version": "1.0.2", + }, + "forwarded" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/proxy-addr", + "name": "forwarded", + "spec": "~0.1.2", + "type": "prod", + }, + }, + "location": "node_modules/forwarded", + "name": "forwarded", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/forwarded", + "peer": true, + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "version": "0.1.2", + }, + "fragment-cache" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/extglob", + "name": "fragment-cache", + "spec": "^0.2.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/micromatch", + "name": "fragment-cache", + "spec": "^0.2.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/nanomatch", + "name": "fragment-cache", + "spec": "^0.2.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "map-cache" => EdgeOut { + "name": "map-cache", + "spec": "^0.2.2", + "to": "node_modules/map-cache", + "type": "prod", + }, + }, + "location": "node_modules/fragment-cache", + "name": "fragment-cache", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/fragment-cache", + "peer": true, + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "version": "0.2.1", + }, + "fresh" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/express", + "name": "fresh", + "spec": "0.5.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/send", + "name": "fresh", + "spec": "0.5.2", + "type": "prod", + }, + }, + "location": "node_modules/fresh", + "name": "fresh", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/fresh", + "peer": true, + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "version": "0.5.2", + }, + "from2" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/mississippi", + "name": "from2", + "spec": "^2.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "inherits" => EdgeOut { + "name": "inherits", + "spec": "^2.0.1", + "to": "node_modules/inherits", + "type": "prod", + }, + "readable-stream" => EdgeOut { + "name": "readable-stream", + "spec": "^2.0.0", + "to": "node_modules/readable-stream", + "type": "prod", + }, + }, + "location": "node_modules/from2", + "name": "from2", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/from2", + "peer": true, + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "version": "2.3.0", + }, + "fs-write-stream-atomic" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/copy-concurrently", + "name": "fs-write-stream-atomic", + "spec": "^1.0.8", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/move-concurrently", + "name": "fs-write-stream-atomic", + "spec": "^1.0.8", + "type": "prod", + }, + }, + "edgesOut": Map { + "graceful-fs" => EdgeOut { + "name": "graceful-fs", + "spec": "^4.1.2", + "to": "node_modules/graceful-fs", + "type": "prod", + }, + "iferr" => EdgeOut { + "name": "iferr", + "spec": "^0.1.5", + "to": "node_modules/iferr", + "type": "prod", + }, + "imurmurhash" => EdgeOut { + "name": "imurmurhash", + "spec": "^0.1.4", + "to": "node_modules/imurmurhash", + "type": "prod", + }, + "readable-stream" => EdgeOut { + "name": "readable-stream", + "spec": "1 || 2", + "to": "node_modules/readable-stream", + "type": "prod", + }, + }, + "location": "node_modules/fs-write-stream-atomic", + "name": "fs-write-stream-atomic", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/fs-write-stream-atomic", + "peer": true, + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "version": "1.0.10", + }, + "fs.realpath" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/glob", + "name": "fs.realpath", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/fs.realpath", + "name": "fs.realpath", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/fs.realpath", + "peer": true, + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "version": "1.0.0", + }, + "fsevents" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/chokidar", + "name": "fsevents", + "spec": "^1.2.7", + "type": "optional", + }, + }, + "edgesOut": Map { + "bindings" => EdgeOut { + "name": "bindings", + "spec": "^1.5.0", + "to": "node_modules/bindings", + "type": "prod", + }, + "nan" => EdgeOut { + "name": "nan", + "spec": "^2.12.1", + "to": "node_modules/nan", + "type": "prod", + }, + }, + "location": "node_modules/fsevents", + "name": "fsevents", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/fsevents", + "peer": true, + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "version": "1.2.13", + }, + "function-bind" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/es-abstract", + "name": "function-bind", + "spec": "^1.1.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/has", + "name": "function-bind", + "spec": "^1.1.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/regexp.prototype.flags/node_modules/es-abstract", + "name": "function-bind", + "spec": "^1.1.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/string.prototype.trimend/node_modules/es-abstract", + "name": "function-bind", + "spec": "^1.1.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/string.prototype.trimstart/node_modules/es-abstract", + "name": "function-bind", + "spec": "^1.1.1", + "type": "prod", + }, + }, + "location": "node_modules/function-bind", + "name": "function-bind", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/function-bind", + "peer": true, + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "version": "1.1.1", + }, + "get-caller-file" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/yargs", + "name": "get-caller-file", + "spec": "^2.0.1", + "type": "prod", + }, + }, + "location": "node_modules/get-caller-file", + "name": "get-caller-file", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/get-caller-file", + "peer": true, + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "version": "2.0.5", + }, + "get-stream" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/execa", + "name": "get-stream", + "spec": "^4.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "pump" => EdgeOut { + "name": "pump", + "spec": "^3.0.0", + "to": "node_modules/pump", + "type": "prod", + }, + }, + "location": "node_modules/get-stream", + "name": "get-stream", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/get-stream", + "peer": true, + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", "version": "4.1.0", }, - "glob-to-regexp" => ArboristNode { + "get-value" => ArboristNode { "edgesIn": Set { EdgeIn { - "from": "node_modules/watchpack", - "name": "glob-to-regexp", - "spec": "^0.4.1", + "from": "node_modules/cache-base", + "name": "get-value", + "spec": "^2.0.6", "type": "prod", }, EdgeIn { - "from": "node_modules/webpack", - "name": "glob-to-regexp", - "spec": "^0.4.1", + "from": "node_modules/has-value", + "name": "get-value", + "spec": "^2.0.6", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/union-value", + "name": "get-value", + "spec": "^2.0.6", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/unset-value/node_modules/has-value", + "name": "get-value", + "spec": "^2.0.3", "type": "prod", }, }, - "location": "node_modules/glob-to-regexp", - "name": "glob-to-regexp", - "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/glob-to-regexp", + "location": "node_modules/get-value", + "name": "get-value", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/get-value", "peer": true, - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "version": "0.4.1", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "version": "2.0.6", + }, + "glob" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/cacache", + "name": "glob", + "spec": "^7.1.4", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/globby", + "name": "glob", + "spec": "^7.0.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/rimraf", + "name": "glob", + "spec": "^7.1.3", + "type": "prod", + }, + }, + "edgesOut": Map { + "fs.realpath" => EdgeOut { + "name": "fs.realpath", + "spec": "^1.0.0", + "to": "node_modules/fs.realpath", + "type": "prod", + }, + "inflight" => EdgeOut { + "name": "inflight", + "spec": "^1.0.4", + "to": "node_modules/inflight", + "type": "prod", + }, + "inherits" => EdgeOut { + "name": "inherits", + "spec": "2", + "to": "node_modules/inherits", + "type": "prod", + }, + "minimatch" => EdgeOut { + "name": "minimatch", + "spec": "^3.0.4", + "to": "node_modules/minimatch", + "type": "prod", + }, + "once" => EdgeOut { + "name": "once", + "spec": "^1.3.0", + "to": "node_modules/once", + "type": "prod", + }, + "path-is-absolute" => EdgeOut { + "name": "path-is-absolute", + "spec": "^1.0.0", + "to": "node_modules/path-is-absolute", + "type": "prod", + }, + }, + "location": "node_modules/glob", + "name": "glob", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/glob", + "peer": true, + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "version": "7.1.6", + }, + "glob-parent" => ArboristNode { + "children": Map { + "is-glob" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/glob-parent", + "name": "is-glob", + "spec": "^3.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-extglob" => EdgeOut { + "name": "is-extglob", + "spec": "^2.1.0", + "to": "node_modules/is-extglob", + "type": "prod", + }, + }, + "location": "node_modules/glob-parent/node_modules/is-glob", + "name": "is-glob", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/glob-parent/node_modules/is-glob", + "peer": true, + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "version": "3.1.0", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/chokidar", + "name": "glob-parent", + "spec": "^3.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-glob" => EdgeOut { + "name": "is-glob", + "spec": "^3.1.0", + "to": "node_modules/glob-parent/node_modules/is-glob", + "type": "prod", + }, + "path-dirname" => EdgeOut { + "name": "path-dirname", + "spec": "^1.0.0", + "to": "node_modules/path-dirname", + "type": "prod", + }, + }, + "location": "node_modules/glob-parent", + "name": "glob-parent", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/glob-parent", + "peer": true, + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "version": "3.1.0", + }, + "globby" => ArboristNode { + "children": Map { + "pify" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/globby", + "name": "pify", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/globby/node_modules/pify", + "name": "pify", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/globby/node_modules/pify", + "peer": true, + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "version": "2.3.0", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/del", + "name": "globby", + "spec": "^6.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "array-union" => EdgeOut { + "name": "array-union", + "spec": "^1.0.1", + "to": "node_modules/array-union", + "type": "prod", + }, + "glob" => EdgeOut { + "name": "glob", + "spec": "^7.0.3", + "to": "node_modules/glob", + "type": "prod", + }, + "object-assign" => EdgeOut { + "name": "object-assign", + "spec": "^4.0.1", + "to": "node_modules/object-assign", + "type": "prod", + }, + "pify" => EdgeOut { + "name": "pify", + "spec": "^2.0.0", + "to": "node_modules/globby/node_modules/pify", + "type": "prod", + }, + "pinkie-promise" => EdgeOut { + "name": "pinkie-promise", + "spec": "^2.0.0", + "to": "node_modules/pinkie-promise", + "type": "prod", + }, + }, + "location": "node_modules/globby", + "name": "globby", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/globby", + "peer": true, + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "version": "6.1.0", }, "graceful-fs" => ArboristNode { "edgesIn": Set { EdgeIn { + "from": "node_modules/cacache", + "name": "graceful-fs", + "spec": "^4.1.15", + "type": "prod", + }, + EdgeIn { "from": "node_modules/enhanced-resolve", "name": "graceful-fs", - "spec": "^4.2.4", + "spec": "^4.1.2", "type": "prod", }, EdgeIn { - "from": "node_modules/watchpack", + "from": "node_modules/fs-write-stream-atomic", "name": "graceful-fs", "spec": "^4.1.2", "type": "prod", }, EdgeIn { - "from": "node_modules/webpack", + "from": "node_modules/readdirp", + "name": "graceful-fs", + "spec": "^4.1.11", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/watchpack", "name": "graceful-fs", - "spec": "^4.2.4", + "spec": "^4.1.2", "type": "prod", }, }, @@ -5543,6 +30414,66 @@ ArboristNode { "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", "version": "4.2.4", }, + "handle-thing" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/spdy", + "name": "handle-thing", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/handle-thing", + "name": "handle-thing", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/handle-thing", + "peer": true, + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "version": "2.0.1", + }, + "has" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/es-abstract", + "name": "has", + "spec": "^1.0.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/regexp.prototype.flags/node_modules/es-abstract", + "name": "has", + "spec": "^1.0.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/string.prototype.trimend/node_modules/es-abstract", + "name": "has", + "spec": "^1.0.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/string.prototype.trimstart/node_modules/es-abstract", + "name": "has", + "spec": "^1.0.3", + "type": "prod", + }, + }, + "edgesOut": Map { + "function-bind" => EdgeOut { + "name": "function-bind", + "spec": "^1.1.1", + "to": "node_modules/function-bind", + "type": "prod", + }, + }, + "location": "node_modules/has", + "name": "has", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/has", + "peer": true, + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "version": "1.0.3", + }, "has-flag" => ArboristNode { "edgesIn": Set { EdgeIn { @@ -5558,6 +30489,346 @@ ArboristNode { "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "version": "4.0.0", }, + "has-symbols" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/es-abstract", + "name": "has-symbols", + "spec": "^1.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/is-regex", + "name": "has-symbols", + "spec": "^1.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/is-symbol", + "name": "has-symbols", + "spec": "^1.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/object.assign", + "name": "has-symbols", + "spec": "^1.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/regexp.prototype.flags/node_modules/es-abstract", + "name": "has-symbols", + "spec": "^1.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/string.prototype.trimend/node_modules/es-abstract", + "name": "has-symbols", + "spec": "^1.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/string.prototype.trimstart/node_modules/es-abstract", + "name": "has-symbols", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "location": "node_modules/has-symbols", + "name": "has-symbols", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/has-symbols", + "peer": true, + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "version": "1.0.1", + }, + "has-value" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/cache-base", + "name": "has-value", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "get-value" => EdgeOut { + "name": "get-value", + "spec": "^2.0.6", + "to": "node_modules/get-value", + "type": "prod", + }, + "has-values" => EdgeOut { + "name": "has-values", + "spec": "^1.0.0", + "to": "node_modules/has-values", + "type": "prod", + }, + "isobject" => EdgeOut { + "name": "isobject", + "spec": "^3.0.0", + "to": "node_modules/isobject", + "type": "prod", + }, + }, + "location": "node_modules/has-value", + "name": "has-value", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/has-value", + "peer": true, + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "version": "1.0.0", + }, + "has-values" => ArboristNode { + "children": Map { + "kind-of" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/has-values", + "name": "kind-of", + "spec": "^4.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-buffer" => EdgeOut { + "name": "is-buffer", + "spec": "^1.1.5", + "to": "node_modules/is-buffer", + "type": "prod", + }, + }, + "location": "node_modules/has-values/node_modules/kind-of", + "name": "kind-of", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/has-values/node_modules/kind-of", + "peer": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "version": "4.0.0", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/has-value", + "name": "has-values", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-number" => EdgeOut { + "name": "is-number", + "spec": "^3.0.0", + "to": "node_modules/is-number", + "type": "prod", + }, + "kind-of" => EdgeOut { + "name": "kind-of", + "spec": "^4.0.0", + "to": "node_modules/has-values/node_modules/kind-of", + "type": "prod", + }, + }, + "location": "node_modules/has-values", + "name": "has-values", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/has-values", + "peer": true, + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "version": "1.0.0", + }, + "hash-base" => ArboristNode { + "children": Map { + "readable-stream" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/hash-base", + "name": "readable-stream", + "spec": "^3.6.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "inherits" => EdgeOut { + "name": "inherits", + "spec": "^2.0.3", + "to": "node_modules/inherits", + "type": "prod", + }, + "string_decoder" => EdgeOut { + "name": "string_decoder", + "spec": "^1.1.1", + "to": "node_modules/string_decoder", + "type": "prod", + }, + "util-deprecate" => EdgeOut { + "name": "util-deprecate", + "spec": "^1.0.1", + "to": "node_modules/util-deprecate", + "type": "prod", + }, + }, + "location": "node_modules/hash-base/node_modules/readable-stream", + "name": "readable-stream", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/hash-base/node_modules/readable-stream", + "peer": true, + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "version": "3.6.0", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/md5.js", + "name": "hash-base", + "spec": "^3.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/ripemd160", + "name": "hash-base", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "inherits" => EdgeOut { + "name": "inherits", + "spec": "^2.0.4", + "to": "node_modules/inherits", + "type": "prod", + }, + "readable-stream" => EdgeOut { + "name": "readable-stream", + "spec": "^3.6.0", + "to": "node_modules/hash-base/node_modules/readable-stream", + "type": "prod", + }, + "safe-buffer" => EdgeOut { + "name": "safe-buffer", + "spec": "^5.2.0", + "to": "node_modules/safe-buffer", + "type": "prod", + }, + }, + "location": "node_modules/hash-base", + "name": "hash-base", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/hash-base", + "peer": true, + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "version": "3.1.0", + }, + "hash.js" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/elliptic", + "name": "hash.js", + "spec": "^1.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/hmac-drbg", + "name": "hash.js", + "spec": "^1.0.3", + "type": "prod", + }, + }, + "edgesOut": Map { + "inherits" => EdgeOut { + "name": "inherits", + "spec": "^2.0.3", + "to": "node_modules/inherits", + "type": "prod", + }, + "minimalistic-assert" => EdgeOut { + "name": "minimalistic-assert", + "spec": "^1.0.1", + "to": "node_modules/minimalistic-assert", + "type": "prod", + }, + }, + "location": "node_modules/hash.js", + "name": "hash.js", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/hash.js", + "peer": true, + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "version": "1.1.7", + }, + "hmac-drbg" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/elliptic", + "name": "hmac-drbg", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "hash.js" => EdgeOut { + "name": "hash.js", + "spec": "^1.0.3", + "to": "node_modules/hash.js", + "type": "prod", + }, + "minimalistic-assert" => EdgeOut { + "name": "minimalistic-assert", + "spec": "^1.0.0", + "to": "node_modules/minimalistic-assert", + "type": "prod", + }, + "minimalistic-crypto-utils" => EdgeOut { + "name": "minimalistic-crypto-utils", + "spec": "^1.0.1", + "to": "node_modules/minimalistic-crypto-utils", + "type": "prod", + }, + }, + "location": "node_modules/hmac-drbg", + "name": "hmac-drbg", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/hmac-drbg", + "peer": true, + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "version": "1.0.1", + }, + "hpack.js" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/spdy-transport", + "name": "hpack.js", + "spec": "^2.1.6", + "type": "prod", + }, + }, + "edgesOut": Map { + "inherits" => EdgeOut { + "name": "inherits", + "spec": "^2.0.1", + "to": "node_modules/inherits", + "type": "prod", + }, + "obuf" => EdgeOut { + "name": "obuf", + "spec": "^1.0.0", + "to": "node_modules/obuf", + "type": "prod", + }, + "readable-stream" => EdgeOut { + "name": "readable-stream", + "spec": "^2.0.1", + "to": "node_modules/readable-stream", + "type": "prod", + }, + "wbuf" => EdgeOut { + "name": "wbuf", + "spec": "^1.1.0", + "to": "node_modules/wbuf", + "type": "prod", + }, + }, + "location": "node_modules/hpack.js", + "name": "hpack.js", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/hpack.js", + "peer": true, + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "version": "2.1.6", + }, "html-entities" => ArboristNode { "edgesIn": Set { EdgeIn { @@ -5566,6 +30837,12 @@ ArboristNode { "spec": "^1.2.1", "type": "prod", }, + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "html-entities", + "spec": "^1.3.1", + "type": "prod", + }, }, "location": "node_modules/html-entities", "name": "html-entities", @@ -5573,6 +30850,338 @@ ArboristNode { "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.3.1.tgz", "version": "1.3.1", }, + "http-deceiver" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/spdy", + "name": "http-deceiver", + "spec": "^1.2.7", + "type": "prod", + }, + }, + "location": "node_modules/http-deceiver", + "name": "http-deceiver", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/http-deceiver", + "peer": true, + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "version": "1.2.7", + }, + "http-errors" => ArboristNode { + "children": Map { + "inherits" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/http-errors", + "name": "inherits", + "spec": "2.0.3", + "type": "prod", + }, + }, + "location": "node_modules/http-errors/node_modules/inherits", + "name": "inherits", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/http-errors/node_modules/inherits", + "peer": true, + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "version": "2.0.3", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/body-parser", + "name": "http-errors", + "spec": "1.7.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/raw-body", + "name": "http-errors", + "spec": "1.7.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/send", + "name": "http-errors", + "spec": "~1.7.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "depd" => EdgeOut { + "name": "depd", + "spec": "~1.1.2", + "to": "node_modules/depd", + "type": "prod", + }, + "inherits" => EdgeOut { + "name": "inherits", + "spec": "2.0.3", + "to": "node_modules/http-errors/node_modules/inherits", + "type": "prod", + }, + "setprototypeof" => EdgeOut { + "name": "setprototypeof", + "spec": "1.1.1", + "to": "node_modules/setprototypeof", + "type": "prod", + }, + "statuses" => EdgeOut { + "name": "statuses", + "spec": ">= 1.5.0 < 2", + "to": "node_modules/statuses", + "type": "prod", + }, + "toidentifier" => EdgeOut { + "name": "toidentifier", + "spec": "1.0.0", + "to": "node_modules/toidentifier", + "type": "prod", + }, + }, + "location": "node_modules/http-errors", + "name": "http-errors", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/http-errors", + "peer": true, + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "version": "1.7.2", + }, + "http-parser-js" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/websocket-driver", + "name": "http-parser-js", + "spec": ">=0.5.1", + "type": "prod", + }, + }, + "location": "node_modules/http-parser-js", + "name": "http-parser-js", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/http-parser-js", + "peer": true, + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", + "version": "0.5.8", + }, + "http-proxy" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/http-proxy-middleware", + "name": "http-proxy", + "spec": "^1.17.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "eventemitter3" => EdgeOut { + "name": "eventemitter3", + "spec": "^4.0.0", + "to": "node_modules/eventemitter3", + "type": "prod", + }, + "follow-redirects" => EdgeOut { + "name": "follow-redirects", + "spec": "^1.0.0", + "to": "node_modules/follow-redirects", + "type": "prod", + }, + "requires-port" => EdgeOut { + "name": "requires-port", + "spec": "^1.0.0", + "to": "node_modules/requires-port", + "type": "prod", + }, + }, + "location": "node_modules/http-proxy", + "name": "http-proxy", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/http-proxy", + "peer": true, + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "version": "1.18.1", + }, + "http-proxy-middleware" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "http-proxy-middleware", + "spec": "0.19.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "http-proxy" => EdgeOut { + "name": "http-proxy", + "spec": "^1.17.0", + "to": "node_modules/http-proxy", + "type": "prod", + }, + "is-glob" => EdgeOut { + "name": "is-glob", + "spec": "^4.0.0", + "to": "node_modules/is-glob", + "type": "prod", + }, + "lodash" => EdgeOut { + "name": "lodash", + "spec": "^4.17.11", + "to": "node_modules/lodash", + "type": "prod", + }, + "micromatch" => EdgeOut { + "name": "micromatch", + "spec": "^3.1.10", + "to": "node_modules/micromatch", + "type": "prod", + }, + }, + "location": "node_modules/http-proxy-middleware", + "name": "http-proxy-middleware", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/http-proxy-middleware", + "peer": true, + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", + "version": "0.19.1", + }, + "https-browserify" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/node-libs-browser", + "name": "https-browserify", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/https-browserify", + "name": "https-browserify", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/https-browserify", + "peer": true, + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "version": "1.0.0", + }, + "iconv-lite" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/body-parser", + "name": "iconv-lite", + "spec": "0.4.24", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/raw-body", + "name": "iconv-lite", + "spec": "0.4.24", + "type": "prod", + }, + }, + "edgesOut": Map { + "safer-buffer" => EdgeOut { + "name": "safer-buffer", + "spec": ">= 2.1.2 < 3", + "to": "node_modules/safer-buffer", + "type": "prod", + }, + }, + "location": "node_modules/iconv-lite", + "name": "iconv-lite", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/iconv-lite", + "peer": true, + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "version": "0.4.24", + }, + "ieee754" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/buffer", + "name": "ieee754", + "spec": "^1.1.4", + "type": "prod", + }, + }, + "location": "node_modules/ieee754", + "name": "ieee754", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/ieee754", + "peer": true, + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "version": "1.2.1", + }, + "iferr" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/copy-concurrently", + "name": "iferr", + "spec": "^0.1.5", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/fs-write-stream-atomic", + "name": "iferr", + "spec": "^0.1.5", + "type": "prod", + }, + }, + "location": "node_modules/iferr", + "name": "iferr", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/iferr", + "peer": true, + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "version": "0.1.5", + }, + "import-local" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "import-local", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "pkg-dir" => EdgeOut { + "name": "pkg-dir", + "spec": "^3.0.0", + "to": "node_modules/pkg-dir", + "type": "prod", + }, + "resolve-cwd" => EdgeOut { + "name": "resolve-cwd", + "spec": "^2.0.0", + "to": "node_modules/resolve-cwd", + "type": "prod", + }, + }, + "location": "node_modules/import-local", + "name": "import-local", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/import-local", + "peer": true, + "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", + "version": "2.0.0", + }, + "imurmurhash" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/fs-write-stream-atomic", + "name": "imurmurhash", + "spec": "^0.1.4", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/unique-slug", + "name": "imurmurhash", + "spec": "^0.1.4", + "type": "prod", + }, + }, + "location": "node_modules/imurmurhash", + "name": "imurmurhash", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/imurmurhash", + "peer": true, + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "version": "0.1.4", + }, "indent-string" => ArboristNode { "edgesIn": Set { EdgeIn { @@ -5588,6 +31197,254 @@ ArboristNode { "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", "version": "4.0.0", }, + "infer-owner" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/cacache", + "name": "infer-owner", + "spec": "^1.0.3", + "type": "prod", + }, + }, + "location": "node_modules/infer-owner", + "name": "infer-owner", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/infer-owner", + "peer": true, + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "version": "1.0.4", + }, + "inflight" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/glob", + "name": "inflight", + "spec": "^1.0.4", + "type": "prod", + }, + }, + "edgesOut": Map { + "once" => EdgeOut { + "name": "once", + "spec": "^1.3.0", + "to": "node_modules/once", + "type": "prod", + }, + "wrappy" => EdgeOut { + "name": "wrappy", + "spec": "1", + "to": "node_modules/wrappy", + "type": "prod", + }, + }, + "location": "node_modules/inflight", + "name": "inflight", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/inflight", + "peer": true, + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "version": "1.0.6", + }, + "inherits" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/asn1.js", + "name": "inherits", + "spec": "^2.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/browserify-aes", + "name": "inherits", + "spec": "^2.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/browserify-des", + "name": "inherits", + "spec": "^2.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/browserify-sign", + "name": "inherits", + "spec": "^2.0.4", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/browserify-sign/node_modules/readable-stream", + "name": "inherits", + "spec": "^2.0.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/chokidar", + "name": "inherits", + "spec": "^2.0.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/cipher-base", + "name": "inherits", + "spec": "^2.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/concat-stream", + "name": "inherits", + "spec": "^2.0.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/create-hash", + "name": "inherits", + "spec": "^2.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/create-hmac", + "name": "inherits", + "spec": "^2.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/crypto-browserify", + "name": "inherits", + "spec": "^2.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/des.js", + "name": "inherits", + "spec": "^2.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/duplexify", + "name": "inherits", + "spec": "^2.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/elliptic", + "name": "inherits", + "spec": "^2.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/flush-write-stream", + "name": "inherits", + "spec": "^2.0.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/from2", + "name": "inherits", + "spec": "^2.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/glob", + "name": "inherits", + "spec": "2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/hash-base", + "name": "inherits", + "spec": "^2.0.4", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/hash-base/node_modules/readable-stream", + "name": "inherits", + "spec": "^2.0.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/hash.js", + "name": "inherits", + "spec": "^2.0.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/hpack.js", + "name": "inherits", + "spec": "^2.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/md5.js", + "name": "inherits", + "spec": "^2.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/parallel-transform", + "name": "inherits", + "spec": "^2.0.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/pumpify", + "name": "inherits", + "spec": "^2.0.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/readable-stream", + "name": "inherits", + "spec": "~2.0.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/ripemd160", + "name": "inherits", + "spec": "^2.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/sha.js", + "name": "inherits", + "spec": "^2.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/sockjs-client", + "name": "inherits", + "spec": "^2.0.4", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/spdy-transport/node_modules/readable-stream", + "name": "inherits", + "spec": "^2.0.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/stream-browserify", + "name": "inherits", + "spec": "~2.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/stream-http", + "name": "inherits", + "spec": "^2.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/webpack-dev-server/node_modules/sockjs-client", + "name": "inherits", + "spec": "^2.0.3", + "type": "prod", + }, + }, + "location": "node_modules/inherits", + "name": "inherits", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/inherits", + "peer": true, + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "version": "2.0.4", + }, "ink" => ArboristNode { "children": Map { "react-reconciler" => ArboristNode { @@ -5637,6 +31494,21 @@ ArboristNode { "resolved": "https://registry.npmjs.org/react-reconciler/-/react-reconciler-0.24.0.tgz", "version": "0.24.0", }, + "type-fest" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/ink", + "name": "type-fest", + "spec": "^0.12.0", + "type": "prod", + }, + }, + "location": "node_modules/ink/node_modules/type-fest", + "name": "type-fest", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/ink/node_modules/type-fest", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.12.0.tgz", + "version": "0.12.0", + }, }, "edgesIn": Set { EdgeIn { @@ -5650,7 +31522,7 @@ ArboristNode { "@types/react" => EdgeOut { "name": "@types/react", "spec": ">=16.8.0", - "to": null, + "to": "node_modules/@types/react", "type": "peerOptional", }, "ansi-escapes" => EdgeOut { @@ -5770,7 +31642,7 @@ ArboristNode { "type-fest" => EdgeOut { "name": "type-fest", "spec": "^0.12.0", - "to": "node_modules/type-fest", + "to": "node_modules/ink/node_modules/type-fest", "type": "prod", }, "widest-line" => EdgeOut { @@ -5804,6 +31676,264 @@ ArboristNode { "resolved": "https://registry.npmjs.org/ink/-/ink-3.0.8.tgz", "version": "3.0.8", }, + "internal-ip" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "internal-ip", + "spec": "^4.3.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "default-gateway" => EdgeOut { + "name": "default-gateway", + "spec": "^4.2.0", + "to": "node_modules/default-gateway", + "type": "prod", + }, + "ipaddr.js" => EdgeOut { + "name": "ipaddr.js", + "spec": "^1.9.0", + "to": "node_modules/ipaddr.js", + "type": "prod", + }, + }, + "location": "node_modules/internal-ip", + "name": "internal-ip", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/internal-ip", + "peer": true, + "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", + "version": "4.3.0", + }, + "ip" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/dns-packet", + "name": "ip", + "spec": "^1.1.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "ip", + "spec": "^1.1.5", + "type": "prod", + }, + }, + "location": "node_modules/ip", + "name": "ip", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/ip", + "peer": true, + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "version": "1.1.5", + }, + "ip-regex" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/default-gateway", + "name": "ip-regex", + "spec": "^2.1.0", + "type": "prod", + }, + }, + "location": "node_modules/ip-regex", + "name": "ip-regex", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/ip-regex", + "peer": true, + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "version": "2.1.0", + }, + "ipaddr.js" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/internal-ip", + "name": "ipaddr.js", + "spec": "^1.9.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/proxy-addr", + "name": "ipaddr.js", + "spec": "1.9.1", + "type": "prod", + }, + }, + "location": "node_modules/ipaddr.js", + "name": "ipaddr.js", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/ipaddr.js", + "peer": true, + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "version": "1.9.1", + }, + "is-absolute-url" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "is-absolute-url", + "spec": "^3.0.3", + "type": "prod", + }, + }, + "location": "node_modules/is-absolute-url", + "name": "is-absolute-url", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/is-absolute-url", + "peer": true, + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", + "version": "3.0.3", + }, + "is-accessor-descriptor" => ArboristNode { + "children": Map { + "kind-of" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/is-accessor-descriptor", + "name": "kind-of", + "spec": "^6.0.0", + "type": "prod", + }, + }, + "location": "node_modules/is-accessor-descriptor/node_modules/kind-of", + "name": "kind-of", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/is-accessor-descriptor/node_modules/kind-of", + "peer": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "version": "6.0.3", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/is-descriptor", + "name": "is-accessor-descriptor", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "kind-of" => EdgeOut { + "name": "kind-of", + "spec": "^6.0.0", + "to": "node_modules/is-accessor-descriptor/node_modules/kind-of", + "type": "prod", + }, + }, + "location": "node_modules/is-accessor-descriptor", + "name": "is-accessor-descriptor", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/is-accessor-descriptor", + "peer": true, + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "version": "1.0.0", + }, + "is-arguments" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/deep-equal", + "name": "is-arguments", + "spec": "^1.0.4", + "type": "prod", + }, + }, + "location": "node_modules/is-arguments", + "name": "is-arguments", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/is-arguments", + "peer": true, + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz", + "version": "1.0.4", + }, + "is-binary-path" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/chokidar", + "name": "is-binary-path", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "binary-extensions" => EdgeOut { + "name": "binary-extensions", + "spec": "^1.0.0", + "to": "node_modules/binary-extensions", + "type": "prod", + }, + }, + "location": "node_modules/is-binary-path", + "name": "is-binary-path", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/is-binary-path", + "peer": true, + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "version": "1.0.1", + }, + "is-buffer" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/has-values/node_modules/kind-of", + "name": "is-buffer", + "spec": "^1.1.5", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/kind-of", + "name": "is-buffer", + "spec": "^1.1.5", + "type": "prod", + }, + }, + "location": "node_modules/is-buffer", + "name": "is-buffer", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/is-buffer", + "peer": true, + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "version": "1.1.6", + }, + "is-callable" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/es-abstract", + "name": "is-callable", + "spec": "^1.2.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/es-to-primitive", + "name": "is-callable", + "spec": "^1.1.4", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/regexp.prototype.flags/node_modules/es-abstract", + "name": "is-callable", + "spec": "^1.2.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/string.prototype.trimend/node_modules/es-abstract", + "name": "is-callable", + "spec": "^1.2.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/string.prototype.trimstart/node_modules/es-abstract", + "name": "is-callable", + "spec": "^1.2.2", + "type": "prod", + }, + }, + "location": "node_modules/is-callable", + "name": "is-callable", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/is-callable", + "peer": true, + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", + "version": "1.2.2", + }, "is-ci" => ArboristNode { "edgesIn": Set { EdgeIn { @@ -5827,6 +31957,194 @@ ArboristNode { "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", "version": "2.0.0", }, + "is-data-descriptor" => ArboristNode { + "children": Map { + "kind-of" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/is-data-descriptor", + "name": "kind-of", + "spec": "^6.0.0", + "type": "prod", + }, + }, + "location": "node_modules/is-data-descriptor/node_modules/kind-of", + "name": "kind-of", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/is-data-descriptor/node_modules/kind-of", + "peer": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "version": "6.0.3", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/is-descriptor", + "name": "is-data-descriptor", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "kind-of" => EdgeOut { + "name": "kind-of", + "spec": "^6.0.0", + "to": "node_modules/is-data-descriptor/node_modules/kind-of", + "type": "prod", + }, + }, + "location": "node_modules/is-data-descriptor", + "name": "is-data-descriptor", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/is-data-descriptor", + "peer": true, + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "version": "1.0.0", + }, + "is-date-object" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/deep-equal", + "name": "is-date-object", + "spec": "^1.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/es-to-primitive", + "name": "is-date-object", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "location": "node_modules/is-date-object", + "name": "is-date-object", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/is-date-object", + "peer": true, + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", + "version": "1.0.2", + }, + "is-descriptor" => ArboristNode { + "children": Map { + "kind-of" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/is-descriptor", + "name": "kind-of", + "spec": "^6.0.2", + "type": "prod", + }, + }, + "location": "node_modules/is-descriptor/node_modules/kind-of", + "name": "kind-of", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/is-descriptor/node_modules/kind-of", + "peer": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "version": "6.0.3", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/base/node_modules/define-property", + "name": "is-descriptor", + "spec": "^1.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/define-property", + "name": "is-descriptor", + "spec": "^1.0.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/extglob/node_modules/define-property", + "name": "is-descriptor", + "spec": "^1.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/snapdragon-node/node_modules/define-property", + "name": "is-descriptor", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-accessor-descriptor" => EdgeOut { + "name": "is-accessor-descriptor", + "spec": "^1.0.0", + "to": "node_modules/is-accessor-descriptor", + "type": "prod", + }, + "is-data-descriptor" => EdgeOut { + "name": "is-data-descriptor", + "spec": "^1.0.0", + "to": "node_modules/is-data-descriptor", + "type": "prod", + }, + "kind-of" => EdgeOut { + "name": "kind-of", + "spec": "^6.0.2", + "to": "node_modules/is-descriptor/node_modules/kind-of", + "type": "prod", + }, + }, + "location": "node_modules/is-descriptor", + "name": "is-descriptor", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/is-descriptor", + "peer": true, + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "version": "1.0.2", + }, + "is-extendable" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/extend-shallow", + "name": "is-extendable", + "spec": "^0.1.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/set-value", + "name": "is-extendable", + "spec": "^0.1.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/union-value", + "name": "is-extendable", + "spec": "^0.1.1", + "type": "prod", + }, + }, + "location": "node_modules/is-extendable", + "name": "is-extendable", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/is-extendable", + "peer": true, + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "version": "0.1.1", + }, + "is-extglob" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/glob-parent/node_modules/is-glob", + "name": "is-extglob", + "spec": "^2.1.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/is-glob", + "name": "is-extglob", + "spec": "^2.1.1", + "type": "prod", + }, + }, + "location": "node_modules/is-extglob", + "name": "is-extglob", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/is-extglob", + "peer": true, + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "version": "2.1.1", + }, "is-fullwidth-code-point" => ArboristNode { "edgesIn": Set { EdgeIn { @@ -5848,41 +32166,478 @@ ArboristNode { "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "version": "3.0.0", }, - "jest-worker" => ArboristNode { + "is-glob" => ArboristNode { "edgesIn": Set { EdgeIn { - "from": "node_modules/terser-webpack-plugin", - "name": "jest-worker", - "spec": "^26.6.1", + "from": "node_modules/chokidar", + "name": "is-glob", + "spec": "^4.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/http-proxy-middleware", + "name": "is-glob", + "spec": "^4.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/watchpack/node_modules/chokidar", + "name": "is-glob", + "spec": "~4.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/watchpack/node_modules/glob-parent", + "name": "is-glob", + "spec": "^4.0.1", "type": "prod", }, }, "edgesOut": Map { - "@types/node" => EdgeOut { - "name": "@types/node", - "spec": "*", - "to": "node_modules/@types/node", + "is-extglob" => EdgeOut { + "name": "is-extglob", + "spec": "^2.1.1", + "to": "node_modules/is-extglob", "type": "prod", }, - "merge-stream" => EdgeOut { - "name": "merge-stream", + }, + "location": "node_modules/is-glob", + "name": "is-glob", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/is-glob", + "peer": true, + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "version": "4.0.1", + }, + "is-negative-zero" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/es-abstract", + "name": "is-negative-zero", "spec": "^2.0.0", - "to": "node_modules/merge-stream", "type": "prod", }, - "supports-color" => EdgeOut { - "name": "supports-color", - "spec": "^7.0.0", - "to": "node_modules/supports-color", + }, + "location": "node_modules/is-negative-zero", + "name": "is-negative-zero", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/is-negative-zero", + "peer": true, + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.0.tgz", + "version": "2.0.0", + }, + "is-number" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/fill-range", + "name": "is-number", + "spec": "^3.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/has-values", + "name": "is-number", + "spec": "^3.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/to-regex-range", + "name": "is-number", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "kind-of" => EdgeOut { + "name": "kind-of", + "spec": "^3.0.2", + "to": "node_modules/kind-of", + "type": "prod", + }, + }, + "location": "node_modules/is-number", + "name": "is-number", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/is-number", + "peer": true, + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "version": "3.0.0", + }, + "is-path-cwd" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/del", + "name": "is-path-cwd", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/is-path-cwd", + "name": "is-path-cwd", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/is-path-cwd", + "peer": true, + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "version": "2.2.0", + }, + "is-path-in-cwd" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/del", + "name": "is-path-in-cwd", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-path-inside" => EdgeOut { + "name": "is-path-inside", + "spec": "^2.1.0", + "to": "node_modules/is-path-inside", + "type": "prod", + }, + }, + "location": "node_modules/is-path-in-cwd", + "name": "is-path-in-cwd", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/is-path-in-cwd", + "peer": true, + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", + "version": "2.1.0", + }, + "is-path-inside" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/is-path-in-cwd", + "name": "is-path-inside", + "spec": "^2.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "path-is-inside" => EdgeOut { + "name": "path-is-inside", + "spec": "^1.0.2", + "to": "node_modules/path-is-inside", + "type": "prod", + }, + }, + "location": "node_modules/is-path-inside", + "name": "is-path-inside", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/is-path-inside", + "peer": true, + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", + "version": "2.1.0", + }, + "is-plain-object" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/micromatch/node_modules/is-extendable", + "name": "is-plain-object", + "spec": "^2.0.4", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/mixin-deep/node_modules/is-extendable", + "name": "is-plain-object", + "spec": "^2.0.4", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/nanomatch/node_modules/is-extendable", + "name": "is-plain-object", + "spec": "^2.0.4", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/regex-not/node_modules/is-extendable", + "name": "is-plain-object", + "spec": "^2.0.4", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/set-value", + "name": "is-plain-object", + "spec": "^2.0.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/split-string/node_modules/is-extendable", + "name": "is-plain-object", + "spec": "^2.0.4", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/to-regex/node_modules/is-extendable", + "name": "is-plain-object", + "spec": "^2.0.4", + "type": "prod", + }, + }, + "edgesOut": Map { + "isobject" => EdgeOut { + "name": "isobject", + "spec": "^3.0.1", + "to": "node_modules/isobject", + "type": "prod", + }, + }, + "location": "node_modules/is-plain-object", + "name": "is-plain-object", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/is-plain-object", + "peer": true, + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "version": "2.0.4", + }, + "is-regex" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/deep-equal", + "name": "is-regex", + "spec": "^1.0.4", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/es-abstract", + "name": "is-regex", + "spec": "^1.1.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/regexp.prototype.flags/node_modules/es-abstract", + "name": "is-regex", + "spec": "^1.1.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/string.prototype.trimend/node_modules/es-abstract", + "name": "is-regex", + "spec": "^1.1.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/string.prototype.trimstart/node_modules/es-abstract", + "name": "is-regex", + "spec": "^1.1.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "has-symbols" => EdgeOut { + "name": "has-symbols", + "spec": "^1.0.1", + "to": "node_modules/has-symbols", + "type": "prod", + }, + }, + "location": "node_modules/is-regex", + "name": "is-regex", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/is-regex", + "peer": true, + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", + "version": "1.1.1", + }, + "is-stream" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/execa", + "name": "is-stream", + "spec": "^1.1.0", + "type": "prod", + }, + }, + "location": "node_modules/is-stream", + "name": "is-stream", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/is-stream", + "peer": true, + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "version": "1.1.0", + }, + "is-symbol" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/es-to-primitive", + "name": "is-symbol", + "spec": "^1.0.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "has-symbols" => EdgeOut { + "name": "has-symbols", + "spec": "^1.0.1", + "to": "node_modules/has-symbols", + "type": "prod", + }, + }, + "location": "node_modules/is-symbol", + "name": "is-symbol", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/is-symbol", + "peer": true, + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", + "version": "1.0.3", + }, + "is-windows" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/nanomatch", + "name": "is-windows", + "spec": "^1.0.2", + "type": "prod", + }, + }, + "location": "node_modules/is-windows", + "name": "is-windows", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/is-windows", + "peer": true, + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "version": "1.0.2", + }, + "is-wsl" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/opn", + "name": "is-wsl", + "spec": "^1.1.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/terser-webpack-plugin", + "name": "is-wsl", + "spec": "^1.1.0", + "type": "prod", + }, + }, + "location": "node_modules/is-wsl", + "name": "is-wsl", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/is-wsl", + "peer": true, + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "version": "1.1.0", + }, + "isarray" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/buffer", + "name": "isarray", + "spec": "^1.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/readable-stream", + "name": "isarray", + "spec": "~1.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/unset-value/node_modules/has-value/node_modules/isobject", + "name": "isarray", + "spec": "1.0.0", "type": "prod", }, }, - "location": "node_modules/jest-worker", - "name": "jest-worker", - "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/jest-worker", + "location": "node_modules/isarray", + "name": "isarray", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/isarray", "peer": true, - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", - "version": "26.6.2", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "version": "1.0.0", + }, + "isexe" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/which", + "name": "isexe", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/isexe", + "name": "isexe", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/isexe", + "peer": true, + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "version": "2.0.0", + }, + "isobject" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/base", + "name": "isobject", + "spec": "^3.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/braces", + "name": "isobject", + "spec": "^3.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/cache-base", + "name": "isobject", + "spec": "^3.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/class-utils", + "name": "isobject", + "spec": "^3.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/define-property", + "name": "isobject", + "spec": "^3.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/has-value", + "name": "isobject", + "spec": "^3.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/is-plain-object", + "name": "isobject", + "spec": "^3.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/object-visit", + "name": "isobject", + "spec": "^3.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/object.pick", + "name": "isobject", + "spec": "^3.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/snapdragon-node", + "name": "isobject", + "spec": "^3.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/unset-value", + "name": "isobject", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "location": "node_modules/isobject", + "name": "isobject", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/isobject", + "peer": true, + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "version": "3.0.1", }, "js-tokens" => ArboristNode { "edgesIn": Set { @@ -5930,12 +32685,178 @@ ArboristNode { "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "version": "0.4.1", }, + "json3" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/sockjs-client", + "name": "json3", + "spec": "^3.3.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/webpack-dev-server/node_modules/sockjs-client", + "name": "json3", + "spec": "^3.3.2", + "type": "prod", + }, + }, + "location": "node_modules/json3", + "name": "json3", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/json3", + "peer": true, + "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz", + "version": "3.3.3", + }, + "json5" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/loader-utils", + "name": "json5", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "minimist" => EdgeOut { + "name": "minimist", + "spec": "^1.2.0", + "to": "node_modules/minimist", + "type": "prod", + }, + }, + "location": "node_modules/json5", + "name": "json5", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/json5", + "peer": true, + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "version": "1.0.1", + }, + "killable" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "killable", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "location": "node_modules/killable", + "name": "killable", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/killable", + "peer": true, + "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", + "version": "1.0.1", + }, + "kind-of" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/class-utils/node_modules/is-accessor-descriptor", + "name": "kind-of", + "spec": "^3.0.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/class-utils/node_modules/is-data-descriptor", + "name": "kind-of", + "spec": "^3.0.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/expand-brackets/node_modules/is-accessor-descriptor", + "name": "kind-of", + "spec": "^3.0.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/expand-brackets/node_modules/is-data-descriptor", + "name": "kind-of", + "spec": "^3.0.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/is-number", + "name": "kind-of", + "spec": "^3.0.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/object-copy", + "name": "kind-of", + "spec": "^3.0.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/object-copy/node_modules/is-accessor-descriptor", + "name": "kind-of", + "spec": "^3.0.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/object-copy/node_modules/is-data-descriptor", + "name": "kind-of", + "spec": "^3.0.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/snapdragon-util", + "name": "kind-of", + "spec": "^3.2.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/snapdragon/node_modules/is-accessor-descriptor", + "name": "kind-of", + "spec": "^3.0.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/snapdragon/node_modules/is-data-descriptor", + "name": "kind-of", + "spec": "^3.0.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/static-extend/node_modules/is-accessor-descriptor", + "name": "kind-of", + "spec": "^3.0.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/static-extend/node_modules/is-data-descriptor", + "name": "kind-of", + "spec": "^3.0.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/to-object-path", + "name": "kind-of", + "spec": "^3.0.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-buffer" => EdgeOut { + "name": "is-buffer", + "spec": "^1.1.5", + "to": "node_modules/is-buffer", + "type": "prod", + }, + }, + "location": "node_modules/kind-of", + "name": "kind-of", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/kind-of", + "peer": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "version": "3.2.2", + }, "loader-runner" => ArboristNode { "edgesIn": Set { EdgeIn { "from": "node_modules/webpack", "name": "loader-runner", - "spec": "^4.1.0", + "spec": "^2.4.0", "type": "prod", }, }, @@ -5943,36 +32864,90 @@ ArboristNode { "name": "loader-runner", "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/loader-runner", "peer": true, - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.1.0.tgz", - "version": "4.1.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "version": "2.4.0", + }, + "loader-utils" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack", + "name": "loader-utils", + "spec": "^1.2.3", + "type": "prod", + }, + }, + "edgesOut": Map { + "big.js" => EdgeOut { + "name": "big.js", + "spec": "^5.2.2", + "to": "node_modules/big.js", + "type": "prod", + }, + "emojis-list" => EdgeOut { + "name": "emojis-list", + "spec": "^3.0.0", + "to": "node_modules/emojis-list", + "type": "prod", + }, + "json5" => EdgeOut { + "name": "json5", + "spec": "^1.0.1", + "to": "node_modules/json5", + "type": "prod", + }, + }, + "location": "node_modules/loader-utils", + "name": "loader-utils", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/loader-utils", + "peer": true, + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "version": "1.4.0", }, "locate-path" => ArboristNode { "edgesIn": Set { EdgeIn { "from": "node_modules/find-up", "name": "locate-path", - "spec": "^5.0.0", + "spec": "^3.0.0", "type": "prod", }, }, "edgesOut": Map { "p-locate" => EdgeOut { "name": "p-locate", - "spec": "^4.1.0", + "spec": "^3.0.0", "to": "node_modules/p-locate", "type": "prod", }, + "path-exists" => EdgeOut { + "name": "path-exists", + "spec": "^3.0.0", + "to": "node_modules/path-exists", + "type": "prod", + }, }, "location": "node_modules/locate-path", "name": "locate-path", "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/locate-path", "peer": true, - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "version": "3.0.0", }, "lodash" => ArboristNode { "edgesIn": Set { EdgeIn { + "from": "node_modules/async", + "name": "lodash", + "spec": "^4.17.14", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/http-proxy-middleware", + "name": "lodash", + "spec": "^4.17.11", + "type": "prod", + }, + EdgeIn { "from": "node_modules/ink", "name": "lodash", "spec": "^4.17.20", @@ -5985,6 +32960,23 @@ ArboristNode { "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", "version": "4.17.20", }, + "loglevel" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "loglevel", + "spec": "^1.6.8", + "type": "prod", + }, + }, + "location": "node_modules/loglevel", + "name": "loglevel", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/loglevel", + "peer": true, + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.7.0.tgz", + "version": "1.7.0", + }, "loose-envify" => ArboristNode { "edgesIn": Set { EdgeIn { @@ -6038,25 +33030,513 @@ ArboristNode { "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", "version": "1.4.0", }, - "merge-stream" => ArboristNode { + "lru-cache" => ArboristNode { "edgesIn": Set { EdgeIn { - "from": "node_modules/jest-worker", - "name": "merge-stream", + "from": "node_modules/cacache", + "name": "lru-cache", + "spec": "^5.1.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "yallist" => EdgeOut { + "name": "yallist", + "spec": "^3.0.2", + "to": "node_modules/yallist", + "type": "prod", + }, + }, + "location": "node_modules/lru-cache", + "name": "lru-cache", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/lru-cache", + "peer": true, + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "version": "5.1.1", + }, + "make-dir" => ArboristNode { + "children": Map { + "semver" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/make-dir", + "name": "semver", + "spec": "^5.6.0", + "type": "prod", + }, + }, + "location": "node_modules/make-dir/node_modules/semver", + "name": "semver", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/make-dir/node_modules/semver", + "peer": true, + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "version": "5.7.1", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/find-cache-dir", + "name": "make-dir", "spec": "^2.0.0", "type": "prod", }, }, - "location": "node_modules/merge-stream", - "name": "merge-stream", - "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/merge-stream", + "edgesOut": Map { + "pify" => EdgeOut { + "name": "pify", + "spec": "^4.0.1", + "to": "node_modules/pify", + "type": "prod", + }, + "semver" => EdgeOut { + "name": "semver", + "spec": "^5.6.0", + "to": "node_modules/make-dir/node_modules/semver", + "type": "prod", + }, + }, + "location": "node_modules/make-dir", + "name": "make-dir", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/make-dir", "peer": true, - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "version": "2.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "version": "2.1.0", + }, + "map-cache" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/fragment-cache", + "name": "map-cache", + "spec": "^0.2.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/snapdragon", + "name": "map-cache", + "spec": "^0.2.2", + "type": "prod", + }, + }, + "location": "node_modules/map-cache", + "name": "map-cache", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/map-cache", + "peer": true, + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "version": "0.2.2", + }, + "map-visit" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/collection-visit", + "name": "map-visit", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "object-visit" => EdgeOut { + "name": "object-visit", + "spec": "^1.0.0", + "to": "node_modules/object-visit", + "type": "prod", + }, + }, + "location": "node_modules/map-visit", + "name": "map-visit", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/map-visit", + "peer": true, + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "version": "1.0.0", + }, + "md5.js" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/create-hash", + "name": "md5.js", + "spec": "^1.3.4", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/evp_bytestokey", + "name": "md5.js", + "spec": "^1.3.4", + "type": "prod", + }, + }, + "edgesOut": Map { + "hash-base" => EdgeOut { + "name": "hash-base", + "spec": "^3.0.0", + "to": "node_modules/hash-base", + "type": "prod", + }, + "inherits" => EdgeOut { + "name": "inherits", + "spec": "^2.0.1", + "to": "node_modules/inherits", + "type": "prod", + }, + "safe-buffer" => EdgeOut { + "name": "safe-buffer", + "spec": "^5.1.2", + "to": "node_modules/safe-buffer", + "type": "prod", + }, + }, + "location": "node_modules/md5.js", + "name": "md5.js", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/md5.js", + "peer": true, + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "version": "1.3.5", + }, + "media-typer" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/type-is", + "name": "media-typer", + "spec": "0.3.0", + "type": "prod", + }, + }, + "location": "node_modules/media-typer", + "name": "media-typer", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/media-typer", + "peer": true, + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "version": "0.3.0", + }, + "memory-fs" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack", + "name": "memory-fs", + "spec": "^0.4.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/webpack-dev-middleware", + "name": "memory-fs", + "spec": "^0.4.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "errno" => EdgeOut { + "name": "errno", + "spec": "^0.1.3", + "to": "node_modules/errno", + "type": "prod", + }, + "readable-stream" => EdgeOut { + "name": "readable-stream", + "spec": "^2.0.1", + "to": "node_modules/readable-stream", + "type": "prod", + }, + }, + "location": "node_modules/memory-fs", + "name": "memory-fs", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/memory-fs", + "peer": true, + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "version": "0.4.1", + }, + "merge-descriptors" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/express", + "name": "merge-descriptors", + "spec": "1.0.1", + "type": "prod", + }, + }, + "location": "node_modules/merge-descriptors", + "name": "merge-descriptors", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/merge-descriptors", + "peer": true, + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "version": "1.0.1", + }, + "methods" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/express", + "name": "methods", + "spec": "~1.1.2", + "type": "prod", + }, + }, + "location": "node_modules/methods", + "name": "methods", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/methods", + "peer": true, + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "version": "1.1.2", + }, + "micromatch" => ArboristNode { + "children": Map { + "extend-shallow" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/micromatch", + "name": "extend-shallow", + "spec": "^3.0.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "assign-symbols" => EdgeOut { + "name": "assign-symbols", + "spec": "^1.0.0", + "to": "node_modules/assign-symbols", + "type": "prod", + }, + "is-extendable" => EdgeOut { + "name": "is-extendable", + "spec": "^1.0.1", + "to": "node_modules/micromatch/node_modules/is-extendable", + "type": "prod", + }, + }, + "location": "node_modules/micromatch/node_modules/extend-shallow", + "name": "extend-shallow", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/micromatch/node_modules/extend-shallow", + "peer": true, + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "version": "3.0.2", + }, + "is-extendable" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/micromatch/node_modules/extend-shallow", + "name": "is-extendable", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-plain-object" => EdgeOut { + "name": "is-plain-object", + "spec": "^2.0.4", + "to": "node_modules/is-plain-object", + "type": "prod", + }, + }, + "location": "node_modules/micromatch/node_modules/is-extendable", + "name": "is-extendable", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/micromatch/node_modules/is-extendable", + "peer": true, + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "version": "1.0.1", + }, + "kind-of" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/micromatch", + "name": "kind-of", + "spec": "^6.0.2", + "type": "prod", + }, + }, + "location": "node_modules/micromatch/node_modules/kind-of", + "name": "kind-of", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/micromatch/node_modules/kind-of", + "peer": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "version": "6.0.3", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/anymatch", + "name": "micromatch", + "spec": "^3.1.4", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/http-proxy-middleware", + "name": "micromatch", + "spec": "^3.1.10", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/readdirp", + "name": "micromatch", + "spec": "^3.1.10", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/webpack", + "name": "micromatch", + "spec": "^3.1.10", + "type": "prod", + }, + }, + "edgesOut": Map { + "arr-diff" => EdgeOut { + "name": "arr-diff", + "spec": "^4.0.0", + "to": "node_modules/arr-diff", + "type": "prod", + }, + "array-unique" => EdgeOut { + "name": "array-unique", + "spec": "^0.3.2", + "to": "node_modules/array-unique", + "type": "prod", + }, + "braces" => EdgeOut { + "name": "braces", + "spec": "^2.3.1", + "to": "node_modules/braces", + "type": "prod", + }, + "define-property" => EdgeOut { + "name": "define-property", + "spec": "^2.0.2", + "to": "node_modules/define-property", + "type": "prod", + }, + "extend-shallow" => EdgeOut { + "name": "extend-shallow", + "spec": "^3.0.2", + "to": "node_modules/micromatch/node_modules/extend-shallow", + "type": "prod", + }, + "extglob" => EdgeOut { + "name": "extglob", + "spec": "^2.0.4", + "to": "node_modules/extglob", + "type": "prod", + }, + "fragment-cache" => EdgeOut { + "name": "fragment-cache", + "spec": "^0.2.1", + "to": "node_modules/fragment-cache", + "type": "prod", + }, + "kind-of" => EdgeOut { + "name": "kind-of", + "spec": "^6.0.2", + "to": "node_modules/micromatch/node_modules/kind-of", + "type": "prod", + }, + "nanomatch" => EdgeOut { + "name": "nanomatch", + "spec": "^1.2.9", + "to": "node_modules/nanomatch", + "type": "prod", + }, + "object.pick" => EdgeOut { + "name": "object.pick", + "spec": "^1.3.0", + "to": "node_modules/object.pick", + "type": "prod", + }, + "regex-not" => EdgeOut { + "name": "regex-not", + "spec": "^1.0.0", + "to": "node_modules/regex-not", + "type": "prod", + }, + "snapdragon" => EdgeOut { + "name": "snapdragon", + "spec": "^0.8.1", + "to": "node_modules/snapdragon", + "type": "prod", + }, + "to-regex" => EdgeOut { + "name": "to-regex", + "spec": "^3.0.2", + "to": "node_modules/to-regex", + "type": "prod", + }, + }, + "location": "node_modules/micromatch", + "name": "micromatch", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/micromatch", + "peer": true, + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "version": "3.1.10", + }, + "miller-rabin" => ArboristNode { + "children": Map { + "bn.js" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/miller-rabin", + "name": "bn.js", + "spec": "^4.0.0", + "type": "prod", + }, + }, + "location": "node_modules/miller-rabin/node_modules/bn.js", + "name": "bn.js", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/miller-rabin/node_modules/bn.js", + "peer": true, + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "version": "4.11.9", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/diffie-hellman", + "name": "miller-rabin", + "spec": "^4.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "bn.js" => EdgeOut { + "name": "bn.js", + "spec": "^4.0.0", + "to": "node_modules/miller-rabin/node_modules/bn.js", + "type": "prod", + }, + "brorand" => EdgeOut { + "name": "brorand", + "spec": "^1.0.1", + "to": "node_modules/brorand", + "type": "prod", + }, + }, + "location": "node_modules/miller-rabin", + "name": "miller-rabin", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/miller-rabin", + "peer": true, + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "version": "4.0.1", + }, + "mime" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/send", + "name": "mime", + "spec": "1.6.0", + "type": "prod", + }, + }, + "location": "node_modules/mime", + "name": "mime", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/mime", + "peer": true, + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "version": "1.6.0", }, "mime-db" => ArboristNode { "edgesIn": Set { EdgeIn { + "from": "node_modules/compressible", + "name": "mime-db", + "spec": ">= 1.43.0 < 2", + "type": "prod", + }, + EdgeIn { "from": "node_modules/mime-types", "name": "mime-db", "spec": "1.44.0", @@ -6065,6 +33545,7 @@ ArboristNode { }, "location": "node_modules/mime-db", "name": "mime-db", + "optional": true, "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/mime-db", "peer": true, "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", @@ -6073,9 +33554,21 @@ ArboristNode { "mime-types" => ArboristNode { "edgesIn": Set { EdgeIn { - "from": "node_modules/webpack", + "from": "node_modules/accepts", + "name": "mime-types", + "spec": "~2.1.24", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/serve-index", "name": "mime-types", - "spec": "^2.1.27", + "spec": "~2.1.17", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/type-is", + "name": "mime-types", + "spec": "~2.1.24", "type": "prod", }, }, @@ -6089,6 +33582,7 @@ ArboristNode { }, "location": "node_modules/mime-types", "name": "mime-types", + "optional": true, "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/mime-types", "peer": true, "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", @@ -6109,6 +33603,624 @@ ArboristNode { "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", "version": "2.1.0", }, + "minimalistic-assert" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/asn1.js", + "name": "minimalistic-assert", + "spec": "^1.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/des.js", + "name": "minimalistic-assert", + "spec": "^1.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/elliptic", + "name": "minimalistic-assert", + "spec": "^1.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/hash.js", + "name": "minimalistic-assert", + "spec": "^1.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/hmac-drbg", + "name": "minimalistic-assert", + "spec": "^1.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/wbuf", + "name": "minimalistic-assert", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/minimalistic-assert", + "name": "minimalistic-assert", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/minimalistic-assert", + "peer": true, + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "version": "1.0.1", + }, + "minimalistic-crypto-utils" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/elliptic", + "name": "minimalistic-crypto-utils", + "spec": "^1.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/hmac-drbg", + "name": "minimalistic-crypto-utils", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "location": "node_modules/minimalistic-crypto-utils", + "name": "minimalistic-crypto-utils", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/minimalistic-crypto-utils", + "peer": true, + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "version": "1.0.1", + }, + "minimatch" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/glob", + "name": "minimatch", + "spec": "^3.0.4", + "type": "prod", + }, + }, + "edgesOut": Map { + "brace-expansion" => EdgeOut { + "name": "brace-expansion", + "spec": "^1.1.7", + "to": "node_modules/brace-expansion", + "type": "prod", + }, + }, + "location": "node_modules/minimatch", + "name": "minimatch", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/minimatch", + "peer": true, + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "version": "3.0.4", + }, + "minimist" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/json5", + "name": "minimist", + "spec": "^1.2.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/mkdirp", + "name": "minimist", + "spec": "^1.2.5", + "type": "prod", + }, + }, + "location": "node_modules/minimist", + "name": "minimist", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/minimist", + "peer": true, + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "version": "1.2.5", + }, + "mississippi" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/cacache", + "name": "mississippi", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "concat-stream" => EdgeOut { + "name": "concat-stream", + "spec": "^1.5.0", + "to": "node_modules/concat-stream", + "type": "prod", + }, + "duplexify" => EdgeOut { + "name": "duplexify", + "spec": "^3.4.2", + "to": "node_modules/duplexify", + "type": "prod", + }, + "end-of-stream" => EdgeOut { + "name": "end-of-stream", + "spec": "^1.1.0", + "to": "node_modules/end-of-stream", + "type": "prod", + }, + "flush-write-stream" => EdgeOut { + "name": "flush-write-stream", + "spec": "^1.0.0", + "to": "node_modules/flush-write-stream", + "type": "prod", + }, + "from2" => EdgeOut { + "name": "from2", + "spec": "^2.1.0", + "to": "node_modules/from2", + "type": "prod", + }, + "parallel-transform" => EdgeOut { + "name": "parallel-transform", + "spec": "^1.1.0", + "to": "node_modules/parallel-transform", + "type": "prod", + }, + "pump" => EdgeOut { + "name": "pump", + "spec": "^3.0.0", + "to": "node_modules/pump", + "type": "prod", + }, + "pumpify" => EdgeOut { + "name": "pumpify", + "spec": "^1.3.3", + "to": "node_modules/pumpify", + "type": "prod", + }, + "stream-each" => EdgeOut { + "name": "stream-each", + "spec": "^1.1.0", + "to": "node_modules/stream-each", + "type": "prod", + }, + "through2" => EdgeOut { + "name": "through2", + "spec": "^2.0.0", + "to": "node_modules/through2", + "type": "prod", + }, + }, + "location": "node_modules/mississippi", + "name": "mississippi", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/mississippi", + "peer": true, + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "version": "3.0.0", + }, + "mixin-deep" => ArboristNode { + "children": Map { + "is-extendable" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/mixin-deep", + "name": "is-extendable", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-plain-object" => EdgeOut { + "name": "is-plain-object", + "spec": "^2.0.4", + "to": "node_modules/is-plain-object", + "type": "prod", + }, + }, + "location": "node_modules/mixin-deep/node_modules/is-extendable", + "name": "is-extendable", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/mixin-deep/node_modules/is-extendable", + "peer": true, + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "version": "1.0.1", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/base", + "name": "mixin-deep", + "spec": "^1.2.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "for-in" => EdgeOut { + "name": "for-in", + "spec": "^1.0.2", + "to": "node_modules/for-in", + "type": "prod", + }, + "is-extendable" => EdgeOut { + "name": "is-extendable", + "spec": "^1.0.1", + "to": "node_modules/mixin-deep/node_modules/is-extendable", + "type": "prod", + }, + }, + "location": "node_modules/mixin-deep", + "name": "mixin-deep", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/mixin-deep", + "peer": true, + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "version": "1.3.2", + }, + "mkdirp" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/cacache", + "name": "mkdirp", + "spec": "^0.5.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/copy-concurrently", + "name": "mkdirp", + "spec": "^0.5.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/move-concurrently", + "name": "mkdirp", + "spec": "^0.5.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/portfinder", + "name": "mkdirp", + "spec": "^0.5.5", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/webpack", + "name": "mkdirp", + "spec": "^0.5.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/webpack-dev-middleware", + "name": "mkdirp", + "spec": "^0.5.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "minimist" => EdgeOut { + "name": "minimist", + "spec": "^1.2.5", + "to": "node_modules/minimist", + "type": "prod", + }, + }, + "location": "node_modules/mkdirp", + "name": "mkdirp", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/mkdirp", + "peer": true, + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "version": "0.5.5", + }, + "move-concurrently" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/cacache", + "name": "move-concurrently", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "aproba" => EdgeOut { + "name": "aproba", + "spec": "^1.1.1", + "to": "node_modules/aproba", + "type": "prod", + }, + "copy-concurrently" => EdgeOut { + "name": "copy-concurrently", + "spec": "^1.0.0", + "to": "node_modules/copy-concurrently", + "type": "prod", + }, + "fs-write-stream-atomic" => EdgeOut { + "name": "fs-write-stream-atomic", + "spec": "^1.0.8", + "to": "node_modules/fs-write-stream-atomic", + "type": "prod", + }, + "mkdirp" => EdgeOut { + "name": "mkdirp", + "spec": "^0.5.1", + "to": "node_modules/mkdirp", + "type": "prod", + }, + "rimraf" => EdgeOut { + "name": "rimraf", + "spec": "^2.5.4", + "to": "node_modules/rimraf", + "type": "prod", + }, + "run-queue" => EdgeOut { + "name": "run-queue", + "spec": "^1.0.3", + "to": "node_modules/run-queue", + "type": "prod", + }, + }, + "location": "node_modules/move-concurrently", + "name": "move-concurrently", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/move-concurrently", + "peer": true, + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "version": "1.0.1", + }, + "ms" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/debug", + "name": "ms", + "spec": "^2.1.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/spdy-transport/node_modules/debug", + "name": "ms", + "spec": "2.1.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/spdy/node_modules/debug", + "name": "ms", + "spec": "2.1.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/webpack-dev-server/node_modules/debug", + "name": "ms", + "spec": "2.1.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/webpack-dev-server/node_modules/sockjs-client/node_modules/debug", + "name": "ms", + "spec": "^2.1.1", + "type": "prod", + }, + }, + "location": "node_modules/ms", + "name": "ms", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/ms", + "peer": true, + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "version": "2.1.2", + }, + "multicast-dns" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/bonjour", + "name": "multicast-dns", + "spec": "^6.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "dns-packet" => EdgeOut { + "name": "dns-packet", + "spec": "^1.3.1", + "to": "node_modules/dns-packet", + "type": "prod", + }, + "thunky" => EdgeOut { + "name": "thunky", + "spec": "^1.0.2", + "to": "node_modules/thunky", + "type": "prod", + }, + }, + "location": "node_modules/multicast-dns", + "name": "multicast-dns", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/multicast-dns", + "peer": true, + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", + "version": "6.2.3", + }, + "multicast-dns-service-types" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/bonjour", + "name": "multicast-dns-service-types", + "spec": "^1.1.0", + "type": "prod", + }, + }, + "location": "node_modules/multicast-dns-service-types", + "name": "multicast-dns-service-types", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/multicast-dns-service-types", + "peer": true, + "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", + "version": "1.1.0", + }, + "nan" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/fsevents", + "name": "nan", + "spec": "^2.12.1", + "type": "prod", + }, + }, + "location": "node_modules/nan", + "name": "nan", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/nan", + "peer": true, + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", + "version": "2.14.2", + }, + "nanomatch" => ArboristNode { + "children": Map { + "extend-shallow" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/nanomatch", + "name": "extend-shallow", + "spec": "^3.0.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "assign-symbols" => EdgeOut { + "name": "assign-symbols", + "spec": "^1.0.0", + "to": "node_modules/assign-symbols", + "type": "prod", + }, + "is-extendable" => EdgeOut { + "name": "is-extendable", + "spec": "^1.0.1", + "to": "node_modules/nanomatch/node_modules/is-extendable", + "type": "prod", + }, + }, + "location": "node_modules/nanomatch/node_modules/extend-shallow", + "name": "extend-shallow", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/nanomatch/node_modules/extend-shallow", + "peer": true, + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "version": "3.0.2", + }, + "is-extendable" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/nanomatch/node_modules/extend-shallow", + "name": "is-extendable", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-plain-object" => EdgeOut { + "name": "is-plain-object", + "spec": "^2.0.4", + "to": "node_modules/is-plain-object", + "type": "prod", + }, + }, + "location": "node_modules/nanomatch/node_modules/is-extendable", + "name": "is-extendable", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/nanomatch/node_modules/is-extendable", + "peer": true, + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "version": "1.0.1", + }, + "kind-of" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/nanomatch", + "name": "kind-of", + "spec": "^6.0.2", + "type": "prod", + }, + }, + "location": "node_modules/nanomatch/node_modules/kind-of", + "name": "kind-of", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/nanomatch/node_modules/kind-of", + "peer": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "version": "6.0.3", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/micromatch", + "name": "nanomatch", + "spec": "^1.2.9", + "type": "prod", + }, + }, + "edgesOut": Map { + "arr-diff" => EdgeOut { + "name": "arr-diff", + "spec": "^4.0.0", + "to": "node_modules/arr-diff", + "type": "prod", + }, + "array-unique" => EdgeOut { + "name": "array-unique", + "spec": "^0.3.2", + "to": "node_modules/array-unique", + "type": "prod", + }, + "define-property" => EdgeOut { + "name": "define-property", + "spec": "^2.0.2", + "to": "node_modules/define-property", + "type": "prod", + }, + "extend-shallow" => EdgeOut { + "name": "extend-shallow", + "spec": "^3.0.2", + "to": "node_modules/nanomatch/node_modules/extend-shallow", + "type": "prod", + }, + "fragment-cache" => EdgeOut { + "name": "fragment-cache", + "spec": "^0.2.1", + "to": "node_modules/fragment-cache", + "type": "prod", + }, + "is-windows" => EdgeOut { + "name": "is-windows", + "spec": "^1.0.2", + "to": "node_modules/is-windows", + "type": "prod", + }, + "kind-of" => EdgeOut { + "name": "kind-of", + "spec": "^6.0.2", + "to": "node_modules/nanomatch/node_modules/kind-of", + "type": "prod", + }, + "object.pick" => EdgeOut { + "name": "object.pick", + "spec": "^1.3.0", + "to": "node_modules/object.pick", + "type": "prod", + }, + "regex-not" => EdgeOut { + "name": "regex-not", + "spec": "^1.0.0", + "to": "node_modules/regex-not", + "type": "prod", + }, + "snapdragon" => EdgeOut { + "name": "snapdragon", + "spec": "^0.8.1", + "to": "node_modules/snapdragon", + "type": "prod", + }, + "to-regex" => EdgeOut { + "name": "to-regex", + "spec": "^3.0.1", + "to": "node_modules/to-regex", + "type": "prod", + }, + }, + "location": "node_modules/nanomatch", + "name": "nanomatch", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/nanomatch", + "peer": true, + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "version": "1.2.13", + }, "native-url" => ArboristNode { "edgesIn": Set { EdgeIn { @@ -6132,12 +34244,35 @@ ArboristNode { "resolved": "https://registry.npmjs.org/native-url/-/native-url-0.2.6.tgz", "version": "0.2.6", }, + "negotiator" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/accepts", + "name": "negotiator", + "spec": "0.6.2", + "type": "prod", + }, + }, + "location": "node_modules/negotiator", + "name": "negotiator", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/negotiator", + "peer": true, + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "version": "0.6.2", + }, "neo-async" => ArboristNode { "edgesIn": Set { EdgeIn { + "from": "node_modules/watchpack", + "name": "neo-async", + "spec": "^2.5.0", + "type": "prod", + }, + EdgeIn { "from": "node_modules/webpack", "name": "neo-async", - "spec": "^2.6.2", + "spec": "^2.6.1", "type": "prod", }, }, @@ -6148,25 +34283,283 @@ ArboristNode { "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", "version": "2.6.2", }, - "node-releases" => ArboristNode { + "nice-try" => ArboristNode { "edgesIn": Set { EdgeIn { - "from": "node_modules/browserslist", - "name": "node-releases", - "spec": "^1.1.61", + "from": "node_modules/cross-spawn", + "name": "nice-try", + "spec": "^1.0.4", "type": "prod", }, }, - "location": "node_modules/node-releases", - "name": "node-releases", - "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/node-releases", + "location": "node_modules/nice-try", + "name": "nice-try", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/nice-try", "peer": true, - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.63.tgz", - "version": "1.1.63", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "version": "1.0.5", + }, + "node-forge" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/selfsigned", + "name": "node-forge", + "spec": "^0.10.0", + "type": "prod", + }, + }, + "location": "node_modules/node-forge", + "name": "node-forge", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/node-forge", + "peer": true, + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", + "version": "0.10.0", + }, + "node-libs-browser" => ArboristNode { + "children": Map { + "punycode" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/node-libs-browser", + "name": "punycode", + "spec": "^1.2.4", + "type": "prod", + }, + }, + "location": "node_modules/node-libs-browser/node_modules/punycode", + "name": "punycode", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/node-libs-browser/node_modules/punycode", + "peer": true, + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "version": "1.4.1", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack", + "name": "node-libs-browser", + "spec": "^2.2.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "assert" => EdgeOut { + "name": "assert", + "spec": "^1.1.1", + "to": "node_modules/assert", + "type": "prod", + }, + "browserify-zlib" => EdgeOut { + "name": "browserify-zlib", + "spec": "^0.2.0", + "to": "node_modules/browserify-zlib", + "type": "prod", + }, + "buffer" => EdgeOut { + "name": "buffer", + "spec": "^4.3.0", + "to": "node_modules/buffer", + "type": "prod", + }, + "console-browserify" => EdgeOut { + "name": "console-browserify", + "spec": "^1.1.0", + "to": "node_modules/console-browserify", + "type": "prod", + }, + "constants-browserify" => EdgeOut { + "name": "constants-browserify", + "spec": "^1.0.0", + "to": "node_modules/constants-browserify", + "type": "prod", + }, + "crypto-browserify" => EdgeOut { + "name": "crypto-browserify", + "spec": "^3.11.0", + "to": "node_modules/crypto-browserify", + "type": "prod", + }, + "domain-browser" => EdgeOut { + "name": "domain-browser", + "spec": "^1.1.1", + "to": "node_modules/domain-browser", + "type": "prod", + }, + "events" => EdgeOut { + "name": "events", + "spec": "^3.0.0", + "to": "node_modules/events", + "type": "prod", + }, + "https-browserify" => EdgeOut { + "name": "https-browserify", + "spec": "^1.0.0", + "to": "node_modules/https-browserify", + "type": "prod", + }, + "os-browserify" => EdgeOut { + "name": "os-browserify", + "spec": "^0.3.0", + "to": "node_modules/os-browserify", + "type": "prod", + }, + "path-browserify" => EdgeOut { + "name": "path-browserify", + "spec": "0.0.1", + "to": "node_modules/path-browserify", + "type": "prod", + }, + "process" => EdgeOut { + "name": "process", + "spec": "^0.11.10", + "to": "node_modules/process", + "type": "prod", + }, + "punycode" => EdgeOut { + "name": "punycode", + "spec": "^1.2.4", + "to": "node_modules/node-libs-browser/node_modules/punycode", + "type": "prod", + }, + "querystring-es3" => EdgeOut { + "name": "querystring-es3", + "spec": "^0.2.0", + "to": "node_modules/querystring-es3", + "type": "prod", + }, + "readable-stream" => EdgeOut { + "name": "readable-stream", + "spec": "^2.3.3", + "to": "node_modules/readable-stream", + "type": "prod", + }, + "stream-browserify" => EdgeOut { + "name": "stream-browserify", + "spec": "^2.0.1", + "to": "node_modules/stream-browserify", + "type": "prod", + }, + "stream-http" => EdgeOut { + "name": "stream-http", + "spec": "^2.7.2", + "to": "node_modules/stream-http", + "type": "prod", + }, + "string_decoder" => EdgeOut { + "name": "string_decoder", + "spec": "^1.0.0", + "to": "node_modules/string_decoder", + "type": "prod", + }, + "timers-browserify" => EdgeOut { + "name": "timers-browserify", + "spec": "^2.0.4", + "to": "node_modules/timers-browserify", + "type": "prod", + }, + "tty-browserify" => EdgeOut { + "name": "tty-browserify", + "spec": "0.0.0", + "to": "node_modules/tty-browserify", + "type": "prod", + }, + "url" => EdgeOut { + "name": "url", + "spec": "^0.11.0", + "to": "node_modules/url", + "type": "prod", + }, + "util" => EdgeOut { + "name": "util", + "spec": "^0.11.0", + "to": "node_modules/util", + "type": "prod", + }, + "vm-browserify" => EdgeOut { + "name": "vm-browserify", + "spec": "^1.0.1", + "to": "node_modules/vm-browserify", + "type": "prod", + }, + }, + "location": "node_modules/node-libs-browser", + "name": "node-libs-browser", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/node-libs-browser", + "peer": true, + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "version": "2.2.1", + }, + "normalize-path" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/chokidar", + "name": "normalize-path", + "spec": "^3.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/watchpack/node_modules/anymatch", + "name": "normalize-path", + "spec": "^3.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/watchpack/node_modules/chokidar", + "name": "normalize-path", + "spec": "~3.0.0", + "type": "prod", + }, + }, + "location": "node_modules/normalize-path", + "name": "normalize-path", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/normalize-path", + "peer": true, + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "version": "3.0.0", + }, + "npm-run-path" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/execa", + "name": "npm-run-path", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "path-key" => EdgeOut { + "name": "path-key", + "spec": "^2.0.0", + "to": "node_modules/path-key", + "type": "prod", + }, + }, + "location": "node_modules/npm-run-path", + "name": "npm-run-path", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/npm-run-path", + "peer": true, + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "version": "2.0.2", }, "object-assign" => ArboristNode { "edgesIn": Set { EdgeIn { + "from": "node_modules/assert", + "name": "object-assign", + "spec": "^4.1.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/globby", + "name": "object-assign", + "spec": "^4.0.1", + "type": "prod", + }, + EdgeIn { "from": "node_modules/ink/node_modules/react-reconciler", "name": "object-assign", "spec": "^4.1.1", @@ -6209,6 +34602,541 @@ ArboristNode { "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "version": "4.1.1", }, + "object-copy" => ArboristNode { + "children": Map { + "define-property" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/object-copy", + "name": "define-property", + "spec": "^0.2.5", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-descriptor" => EdgeOut { + "name": "is-descriptor", + "spec": "^0.1.0", + "to": "node_modules/object-copy/node_modules/is-descriptor", + "type": "prod", + }, + }, + "location": "node_modules/object-copy/node_modules/define-property", + "name": "define-property", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/object-copy/node_modules/define-property", + "peer": true, + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "version": "0.2.5", + }, + "is-accessor-descriptor" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/object-copy/node_modules/is-descriptor", + "name": "is-accessor-descriptor", + "spec": "^0.1.6", + "type": "prod", + }, + }, + "edgesOut": Map { + "kind-of" => EdgeOut { + "name": "kind-of", + "spec": "^3.0.2", + "to": "node_modules/kind-of", + "type": "prod", + }, + }, + "location": "node_modules/object-copy/node_modules/is-accessor-descriptor", + "name": "is-accessor-descriptor", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/object-copy/node_modules/is-accessor-descriptor", + "peer": true, + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "version": "0.1.6", + }, + "is-data-descriptor" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/object-copy/node_modules/is-descriptor", + "name": "is-data-descriptor", + "spec": "^0.1.4", + "type": "prod", + }, + }, + "edgesOut": Map { + "kind-of" => EdgeOut { + "name": "kind-of", + "spec": "^3.0.2", + "to": "node_modules/kind-of", + "type": "prod", + }, + }, + "location": "node_modules/object-copy/node_modules/is-data-descriptor", + "name": "is-data-descriptor", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/object-copy/node_modules/is-data-descriptor", + "peer": true, + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "version": "0.1.4", + }, + "is-descriptor" => ArboristNode { + "children": Map { + "kind-of" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/object-copy/node_modules/is-descriptor", + "name": "kind-of", + "spec": "^5.0.0", + "type": "prod", + }, + }, + "location": "node_modules/object-copy/node_modules/is-descriptor/node_modules/kind-of", + "name": "kind-of", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/object-copy/node_modules/is-descriptor/node_modules/kind-of", + "peer": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "version": "5.1.0", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/object-copy/node_modules/define-property", + "name": "is-descriptor", + "spec": "^0.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-accessor-descriptor" => EdgeOut { + "name": "is-accessor-descriptor", + "spec": "^0.1.6", + "to": "node_modules/object-copy/node_modules/is-accessor-descriptor", + "type": "prod", + }, + "is-data-descriptor" => EdgeOut { + "name": "is-data-descriptor", + "spec": "^0.1.4", + "to": "node_modules/object-copy/node_modules/is-data-descriptor", + "type": "prod", + }, + "kind-of" => EdgeOut { + "name": "kind-of", + "spec": "^5.0.0", + "to": "node_modules/object-copy/node_modules/is-descriptor/node_modules/kind-of", + "type": "prod", + }, + }, + "location": "node_modules/object-copy/node_modules/is-descriptor", + "name": "is-descriptor", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/object-copy/node_modules/is-descriptor", + "peer": true, + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "version": "0.1.6", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/static-extend", + "name": "object-copy", + "spec": "^0.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "copy-descriptor" => EdgeOut { + "name": "copy-descriptor", + "spec": "^0.1.0", + "to": "node_modules/copy-descriptor", + "type": "prod", + }, + "define-property" => EdgeOut { + "name": "define-property", + "spec": "^0.2.5", + "to": "node_modules/object-copy/node_modules/define-property", + "type": "prod", + }, + "kind-of" => EdgeOut { + "name": "kind-of", + "spec": "^3.0.3", + "to": "node_modules/kind-of", + "type": "prod", + }, + }, + "location": "node_modules/object-copy", + "name": "object-copy", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/object-copy", + "peer": true, + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "version": "0.1.0", + }, + "object-inspect" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/es-abstract", + "name": "object-inspect", + "spec": "^1.8.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/regexp.prototype.flags/node_modules/es-abstract", + "name": "object-inspect", + "spec": "^1.8.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/string.prototype.trimend/node_modules/es-abstract", + "name": "object-inspect", + "spec": "^1.8.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/string.prototype.trimstart/node_modules/es-abstract", + "name": "object-inspect", + "spec": "^1.8.0", + "type": "prod", + }, + }, + "location": "node_modules/object-inspect", + "name": "object-inspect", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/object-inspect", + "peer": true, + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", + "version": "1.8.0", + }, + "object-is" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/deep-equal", + "name": "object-is", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "define-properties" => EdgeOut { + "name": "define-properties", + "spec": "^1.1.3", + "to": "node_modules/define-properties", + "type": "prod", + }, + "es-abstract" => EdgeOut { + "name": "es-abstract", + "spec": "^1.18.0-next.1", + "to": "node_modules/es-abstract", + "type": "prod", + }, + }, + "location": "node_modules/object-is", + "name": "object-is", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/object-is", + "peer": true, + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.3.tgz", + "version": "1.1.3", + }, + "object-keys" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/deep-equal", + "name": "object-keys", + "spec": "^1.1.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/define-properties", + "name": "object-keys", + "spec": "^1.0.12", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/es-abstract", + "name": "object-keys", + "spec": "^1.1.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/object.assign", + "name": "object-keys", + "spec": "^1.1.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/regexp.prototype.flags/node_modules/es-abstract", + "name": "object-keys", + "spec": "^1.1.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/string.prototype.trimend/node_modules/es-abstract", + "name": "object-keys", + "spec": "^1.1.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/string.prototype.trimstart/node_modules/es-abstract", + "name": "object-keys", + "spec": "^1.1.1", + "type": "prod", + }, + }, + "location": "node_modules/object-keys", + "name": "object-keys", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/object-keys", + "peer": true, + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "version": "1.1.1", + }, + "object-visit" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/collection-visit", + "name": "object-visit", + "spec": "^1.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/map-visit", + "name": "object-visit", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "isobject" => EdgeOut { + "name": "isobject", + "spec": "^3.0.0", + "to": "node_modules/isobject", + "type": "prod", + }, + }, + "location": "node_modules/object-visit", + "name": "object-visit", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/object-visit", + "peer": true, + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "version": "1.0.1", + }, + "object.assign" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/es-abstract", + "name": "object.assign", + "spec": "^4.1.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/regexp.prototype.flags/node_modules/es-abstract", + "name": "object.assign", + "spec": "^4.1.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/string.prototype.trimend/node_modules/es-abstract", + "name": "object.assign", + "spec": "^4.1.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/string.prototype.trimstart/node_modules/es-abstract", + "name": "object.assign", + "spec": "^4.1.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "define-properties" => EdgeOut { + "name": "define-properties", + "spec": "^1.1.3", + "to": "node_modules/define-properties", + "type": "prod", + }, + "es-abstract" => EdgeOut { + "name": "es-abstract", + "spec": "^1.18.0-next.0", + "to": "node_modules/es-abstract", + "type": "prod", + }, + "has-symbols" => EdgeOut { + "name": "has-symbols", + "spec": "^1.0.1", + "to": "node_modules/has-symbols", + "type": "prod", + }, + "object-keys" => EdgeOut { + "name": "object-keys", + "spec": "^1.1.1", + "to": "node_modules/object-keys", + "type": "prod", + }, + }, + "location": "node_modules/object.assign", + "name": "object.assign", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/object.assign", + "peer": true, + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.1.tgz", + "version": "4.1.1", + }, + "object.pick" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/micromatch", + "name": "object.pick", + "spec": "^1.3.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/nanomatch", + "name": "object.pick", + "spec": "^1.3.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "isobject" => EdgeOut { + "name": "isobject", + "spec": "^3.0.1", + "to": "node_modules/isobject", + "type": "prod", + }, + }, + "location": "node_modules/object.pick", + "name": "object.pick", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/object.pick", + "peer": true, + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "version": "1.3.0", + }, + "obuf" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/hpack.js", + "name": "obuf", + "spec": "^1.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/spdy-transport", + "name": "obuf", + "spec": "^1.1.2", + "type": "prod", + }, + }, + "location": "node_modules/obuf", + "name": "obuf", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/obuf", + "peer": true, + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "version": "1.1.2", + }, + "on-finished" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/body-parser", + "name": "on-finished", + "spec": "~2.3.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/express", + "name": "on-finished", + "spec": "~2.3.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/finalhandler", + "name": "on-finished", + "spec": "~2.3.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/send", + "name": "on-finished", + "spec": "~2.3.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "ee-first" => EdgeOut { + "name": "ee-first", + "spec": "1.1.1", + "to": "node_modules/ee-first", + "type": "prod", + }, + }, + "location": "node_modules/on-finished", + "name": "on-finished", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/on-finished", + "peer": true, + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "version": "2.3.0", + }, + "on-headers" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/compression", + "name": "on-headers", + "spec": "~1.0.2", + "type": "prod", + }, + }, + "location": "node_modules/on-headers", + "name": "on-headers", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/on-headers", + "peer": true, + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "version": "1.0.2", + }, + "once" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/end-of-stream", + "name": "once", + "spec": "^1.4.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/glob", + "name": "once", + "spec": "^1.3.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/inflight", + "name": "once", + "spec": "^1.3.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/pump", + "name": "once", + "spec": "^1.3.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/pumpify/node_modules/pump", + "name": "once", + "spec": "^1.3.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "wrappy" => EdgeOut { + "name": "wrappy", + "spec": "1", + "to": "node_modules/wrappy", + "type": "prod", + }, + }, + "location": "node_modules/once", + "name": "once", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/once", + "peer": true, + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "version": "1.4.0", + }, "onetime" => ArboristNode { "edgesIn": Set { EdgeIn { @@ -6232,12 +35160,95 @@ ArboristNode { "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", "version": "5.1.2", }, + "opn" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "opn", + "spec": "^5.5.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-wsl" => EdgeOut { + "name": "is-wsl", + "spec": "^1.1.0", + "to": "node_modules/is-wsl", + "type": "prod", + }, + }, + "location": "node_modules/opn", + "name": "opn", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/opn", + "peer": true, + "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", + "version": "5.5.0", + }, + "original" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/eventsource", + "name": "original", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "url-parse" => EdgeOut { + "name": "url-parse", + "spec": "^1.4.3", + "to": "node_modules/url-parse", + "type": "prod", + }, + }, + "location": "node_modules/original", + "name": "original", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/original", + "peer": true, + "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", + "version": "1.0.2", + }, + "os-browserify" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/node-libs-browser", + "name": "os-browserify", + "spec": "^0.3.0", + "type": "prod", + }, + }, + "location": "node_modules/os-browserify", + "name": "os-browserify", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/os-browserify", + "peer": true, + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "version": "0.3.0", + }, + "p-finally" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/execa", + "name": "p-finally", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/p-finally", + "name": "p-finally", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/p-finally", + "peer": true, + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "version": "1.0.0", + }, "p-limit" => ArboristNode { "edgesIn": Set { EdgeIn { "from": "node_modules/p-locate", "name": "p-limit", - "spec": "^2.2.0", + "spec": "^2.0.0", "type": "prod", }, }, @@ -6261,14 +35272,14 @@ ArboristNode { EdgeIn { "from": "node_modules/locate-path", "name": "p-locate", - "spec": "^4.1.0", + "spec": "^3.0.0", "type": "prod", }, }, "edgesOut": Map { "p-limit" => EdgeOut { "name": "p-limit", - "spec": "^2.2.0", + "spec": "^2.0.0", "to": "node_modules/p-limit", "type": "prod", }, @@ -6277,19 +35288,55 @@ ArboristNode { "name": "p-locate", "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/p-locate", "peer": true, - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "version": "3.0.0", }, - "p-try" => ArboristNode { + "p-map" => ArboristNode { "edgesIn": Set { EdgeIn { - "from": "node_modules/p-limit", - "name": "p-try", + "from": "node_modules/del", + "name": "p-map", "spec": "^2.0.0", "type": "prod", }, + }, + "location": "node_modules/p-map", + "name": "p-map", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/p-map", + "peer": true, + "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", + "version": "2.1.0", + }, + "p-retry" => ArboristNode { + "edgesIn": Set { EdgeIn { - "from": "node_modules/terser-webpack-plugin/node_modules/p-limit", + "from": "node_modules/webpack-dev-server", + "name": "p-retry", + "spec": "^3.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "retry" => EdgeOut { + "name": "retry", + "spec": "^0.12.0", + "to": "node_modules/retry", + "type": "prod", + }, + }, + "location": "node_modules/p-retry", + "name": "p-retry", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/p-retry", + "peer": true, + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz", + "version": "3.0.1", + }, + "p-try" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/p-limit", "name": "p-try", "spec": "^2.0.0", "type": "prod", @@ -6302,6 +35349,163 @@ ArboristNode { "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", "version": "2.2.0", }, + "pako" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/browserify-zlib", + "name": "pako", + "spec": "~1.0.5", + "type": "prod", + }, + }, + "location": "node_modules/pako", + "name": "pako", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/pako", + "peer": true, + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "version": "1.0.11", + }, + "parallel-transform" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/mississippi", + "name": "parallel-transform", + "spec": "^1.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "cyclist" => EdgeOut { + "name": "cyclist", + "spec": "^1.0.1", + "to": "node_modules/cyclist", + "type": "prod", + }, + "inherits" => EdgeOut { + "name": "inherits", + "spec": "^2.0.3", + "to": "node_modules/inherits", + "type": "prod", + }, + "readable-stream" => EdgeOut { + "name": "readable-stream", + "spec": "^2.1.5", + "to": "node_modules/readable-stream", + "type": "prod", + }, + }, + "location": "node_modules/parallel-transform", + "name": "parallel-transform", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/parallel-transform", + "peer": true, + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "version": "1.2.0", + }, + "parse-asn1" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/browserify-sign", + "name": "parse-asn1", + "spec": "^5.1.5", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/public-encrypt", + "name": "parse-asn1", + "spec": "^5.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "asn1.js" => EdgeOut { + "name": "asn1.js", + "spec": "^5.2.0", + "to": "node_modules/asn1.js", + "type": "prod", + }, + "browserify-aes" => EdgeOut { + "name": "browserify-aes", + "spec": "^1.0.0", + "to": "node_modules/browserify-aes", + "type": "prod", + }, + "evp_bytestokey" => EdgeOut { + "name": "evp_bytestokey", + "spec": "^1.0.0", + "to": "node_modules/evp_bytestokey", + "type": "prod", + }, + "pbkdf2" => EdgeOut { + "name": "pbkdf2", + "spec": "^3.0.3", + "to": "node_modules/pbkdf2", + "type": "prod", + }, + "safe-buffer" => EdgeOut { + "name": "safe-buffer", + "spec": "^5.1.1", + "to": "node_modules/safe-buffer", + "type": "prod", + }, + }, + "location": "node_modules/parse-asn1", + "name": "parse-asn1", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/parse-asn1", + "peer": true, + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + "version": "5.1.6", + }, + "parseurl" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/express", + "name": "parseurl", + "spec": "~1.3.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/finalhandler", + "name": "parseurl", + "spec": "~1.3.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/serve-index", + "name": "parseurl", + "spec": "~1.3.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/serve-static", + "name": "parseurl", + "spec": "~1.3.3", + "type": "prod", + }, + }, + "location": "node_modules/parseurl", + "name": "parseurl", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/parseurl", + "peer": true, + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "version": "1.3.3", + }, + "pascalcase" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/base", + "name": "pascalcase", + "spec": "^0.1.1", + "type": "prod", + }, + }, + "location": "node_modules/pascalcase", + "name": "pascalcase", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/pascalcase", + "peer": true, + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "version": "0.1.1", + }, "patch-console" => ArboristNode { "edgesIn": Set { EdgeIn { @@ -6317,12 +35521,45 @@ ArboristNode { "resolved": "https://registry.npmjs.org/patch-console/-/patch-console-1.0.0.tgz", "version": "1.0.0", }, + "path-browserify" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/node-libs-browser", + "name": "path-browserify", + "spec": "0.0.1", + "type": "prod", + }, + }, + "location": "node_modules/path-browserify", + "name": "path-browserify", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/path-browserify", + "peer": true, + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "version": "0.0.1", + }, + "path-dirname" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/glob-parent", + "name": "path-dirname", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/path-dirname", + "name": "path-dirname", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/path-dirname", + "peer": true, + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "version": "1.0.2", + }, "path-exists" => ArboristNode { "edgesIn": Set { EdgeIn { - "from": "node_modules/find-up", + "from": "node_modules/locate-path", "name": "path-exists", - "spec": "^4.0.0", + "spec": "^3.0.0", "type": "prod", }, }, @@ -6330,22 +35567,248 @@ ArboristNode { "name": "path-exists", "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/path-exists", "peer": true, - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "version": "3.0.0", + }, + "path-is-absolute" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/chokidar", + "name": "path-is-absolute", + "spec": "^1.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/glob", + "name": "path-is-absolute", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/path-is-absolute", + "name": "path-is-absolute", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/path-is-absolute", + "peer": true, + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "version": "1.0.1", + }, + "path-is-inside" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/is-path-inside", + "name": "path-is-inside", + "spec": "^1.0.2", + "type": "prod", + }, + }, + "location": "node_modules/path-is-inside", + "name": "path-is-inside", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/path-is-inside", + "peer": true, + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "version": "1.0.2", + }, + "path-key" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/cross-spawn", + "name": "path-key", + "spec": "^2.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/npm-run-path", + "name": "path-key", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/path-key", + "name": "path-key", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/path-key", + "peer": true, + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "version": "2.0.1", + }, + "path-to-regexp" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/express", + "name": "path-to-regexp", + "spec": "0.1.7", + "type": "prod", + }, + }, + "location": "node_modules/path-to-regexp", + "name": "path-to-regexp", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/path-to-regexp", + "peer": true, + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "version": "0.1.7", + }, + "pbkdf2" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/crypto-browserify", + "name": "pbkdf2", + "spec": "^3.0.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/parse-asn1", + "name": "pbkdf2", + "spec": "^3.0.3", + "type": "prod", + }, + }, + "edgesOut": Map { + "create-hash" => EdgeOut { + "name": "create-hash", + "spec": "^1.1.2", + "to": "node_modules/create-hash", + "type": "prod", + }, + "create-hmac" => EdgeOut { + "name": "create-hmac", + "spec": "^1.1.4", + "to": "node_modules/create-hmac", + "type": "prod", + }, + "ripemd160" => EdgeOut { + "name": "ripemd160", + "spec": "^2.0.1", + "to": "node_modules/ripemd160", + "type": "prod", + }, + "safe-buffer" => EdgeOut { + "name": "safe-buffer", + "spec": "^5.0.1", + "to": "node_modules/safe-buffer", + "type": "prod", + }, + "sha.js" => EdgeOut { + "name": "sha.js", + "spec": "^2.4.8", + "to": "node_modules/sha.js", + "type": "prod", + }, + }, + "location": "node_modules/pbkdf2", + "name": "pbkdf2", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/pbkdf2", + "peer": true, + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", + "version": "3.1.1", + }, + "picomatch" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/watchpack/node_modules/anymatch", + "name": "picomatch", + "spec": "^2.0.4", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/watchpack/node_modules/readdirp", + "name": "picomatch", + "spec": "^2.2.1", + "type": "prod", + }, + }, + "location": "node_modules/picomatch", + "name": "picomatch", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/picomatch", + "peer": true, + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "version": "2.2.2", + }, + "pify" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/del", + "name": "pify", + "spec": "^4.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/make-dir", + "name": "pify", + "spec": "^4.0.1", + "type": "prod", + }, + }, + "location": "node_modules/pify", + "name": "pify", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/pify", + "peer": true, + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "version": "4.0.1", + }, + "pinkie" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/pinkie-promise", + "name": "pinkie", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/pinkie", + "name": "pinkie", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/pinkie", + "peer": true, + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "version": "2.0.4", + }, + "pinkie-promise" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/globby", + "name": "pinkie-promise", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "pinkie" => EdgeOut { + "name": "pinkie", + "spec": "^2.0.0", + "to": "node_modules/pinkie", + "type": "prod", + }, + }, + "location": "node_modules/pinkie-promise", + "name": "pinkie-promise", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/pinkie-promise", + "peer": true, + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "version": "2.0.1", }, "pkg-dir" => ArboristNode { "edgesIn": Set { EdgeIn { - "from": "node_modules/webpack", + "from": "node_modules/find-cache-dir", "name": "pkg-dir", - "spec": "^4.2.0", + "spec": "^3.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/import-local", + "name": "pkg-dir", + "spec": "^3.0.0", "type": "prod", }, }, "edgesOut": Map { "find-up" => EdgeOut { "name": "find-up", - "spec": "^4.0.0", + "spec": "^3.0.0", "to": "node_modules/find-up", "type": "prod", }, @@ -6354,8 +35817,109 @@ ArboristNode { "name": "pkg-dir", "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/pkg-dir", "peer": true, - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "version": "3.0.0", + }, + "portfinder" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "portfinder", + "spec": "^1.0.26", + "type": "prod", + }, + }, + "edgesOut": Map { + "async" => EdgeOut { + "name": "async", + "spec": "^2.6.2", + "to": "node_modules/async", + "type": "prod", + }, + "debug" => EdgeOut { + "name": "debug", + "spec": "^3.1.1", + "to": "node_modules/debug", + "type": "prod", + }, + "mkdirp" => EdgeOut { + "name": "mkdirp", + "spec": "^0.5.5", + "to": "node_modules/mkdirp", + "type": "prod", + }, + }, + "location": "node_modules/portfinder", + "name": "portfinder", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/portfinder", + "peer": true, + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", + "version": "1.0.28", + }, + "posix-character-classes" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/expand-brackets", + "name": "posix-character-classes", + "spec": "^0.1.0", + "type": "prod", + }, + }, + "location": "node_modules/posix-character-classes", + "name": "posix-character-classes", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/posix-character-classes", + "peer": true, + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "version": "0.1.1", + }, + "process" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/node-libs-browser", + "name": "process", + "spec": "^0.11.10", + "type": "prod", + }, + }, + "location": "node_modules/process", + "name": "process", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/process", + "peer": true, + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "version": "0.11.10", + }, + "process-nextick-args" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/readable-stream", + "name": "process-nextick-args", + "spec": "~2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/process-nextick-args", + "name": "process-nextick-args", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/process-nextick-args", + "peer": true, + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "version": "2.0.1", + }, + "promise-inflight" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/cacache", + "name": "promise-inflight", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "location": "node_modules/promise-inflight", + "name": "promise-inflight", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/promise-inflight", + "peer": true, + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "version": "1.0.1", }, "prop-types" => ArboristNode { "edgesIn": Set { @@ -6404,6 +35968,229 @@ ArboristNode { "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", "version": "15.7.2", }, + "proxy-addr" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/express", + "name": "proxy-addr", + "spec": "~2.0.5", + "type": "prod", + }, + }, + "edgesOut": Map { + "forwarded" => EdgeOut { + "name": "forwarded", + "spec": "~0.1.2", + "to": "node_modules/forwarded", + "type": "prod", + }, + "ipaddr.js" => EdgeOut { + "name": "ipaddr.js", + "spec": "1.9.1", + "to": "node_modules/ipaddr.js", + "type": "prod", + }, + }, + "location": "node_modules/proxy-addr", + "name": "proxy-addr", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/proxy-addr", + "peer": true, + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", + "version": "2.0.6", + }, + "prr" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/errno", + "name": "prr", + "spec": "~1.0.1", + "type": "prod", + }, + }, + "location": "node_modules/prr", + "name": "prr", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/prr", + "peer": true, + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "version": "1.0.1", + }, + "public-encrypt" => ArboristNode { + "children": Map { + "bn.js" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/public-encrypt", + "name": "bn.js", + "spec": "^4.1.0", + "type": "prod", + }, + }, + "location": "node_modules/public-encrypt/node_modules/bn.js", + "name": "bn.js", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/public-encrypt/node_modules/bn.js", + "peer": true, + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "version": "4.11.9", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/crypto-browserify", + "name": "public-encrypt", + "spec": "^4.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "bn.js" => EdgeOut { + "name": "bn.js", + "spec": "^4.1.0", + "to": "node_modules/public-encrypt/node_modules/bn.js", + "type": "prod", + }, + "browserify-rsa" => EdgeOut { + "name": "browserify-rsa", + "spec": "^4.0.0", + "to": "node_modules/browserify-rsa", + "type": "prod", + }, + "create-hash" => EdgeOut { + "name": "create-hash", + "spec": "^1.1.0", + "to": "node_modules/create-hash", + "type": "prod", + }, + "parse-asn1" => EdgeOut { + "name": "parse-asn1", + "spec": "^5.0.0", + "to": "node_modules/parse-asn1", + "type": "prod", + }, + "randombytes" => EdgeOut { + "name": "randombytes", + "spec": "^2.0.1", + "to": "node_modules/randombytes", + "type": "prod", + }, + "safe-buffer" => EdgeOut { + "name": "safe-buffer", + "spec": "^5.1.2", + "to": "node_modules/safe-buffer", + "type": "prod", + }, + }, + "location": "node_modules/public-encrypt", + "name": "public-encrypt", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/public-encrypt", + "peer": true, + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "version": "4.0.3", + }, + "pump" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/get-stream", + "name": "pump", + "spec": "^3.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/mississippi", + "name": "pump", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "end-of-stream" => EdgeOut { + "name": "end-of-stream", + "spec": "^1.1.0", + "to": "node_modules/end-of-stream", + "type": "prod", + }, + "once" => EdgeOut { + "name": "once", + "spec": "^1.3.1", + "to": "node_modules/once", + "type": "prod", + }, + }, + "location": "node_modules/pump", + "name": "pump", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/pump", + "peer": true, + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "version": "3.0.0", + }, + "pumpify" => ArboristNode { + "children": Map { + "pump" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/pumpify", + "name": "pump", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "end-of-stream" => EdgeOut { + "name": "end-of-stream", + "spec": "^1.1.0", + "to": "node_modules/end-of-stream", + "type": "prod", + }, + "once" => EdgeOut { + "name": "once", + "spec": "^1.3.1", + "to": "node_modules/once", + "type": "prod", + }, + }, + "location": "node_modules/pumpify/node_modules/pump", + "name": "pump", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/pumpify/node_modules/pump", + "peer": true, + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "version": "2.0.1", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/mississippi", + "name": "pumpify", + "spec": "^1.3.3", + "type": "prod", + }, + }, + "edgesOut": Map { + "duplexify" => EdgeOut { + "name": "duplexify", + "spec": "^3.6.0", + "to": "node_modules/duplexify", + "type": "prod", + }, + "inherits" => EdgeOut { + "name": "inherits", + "spec": "^2.0.3", + "to": "node_modules/inherits", + "type": "prod", + }, + "pump" => EdgeOut { + "name": "pump", + "spec": "^2.0.0", + "to": "node_modules/pumpify/node_modules/pump", + "type": "prod", + }, + }, + "location": "node_modules/pumpify", + "name": "pumpify", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/pumpify", + "peer": true, + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "version": "1.5.1", + }, "punycode" => ArboristNode { "edgesIn": Set { EdgeIn { @@ -6419,6 +36206,29 @@ ArboristNode { "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", "version": "2.1.1", }, + "qs" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/body-parser", + "name": "qs", + "spec": "6.7.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/express", + "name": "qs", + "spec": "6.7.0", + "type": "prod", + }, + }, + "location": "node_modules/qs", + "name": "qs", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/qs", + "peer": true, + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "version": "6.7.0", + }, "querystring" => ArboristNode { "edgesIn": Set { EdgeIn { @@ -6427,6 +36237,12 @@ ArboristNode { "spec": "^0.2.0", "type": "prod", }, + EdgeIn { + "from": "node_modules/url", + "name": "querystring", + "spec": "0.2.0", + "type": "prod", + }, }, "location": "node_modules/querystring", "name": "querystring", @@ -6434,9 +36250,72 @@ ArboristNode { "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", "version": "0.2.0", }, + "querystring-es3" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/node-libs-browser", + "name": "querystring-es3", + "spec": "^0.2.0", + "type": "prod", + }, + }, + "location": "node_modules/querystring-es3", + "name": "querystring-es3", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/querystring-es3", + "peer": true, + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "version": "0.2.1", + }, + "querystringify" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/url-parse", + "name": "querystringify", + "spec": "^2.1.1", + "type": "prod", + }, + }, + "location": "node_modules/querystringify", + "name": "querystringify", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/querystringify", + "peer": true, + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "version": "2.2.0", + }, "randombytes" => ArboristNode { "edgesIn": Set { EdgeIn { + "from": "node_modules/browserify-rsa", + "name": "randombytes", + "spec": "^2.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/crypto-browserify", + "name": "randombytes", + "spec": "^2.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/diffie-hellman", + "name": "randombytes", + "spec": "^2.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/public-encrypt", + "name": "randombytes", + "spec": "^2.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/randomfill", + "name": "randombytes", + "spec": "^2.0.5", + "type": "prod", + }, + EdgeIn { "from": "node_modules/serialize-javascript", "name": "randombytes", "spec": "^2.1.0", @@ -6458,6 +36337,127 @@ ArboristNode { "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", "version": "2.1.0", }, + "randomfill" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/crypto-browserify", + "name": "randomfill", + "spec": "^1.0.3", + "type": "prod", + }, + }, + "edgesOut": Map { + "randombytes" => EdgeOut { + "name": "randombytes", + "spec": "^2.0.5", + "to": "node_modules/randombytes", + "type": "prod", + }, + "safe-buffer" => EdgeOut { + "name": "safe-buffer", + "spec": "^5.1.0", + "to": "node_modules/safe-buffer", + "type": "prod", + }, + }, + "location": "node_modules/randomfill", + "name": "randomfill", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/randomfill", + "peer": true, + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "version": "1.0.4", + }, + "range-parser" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/express", + "name": "range-parser", + "spec": "~1.2.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/send", + "name": "range-parser", + "spec": "~1.2.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/webpack-dev-middleware", + "name": "range-parser", + "spec": "^1.2.1", + "type": "prod", + }, + }, + "location": "node_modules/range-parser", + "name": "range-parser", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/range-parser", + "peer": true, + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "version": "1.2.1", + }, + "raw-body" => ArboristNode { + "children": Map { + "bytes" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/raw-body", + "name": "bytes", + "spec": "3.1.0", + "type": "prod", + }, + }, + "location": "node_modules/raw-body/node_modules/bytes", + "name": "bytes", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/raw-body/node_modules/bytes", + "peer": true, + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "version": "3.1.0", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/body-parser", + "name": "raw-body", + "spec": "2.4.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "bytes" => EdgeOut { + "name": "bytes", + "spec": "3.1.0", + "to": "node_modules/raw-body/node_modules/bytes", + "type": "prod", + }, + "http-errors" => EdgeOut { + "name": "http-errors", + "spec": "1.7.2", + "to": "node_modules/http-errors", + "type": "prod", + }, + "iconv-lite" => EdgeOut { + "name": "iconv-lite", + "spec": "0.4.24", + "to": "node_modules/iconv-lite", + "type": "prod", + }, + "unpipe" => EdgeOut { + "name": "unpipe", + "spec": "1.0.0", + "to": "node_modules/unpipe", + "type": "prod", + }, + }, + "location": "node_modules/raw-body", + "name": "raw-body", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/raw-body", + "peer": true, + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", + "version": "2.4.0", + }, "react" => ArboristNode { "edgesIn": Set { EdgeIn { @@ -6644,6 +36644,597 @@ ArboristNode { "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.8.3.tgz", "version": "0.8.3", }, + "readable-stream" => ArboristNode { + "children": Map { + "safe-buffer" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/readable-stream", + "name": "safe-buffer", + "spec": "~5.1.1", + "type": "prod", + }, + }, + "location": "node_modules/readable-stream/node_modules/safe-buffer", + "name": "safe-buffer", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/readable-stream/node_modules/safe-buffer", + "peer": true, + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "version": "5.1.2", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/concat-stream", + "name": "readable-stream", + "spec": "^2.2.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/duplexify", + "name": "readable-stream", + "spec": "^2.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/enhanced-resolve/node_modules/memory-fs", + "name": "readable-stream", + "spec": "^2.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/flush-write-stream", + "name": "readable-stream", + "spec": "^2.3.6", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/from2", + "name": "readable-stream", + "spec": "^2.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/fs-write-stream-atomic", + "name": "readable-stream", + "spec": "1 || 2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/hpack.js", + "name": "readable-stream", + "spec": "^2.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/memory-fs", + "name": "readable-stream", + "spec": "^2.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/node-libs-browser", + "name": "readable-stream", + "spec": "^2.3.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/parallel-transform", + "name": "readable-stream", + "spec": "^2.1.5", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/readdirp", + "name": "readable-stream", + "spec": "^2.0.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/stream-browserify", + "name": "readable-stream", + "spec": "^2.0.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/stream-http", + "name": "readable-stream", + "spec": "^2.3.6", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/through2", + "name": "readable-stream", + "spec": "~2.3.6", + "type": "prod", + }, + }, + "edgesOut": Map { + "core-util-is" => EdgeOut { + "name": "core-util-is", + "spec": "~1.0.0", + "to": "node_modules/core-util-is", + "type": "prod", + }, + "inherits" => EdgeOut { + "name": "inherits", + "spec": "~2.0.3", + "to": "node_modules/inherits", + "type": "prod", + }, + "isarray" => EdgeOut { + "name": "isarray", + "spec": "~1.0.0", + "to": "node_modules/isarray", + "type": "prod", + }, + "process-nextick-args" => EdgeOut { + "name": "process-nextick-args", + "spec": "~2.0.0", + "to": "node_modules/process-nextick-args", + "type": "prod", + }, + "safe-buffer" => EdgeOut { + "name": "safe-buffer", + "spec": "~5.1.1", + "to": "node_modules/readable-stream/node_modules/safe-buffer", + "type": "prod", + }, + "string_decoder" => EdgeOut { + "name": "string_decoder", + "spec": "~1.1.1", + "to": "node_modules/string_decoder", + "type": "prod", + }, + "util-deprecate" => EdgeOut { + "name": "util-deprecate", + "spec": "~1.0.1", + "to": "node_modules/util-deprecate", + "type": "prod", + }, + }, + "location": "node_modules/readable-stream", + "name": "readable-stream", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/readable-stream", + "peer": true, + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "version": "2.3.7", + }, + "readdirp" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/chokidar", + "name": "readdirp", + "spec": "^2.2.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "graceful-fs" => EdgeOut { + "name": "graceful-fs", + "spec": "^4.1.11", + "to": "node_modules/graceful-fs", + "type": "prod", + }, + "micromatch" => EdgeOut { + "name": "micromatch", + "spec": "^3.1.10", + "to": "node_modules/micromatch", + "type": "prod", + }, + "readable-stream" => EdgeOut { + "name": "readable-stream", + "spec": "^2.0.2", + "to": "node_modules/readable-stream", + "type": "prod", + }, + }, + "location": "node_modules/readdirp", + "name": "readdirp", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/readdirp", + "peer": true, + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "version": "2.2.1", + }, + "regex-not" => ArboristNode { + "children": Map { + "extend-shallow" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/regex-not", + "name": "extend-shallow", + "spec": "^3.0.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "assign-symbols" => EdgeOut { + "name": "assign-symbols", + "spec": "^1.0.0", + "to": "node_modules/assign-symbols", + "type": "prod", + }, + "is-extendable" => EdgeOut { + "name": "is-extendable", + "spec": "^1.0.1", + "to": "node_modules/regex-not/node_modules/is-extendable", + "type": "prod", + }, + }, + "location": "node_modules/regex-not/node_modules/extend-shallow", + "name": "extend-shallow", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/regex-not/node_modules/extend-shallow", + "peer": true, + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "version": "3.0.2", + }, + "is-extendable" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/regex-not/node_modules/extend-shallow", + "name": "is-extendable", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-plain-object" => EdgeOut { + "name": "is-plain-object", + "spec": "^2.0.4", + "to": "node_modules/is-plain-object", + "type": "prod", + }, + }, + "location": "node_modules/regex-not/node_modules/is-extendable", + "name": "is-extendable", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/regex-not/node_modules/is-extendable", + "peer": true, + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "version": "1.0.1", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/expand-brackets", + "name": "regex-not", + "spec": "^1.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/extglob", + "name": "regex-not", + "spec": "^1.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/micromatch", + "name": "regex-not", + "spec": "^1.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/nanomatch", + "name": "regex-not", + "spec": "^1.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/to-regex", + "name": "regex-not", + "spec": "^1.0.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "extend-shallow" => EdgeOut { + "name": "extend-shallow", + "spec": "^3.0.2", + "to": "node_modules/regex-not/node_modules/extend-shallow", + "type": "prod", + }, + "safe-regex" => EdgeOut { + "name": "safe-regex", + "spec": "^1.1.0", + "to": "node_modules/safe-regex", + "type": "prod", + }, + }, + "location": "node_modules/regex-not", + "name": "regex-not", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/regex-not", + "peer": true, + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "version": "1.0.2", + }, + "regexp.prototype.flags" => ArboristNode { + "children": Map { + "es-abstract" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/regexp.prototype.flags", + "name": "es-abstract", + "spec": "^1.17.0-next.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "es-to-primitive" => EdgeOut { + "name": "es-to-primitive", + "spec": "^1.2.1", + "to": "node_modules/es-to-primitive", + "type": "prod", + }, + "function-bind" => EdgeOut { + "name": "function-bind", + "spec": "^1.1.1", + "to": "node_modules/function-bind", + "type": "prod", + }, + "has" => EdgeOut { + "name": "has", + "spec": "^1.0.3", + "to": "node_modules/has", + "type": "prod", + }, + "has-symbols" => EdgeOut { + "name": "has-symbols", + "spec": "^1.0.1", + "to": "node_modules/has-symbols", + "type": "prod", + }, + "is-callable" => EdgeOut { + "name": "is-callable", + "spec": "^1.2.2", + "to": "node_modules/is-callable", + "type": "prod", + }, + "is-regex" => EdgeOut { + "name": "is-regex", + "spec": "^1.1.1", + "to": "node_modules/is-regex", + "type": "prod", + }, + "object-inspect" => EdgeOut { + "name": "object-inspect", + "spec": "^1.8.0", + "to": "node_modules/object-inspect", + "type": "prod", + }, + "object-keys" => EdgeOut { + "name": "object-keys", + "spec": "^1.1.1", + "to": "node_modules/object-keys", + "type": "prod", + }, + "object.assign" => EdgeOut { + "name": "object.assign", + "spec": "^4.1.1", + "to": "node_modules/object.assign", + "type": "prod", + }, + "string.prototype.trimend" => EdgeOut { + "name": "string.prototype.trimend", + "spec": "^1.0.1", + "to": "node_modules/string.prototype.trimend", + "type": "prod", + }, + "string.prototype.trimstart" => EdgeOut { + "name": "string.prototype.trimstart", + "spec": "^1.0.1", + "to": "node_modules/string.prototype.trimstart", + "type": "prod", + }, + }, + "location": "node_modules/regexp.prototype.flags/node_modules/es-abstract", + "name": "es-abstract", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/regexp.prototype.flags/node_modules/es-abstract", + "peer": true, + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", + "version": "1.17.7", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/deep-equal", + "name": "regexp.prototype.flags", + "spec": "^1.2.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "define-properties" => EdgeOut { + "name": "define-properties", + "spec": "^1.1.3", + "to": "node_modules/define-properties", + "type": "prod", + }, + "es-abstract" => EdgeOut { + "name": "es-abstract", + "spec": "^1.17.0-next.1", + "to": "node_modules/regexp.prototype.flags/node_modules/es-abstract", + "type": "prod", + }, + }, + "location": "node_modules/regexp.prototype.flags", + "name": "regexp.prototype.flags", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/regexp.prototype.flags", + "peer": true, + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz", + "version": "1.3.0", + }, + "remove-trailing-separator" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/anymatch/node_modules/normalize-path", + "name": "remove-trailing-separator", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "location": "node_modules/remove-trailing-separator", + "name": "remove-trailing-separator", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/remove-trailing-separator", + "peer": true, + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "version": "1.1.0", + }, + "repeat-element" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/braces", + "name": "repeat-element", + "spec": "^1.1.2", + "type": "prod", + }, + }, + "location": "node_modules/repeat-element", + "name": "repeat-element", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/repeat-element", + "peer": true, + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "version": "1.1.3", + }, + "repeat-string" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/fill-range", + "name": "repeat-string", + "spec": "^1.6.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/to-regex-range", + "name": "repeat-string", + "spec": "^1.6.1", + "type": "prod", + }, + }, + "location": "node_modules/repeat-string", + "name": "repeat-string", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/repeat-string", + "peer": true, + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "version": "1.6.1", + }, + "require-directory" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/yargs", + "name": "require-directory", + "spec": "^2.1.1", + "type": "prod", + }, + }, + "location": "node_modules/require-directory", + "name": "require-directory", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/require-directory", + "peer": true, + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "version": "2.1.1", + }, + "require-main-filename" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/yargs", + "name": "require-main-filename", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/require-main-filename", + "name": "require-main-filename", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/require-main-filename", + "peer": true, + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "version": "2.0.0", + }, + "requires-port" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/http-proxy", + "name": "requires-port", + "spec": "^1.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/url-parse", + "name": "requires-port", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/requires-port", + "name": "requires-port", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/requires-port", + "peer": true, + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "version": "1.0.0", + }, + "resolve-cwd" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/import-local", + "name": "resolve-cwd", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "resolve-from" => EdgeOut { + "name": "resolve-from", + "spec": "^3.0.0", + "to": "node_modules/resolve-from", + "type": "prod", + }, + }, + "location": "node_modules/resolve-cwd", + "name": "resolve-cwd", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/resolve-cwd", + "peer": true, + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "version": "2.0.0", + }, + "resolve-from" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/resolve-cwd", + "name": "resolve-from", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "location": "node_modules/resolve-from", + "name": "resolve-from", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/resolve-from", + "peer": true, + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "version": "3.0.0", + }, + "resolve-url" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/source-map-resolve", + "name": "resolve-url", + "spec": "^0.2.1", + "type": "prod", + }, + }, + "location": "node_modules/resolve-url", + "name": "resolve-url", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/resolve-url", + "peer": true, + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "version": "0.2.1", + }, "restore-cursor" => ArboristNode { "edgesIn": Set { EdgeIn { @@ -6673,14 +37264,251 @@ ArboristNode { "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", "version": "3.1.0", }, + "ret" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/safe-regex", + "name": "ret", + "spec": "~0.1.10", + "type": "prod", + }, + }, + "location": "node_modules/ret", + "name": "ret", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/ret", + "peer": true, + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "version": "0.1.15", + }, + "retry" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/p-retry", + "name": "retry", + "spec": "^0.12.0", + "type": "prod", + }, + }, + "location": "node_modules/retry", + "name": "retry", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/retry", + "peer": true, + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "version": "0.12.0", + }, + "rimraf" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/cacache", + "name": "rimraf", + "spec": "^2.6.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/copy-concurrently", + "name": "rimraf", + "spec": "^2.5.4", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/del", + "name": "rimraf", + "spec": "^2.6.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/move-concurrently", + "name": "rimraf", + "spec": "^2.5.4", + "type": "prod", + }, + }, + "edgesOut": Map { + "glob" => EdgeOut { + "name": "glob", + "spec": "^7.1.3", + "to": "node_modules/glob", + "type": "prod", + }, + }, + "location": "node_modules/rimraf", + "name": "rimraf", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/rimraf", + "peer": true, + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "version": "2.7.1", + }, + "ripemd160" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/create-hash", + "name": "ripemd160", + "spec": "^2.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/create-hmac", + "name": "ripemd160", + "spec": "^2.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/pbkdf2", + "name": "ripemd160", + "spec": "^2.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "hash-base" => EdgeOut { + "name": "hash-base", + "spec": "^3.0.0", + "to": "node_modules/hash-base", + "type": "prod", + }, + "inherits" => EdgeOut { + "name": "inherits", + "spec": "^2.0.1", + "to": "node_modules/inherits", + "type": "prod", + }, + }, + "location": "node_modules/ripemd160", + "name": "ripemd160", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/ripemd160", + "peer": true, + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "version": "2.0.2", + }, + "run-queue" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/copy-concurrently", + "name": "run-queue", + "spec": "^1.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/move-concurrently", + "name": "run-queue", + "spec": "^1.0.3", + "type": "prod", + }, + }, + "edgesOut": Map { + "aproba" => EdgeOut { + "name": "aproba", + "spec": "^1.1.1", + "to": "node_modules/aproba", + "type": "prod", + }, + }, + "location": "node_modules/run-queue", + "name": "run-queue", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/run-queue", + "peer": true, + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "version": "1.0.3", + }, "safe-buffer" => ArboristNode { "edgesIn": Set { EdgeIn { + "from": "node_modules/browserify-aes", + "name": "safe-buffer", + "spec": "^5.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/browserify-des", + "name": "safe-buffer", + "spec": "^5.1.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/browserify-sign", + "name": "safe-buffer", + "spec": "^5.2.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/cipher-base", + "name": "safe-buffer", + "spec": "^5.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/create-hmac", + "name": "safe-buffer", + "spec": "^5.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/dns-packet", + "name": "safe-buffer", + "spec": "^5.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/evp_bytestokey", + "name": "safe-buffer", + "spec": "^5.1.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/hash-base", + "name": "safe-buffer", + "spec": "^5.2.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/md5.js", + "name": "safe-buffer", + "spec": "^5.1.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/parse-asn1", + "name": "safe-buffer", + "spec": "^5.1.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/pbkdf2", + "name": "safe-buffer", + "spec": "^5.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/public-encrypt", + "name": "safe-buffer", + "spec": "^5.1.2", + "type": "prod", + }, + EdgeIn { "from": "node_modules/randombytes", "name": "safe-buffer", "spec": "^5.1.0", "type": "prod", }, + EdgeIn { + "from": "node_modules/randomfill", + "name": "safe-buffer", + "spec": "^5.1.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/sha.js", + "name": "safe-buffer", + "spec": "^5.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/websocket-driver", + "name": "safe-buffer", + "spec": ">=5.1.0", + "type": "prod", + }, }, "location": "node_modules/safe-buffer", "name": "safe-buffer", @@ -6689,6 +37517,58 @@ ArboristNode { "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", "version": "5.2.1", }, + "safe-regex" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/regex-not", + "name": "safe-regex", + "spec": "^1.1.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/to-regex", + "name": "safe-regex", + "spec": "^1.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "ret" => EdgeOut { + "name": "ret", + "spec": "~0.1.10", + "to": "node_modules/ret", + "type": "prod", + }, + }, + "location": "node_modules/safe-regex", + "name": "safe-regex", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/safe-regex", + "peer": true, + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "version": "1.1.0", + }, + "safer-buffer" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/asn1.js", + "name": "safer-buffer", + "spec": "^2.1.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/iconv-lite", + "name": "safer-buffer", + "spec": ">= 2.1.2 < 3", + "type": "prod", + }, + }, + "location": "node_modules/safer-buffer", + "name": "safer-buffer", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/safer-buffer", + "peer": true, + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "version": "2.1.2", + }, "scheduler" => ArboristNode { "edgesIn": Set { EdgeIn { @@ -6759,12 +37639,237 @@ ArboristNode { "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", "version": "2.7.1", }, + "select-hose" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/spdy", + "name": "select-hose", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/select-hose", + "name": "select-hose", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/select-hose", + "peer": true, + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "version": "2.0.0", + }, + "selfsigned" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "selfsigned", + "spec": "^1.10.7", + "type": "prod", + }, + }, + "edgesOut": Map { + "node-forge" => EdgeOut { + "name": "node-forge", + "spec": "^0.10.0", + "to": "node_modules/node-forge", + "type": "prod", + }, + }, + "location": "node_modules/selfsigned", + "name": "selfsigned", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/selfsigned", + "peer": true, + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.8.tgz", + "version": "1.10.8", + }, + "semver" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "semver", + "spec": "^6.3.0", + "type": "prod", + }, + }, + "location": "node_modules/semver", + "name": "semver", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/semver", + "peer": true, + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "version": "6.3.0", + }, + "send" => ArboristNode { + "children": Map { + "debug" => ArboristNode { + "children": Map { + "ms" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/send/node_modules/debug", + "name": "ms", + "spec": "2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/send/node_modules/debug/node_modules/ms", + "name": "ms", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/send/node_modules/debug/node_modules/ms", + "peer": true, + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "version": "2.0.0", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/send", + "name": "debug", + "spec": "2.6.9", + "type": "prod", + }, + }, + "edgesOut": Map { + "ms" => EdgeOut { + "name": "ms", + "spec": "2.0.0", + "to": "node_modules/send/node_modules/debug/node_modules/ms", + "type": "prod", + }, + }, + "location": "node_modules/send/node_modules/debug", + "name": "debug", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/send/node_modules/debug", + "peer": true, + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "version": "2.6.9", + }, + "ms" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/send", + "name": "ms", + "spec": "2.1.1", + "type": "prod", + }, + }, + "location": "node_modules/send/node_modules/ms", + "name": "ms", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/send/node_modules/ms", + "peer": true, + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "version": "2.1.1", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/express", + "name": "send", + "spec": "0.17.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/serve-static", + "name": "send", + "spec": "0.17.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "debug" => EdgeOut { + "name": "debug", + "spec": "2.6.9", + "to": "node_modules/send/node_modules/debug", + "type": "prod", + }, + "depd" => EdgeOut { + "name": "depd", + "spec": "~1.1.2", + "to": "node_modules/depd", + "type": "prod", + }, + "destroy" => EdgeOut { + "name": "destroy", + "spec": "~1.0.4", + "to": "node_modules/destroy", + "type": "prod", + }, + "encodeurl" => EdgeOut { + "name": "encodeurl", + "spec": "~1.0.2", + "to": "node_modules/encodeurl", + "type": "prod", + }, + "escape-html" => EdgeOut { + "name": "escape-html", + "spec": "~1.0.3", + "to": "node_modules/escape-html", + "type": "prod", + }, + "etag" => EdgeOut { + "name": "etag", + "spec": "~1.8.1", + "to": "node_modules/etag", + "type": "prod", + }, + "fresh" => EdgeOut { + "name": "fresh", + "spec": "0.5.2", + "to": "node_modules/fresh", + "type": "prod", + }, + "http-errors" => EdgeOut { + "name": "http-errors", + "spec": "~1.7.2", + "to": "node_modules/http-errors", + "type": "prod", + }, + "mime" => EdgeOut { + "name": "mime", + "spec": "1.6.0", + "to": "node_modules/mime", + "type": "prod", + }, + "ms" => EdgeOut { + "name": "ms", + "spec": "2.1.1", + "to": "node_modules/send/node_modules/ms", + "type": "prod", + }, + "on-finished" => EdgeOut { + "name": "on-finished", + "spec": "~2.3.0", + "to": "node_modules/on-finished", + "type": "prod", + }, + "range-parser" => EdgeOut { + "name": "range-parser", + "spec": "~1.2.1", + "to": "node_modules/range-parser", + "type": "prod", + }, + "statuses" => EdgeOut { + "name": "statuses", + "spec": "~1.5.0", + "to": "node_modules/statuses", + "type": "prod", + }, + }, + "location": "node_modules/send", + "name": "send", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/send", + "peer": true, + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "version": "0.17.1", + }, "serialize-javascript" => ArboristNode { "edgesIn": Set { EdgeIn { "from": "node_modules/terser-webpack-plugin", "name": "serialize-javascript", - "spec": "^5.0.1", + "spec": "^4.0.0", "type": "prod", }, }, @@ -6780,8 +37885,421 @@ ArboristNode { "name": "serialize-javascript", "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/serialize-javascript", "peer": true, - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", - "version": "5.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "version": "4.0.0", + }, + "serve-index" => ArboristNode { + "children": Map { + "debug" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/serve-index", + "name": "debug", + "spec": "2.6.9", + "type": "prod", + }, + }, + "edgesOut": Map { + "ms" => EdgeOut { + "name": "ms", + "spec": "2.0.0", + "to": "node_modules/serve-index/node_modules/ms", + "type": "prod", + }, + }, + "location": "node_modules/serve-index/node_modules/debug", + "name": "debug", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/serve-index/node_modules/debug", + "peer": true, + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "version": "2.6.9", + }, + "http-errors" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/serve-index", + "name": "http-errors", + "spec": "~1.6.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "depd" => EdgeOut { + "name": "depd", + "spec": "~1.1.2", + "to": "node_modules/depd", + "type": "prod", + }, + "inherits" => EdgeOut { + "name": "inherits", + "spec": "2.0.3", + "to": "node_modules/serve-index/node_modules/inherits", + "type": "prod", + }, + "setprototypeof" => EdgeOut { + "name": "setprototypeof", + "spec": "1.1.0", + "to": "node_modules/serve-index/node_modules/setprototypeof", + "type": "prod", + }, + "statuses" => EdgeOut { + "name": "statuses", + "spec": ">= 1.4.0 < 2", + "to": "node_modules/statuses", + "type": "prod", + }, + }, + "location": "node_modules/serve-index/node_modules/http-errors", + "name": "http-errors", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/serve-index/node_modules/http-errors", + "peer": true, + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "version": "1.6.3", + }, + "inherits" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/serve-index/node_modules/http-errors", + "name": "inherits", + "spec": "2.0.3", + "type": "prod", + }, + }, + "location": "node_modules/serve-index/node_modules/inherits", + "name": "inherits", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/serve-index/node_modules/inherits", + "peer": true, + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "version": "2.0.3", + }, + "ms" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/serve-index/node_modules/debug", + "name": "ms", + "spec": "2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/serve-index/node_modules/ms", + "name": "ms", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/serve-index/node_modules/ms", + "peer": true, + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "version": "2.0.0", + }, + "setprototypeof" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/serve-index/node_modules/http-errors", + "name": "setprototypeof", + "spec": "1.1.0", + "type": "prod", + }, + }, + "location": "node_modules/serve-index/node_modules/setprototypeof", + "name": "setprototypeof", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/serve-index/node_modules/setprototypeof", + "peer": true, + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "version": "1.1.0", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "serve-index", + "spec": "^1.9.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "accepts" => EdgeOut { + "name": "accepts", + "spec": "~1.3.4", + "to": "node_modules/accepts", + "type": "prod", + }, + "batch" => EdgeOut { + "name": "batch", + "spec": "0.6.1", + "to": "node_modules/batch", + "type": "prod", + }, + "debug" => EdgeOut { + "name": "debug", + "spec": "2.6.9", + "to": "node_modules/serve-index/node_modules/debug", + "type": "prod", + }, + "escape-html" => EdgeOut { + "name": "escape-html", + "spec": "~1.0.3", + "to": "node_modules/escape-html", + "type": "prod", + }, + "http-errors" => EdgeOut { + "name": "http-errors", + "spec": "~1.6.2", + "to": "node_modules/serve-index/node_modules/http-errors", + "type": "prod", + }, + "mime-types" => EdgeOut { + "name": "mime-types", + "spec": "~2.1.17", + "to": "node_modules/mime-types", + "type": "prod", + }, + "parseurl" => EdgeOut { + "name": "parseurl", + "spec": "~1.3.2", + "to": "node_modules/parseurl", + "type": "prod", + }, + }, + "location": "node_modules/serve-index", + "name": "serve-index", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/serve-index", + "peer": true, + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "version": "1.9.1", + }, + "serve-static" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/express", + "name": "serve-static", + "spec": "1.14.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "encodeurl" => EdgeOut { + "name": "encodeurl", + "spec": "~1.0.2", + "to": "node_modules/encodeurl", + "type": "prod", + }, + "escape-html" => EdgeOut { + "name": "escape-html", + "spec": "~1.0.3", + "to": "node_modules/escape-html", + "type": "prod", + }, + "parseurl" => EdgeOut { + "name": "parseurl", + "spec": "~1.3.3", + "to": "node_modules/parseurl", + "type": "prod", + }, + "send" => EdgeOut { + "name": "send", + "spec": "0.17.1", + "to": "node_modules/send", + "type": "prod", + }, + }, + "location": "node_modules/serve-static", + "name": "serve-static", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/serve-static", + "peer": true, + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "version": "1.14.1", + }, + "set-blocking" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/yargs", + "name": "set-blocking", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/set-blocking", + "name": "set-blocking", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/set-blocking", + "peer": true, + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "version": "2.0.0", + }, + "set-value" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/cache-base", + "name": "set-value", + "spec": "^2.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/union-value", + "name": "set-value", + "spec": "^2.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "extend-shallow" => EdgeOut { + "name": "extend-shallow", + "spec": "^2.0.1", + "to": "node_modules/extend-shallow", + "type": "prod", + }, + "is-extendable" => EdgeOut { + "name": "is-extendable", + "spec": "^0.1.1", + "to": "node_modules/is-extendable", + "type": "prod", + }, + "is-plain-object" => EdgeOut { + "name": "is-plain-object", + "spec": "^2.0.3", + "to": "node_modules/is-plain-object", + "type": "prod", + }, + "split-string" => EdgeOut { + "name": "split-string", + "spec": "^3.0.1", + "to": "node_modules/split-string", + "type": "prod", + }, + }, + "location": "node_modules/set-value", + "name": "set-value", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/set-value", + "peer": true, + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "version": "2.0.1", + }, + "setimmediate" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/timers-browserify", + "name": "setimmediate", + "spec": "^1.0.4", + "type": "prod", + }, + }, + "location": "node_modules/setimmediate", + "name": "setimmediate", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/setimmediate", + "peer": true, + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "version": "1.0.5", + }, + "setprototypeof" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/express", + "name": "setprototypeof", + "spec": "1.1.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/http-errors", + "name": "setprototypeof", + "spec": "1.1.1", + "type": "prod", + }, + }, + "location": "node_modules/setprototypeof", + "name": "setprototypeof", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/setprototypeof", + "peer": true, + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "version": "1.1.1", + }, + "sha.js" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/create-hash", + "name": "sha.js", + "spec": "^2.4.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/create-hmac", + "name": "sha.js", + "spec": "^2.4.8", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/pbkdf2", + "name": "sha.js", + "spec": "^2.4.8", + "type": "prod", + }, + }, + "edgesOut": Map { + "inherits" => EdgeOut { + "name": "inherits", + "spec": "^2.0.1", + "to": "node_modules/inherits", + "type": "prod", + }, + "safe-buffer" => EdgeOut { + "name": "safe-buffer", + "spec": "^5.0.1", + "to": "node_modules/safe-buffer", + "type": "prod", + }, + }, + "location": "node_modules/sha.js", + "name": "sha.js", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/sha.js", + "peer": true, + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "version": "2.4.11", + }, + "shebang-command" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/cross-spawn", + "name": "shebang-command", + "spec": "^1.2.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "shebang-regex" => EdgeOut { + "name": "shebang-regex", + "spec": "^1.0.0", + "to": "node_modules/shebang-regex", + "type": "prod", + }, + }, + "location": "node_modules/shebang-command", + "name": "shebang-command", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/shebang-command", + "peer": true, + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "version": "1.2.0", + }, + "shebang-regex" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/shebang-command", + "name": "shebang-regex", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/shebang-regex", + "name": "shebang-regex", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/shebang-regex", + "peer": true, + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "version": "1.0.0", }, "shell-quote" => ArboristNode { "edgesIn": Set { @@ -6801,6 +38319,12 @@ ArboristNode { "signal-exit" => ArboristNode { "edgesIn": Set { EdgeIn { + "from": "node_modules/execa", + "name": "signal-exit", + "spec": "^3.0.0", + "type": "prod", + }, + EdgeIn { "from": "node_modules/ink", "name": "signal-exit", "spec": "^3.0.2", @@ -6860,12 +38384,522 @@ ArboristNode { "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", "version": "3.0.0", }, + "snapdragon" => ArboristNode { + "children": Map { + "debug" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/snapdragon", + "name": "debug", + "spec": "^2.2.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "ms" => EdgeOut { + "name": "ms", + "spec": "2.0.0", + "to": "node_modules/snapdragon/node_modules/ms", + "type": "prod", + }, + }, + "location": "node_modules/snapdragon/node_modules/debug", + "name": "debug", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/snapdragon/node_modules/debug", + "peer": true, + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "version": "2.6.9", + }, + "define-property" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/snapdragon", + "name": "define-property", + "spec": "^0.2.5", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-descriptor" => EdgeOut { + "name": "is-descriptor", + "spec": "^0.1.0", + "to": "node_modules/snapdragon/node_modules/is-descriptor", + "type": "prod", + }, + }, + "location": "node_modules/snapdragon/node_modules/define-property", + "name": "define-property", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/snapdragon/node_modules/define-property", + "peer": true, + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "version": "0.2.5", + }, + "is-accessor-descriptor" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/snapdragon/node_modules/is-descriptor", + "name": "is-accessor-descriptor", + "spec": "^0.1.6", + "type": "prod", + }, + }, + "edgesOut": Map { + "kind-of" => EdgeOut { + "name": "kind-of", + "spec": "^3.0.2", + "to": "node_modules/kind-of", + "type": "prod", + }, + }, + "location": "node_modules/snapdragon/node_modules/is-accessor-descriptor", + "name": "is-accessor-descriptor", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/snapdragon/node_modules/is-accessor-descriptor", + "peer": true, + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "version": "0.1.6", + }, + "is-data-descriptor" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/snapdragon/node_modules/is-descriptor", + "name": "is-data-descriptor", + "spec": "^0.1.4", + "type": "prod", + }, + }, + "edgesOut": Map { + "kind-of" => EdgeOut { + "name": "kind-of", + "spec": "^3.0.2", + "to": "node_modules/kind-of", + "type": "prod", + }, + }, + "location": "node_modules/snapdragon/node_modules/is-data-descriptor", + "name": "is-data-descriptor", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/snapdragon/node_modules/is-data-descriptor", + "peer": true, + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "version": "0.1.4", + }, + "is-descriptor" => ArboristNode { + "children": Map { + "kind-of" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/snapdragon/node_modules/is-descriptor", + "name": "kind-of", + "spec": "^5.0.0", + "type": "prod", + }, + }, + "location": "node_modules/snapdragon/node_modules/is-descriptor/node_modules/kind-of", + "name": "kind-of", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/snapdragon/node_modules/is-descriptor/node_modules/kind-of", + "peer": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "version": "5.1.0", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/snapdragon/node_modules/define-property", + "name": "is-descriptor", + "spec": "^0.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-accessor-descriptor" => EdgeOut { + "name": "is-accessor-descriptor", + "spec": "^0.1.6", + "to": "node_modules/snapdragon/node_modules/is-accessor-descriptor", + "type": "prod", + }, + "is-data-descriptor" => EdgeOut { + "name": "is-data-descriptor", + "spec": "^0.1.4", + "to": "node_modules/snapdragon/node_modules/is-data-descriptor", + "type": "prod", + }, + "kind-of" => EdgeOut { + "name": "kind-of", + "spec": "^5.0.0", + "to": "node_modules/snapdragon/node_modules/is-descriptor/node_modules/kind-of", + "type": "prod", + }, + }, + "location": "node_modules/snapdragon/node_modules/is-descriptor", + "name": "is-descriptor", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/snapdragon/node_modules/is-descriptor", + "peer": true, + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "version": "0.1.6", + }, + "ms" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/snapdragon/node_modules/debug", + "name": "ms", + "spec": "2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/snapdragon/node_modules/ms", + "name": "ms", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/snapdragon/node_modules/ms", + "peer": true, + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "version": "2.0.0", + }, + "source-map" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/snapdragon", + "name": "source-map", + "spec": "^0.5.6", + "type": "prod", + }, + }, + "location": "node_modules/snapdragon/node_modules/source-map", + "name": "source-map", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/snapdragon/node_modules/source-map", + "peer": true, + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "version": "0.5.7", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/braces", + "name": "snapdragon", + "spec": "^0.8.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/expand-brackets", + "name": "snapdragon", + "spec": "^0.8.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/extglob", + "name": "snapdragon", + "spec": "^0.8.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/micromatch", + "name": "snapdragon", + "spec": "^0.8.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/nanomatch", + "name": "snapdragon", + "spec": "^0.8.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "base" => EdgeOut { + "name": "base", + "spec": "^0.11.1", + "to": "node_modules/base", + "type": "prod", + }, + "debug" => EdgeOut { + "name": "debug", + "spec": "^2.2.0", + "to": "node_modules/snapdragon/node_modules/debug", + "type": "prod", + }, + "define-property" => EdgeOut { + "name": "define-property", + "spec": "^0.2.5", + "to": "node_modules/snapdragon/node_modules/define-property", + "type": "prod", + }, + "extend-shallow" => EdgeOut { + "name": "extend-shallow", + "spec": "^2.0.1", + "to": "node_modules/extend-shallow", + "type": "prod", + }, + "map-cache" => EdgeOut { + "name": "map-cache", + "spec": "^0.2.2", + "to": "node_modules/map-cache", + "type": "prod", + }, + "source-map" => EdgeOut { + "name": "source-map", + "spec": "^0.5.6", + "to": "node_modules/snapdragon/node_modules/source-map", + "type": "prod", + }, + "source-map-resolve" => EdgeOut { + "name": "source-map-resolve", + "spec": "^0.5.0", + "to": "node_modules/source-map-resolve", + "type": "prod", + }, + "use" => EdgeOut { + "name": "use", + "spec": "^3.1.0", + "to": "node_modules/use", + "type": "prod", + }, + }, + "location": "node_modules/snapdragon", + "name": "snapdragon", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/snapdragon", + "peer": true, + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "version": "0.8.2", + }, + "snapdragon-node" => ArboristNode { + "children": Map { + "define-property" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/snapdragon-node", + "name": "define-property", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-descriptor" => EdgeOut { + "name": "is-descriptor", + "spec": "^1.0.0", + "to": "node_modules/is-descriptor", + "type": "prod", + }, + }, + "location": "node_modules/snapdragon-node/node_modules/define-property", + "name": "define-property", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/snapdragon-node/node_modules/define-property", + "peer": true, + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "version": "1.0.0", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/braces", + "name": "snapdragon-node", + "spec": "^2.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "define-property" => EdgeOut { + "name": "define-property", + "spec": "^1.0.0", + "to": "node_modules/snapdragon-node/node_modules/define-property", + "type": "prod", + }, + "isobject" => EdgeOut { + "name": "isobject", + "spec": "^3.0.0", + "to": "node_modules/isobject", + "type": "prod", + }, + "snapdragon-util" => EdgeOut { + "name": "snapdragon-util", + "spec": "^3.0.1", + "to": "node_modules/snapdragon-util", + "type": "prod", + }, + }, + "location": "node_modules/snapdragon-node", + "name": "snapdragon-node", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/snapdragon-node", + "peer": true, + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "version": "2.1.1", + }, + "snapdragon-util" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/snapdragon-node", + "name": "snapdragon-util", + "spec": "^3.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "kind-of" => EdgeOut { + "name": "kind-of", + "spec": "^3.2.0", + "to": "node_modules/kind-of", + "type": "prod", + }, + }, + "location": "node_modules/snapdragon-util", + "name": "snapdragon-util", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/snapdragon-util", + "peer": true, + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "version": "3.0.1", + }, + "sockjs" => ArboristNode { + "children": Map { + "faye-websocket" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/sockjs", + "name": "faye-websocket", + "spec": "^0.10.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "websocket-driver" => EdgeOut { + "name": "websocket-driver", + "spec": ">=0.5.1", + "to": "node_modules/sockjs/node_modules/websocket-driver", + "type": "prod", + }, + }, + "location": "node_modules/sockjs/node_modules/faye-websocket", + "name": "faye-websocket", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/sockjs/node_modules/faye-websocket", + "peer": true, + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", + "version": "0.10.0", + }, + "websocket-driver" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/sockjs", + "name": "websocket-driver", + "spec": "0.6.5", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/sockjs/node_modules/faye-websocket", + "name": "websocket-driver", + "spec": ">=0.5.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "websocket-extensions" => EdgeOut { + "name": "websocket-extensions", + "spec": ">=0.1.1", + "to": "node_modules/websocket-extensions", + "type": "prod", + }, + }, + "location": "node_modules/sockjs/node_modules/websocket-driver", + "name": "websocket-driver", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/sockjs/node_modules/websocket-driver", + "peer": true, + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz", + "version": "0.6.5", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "sockjs", + "spec": "0.3.20", + "type": "prod", + }, + }, + "edgesOut": Map { + "faye-websocket" => EdgeOut { + "name": "faye-websocket", + "spec": "^0.10.0", + "to": "node_modules/sockjs/node_modules/faye-websocket", + "type": "prod", + }, + "uuid" => EdgeOut { + "name": "uuid", + "spec": "^3.4.0", + "to": "node_modules/uuid", + "type": "prod", + }, + "websocket-driver" => EdgeOut { + "name": "websocket-driver", + "spec": "0.6.5", + "to": "node_modules/sockjs/node_modules/websocket-driver", + "type": "prod", + }, + }, + "location": "node_modules/sockjs", + "name": "sockjs", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/sockjs", + "peer": true, + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.20.tgz", + "version": "0.3.20", + }, + "sockjs-client" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/@pmmmwh/react-refresh-webpack-plugin", + "name": "sockjs-client", + "spec": "^1.4.0", + "type": "peerOptional", + }, + }, + "edgesOut": Map { + "debug" => EdgeOut { + "name": "debug", + "spec": "^3.2.6", + "to": "node_modules/debug", + "type": "prod", + }, + "eventsource" => EdgeOut { + "name": "eventsource", + "spec": "^1.0.7", + "to": "node_modules/eventsource", + "type": "prod", + }, + "faye-websocket" => EdgeOut { + "name": "faye-websocket", + "spec": "^0.11.3", + "to": "node_modules/faye-websocket", + "type": "prod", + }, + "inherits" => EdgeOut { + "name": "inherits", + "spec": "^2.0.4", + "to": "node_modules/inherits", + "type": "prod", + }, + "json3" => EdgeOut { + "name": "json3", + "spec": "^3.3.3", + "to": "node_modules/json3", + "type": "prod", + }, + "url-parse" => EdgeOut { + "name": "url-parse", + "spec": "^1.4.7", + "to": "node_modules/url-parse", + "type": "prod", + }, + }, + "location": "node_modules/sockjs-client", + "name": "sockjs-client", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/sockjs-client", + "peer": true, + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.5.0.tgz", + "version": "1.5.0", + }, "source-list-map" => ArboristNode { "edgesIn": Set { EdgeIn { "from": "node_modules/webpack-sources", "name": "source-list-map", - "spec": "^2.0.1", + "spec": "^2.0.0", "type": "prod", }, }, @@ -6884,12 +38918,6 @@ ArboristNode { "spec": "^0.7.3", "type": "prod", }, - EdgeIn { - "from": "node_modules/terser", - "name": "source-map", - "spec": "~0.7.2", - "type": "prod", - }, }, "location": "node_modules/source-map", "name": "source-map", @@ -6897,6 +38925,54 @@ ArboristNode { "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", "version": "0.7.3", }, + "source-map-resolve" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/snapdragon", + "name": "source-map-resolve", + "spec": "^0.5.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "atob" => EdgeOut { + "name": "atob", + "spec": "^2.1.2", + "to": "node_modules/atob", + "type": "prod", + }, + "decode-uri-component" => EdgeOut { + "name": "decode-uri-component", + "spec": "^0.2.0", + "to": "node_modules/decode-uri-component", + "type": "prod", + }, + "resolve-url" => EdgeOut { + "name": "resolve-url", + "spec": "^0.2.1", + "to": "node_modules/resolve-url", + "type": "prod", + }, + "source-map-url" => EdgeOut { + "name": "source-map-url", + "spec": "^0.4.0", + "to": "node_modules/source-map-url", + "type": "prod", + }, + "urix" => EdgeOut { + "name": "urix", + "spec": "^0.1.0", + "to": "node_modules/urix", + "type": "prod", + }, + }, + "location": "node_modules/source-map-resolve", + "name": "source-map-resolve", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/source-map-resolve", + "peer": true, + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "version": "0.5.3", + }, "source-map-support" => ArboristNode { "children": Map { "source-map" => ArboristNode { @@ -6920,7 +38996,7 @@ ArboristNode { EdgeIn { "from": "node_modules/terser", "name": "source-map-support", - "spec": "~0.5.19", + "spec": "~0.5.12", "type": "prod", }, }, @@ -6945,6 +39021,327 @@ ArboristNode { "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", "version": "0.5.19", }, + "source-map-url" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/source-map-resolve", + "name": "source-map-url", + "spec": "^0.4.0", + "type": "prod", + }, + }, + "location": "node_modules/source-map-url", + "name": "source-map-url", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/source-map-url", + "peer": true, + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "version": "0.4.0", + }, + "spdy" => ArboristNode { + "children": Map { + "debug" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/spdy", + "name": "debug", + "spec": "^4.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "ms" => EdgeOut { + "name": "ms", + "spec": "2.1.2", + "to": "node_modules/ms", + "type": "prod", + }, + }, + "location": "node_modules/spdy/node_modules/debug", + "name": "debug", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/spdy/node_modules/debug", + "peer": true, + "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", + "version": "4.2.0", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "spdy", + "spec": "^4.0.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "debug" => EdgeOut { + "name": "debug", + "spec": "^4.1.0", + "to": "node_modules/spdy/node_modules/debug", + "type": "prod", + }, + "handle-thing" => EdgeOut { + "name": "handle-thing", + "spec": "^2.0.0", + "to": "node_modules/handle-thing", + "type": "prod", + }, + "http-deceiver" => EdgeOut { + "name": "http-deceiver", + "spec": "^1.2.7", + "to": "node_modules/http-deceiver", + "type": "prod", + }, + "select-hose" => EdgeOut { + "name": "select-hose", + "spec": "^2.0.0", + "to": "node_modules/select-hose", + "type": "prod", + }, + "spdy-transport" => EdgeOut { + "name": "spdy-transport", + "spec": "^3.0.0", + "to": "node_modules/spdy-transport", + "type": "prod", + }, + }, + "location": "node_modules/spdy", + "name": "spdy", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/spdy", + "peer": true, + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "version": "4.0.2", + }, + "spdy-transport" => ArboristNode { + "children": Map { + "debug" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/spdy-transport", + "name": "debug", + "spec": "^4.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "ms" => EdgeOut { + "name": "ms", + "spec": "2.1.2", + "to": "node_modules/ms", + "type": "prod", + }, + }, + "location": "node_modules/spdy-transport/node_modules/debug", + "name": "debug", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/spdy-transport/node_modules/debug", + "peer": true, + "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", + "version": "4.2.0", + }, + "readable-stream" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/spdy-transport", + "name": "readable-stream", + "spec": "^3.0.6", + "type": "prod", + }, + }, + "edgesOut": Map { + "inherits" => EdgeOut { + "name": "inherits", + "spec": "^2.0.3", + "to": "node_modules/inherits", + "type": "prod", + }, + "string_decoder" => EdgeOut { + "name": "string_decoder", + "spec": "^1.1.1", + "to": "node_modules/string_decoder", + "type": "prod", + }, + "util-deprecate" => EdgeOut { + "name": "util-deprecate", + "spec": "^1.0.1", + "to": "node_modules/util-deprecate", + "type": "prod", + }, + }, + "location": "node_modules/spdy-transport/node_modules/readable-stream", + "name": "readable-stream", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/spdy-transport/node_modules/readable-stream", + "peer": true, + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "version": "3.6.0", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/spdy", + "name": "spdy-transport", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "debug" => EdgeOut { + "name": "debug", + "spec": "^4.1.0", + "to": "node_modules/spdy-transport/node_modules/debug", + "type": "prod", + }, + "detect-node" => EdgeOut { + "name": "detect-node", + "spec": "^2.0.4", + "to": "node_modules/detect-node", + "type": "prod", + }, + "hpack.js" => EdgeOut { + "name": "hpack.js", + "spec": "^2.1.6", + "to": "node_modules/hpack.js", + "type": "prod", + }, + "obuf" => EdgeOut { + "name": "obuf", + "spec": "^1.1.2", + "to": "node_modules/obuf", + "type": "prod", + }, + "readable-stream" => EdgeOut { + "name": "readable-stream", + "spec": "^3.0.6", + "to": "node_modules/spdy-transport/node_modules/readable-stream", + "type": "prod", + }, + "wbuf" => EdgeOut { + "name": "wbuf", + "spec": "^1.7.3", + "to": "node_modules/wbuf", + "type": "prod", + }, + }, + "location": "node_modules/spdy-transport", + "name": "spdy-transport", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/spdy-transport", + "peer": true, + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "version": "3.0.0", + }, + "split-string" => ArboristNode { + "children": Map { + "extend-shallow" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/split-string", + "name": "extend-shallow", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "assign-symbols" => EdgeOut { + "name": "assign-symbols", + "spec": "^1.0.0", + "to": "node_modules/assign-symbols", + "type": "prod", + }, + "is-extendable" => EdgeOut { + "name": "is-extendable", + "spec": "^1.0.1", + "to": "node_modules/split-string/node_modules/is-extendable", + "type": "prod", + }, + }, + "location": "node_modules/split-string/node_modules/extend-shallow", + "name": "extend-shallow", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/split-string/node_modules/extend-shallow", + "peer": true, + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "version": "3.0.2", + }, + "is-extendable" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/split-string/node_modules/extend-shallow", + "name": "is-extendable", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-plain-object" => EdgeOut { + "name": "is-plain-object", + "spec": "^2.0.4", + "to": "node_modules/is-plain-object", + "type": "prod", + }, + }, + "location": "node_modules/split-string/node_modules/is-extendable", + "name": "is-extendable", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/split-string/node_modules/is-extendable", + "peer": true, + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "version": "1.0.1", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/braces", + "name": "split-string", + "spec": "^3.0.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/set-value", + "name": "split-string", + "spec": "^3.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "extend-shallow" => EdgeOut { + "name": "extend-shallow", + "spec": "^3.0.0", + "to": "node_modules/split-string/node_modules/extend-shallow", + "type": "prod", + }, + }, + "location": "node_modules/split-string", + "name": "split-string", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/split-string", + "peer": true, + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "version": "3.1.0", + }, + "ssri" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/cacache", + "name": "ssri", + "spec": "^6.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "figgy-pudding" => EdgeOut { + "name": "figgy-pudding", + "spec": "^3.5.1", + "to": "node_modules/figgy-pudding", + "type": "prod", + }, + }, + "location": "node_modules/ssri", + "name": "ssri", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/ssri", + "peer": true, + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", + "version": "6.0.1", + }, "stack-utils" => ArboristNode { "edgesIn": Set { EdgeIn { @@ -6983,6 +39380,401 @@ ArboristNode { "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.2.0.tgz", "version": "1.2.0", }, + "static-extend" => ArboristNode { + "children": Map { + "define-property" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/static-extend", + "name": "define-property", + "spec": "^0.2.5", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-descriptor" => EdgeOut { + "name": "is-descriptor", + "spec": "^0.1.0", + "to": "node_modules/static-extend/node_modules/is-descriptor", + "type": "prod", + }, + }, + "location": "node_modules/static-extend/node_modules/define-property", + "name": "define-property", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/static-extend/node_modules/define-property", + "peer": true, + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "version": "0.2.5", + }, + "is-accessor-descriptor" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/static-extend/node_modules/is-descriptor", + "name": "is-accessor-descriptor", + "spec": "^0.1.6", + "type": "prod", + }, + }, + "edgesOut": Map { + "kind-of" => EdgeOut { + "name": "kind-of", + "spec": "^3.0.2", + "to": "node_modules/kind-of", + "type": "prod", + }, + }, + "location": "node_modules/static-extend/node_modules/is-accessor-descriptor", + "name": "is-accessor-descriptor", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/static-extend/node_modules/is-accessor-descriptor", + "peer": true, + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "version": "0.1.6", + }, + "is-data-descriptor" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/static-extend/node_modules/is-descriptor", + "name": "is-data-descriptor", + "spec": "^0.1.4", + "type": "prod", + }, + }, + "edgesOut": Map { + "kind-of" => EdgeOut { + "name": "kind-of", + "spec": "^3.0.2", + "to": "node_modules/kind-of", + "type": "prod", + }, + }, + "location": "node_modules/static-extend/node_modules/is-data-descriptor", + "name": "is-data-descriptor", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/static-extend/node_modules/is-data-descriptor", + "peer": true, + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "version": "0.1.4", + }, + "is-descriptor" => ArboristNode { + "children": Map { + "kind-of" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/static-extend/node_modules/is-descriptor", + "name": "kind-of", + "spec": "^5.0.0", + "type": "prod", + }, + }, + "location": "node_modules/static-extend/node_modules/is-descriptor/node_modules/kind-of", + "name": "kind-of", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/static-extend/node_modules/is-descriptor/node_modules/kind-of", + "peer": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "version": "5.1.0", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/static-extend/node_modules/define-property", + "name": "is-descriptor", + "spec": "^0.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-accessor-descriptor" => EdgeOut { + "name": "is-accessor-descriptor", + "spec": "^0.1.6", + "to": "node_modules/static-extend/node_modules/is-accessor-descriptor", + "type": "prod", + }, + "is-data-descriptor" => EdgeOut { + "name": "is-data-descriptor", + "spec": "^0.1.4", + "to": "node_modules/static-extend/node_modules/is-data-descriptor", + "type": "prod", + }, + "kind-of" => EdgeOut { + "name": "kind-of", + "spec": "^5.0.0", + "to": "node_modules/static-extend/node_modules/is-descriptor/node_modules/kind-of", + "type": "prod", + }, + }, + "location": "node_modules/static-extend/node_modules/is-descriptor", + "name": "is-descriptor", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/static-extend/node_modules/is-descriptor", + "peer": true, + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "version": "0.1.6", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/class-utils", + "name": "static-extend", + "spec": "^0.1.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "define-property" => EdgeOut { + "name": "define-property", + "spec": "^0.2.5", + "to": "node_modules/static-extend/node_modules/define-property", + "type": "prod", + }, + "object-copy" => EdgeOut { + "name": "object-copy", + "spec": "^0.1.0", + "to": "node_modules/object-copy", + "type": "prod", + }, + }, + "location": "node_modules/static-extend", + "name": "static-extend", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/static-extend", + "peer": true, + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "version": "0.1.2", + }, + "statuses" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/express", + "name": "statuses", + "spec": "~1.5.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/finalhandler", + "name": "statuses", + "spec": "~1.5.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/http-errors", + "name": "statuses", + "spec": ">= 1.5.0 < 2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/send", + "name": "statuses", + "spec": "~1.5.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/serve-index/node_modules/http-errors", + "name": "statuses", + "spec": ">= 1.4.0 < 2", + "type": "prod", + }, + }, + "location": "node_modules/statuses", + "name": "statuses", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/statuses", + "peer": true, + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "version": "1.5.0", + }, + "stream-browserify" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/node-libs-browser", + "name": "stream-browserify", + "spec": "^2.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "inherits" => EdgeOut { + "name": "inherits", + "spec": "~2.0.1", + "to": "node_modules/inherits", + "type": "prod", + }, + "readable-stream" => EdgeOut { + "name": "readable-stream", + "spec": "^2.0.2", + "to": "node_modules/readable-stream", + "type": "prod", + }, + }, + "location": "node_modules/stream-browserify", + "name": "stream-browserify", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/stream-browserify", + "peer": true, + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "version": "2.0.2", + }, + "stream-each" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/mississippi", + "name": "stream-each", + "spec": "^1.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "end-of-stream" => EdgeOut { + "name": "end-of-stream", + "spec": "^1.1.0", + "to": "node_modules/end-of-stream", + "type": "prod", + }, + "stream-shift" => EdgeOut { + "name": "stream-shift", + "spec": "^1.0.0", + "to": "node_modules/stream-shift", + "type": "prod", + }, + }, + "location": "node_modules/stream-each", + "name": "stream-each", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/stream-each", + "peer": true, + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "version": "1.2.3", + }, + "stream-http" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/node-libs-browser", + "name": "stream-http", + "spec": "^2.7.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "builtin-status-codes" => EdgeOut { + "name": "builtin-status-codes", + "spec": "^3.0.0", + "to": "node_modules/builtin-status-codes", + "type": "prod", + }, + "inherits" => EdgeOut { + "name": "inherits", + "spec": "^2.0.1", + "to": "node_modules/inherits", + "type": "prod", + }, + "readable-stream" => EdgeOut { + "name": "readable-stream", + "spec": "^2.3.6", + "to": "node_modules/readable-stream", + "type": "prod", + }, + "to-arraybuffer" => EdgeOut { + "name": "to-arraybuffer", + "spec": "^1.0.0", + "to": "node_modules/to-arraybuffer", + "type": "prod", + }, + "xtend" => EdgeOut { + "name": "xtend", + "spec": "^4.0.0", + "to": "node_modules/xtend", + "type": "prod", + }, + }, + "location": "node_modules/stream-http", + "name": "stream-http", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/stream-http", + "peer": true, + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "version": "2.8.3", + }, + "stream-shift" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/duplexify", + "name": "stream-shift", + "spec": "^1.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/stream-each", + "name": "stream-shift", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/stream-shift", + "name": "stream-shift", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/stream-shift", + "peer": true, + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "version": "1.0.1", + }, + "string_decoder" => ArboristNode { + "children": Map { + "safe-buffer" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/string_decoder", + "name": "safe-buffer", + "spec": "~5.1.0", + "type": "prod", + }, + }, + "location": "node_modules/string_decoder/node_modules/safe-buffer", + "name": "safe-buffer", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/string_decoder/node_modules/safe-buffer", + "peer": true, + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "version": "5.1.2", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/browserify-sign/node_modules/readable-stream", + "name": "string_decoder", + "spec": "^1.1.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/hash-base/node_modules/readable-stream", + "name": "string_decoder", + "spec": "^1.1.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/node-libs-browser", + "name": "string_decoder", + "spec": "^1.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/readable-stream", + "name": "string_decoder", + "spec": "~1.1.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/spdy-transport/node_modules/readable-stream", + "name": "string_decoder", + "spec": "^1.1.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "safe-buffer" => EdgeOut { + "name": "safe-buffer", + "spec": "~5.1.0", + "to": "node_modules/string_decoder/node_modules/safe-buffer", + "type": "prod", + }, + }, + "location": "node_modules/string_decoder", + "name": "string_decoder", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/string_decoder", + "peer": true, + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "version": "1.1.1", + }, "string-length" => ArboristNode { "children": Map { "astral-regex" => ArboristNode { @@ -7116,14 +39908,310 @@ ArboristNode { "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", "version": "4.2.0", }, + "string.prototype.trimend" => ArboristNode { + "children": Map { + "es-abstract" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/string.prototype.trimend", + "name": "es-abstract", + "spec": "^1.17.5", + "type": "prod", + }, + }, + "edgesOut": Map { + "es-to-primitive" => EdgeOut { + "name": "es-to-primitive", + "spec": "^1.2.1", + "to": "node_modules/es-to-primitive", + "type": "prod", + }, + "function-bind" => EdgeOut { + "name": "function-bind", + "spec": "^1.1.1", + "to": "node_modules/function-bind", + "type": "prod", + }, + "has" => EdgeOut { + "name": "has", + "spec": "^1.0.3", + "to": "node_modules/has", + "type": "prod", + }, + "has-symbols" => EdgeOut { + "name": "has-symbols", + "spec": "^1.0.1", + "to": "node_modules/has-symbols", + "type": "prod", + }, + "is-callable" => EdgeOut { + "name": "is-callable", + "spec": "^1.2.2", + "to": "node_modules/is-callable", + "type": "prod", + }, + "is-regex" => EdgeOut { + "name": "is-regex", + "spec": "^1.1.1", + "to": "node_modules/is-regex", + "type": "prod", + }, + "object-inspect" => EdgeOut { + "name": "object-inspect", + "spec": "^1.8.0", + "to": "node_modules/object-inspect", + "type": "prod", + }, + "object-keys" => EdgeOut { + "name": "object-keys", + "spec": "^1.1.1", + "to": "node_modules/object-keys", + "type": "prod", + }, + "object.assign" => EdgeOut { + "name": "object.assign", + "spec": "^4.1.1", + "to": "node_modules/object.assign", + "type": "prod", + }, + "string.prototype.trimend" => EdgeOut { + "name": "string.prototype.trimend", + "spec": "^1.0.1", + "to": "node_modules/string.prototype.trimend", + "type": "prod", + }, + "string.prototype.trimstart" => EdgeOut { + "name": "string.prototype.trimstart", + "spec": "^1.0.1", + "to": "node_modules/string.prototype.trimstart", + "type": "prod", + }, + }, + "location": "node_modules/string.prototype.trimend/node_modules/es-abstract", + "name": "es-abstract", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/string.prototype.trimend/node_modules/es-abstract", + "peer": true, + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", + "version": "1.17.7", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/es-abstract", + "name": "string.prototype.trimend", + "spec": "^1.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/regexp.prototype.flags/node_modules/es-abstract", + "name": "string.prototype.trimend", + "spec": "^1.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/string.prototype.trimend/node_modules/es-abstract", + "name": "string.prototype.trimend", + "spec": "^1.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/string.prototype.trimstart/node_modules/es-abstract", + "name": "string.prototype.trimend", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "define-properties" => EdgeOut { + "name": "define-properties", + "spec": "^1.1.3", + "to": "node_modules/define-properties", + "type": "prod", + }, + "es-abstract" => EdgeOut { + "name": "es-abstract", + "spec": "^1.17.5", + "to": "node_modules/string.prototype.trimend/node_modules/es-abstract", + "type": "prod", + }, + }, + "location": "node_modules/string.prototype.trimend", + "name": "string.prototype.trimend", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/string.prototype.trimend", + "peer": true, + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz", + "version": "1.0.1", + }, + "string.prototype.trimstart" => ArboristNode { + "children": Map { + "es-abstract" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/string.prototype.trimstart", + "name": "es-abstract", + "spec": "^1.17.5", + "type": "prod", + }, + }, + "edgesOut": Map { + "es-to-primitive" => EdgeOut { + "name": "es-to-primitive", + "spec": "^1.2.1", + "to": "node_modules/es-to-primitive", + "type": "prod", + }, + "function-bind" => EdgeOut { + "name": "function-bind", + "spec": "^1.1.1", + "to": "node_modules/function-bind", + "type": "prod", + }, + "has" => EdgeOut { + "name": "has", + "spec": "^1.0.3", + "to": "node_modules/has", + "type": "prod", + }, + "has-symbols" => EdgeOut { + "name": "has-symbols", + "spec": "^1.0.1", + "to": "node_modules/has-symbols", + "type": "prod", + }, + "is-callable" => EdgeOut { + "name": "is-callable", + "spec": "^1.2.2", + "to": "node_modules/is-callable", + "type": "prod", + }, + "is-regex" => EdgeOut { + "name": "is-regex", + "spec": "^1.1.1", + "to": "node_modules/is-regex", + "type": "prod", + }, + "object-inspect" => EdgeOut { + "name": "object-inspect", + "spec": "^1.8.0", + "to": "node_modules/object-inspect", + "type": "prod", + }, + "object-keys" => EdgeOut { + "name": "object-keys", + "spec": "^1.1.1", + "to": "node_modules/object-keys", + "type": "prod", + }, + "object.assign" => EdgeOut { + "name": "object.assign", + "spec": "^4.1.1", + "to": "node_modules/object.assign", + "type": "prod", + }, + "string.prototype.trimend" => EdgeOut { + "name": "string.prototype.trimend", + "spec": "^1.0.1", + "to": "node_modules/string.prototype.trimend", + "type": "prod", + }, + "string.prototype.trimstart" => EdgeOut { + "name": "string.prototype.trimstart", + "spec": "^1.0.1", + "to": "node_modules/string.prototype.trimstart", + "type": "prod", + }, + }, + "location": "node_modules/string.prototype.trimstart/node_modules/es-abstract", + "name": "es-abstract", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/string.prototype.trimstart/node_modules/es-abstract", + "peer": true, + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", + "version": "1.17.7", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/es-abstract", + "name": "string.prototype.trimstart", + "spec": "^1.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/regexp.prototype.flags/node_modules/es-abstract", + "name": "string.prototype.trimstart", + "spec": "^1.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/string.prototype.trimend/node_modules/es-abstract", + "name": "string.prototype.trimstart", + "spec": "^1.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/string.prototype.trimstart/node_modules/es-abstract", + "name": "string.prototype.trimstart", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "define-properties" => EdgeOut { + "name": "define-properties", + "spec": "^1.1.3", + "to": "node_modules/define-properties", + "type": "prod", + }, + "es-abstract" => EdgeOut { + "name": "es-abstract", + "spec": "^1.17.5", + "to": "node_modules/string.prototype.trimstart/node_modules/es-abstract", + "type": "prod", + }, + }, + "location": "node_modules/string.prototype.trimstart", + "name": "string.prototype.trimstart", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/string.prototype.trimstart", + "peer": true, + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz", + "version": "1.0.1", + }, "strip-ansi" => ArboristNode { "edgesIn": Set { EdgeIn { + "from": "node_modules/cliui", + "name": "strip-ansi", + "spec": "^5.2.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/cliui/node_modules/string-width", + "name": "strip-ansi", + "spec": "^5.1.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/cliui/node_modules/wrap-ansi", + "name": "strip-ansi", + "spec": "^5.0.0", + "type": "prod", + }, + EdgeIn { "from": "node_modules/string-length", "name": "strip-ansi", "spec": "^5.2.0", "type": "prod", }, + EdgeIn { + "from": "node_modules/yargs/node_modules/string-width", + "name": "strip-ansi", + "spec": "^5.1.0", + "type": "prod", + }, }, "edgesOut": Map { "ansi-regex" => EdgeOut { @@ -7139,18 +40227,29 @@ ArboristNode { "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", "version": "5.2.0", }, - "supports-color" => ArboristNode { + "strip-eof" => ArboristNode { "edgesIn": Set { EdgeIn { - "from": "node_modules/chalk", - "name": "supports-color", - "spec": "^7.1.0", + "from": "node_modules/execa", + "name": "strip-eof", + "spec": "^1.0.0", "type": "prod", }, + }, + "location": "node_modules/strip-eof", + "name": "strip-eof", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/strip-eof", + "peer": true, + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "version": "1.0.0", + }, + "supports-color" => ArboristNode { + "edgesIn": Set { EdgeIn { - "from": "node_modules/jest-worker", + "from": "node_modules/chalk", "name": "supports-color", - "spec": "^7.0.0", + "spec": "^7.1.0", "type": "prod", }, }, @@ -7173,13 +40272,13 @@ ArboristNode { EdgeIn { "from": "node_modules/enhanced-resolve", "name": "tapable", - "spec": "^2.0.0", + "spec": "^1.0.0", "type": "prod", }, EdgeIn { "from": "node_modules/webpack", "name": "tapable", - "spec": "^2.0.0", + "spec": "^1.1.3", "type": "prod", }, }, @@ -7187,15 +40286,33 @@ ArboristNode { "name": "tapable", "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/tapable", "peer": true, - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.0.0.tgz", - "version": "2.0.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "version": "1.1.3", }, "terser" => ArboristNode { + "children": Map { + "source-map" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/terser", + "name": "source-map", + "spec": "~0.6.1", + "type": "prod", + }, + }, + "location": "node_modules/terser/node_modules/source-map", + "name": "source-map", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/terser/node_modules/source-map", + "peer": true, + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "version": "0.6.1", + }, + }, "edgesIn": Set { EdgeIn { "from": "node_modules/terser-webpack-plugin", "name": "terser", - "spec": "^5.3.8", + "spec": "^4.1.2", "type": "prod", }, }, @@ -7208,13 +40325,13 @@ ArboristNode { }, "source-map" => EdgeOut { "name": "source-map", - "spec": "~0.7.2", - "to": "node_modules/source-map", + "spec": "~0.6.1", + "to": "node_modules/terser/node_modules/source-map", "type": "prod", }, "source-map-support" => EdgeOut { "name": "source-map-support", - "spec": "~0.5.19", + "spec": "~0.5.12", "to": "node_modules/source-map-support", "type": "prod", }, @@ -7223,60 +40340,36 @@ ArboristNode { "name": "terser", "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/terser", "peer": true, - "resolved": "https://registry.npmjs.org/terser/-/terser-5.3.8.tgz", - "version": "5.3.8", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", + "version": "4.8.0", }, "terser-webpack-plugin" => ArboristNode { "children": Map { - "p-limit" => ArboristNode { - "edgesIn": Set { - EdgeIn { - "from": "node_modules/terser-webpack-plugin", - "name": "p-limit", - "spec": "^3.0.2", - "type": "prod", - }, - }, - "edgesOut": Map { - "p-try" => EdgeOut { - "name": "p-try", - "spec": "^2.0.0", - "to": "node_modules/p-try", - "type": "prod", - }, - }, - "location": "node_modules/terser-webpack-plugin/node_modules/p-limit", - "name": "p-limit", - "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/terser-webpack-plugin/node_modules/p-limit", - "peer": true, - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.0.2.tgz", - "version": "3.0.2", - }, "schema-utils" => ArboristNode { "edgesIn": Set { EdgeIn { "from": "node_modules/terser-webpack-plugin", "name": "schema-utils", - "spec": "^3.0.0", + "spec": "^1.0.0", "type": "prod", }, }, "edgesOut": Map { - "@types/json-schema" => EdgeOut { - "name": "@types/json-schema", - "spec": "^7.0.6", - "to": "node_modules/@types/json-schema", - "type": "prod", - }, "ajv" => EdgeOut { "name": "ajv", - "spec": "^6.12.5", + "spec": "^6.1.0", "to": "node_modules/ajv", "type": "prod", }, + "ajv-errors" => EdgeOut { + "name": "ajv-errors", + "spec": "^1.0.0", + "to": "node_modules/ajv-errors", + "type": "prod", + }, "ajv-keywords" => EdgeOut { "name": "ajv-keywords", - "spec": "^3.5.2", + "spec": "^3.1.0", "to": "node_modules/ajv-keywords", "type": "prod", }, @@ -7285,8 +40378,8 @@ ArboristNode { "name": "schema-utils", "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/terser-webpack-plugin/node_modules/schema-utils", "peer": true, - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "version": "3.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "version": "1.0.0", }, "source-map" => ArboristNode { "edgesIn": Set { @@ -7309,32 +40402,38 @@ ArboristNode { EdgeIn { "from": "node_modules/webpack", "name": "terser-webpack-plugin", - "spec": "^5.0.3", + "spec": "^1.4.3", "type": "prod", }, }, "edgesOut": Map { - "jest-worker" => EdgeOut { - "name": "jest-worker", - "spec": "^26.6.1", - "to": "node_modules/jest-worker", + "cacache" => EdgeOut { + "name": "cacache", + "spec": "^12.0.2", + "to": "node_modules/cacache", "type": "prod", }, - "p-limit" => EdgeOut { - "name": "p-limit", - "spec": "^3.0.2", - "to": "node_modules/terser-webpack-plugin/node_modules/p-limit", + "find-cache-dir" => EdgeOut { + "name": "find-cache-dir", + "spec": "^2.1.0", + "to": "node_modules/find-cache-dir", + "type": "prod", + }, + "is-wsl" => EdgeOut { + "name": "is-wsl", + "spec": "^1.1.0", + "to": "node_modules/is-wsl", "type": "prod", }, "schema-utils" => EdgeOut { "name": "schema-utils", - "spec": "^3.0.0", + "spec": "^1.0.0", "to": "node_modules/terser-webpack-plugin/node_modules/schema-utils", "type": "prod", }, "serialize-javascript" => EdgeOut { "name": "serialize-javascript", - "spec": "^5.0.1", + "spec": "^4.0.0", "to": "node_modules/serialize-javascript", "type": "prod", }, @@ -7346,23 +40445,315 @@ ArboristNode { }, "terser" => EdgeOut { "name": "terser", - "spec": "^5.3.8", + "spec": "^4.1.2", "to": "node_modules/terser", "type": "prod", }, "webpack" => EdgeOut { "name": "webpack", - "spec": "^5.1.0", + "spec": "^4.0.0", "to": "node_modules/webpack", "type": "peer", }, + "webpack-sources" => EdgeOut { + "name": "webpack-sources", + "spec": "^1.4.0", + "to": "node_modules/webpack-sources", + "type": "prod", + }, + "worker-farm" => EdgeOut { + "name": "worker-farm", + "spec": "^1.7.0", + "to": "node_modules/worker-farm", + "type": "prod", + }, }, "location": "node_modules/terser-webpack-plugin", "name": "terser-webpack-plugin", "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/terser-webpack-plugin", "peer": true, - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.0.3.tgz", - "version": "5.0.3", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", + "version": "1.4.5", + }, + "through2" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/mississippi", + "name": "through2", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "readable-stream" => EdgeOut { + "name": "readable-stream", + "spec": "~2.3.6", + "to": "node_modules/readable-stream", + "type": "prod", + }, + "xtend" => EdgeOut { + "name": "xtend", + "spec": "~4.0.1", + "to": "node_modules/xtend", + "type": "prod", + }, + }, + "location": "node_modules/through2", + "name": "through2", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/through2", + "peer": true, + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "version": "2.0.5", + }, + "thunky" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/multicast-dns", + "name": "thunky", + "spec": "^1.0.2", + "type": "prod", + }, + }, + "location": "node_modules/thunky", + "name": "thunky", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/thunky", + "peer": true, + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "version": "1.1.0", + }, + "timers-browserify" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/node-libs-browser", + "name": "timers-browserify", + "spec": "^2.0.4", + "type": "prod", + }, + }, + "edgesOut": Map { + "setimmediate" => EdgeOut { + "name": "setimmediate", + "spec": "^1.0.4", + "to": "node_modules/setimmediate", + "type": "prod", + }, + }, + "location": "node_modules/timers-browserify", + "name": "timers-browserify", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/timers-browserify", + "peer": true, + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", + "version": "2.0.12", + }, + "to-arraybuffer" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/stream-http", + "name": "to-arraybuffer", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/to-arraybuffer", + "name": "to-arraybuffer", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/to-arraybuffer", + "peer": true, + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "version": "1.0.1", + }, + "to-object-path" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/cache-base", + "name": "to-object-path", + "spec": "^0.3.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "kind-of" => EdgeOut { + "name": "kind-of", + "spec": "^3.0.2", + "to": "node_modules/kind-of", + "type": "prod", + }, + }, + "location": "node_modules/to-object-path", + "name": "to-object-path", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/to-object-path", + "peer": true, + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "version": "0.3.0", + }, + "to-regex" => ArboristNode { + "children": Map { + "extend-shallow" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/to-regex", + "name": "extend-shallow", + "spec": "^3.0.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "assign-symbols" => EdgeOut { + "name": "assign-symbols", + "spec": "^1.0.0", + "to": "node_modules/assign-symbols", + "type": "prod", + }, + "is-extendable" => EdgeOut { + "name": "is-extendable", + "spec": "^1.0.1", + "to": "node_modules/to-regex/node_modules/is-extendable", + "type": "prod", + }, + }, + "location": "node_modules/to-regex/node_modules/extend-shallow", + "name": "extend-shallow", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/to-regex/node_modules/extend-shallow", + "peer": true, + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "version": "3.0.2", + }, + "is-extendable" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/to-regex/node_modules/extend-shallow", + "name": "is-extendable", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-plain-object" => EdgeOut { + "name": "is-plain-object", + "spec": "^2.0.4", + "to": "node_modules/is-plain-object", + "type": "prod", + }, + }, + "location": "node_modules/to-regex/node_modules/is-extendable", + "name": "is-extendable", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/to-regex/node_modules/is-extendable", + "peer": true, + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "version": "1.0.1", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/braces", + "name": "to-regex", + "spec": "^3.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/expand-brackets", + "name": "to-regex", + "spec": "^3.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/extglob", + "name": "to-regex", + "spec": "^3.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/micromatch", + "name": "to-regex", + "spec": "^3.0.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/nanomatch", + "name": "to-regex", + "spec": "^3.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "define-property" => EdgeOut { + "name": "define-property", + "spec": "^2.0.2", + "to": "node_modules/define-property", + "type": "prod", + }, + "extend-shallow" => EdgeOut { + "name": "extend-shallow", + "spec": "^3.0.2", + "to": "node_modules/to-regex/node_modules/extend-shallow", + "type": "prod", + }, + "regex-not" => EdgeOut { + "name": "regex-not", + "spec": "^1.0.2", + "to": "node_modules/regex-not", + "type": "prod", + }, + "safe-regex" => EdgeOut { + "name": "safe-regex", + "spec": "^1.1.0", + "to": "node_modules/safe-regex", + "type": "prod", + }, + }, + "location": "node_modules/to-regex", + "name": "to-regex", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/to-regex", + "peer": true, + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "version": "3.0.2", + }, + "to-regex-range" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/fill-range", + "name": "to-regex-range", + "spec": "^2.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-number" => EdgeOut { + "name": "is-number", + "spec": "^3.0.0", + "to": "node_modules/is-number", + "type": "prod", + }, + "repeat-string" => EdgeOut { + "name": "repeat-string", + "spec": "^1.6.1", + "to": "node_modules/repeat-string", + "type": "prod", + }, + }, + "location": "node_modules/to-regex-range", + "name": "to-regex-range", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/to-regex-range", + "peer": true, + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "version": "2.1.1", + }, + "toidentifier" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/http-errors", + "name": "toidentifier", + "spec": "1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/toidentifier", + "name": "toidentifier", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/toidentifier", + "peer": true, + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "version": "1.0.0", }, "tslib" => ArboristNode { "edgesIn": Set { @@ -7380,27 +40771,331 @@ ArboristNode { "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", "version": "1.14.1", }, + "tty-browserify" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/node-libs-browser", + "name": "tty-browserify", + "spec": "0.0.0", + "type": "prod", + }, + }, + "location": "node_modules/tty-browserify", + "name": "tty-browserify", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/tty-browserify", + "peer": true, + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "version": "0.0.0", + }, "type-fest" => ArboristNode { "edgesIn": Set { EdgeIn { - "error": "INVALID", "from": "node_modules/@pmmmwh/react-refresh-webpack-plugin", "name": "type-fest", "spec": "^0.13.1", "type": "peerOptional", }, - EdgeIn { - "from": "node_modules/ink", - "name": "type-fest", - "spec": "^0.12.0", - "type": "prod", - }, }, "location": "node_modules/type-fest", "name": "type-fest", + "optional": true, "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/type-fest", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.12.0.tgz", - "version": "0.12.0", + "peer": true, + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", + "version": "0.13.1", + }, + "type-is" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/body-parser", + "name": "type-is", + "spec": "~1.6.17", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/express", + "name": "type-is", + "spec": "~1.6.18", + "type": "prod", + }, + }, + "edgesOut": Map { + "media-typer" => EdgeOut { + "name": "media-typer", + "spec": "0.3.0", + "to": "node_modules/media-typer", + "type": "prod", + }, + "mime-types" => EdgeOut { + "name": "mime-types", + "spec": "~2.1.24", + "to": "node_modules/mime-types", + "type": "prod", + }, + }, + "location": "node_modules/type-is", + "name": "type-is", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/type-is", + "peer": true, + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "version": "1.6.18", + }, + "typedarray" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/concat-stream", + "name": "typedarray", + "spec": "^0.0.6", + "type": "prod", + }, + }, + "location": "node_modules/typedarray", + "name": "typedarray", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/typedarray", + "peer": true, + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "version": "0.0.6", + }, + "union-value" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/cache-base", + "name": "union-value", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "arr-union" => EdgeOut { + "name": "arr-union", + "spec": "^3.1.0", + "to": "node_modules/arr-union", + "type": "prod", + }, + "get-value" => EdgeOut { + "name": "get-value", + "spec": "^2.0.6", + "to": "node_modules/get-value", + "type": "prod", + }, + "is-extendable" => EdgeOut { + "name": "is-extendable", + "spec": "^0.1.1", + "to": "node_modules/is-extendable", + "type": "prod", + }, + "set-value" => EdgeOut { + "name": "set-value", + "spec": "^2.0.1", + "to": "node_modules/set-value", + "type": "prod", + }, + }, + "location": "node_modules/union-value", + "name": "union-value", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/union-value", + "peer": true, + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "version": "1.0.1", + }, + "unique-filename" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/cacache", + "name": "unique-filename", + "spec": "^1.1.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "unique-slug" => EdgeOut { + "name": "unique-slug", + "spec": "^2.0.0", + "to": "node_modules/unique-slug", + "type": "prod", + }, + }, + "location": "node_modules/unique-filename", + "name": "unique-filename", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/unique-filename", + "peer": true, + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "version": "1.1.1", + }, + "unique-slug" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/unique-filename", + "name": "unique-slug", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "imurmurhash" => EdgeOut { + "name": "imurmurhash", + "spec": "^0.1.4", + "to": "node_modules/imurmurhash", + "type": "prod", + }, + }, + "location": "node_modules/unique-slug", + "name": "unique-slug", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/unique-slug", + "peer": true, + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "version": "2.0.2", + }, + "unpipe" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/finalhandler", + "name": "unpipe", + "spec": "~1.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/raw-body", + "name": "unpipe", + "spec": "1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/unpipe", + "name": "unpipe", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/unpipe", + "peer": true, + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "version": "1.0.0", + }, + "unset-value" => ArboristNode { + "children": Map { + "has-value" => ArboristNode { + "children": Map { + "isobject" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/unset-value/node_modules/has-value", + "name": "isobject", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "isarray" => EdgeOut { + "name": "isarray", + "spec": "1.0.0", + "to": "node_modules/isarray", + "type": "prod", + }, + }, + "location": "node_modules/unset-value/node_modules/has-value/node_modules/isobject", + "name": "isobject", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/unset-value/node_modules/has-value/node_modules/isobject", + "peer": true, + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "version": "2.1.0", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/unset-value", + "name": "has-value", + "spec": "^0.3.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "get-value" => EdgeOut { + "name": "get-value", + "spec": "^2.0.3", + "to": "node_modules/get-value", + "type": "prod", + }, + "has-values" => EdgeOut { + "name": "has-values", + "spec": "^0.1.4", + "to": "node_modules/unset-value/node_modules/has-values", + "type": "prod", + }, + "isobject" => EdgeOut { + "name": "isobject", + "spec": "^2.0.0", + "to": "node_modules/unset-value/node_modules/has-value/node_modules/isobject", + "type": "prod", + }, + }, + "location": "node_modules/unset-value/node_modules/has-value", + "name": "has-value", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/unset-value/node_modules/has-value", + "peer": true, + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "version": "0.3.1", + }, + "has-values" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/unset-value/node_modules/has-value", + "name": "has-values", + "spec": "^0.1.4", + "type": "prod", + }, + }, + "location": "node_modules/unset-value/node_modules/has-values", + "name": "has-values", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/unset-value/node_modules/has-values", + "peer": true, + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "version": "0.1.4", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/cache-base", + "name": "unset-value", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "has-value" => EdgeOut { + "name": "has-value", + "spec": "^0.3.1", + "to": "node_modules/unset-value/node_modules/has-value", + "type": "prod", + }, + "isobject" => EdgeOut { + "name": "isobject", + "spec": "^3.0.0", + "to": "node_modules/isobject", + "type": "prod", + }, + }, + "location": "node_modules/unset-value", + "name": "unset-value", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/unset-value", + "peer": true, + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "version": "1.0.0", + }, + "upath" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/chokidar", + "name": "upath", + "spec": "^1.1.1", + "type": "prod", + }, + }, + "location": "node_modules/upath", + "name": "upath", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/upath", + "peer": true, + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "version": "1.2.0", }, "uri-js" => ArboristNode { "edgesIn": Set { @@ -7425,21 +41120,606 @@ ArboristNode { "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz", "version": "4.4.0", }, + "urix" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/source-map-resolve", + "name": "urix", + "spec": "^0.1.0", + "type": "prod", + }, + }, + "location": "node_modules/urix", + "name": "urix", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/urix", + "peer": true, + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "version": "0.1.0", + }, + "url" => ArboristNode { + "children": Map { + "punycode" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/url", + "name": "punycode", + "spec": "1.3.2", + "type": "prod", + }, + }, + "location": "node_modules/url/node_modules/punycode", + "name": "punycode", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/url/node_modules/punycode", + "peer": true, + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "version": "1.3.2", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/node-libs-browser", + "name": "url", + "spec": "^0.11.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "url", + "spec": "^0.11.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "punycode" => EdgeOut { + "name": "punycode", + "spec": "1.3.2", + "to": "node_modules/url/node_modules/punycode", + "type": "prod", + }, + "querystring" => EdgeOut { + "name": "querystring", + "spec": "0.2.0", + "to": "node_modules/querystring", + "type": "prod", + }, + }, + "location": "node_modules/url", + "name": "url", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/url", + "peer": true, + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "version": "0.11.0", + }, + "url-parse" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/original", + "name": "url-parse", + "spec": "^1.4.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/sockjs-client", + "name": "url-parse", + "spec": "^1.4.7", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/webpack-dev-server/node_modules/sockjs-client", + "name": "url-parse", + "spec": "^1.4.3", + "type": "prod", + }, + }, + "edgesOut": Map { + "querystringify" => EdgeOut { + "name": "querystringify", + "spec": "^2.1.1", + "to": "node_modules/querystringify", + "type": "prod", + }, + "requires-port" => EdgeOut { + "name": "requires-port", + "spec": "^1.0.0", + "to": "node_modules/requires-port", + "type": "prod", + }, + }, + "location": "node_modules/url-parse", + "name": "url-parse", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/url-parse", + "peer": true, + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz", + "version": "1.4.7", + }, + "use" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/snapdragon", + "name": "use", + "spec": "^3.1.0", + "type": "prod", + }, + }, + "location": "node_modules/use", + "name": "use", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/use", + "peer": true, + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "version": "3.1.1", + }, + "util" => ArboristNode { + "children": Map { + "inherits" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/util", + "name": "inherits", + "spec": "2.0.3", + "type": "prod", + }, + }, + "location": "node_modules/util/node_modules/inherits", + "name": "inherits", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/util/node_modules/inherits", + "peer": true, + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "version": "2.0.3", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/node-libs-browser", + "name": "util", + "spec": "^0.11.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "inherits" => EdgeOut { + "name": "inherits", + "spec": "2.0.3", + "to": "node_modules/util/node_modules/inherits", + "type": "prod", + }, + }, + "location": "node_modules/util", + "name": "util", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/util", + "peer": true, + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "version": "0.11.1", + }, + "util-deprecate" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/browserify-sign/node_modules/readable-stream", + "name": "util-deprecate", + "spec": "^1.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/hash-base/node_modules/readable-stream", + "name": "util-deprecate", + "spec": "^1.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/readable-stream", + "name": "util-deprecate", + "spec": "~1.0.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/spdy-transport/node_modules/readable-stream", + "name": "util-deprecate", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "location": "node_modules/util-deprecate", + "name": "util-deprecate", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/util-deprecate", + "peer": true, + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "version": "1.0.2", + }, + "utils-merge" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/express", + "name": "utils-merge", + "spec": "1.0.1", + "type": "prod", + }, + }, + "location": "node_modules/utils-merge", + "name": "utils-merge", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/utils-merge", + "peer": true, + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "version": "1.0.1", + }, + "uuid" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/sockjs", + "name": "uuid", + "spec": "^3.4.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/webpack-log", + "name": "uuid", + "spec": "^3.3.2", + "type": "prod", + }, + }, + "location": "node_modules/uuid", + "name": "uuid", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/uuid", + "peer": true, + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "version": "3.4.0", + }, + "vary" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/compression", + "name": "vary", + "spec": "~1.1.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/express", + "name": "vary", + "spec": "~1.1.2", + "type": "prod", + }, + }, + "location": "node_modules/vary", + "name": "vary", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/vary", + "peer": true, + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "version": "1.1.2", + }, + "vm-browserify" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/node-libs-browser", + "name": "vm-browserify", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "location": "node_modules/vm-browserify", + "name": "vm-browserify", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/vm-browserify", + "peer": true, + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "version": "1.1.2", + }, "watchpack" => ArboristNode { + "children": Map { + "anymatch" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/watchpack/node_modules/chokidar", + "name": "anymatch", + "spec": "~3.1.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "normalize-path" => EdgeOut { + "name": "normalize-path", + "spec": "^3.0.0", + "to": "node_modules/normalize-path", + "type": "prod", + }, + "picomatch" => EdgeOut { + "name": "picomatch", + "spec": "^2.0.4", + "to": "node_modules/picomatch", + "type": "prod", + }, + }, + "location": "node_modules/watchpack/node_modules/anymatch", + "name": "anymatch", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/watchpack/node_modules/anymatch", + "peer": true, + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "version": "3.1.1", + }, + "binary-extensions" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/watchpack/node_modules/is-binary-path", + "name": "binary-extensions", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/watchpack/node_modules/binary-extensions", + "name": "binary-extensions", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/watchpack/node_modules/binary-extensions", + "peer": true, + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", + "version": "2.1.0", + }, + "braces" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/watchpack/node_modules/chokidar", + "name": "braces", + "spec": "~3.0.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "fill-range" => EdgeOut { + "name": "fill-range", + "spec": "^7.0.1", + "to": "node_modules/watchpack/node_modules/fill-range", + "type": "prod", + }, + }, + "location": "node_modules/watchpack/node_modules/braces", + "name": "braces", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/watchpack/node_modules/braces", + "peer": true, + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "version": "3.0.2", + }, + "chokidar" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/watchpack", + "name": "chokidar", + "spec": "^3.4.1", + "type": "optional", + }, + }, + "edgesOut": Map { + "anymatch" => EdgeOut { + "name": "anymatch", + "spec": "~3.1.1", + "to": "node_modules/watchpack/node_modules/anymatch", + "type": "prod", + }, + "braces" => EdgeOut { + "name": "braces", + "spec": "~3.0.2", + "to": "node_modules/watchpack/node_modules/braces", + "type": "prod", + }, + "fsevents" => EdgeOut { + "name": "fsevents", + "spec": "~2.1.2", + "to": "node_modules/watchpack/node_modules/fsevents", + "type": "optional", + }, + "glob-parent" => EdgeOut { + "name": "glob-parent", + "spec": "~5.1.0", + "to": "node_modules/watchpack/node_modules/glob-parent", + "type": "prod", + }, + "is-binary-path" => EdgeOut { + "name": "is-binary-path", + "spec": "~2.1.0", + "to": "node_modules/watchpack/node_modules/is-binary-path", + "type": "prod", + }, + "is-glob" => EdgeOut { + "name": "is-glob", + "spec": "~4.0.1", + "to": "node_modules/is-glob", + "type": "prod", + }, + "normalize-path" => EdgeOut { + "name": "normalize-path", + "spec": "~3.0.0", + "to": "node_modules/normalize-path", + "type": "prod", + }, + "readdirp" => EdgeOut { + "name": "readdirp", + "spec": "~3.5.0", + "to": "node_modules/watchpack/node_modules/readdirp", + "type": "prod", + }, + }, + "location": "node_modules/watchpack/node_modules/chokidar", + "name": "chokidar", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/watchpack/node_modules/chokidar", + "peer": true, + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz", + "version": "3.4.3", + }, + "fill-range" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/watchpack/node_modules/braces", + "name": "fill-range", + "spec": "^7.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "to-regex-range" => EdgeOut { + "name": "to-regex-range", + "spec": "^5.0.1", + "to": "node_modules/watchpack/node_modules/to-regex-range", + "type": "prod", + }, + }, + "location": "node_modules/watchpack/node_modules/fill-range", + "name": "fill-range", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/watchpack/node_modules/fill-range", + "peer": true, + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "version": "7.0.1", + }, + "fsevents" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/watchpack/node_modules/chokidar", + "name": "fsevents", + "spec": "~2.1.2", + "type": "optional", + }, + }, + "location": "node_modules/watchpack/node_modules/fsevents", + "name": "fsevents", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/watchpack/node_modules/fsevents", + "peer": true, + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "version": "2.1.3", + }, + "glob-parent" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/watchpack/node_modules/chokidar", + "name": "glob-parent", + "spec": "~5.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-glob" => EdgeOut { + "name": "is-glob", + "spec": "^4.0.1", + "to": "node_modules/is-glob", + "type": "prod", + }, + }, + "location": "node_modules/watchpack/node_modules/glob-parent", + "name": "glob-parent", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/watchpack/node_modules/glob-parent", + "peer": true, + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "version": "5.1.1", + }, + "is-binary-path" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/watchpack/node_modules/chokidar", + "name": "is-binary-path", + "spec": "~2.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "binary-extensions" => EdgeOut { + "name": "binary-extensions", + "spec": "^2.0.0", + "to": "node_modules/watchpack/node_modules/binary-extensions", + "type": "prod", + }, + }, + "location": "node_modules/watchpack/node_modules/is-binary-path", + "name": "is-binary-path", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/watchpack/node_modules/is-binary-path", + "peer": true, + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "version": "2.1.0", + }, + "is-number" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/watchpack/node_modules/to-regex-range", + "name": "is-number", + "spec": "^7.0.0", + "type": "prod", + }, + }, + "location": "node_modules/watchpack/node_modules/is-number", + "name": "is-number", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/watchpack/node_modules/is-number", + "peer": true, + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "version": "7.0.0", + }, + "readdirp" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/watchpack/node_modules/chokidar", + "name": "readdirp", + "spec": "~3.5.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "picomatch" => EdgeOut { + "name": "picomatch", + "spec": "^2.2.1", + "to": "node_modules/picomatch", + "type": "prod", + }, + }, + "location": "node_modules/watchpack/node_modules/readdirp", + "name": "readdirp", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/watchpack/node_modules/readdirp", + "peer": true, + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", + "version": "3.5.0", + }, + "to-regex-range" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/watchpack/node_modules/fill-range", + "name": "to-regex-range", + "spec": "^5.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-number" => EdgeOut { + "name": "is-number", + "spec": "^7.0.0", + "to": "node_modules/watchpack/node_modules/is-number", + "type": "prod", + }, + }, + "location": "node_modules/watchpack/node_modules/to-regex-range", + "name": "to-regex-range", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/watchpack/node_modules/to-regex-range", + "peer": true, + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "version": "5.0.1", + }, + }, "edgesIn": Set { EdgeIn { "from": "node_modules/webpack", "name": "watchpack", - "spec": "^2.0.0", + "spec": "^1.7.4", "type": "prod", }, }, "edgesOut": Map { - "glob-to-regexp" => EdgeOut { - "name": "glob-to-regexp", - "spec": "^0.4.1", - "to": "node_modules/glob-to-regexp", - "type": "prod", + "chokidar" => EdgeOut { + "name": "chokidar", + "spec": "^3.4.1", + "to": "node_modules/watchpack/node_modules/chokidar", + "type": "optional", }, "graceful-fs" => EdgeOut { "name": "graceful-fs", @@ -7447,14 +41727,82 @@ ArboristNode { "to": "node_modules/graceful-fs", "type": "prod", }, + "neo-async" => EdgeOut { + "name": "neo-async", + "spec": "^2.5.0", + "to": "node_modules/neo-async", + "type": "prod", + }, + "watchpack-chokidar2" => EdgeOut { + "name": "watchpack-chokidar2", + "spec": "^2.0.0", + "to": "node_modules/watchpack-chokidar2", + "type": "optional", + }, }, "location": "node_modules/watchpack", "name": "watchpack", "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/watchpack", "peer": true, - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.0.1.tgz", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.4.tgz", + "version": "1.7.4", + }, + "watchpack-chokidar2" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/watchpack", + "name": "watchpack-chokidar2", + "spec": "^2.0.0", + "type": "optional", + }, + }, + "edgesOut": Map { + "chokidar" => EdgeOut { + "name": "chokidar", + "spec": "^2.1.8", + "to": "node_modules/chokidar", + "type": "prod", + }, + }, + "location": "node_modules/watchpack-chokidar2", + "name": "watchpack-chokidar2", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/watchpack-chokidar2", + "peer": true, + "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", "version": "2.0.1", }, + "wbuf" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/hpack.js", + "name": "wbuf", + "spec": "^1.1.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/spdy-transport", + "name": "wbuf", + "spec": "^1.7.3", + "type": "prod", + }, + }, + "edgesOut": Map { + "minimalistic-assert" => EdgeOut { + "name": "minimalistic-assert", + "spec": "^1.0.0", + "to": "node_modules/minimalistic-assert", + "type": "prod", + }, + }, + "location": "node_modules/wbuf", + "name": "wbuf", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/wbuf", + "peer": true, + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "version": "1.7.3", + }, "webpack" => ArboristNode { "children": Map { "schema-utils" => ArboristNode { @@ -7462,26 +41810,26 @@ ArboristNode { EdgeIn { "from": "node_modules/webpack", "name": "schema-utils", - "spec": "^3.0.0", + "spec": "^1.0.0", "type": "prod", }, }, "edgesOut": Map { - "@types/json-schema" => EdgeOut { - "name": "@types/json-schema", - "spec": "^7.0.6", - "to": "node_modules/@types/json-schema", - "type": "prod", - }, "ajv" => EdgeOut { "name": "ajv", - "spec": "^6.12.5", + "spec": "^6.1.0", "to": "node_modules/ajv", "type": "prod", }, + "ajv-errors" => EdgeOut { + "name": "ajv-errors", + "spec": "^1.0.0", + "to": "node_modules/ajv-errors", + "type": "prod", + }, "ajv-keywords" => EdgeOut { "name": "ajv-keywords", - "spec": "^3.5.2", + "spec": "^3.1.0", "to": "node_modules/ajv-keywords", "type": "prod", }, @@ -7490,8 +41838,8 @@ ArboristNode { "name": "schema-utils", "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/webpack/node_modules/schema-utils", "peer": true, - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "version": "3.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "version": "1.0.0", }, }, "edgesIn": Set { @@ -7504,23 +41852,23 @@ ArboristNode { EdgeIn { "from": "node_modules/terser-webpack-plugin", "name": "webpack", - "spec": "^5.1.0", + "spec": "^4.0.0", "type": "peer", }, - }, - "edgesOut": Map { - "@types/eslint-scope" => EdgeOut { - "name": "@types/eslint-scope", - "spec": "^3.7.0", - "to": "node_modules/@types/eslint-scope", - "type": "prod", + EdgeIn { + "from": "node_modules/webpack-dev-middleware", + "name": "webpack", + "spec": "^4.0.0", + "type": "peer", }, - "@types/estree" => EdgeOut { - "name": "@types/estree", - "spec": "^0.0.45", - "to": "node_modules/@types/estree", - "type": "prod", + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "webpack", + "spec": "^4.0.0 || ^5.0.0", + "type": "peer", }, + }, + "edgesOut": Map { "@webassemblyjs/ast" => EdgeOut { "name": "@webassemblyjs/ast", "spec": "1.9.0", @@ -7547,14 +41895,20 @@ ArboristNode { }, "acorn" => EdgeOut { "name": "acorn", - "spec": "^8.0.4", + "spec": "^6.4.1", "to": "node_modules/acorn", "type": "prod", }, - "browserslist" => EdgeOut { - "name": "browserslist", - "spec": "^4.14.5", - "to": "node_modules/browserslist", + "ajv" => EdgeOut { + "name": "ajv", + "spec": "^6.10.2", + "to": "node_modules/ajv", + "type": "prod", + }, + "ajv-keywords" => EdgeOut { + "name": "ajv-keywords", + "spec": "^3.4.1", + "to": "node_modules/ajv-keywords", "type": "prod", }, "chrome-trace-event" => EdgeOut { @@ -7565,34 +41919,16 @@ ArboristNode { }, "enhanced-resolve" => EdgeOut { "name": "enhanced-resolve", - "spec": "^5.3.1", + "spec": "^4.3.0", "to": "node_modules/enhanced-resolve", "type": "prod", }, "eslint-scope" => EdgeOut { "name": "eslint-scope", - "spec": "^5.1.1", + "spec": "^4.0.3", "to": "node_modules/eslint-scope", "type": "prod", }, - "events" => EdgeOut { - "name": "events", - "spec": "^3.2.0", - "to": "node_modules/events", - "type": "prod", - }, - "glob-to-regexp" => EdgeOut { - "name": "glob-to-regexp", - "spec": "^0.4.1", - "to": "node_modules/glob-to-regexp", - "type": "prod", - }, - "graceful-fs" => EdgeOut { - "name": "graceful-fs", - "spec": "^4.2.4", - "to": "node_modules/graceful-fs", - "type": "prod", - }, "json-parse-better-errors" => EdgeOut { "name": "json-parse-better-errors", "spec": "^1.0.2", @@ -7601,55 +41937,73 @@ ArboristNode { }, "loader-runner" => EdgeOut { "name": "loader-runner", - "spec": "^4.1.0", + "spec": "^2.4.0", "to": "node_modules/loader-runner", "type": "prod", }, - "mime-types" => EdgeOut { - "name": "mime-types", - "spec": "^2.1.27", - "to": "node_modules/mime-types", + "loader-utils" => EdgeOut { + "name": "loader-utils", + "spec": "^1.2.3", + "to": "node_modules/loader-utils", + "type": "prod", + }, + "memory-fs" => EdgeOut { + "name": "memory-fs", + "spec": "^0.4.1", + "to": "node_modules/memory-fs", + "type": "prod", + }, + "micromatch" => EdgeOut { + "name": "micromatch", + "spec": "^3.1.10", + "to": "node_modules/micromatch", + "type": "prod", + }, + "mkdirp" => EdgeOut { + "name": "mkdirp", + "spec": "^0.5.3", + "to": "node_modules/mkdirp", "type": "prod", }, "neo-async" => EdgeOut { "name": "neo-async", - "spec": "^2.6.2", + "spec": "^2.6.1", "to": "node_modules/neo-async", "type": "prod", }, - "pkg-dir" => EdgeOut { - "name": "pkg-dir", - "spec": "^4.2.0", - "to": "node_modules/pkg-dir", + "node-libs-browser" => EdgeOut { + "name": "node-libs-browser", + "spec": "^2.2.1", + "to": "node_modules/node-libs-browser", "type": "prod", }, "schema-utils" => EdgeOut { "name": "schema-utils", - "spec": "^3.0.0", + "spec": "^1.0.0", "to": "node_modules/webpack/node_modules/schema-utils", "type": "prod", }, "tapable" => EdgeOut { "name": "tapable", - "spec": "^2.0.0", + "spec": "^1.1.3", "to": "node_modules/tapable", "type": "prod", }, "terser-webpack-plugin" => EdgeOut { "name": "terser-webpack-plugin", - "spec": "^5.0.3", + "spec": "^1.4.3", "to": "node_modules/terser-webpack-plugin", "type": "prod", }, "watchpack" => EdgeOut { "name": "watchpack", - "spec": "^2.0.0", + "spec": "^1.7.4", "to": "node_modules/watchpack", "type": "prod", }, "webpack-sources" => EdgeOut { "name": "webpack-sources", - "spec": "^2.1.1", + "spec": "^1.4.1", "to": "node_modules/webpack-sources", "type": "prod", }, @@ -7658,8 +42012,597 @@ ArboristNode { "name": "webpack", "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/webpack", "peer": true, - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.3.2.tgz", - "version": "5.3.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.44.2.tgz", + "version": "4.44.2", + }, + "webpack-dev-middleware" => ArboristNode { + "children": Map { + "mime" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-dev-middleware", + "name": "mime", + "spec": "^2.4.4", + "type": "prod", + }, + }, + "location": "node_modules/webpack-dev-middleware/node_modules/mime", + "name": "mime", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/webpack-dev-middleware/node_modules/mime", + "peer": true, + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz", + "version": "2.4.6", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "webpack-dev-middleware", + "spec": "^3.7.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "memory-fs" => EdgeOut { + "name": "memory-fs", + "spec": "^0.4.1", + "to": "node_modules/memory-fs", + "type": "prod", + }, + "mime" => EdgeOut { + "name": "mime", + "spec": "^2.4.4", + "to": "node_modules/webpack-dev-middleware/node_modules/mime", + "type": "prod", + }, + "mkdirp" => EdgeOut { + "name": "mkdirp", + "spec": "^0.5.1", + "to": "node_modules/mkdirp", + "type": "prod", + }, + "range-parser" => EdgeOut { + "name": "range-parser", + "spec": "^1.2.1", + "to": "node_modules/range-parser", + "type": "prod", + }, + "webpack" => EdgeOut { + "name": "webpack", + "spec": "^4.0.0", + "to": "node_modules/webpack", + "type": "peer", + }, + "webpack-log" => EdgeOut { + "name": "webpack-log", + "spec": "^2.0.0", + "to": "node_modules/webpack-log", + "type": "prod", + }, + }, + "location": "node_modules/webpack-dev-middleware", + "name": "webpack-dev-middleware", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/webpack-dev-middleware", + "peer": true, + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz", + "version": "3.7.2", + }, + "webpack-dev-server" => ArboristNode { + "children": Map { + "ansi-regex" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-dev-server/node_modules/strip-ansi", + "name": "ansi-regex", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/webpack-dev-server/node_modules/ansi-regex", + "name": "ansi-regex", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/webpack-dev-server/node_modules/ansi-regex", + "peer": true, + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "version": "2.1.1", + }, + "debug" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "debug", + "spec": "^4.1.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "ms" => EdgeOut { + "name": "ms", + "spec": "2.1.2", + "to": "node_modules/ms", + "type": "prod", + }, + }, + "location": "node_modules/webpack-dev-server/node_modules/debug", + "name": "debug", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/webpack-dev-server/node_modules/debug", + "peer": true, + "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", + "version": "4.2.0", + }, + "has-flag" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-dev-server/node_modules/supports-color", + "name": "has-flag", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "location": "node_modules/webpack-dev-server/node_modules/has-flag", + "name": "has-flag", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/webpack-dev-server/node_modules/has-flag", + "peer": true, + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "version": "3.0.0", + }, + "schema-utils" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "schema-utils", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "ajv" => EdgeOut { + "name": "ajv", + "spec": "^6.1.0", + "to": "node_modules/ajv", + "type": "prod", + }, + "ajv-errors" => EdgeOut { + "name": "ajv-errors", + "spec": "^1.0.0", + "to": "node_modules/ajv-errors", + "type": "prod", + }, + "ajv-keywords" => EdgeOut { + "name": "ajv-keywords", + "spec": "^3.1.0", + "to": "node_modules/ajv-keywords", + "type": "prod", + }, + }, + "location": "node_modules/webpack-dev-server/node_modules/schema-utils", + "name": "schema-utils", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/webpack-dev-server/node_modules/schema-utils", + "peer": true, + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "version": "1.0.0", + }, + "sockjs-client" => ArboristNode { + "children": Map { + "debug" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-dev-server/node_modules/sockjs-client", + "name": "debug", + "spec": "^3.2.5", + "type": "prod", + }, + }, + "edgesOut": Map { + "ms" => EdgeOut { + "name": "ms", + "spec": "^2.1.1", + "to": "node_modules/ms", + "type": "prod", + }, + }, + "location": "node_modules/webpack-dev-server/node_modules/sockjs-client/node_modules/debug", + "name": "debug", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/webpack-dev-server/node_modules/sockjs-client/node_modules/debug", + "peer": true, + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "version": "3.2.6", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "sockjs-client", + "spec": "1.4.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "debug" => EdgeOut { + "name": "debug", + "spec": "^3.2.5", + "to": "node_modules/webpack-dev-server/node_modules/sockjs-client/node_modules/debug", + "type": "prod", + }, + "eventsource" => EdgeOut { + "name": "eventsource", + "spec": "^1.0.7", + "to": "node_modules/eventsource", + "type": "prod", + }, + "faye-websocket" => EdgeOut { + "name": "faye-websocket", + "spec": "~0.11.1", + "to": "node_modules/faye-websocket", + "type": "prod", + }, + "inherits" => EdgeOut { + "name": "inherits", + "spec": "^2.0.3", + "to": "node_modules/inherits", + "type": "prod", + }, + "json3" => EdgeOut { + "name": "json3", + "spec": "^3.3.2", + "to": "node_modules/json3", + "type": "prod", + }, + "url-parse" => EdgeOut { + "name": "url-parse", + "spec": "^1.4.3", + "to": "node_modules/url-parse", + "type": "prod", + }, + }, + "location": "node_modules/webpack-dev-server/node_modules/sockjs-client", + "name": "sockjs-client", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/webpack-dev-server/node_modules/sockjs-client", + "peer": true, + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.4.0.tgz", + "version": "1.4.0", + }, + "strip-ansi" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "strip-ansi", + "spec": "^3.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "ansi-regex" => EdgeOut { + "name": "ansi-regex", + "spec": "^2.0.0", + "to": "node_modules/webpack-dev-server/node_modules/ansi-regex", + "type": "prod", + }, + }, + "location": "node_modules/webpack-dev-server/node_modules/strip-ansi", + "name": "strip-ansi", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/webpack-dev-server/node_modules/strip-ansi", + "peer": true, + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "version": "3.0.1", + }, + "supports-color" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "supports-color", + "spec": "^6.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "has-flag" => EdgeOut { + "name": "has-flag", + "spec": "^3.0.0", + "to": "node_modules/webpack-dev-server/node_modules/has-flag", + "type": "prod", + }, + }, + "location": "node_modules/webpack-dev-server/node_modules/supports-color", + "name": "supports-color", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/webpack-dev-server/node_modules/supports-color", + "peer": true, + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "version": "6.1.0", + }, + "ws" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "ws", + "spec": "^6.2.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "async-limiter" => EdgeOut { + "name": "async-limiter", + "spec": "~1.0.0", + "to": "node_modules/async-limiter", + "type": "prod", + }, + }, + "location": "node_modules/webpack-dev-server/node_modules/ws", + "name": "ws", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/webpack-dev-server/node_modules/ws", + "peer": true, + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", + "version": "6.2.1", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/@pmmmwh/react-refresh-webpack-plugin", + "name": "webpack-dev-server", + "spec": "3.x", + "type": "peerOptional", + }, + }, + "edgesOut": Map { + "ansi-html" => EdgeOut { + "name": "ansi-html", + "spec": "0.0.7", + "to": "node_modules/ansi-html", + "type": "prod", + }, + "bonjour" => EdgeOut { + "name": "bonjour", + "spec": "^3.5.0", + "to": "node_modules/bonjour", + "type": "prod", + }, + "chokidar" => EdgeOut { + "name": "chokidar", + "spec": "^2.1.8", + "to": "node_modules/chokidar", + "type": "prod", + }, + "compression" => EdgeOut { + "name": "compression", + "spec": "^1.7.4", + "to": "node_modules/compression", + "type": "prod", + }, + "connect-history-api-fallback" => EdgeOut { + "name": "connect-history-api-fallback", + "spec": "^1.6.0", + "to": "node_modules/connect-history-api-fallback", + "type": "prod", + }, + "debug" => EdgeOut { + "name": "debug", + "spec": "^4.1.1", + "to": "node_modules/webpack-dev-server/node_modules/debug", + "type": "prod", + }, + "del" => EdgeOut { + "name": "del", + "spec": "^4.1.1", + "to": "node_modules/del", + "type": "prod", + }, + "express" => EdgeOut { + "name": "express", + "spec": "^4.17.1", + "to": "node_modules/express", + "type": "prod", + }, + "html-entities" => EdgeOut { + "name": "html-entities", + "spec": "^1.3.1", + "to": "node_modules/html-entities", + "type": "prod", + }, + "http-proxy-middleware" => EdgeOut { + "name": "http-proxy-middleware", + "spec": "0.19.1", + "to": "node_modules/http-proxy-middleware", + "type": "prod", + }, + "import-local" => EdgeOut { + "name": "import-local", + "spec": "^2.0.0", + "to": "node_modules/import-local", + "type": "prod", + }, + "internal-ip" => EdgeOut { + "name": "internal-ip", + "spec": "^4.3.0", + "to": "node_modules/internal-ip", + "type": "prod", + }, + "ip" => EdgeOut { + "name": "ip", + "spec": "^1.1.5", + "to": "node_modules/ip", + "type": "prod", + }, + "is-absolute-url" => EdgeOut { + "name": "is-absolute-url", + "spec": "^3.0.3", + "to": "node_modules/is-absolute-url", + "type": "prod", + }, + "killable" => EdgeOut { + "name": "killable", + "spec": "^1.0.1", + "to": "node_modules/killable", + "type": "prod", + }, + "loglevel" => EdgeOut { + "name": "loglevel", + "spec": "^1.6.8", + "to": "node_modules/loglevel", + "type": "prod", + }, + "opn" => EdgeOut { + "name": "opn", + "spec": "^5.5.0", + "to": "node_modules/opn", + "type": "prod", + }, + "p-retry" => EdgeOut { + "name": "p-retry", + "spec": "^3.0.1", + "to": "node_modules/p-retry", + "type": "prod", + }, + "portfinder" => EdgeOut { + "name": "portfinder", + "spec": "^1.0.26", + "to": "node_modules/portfinder", + "type": "prod", + }, + "schema-utils" => EdgeOut { + "name": "schema-utils", + "spec": "^1.0.0", + "to": "node_modules/webpack-dev-server/node_modules/schema-utils", + "type": "prod", + }, + "selfsigned" => EdgeOut { + "name": "selfsigned", + "spec": "^1.10.7", + "to": "node_modules/selfsigned", + "type": "prod", + }, + "semver" => EdgeOut { + "name": "semver", + "spec": "^6.3.0", + "to": "node_modules/semver", + "type": "prod", + }, + "serve-index" => EdgeOut { + "name": "serve-index", + "spec": "^1.9.1", + "to": "node_modules/serve-index", + "type": "prod", + }, + "sockjs" => EdgeOut { + "name": "sockjs", + "spec": "0.3.20", + "to": "node_modules/sockjs", + "type": "prod", + }, + "sockjs-client" => EdgeOut { + "name": "sockjs-client", + "spec": "1.4.0", + "to": "node_modules/webpack-dev-server/node_modules/sockjs-client", + "type": "prod", + }, + "spdy" => EdgeOut { + "name": "spdy", + "spec": "^4.0.2", + "to": "node_modules/spdy", + "type": "prod", + }, + "strip-ansi" => EdgeOut { + "name": "strip-ansi", + "spec": "^3.0.1", + "to": "node_modules/webpack-dev-server/node_modules/strip-ansi", + "type": "prod", + }, + "supports-color" => EdgeOut { + "name": "supports-color", + "spec": "^6.1.0", + "to": "node_modules/webpack-dev-server/node_modules/supports-color", + "type": "prod", + }, + "url" => EdgeOut { + "name": "url", + "spec": "^0.11.0", + "to": "node_modules/url", + "type": "prod", + }, + "webpack" => EdgeOut { + "name": "webpack", + "spec": "^4.0.0 || ^5.0.0", + "to": "node_modules/webpack", + "type": "peer", + }, + "webpack-dev-middleware" => EdgeOut { + "name": "webpack-dev-middleware", + "spec": "^3.7.2", + "to": "node_modules/webpack-dev-middleware", + "type": "prod", + }, + "webpack-log" => EdgeOut { + "name": "webpack-log", + "spec": "^2.0.0", + "to": "node_modules/webpack-log", + "type": "prod", + }, + "ws" => EdgeOut { + "name": "ws", + "spec": "^6.2.1", + "to": "node_modules/webpack-dev-server/node_modules/ws", + "type": "prod", + }, + "yargs" => EdgeOut { + "name": "yargs", + "spec": "^13.3.2", + "to": "node_modules/yargs", + "type": "prod", + }, + }, + "location": "node_modules/webpack-dev-server", + "name": "webpack-dev-server", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/webpack-dev-server", + "peer": true, + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.0.tgz", + "version": "3.11.0", + }, + "webpack-log" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-dev-middleware", + "name": "webpack-log", + "spec": "^2.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "webpack-log", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "ansi-colors" => EdgeOut { + "name": "ansi-colors", + "spec": "^3.0.0", + "to": "node_modules/ansi-colors", + "type": "prod", + }, + "uuid" => EdgeOut { + "name": "uuid", + "spec": "^3.3.2", + "to": "node_modules/uuid", + "type": "prod", + }, + }, + "location": "node_modules/webpack-log", + "name": "webpack-log", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/webpack-log", + "peer": true, + "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", + "version": "2.0.0", }, "webpack-sources" => ArboristNode { "children": Map { @@ -7668,7 +42611,7 @@ ArboristNode { EdgeIn { "from": "node_modules/webpack-sources", "name": "source-map", - "spec": "^0.6.1", + "spec": "~0.6.1", "type": "prod", }, }, @@ -7682,22 +42625,28 @@ ArboristNode { }, "edgesIn": Set { EdgeIn { + "from": "node_modules/terser-webpack-plugin", + "name": "webpack-sources", + "spec": "^1.4.0", + "type": "prod", + }, + EdgeIn { "from": "node_modules/webpack", "name": "webpack-sources", - "spec": "^2.1.1", + "spec": "^1.4.1", "type": "prod", }, }, "edgesOut": Map { "source-list-map" => EdgeOut { "name": "source-list-map", - "spec": "^2.0.1", + "spec": "^2.0.0", "to": "node_modules/source-list-map", "type": "prod", }, "source-map" => EdgeOut { "name": "source-map", - "spec": "^0.6.1", + "spec": "~0.6.1", "to": "node_modules/webpack-sources/node_modules/source-map", "type": "prod", }, @@ -7706,8 +42655,110 @@ ArboristNode { "name": "webpack-sources", "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/webpack-sources", "peer": true, - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.2.0.tgz", - "version": "2.2.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "version": "1.4.3", + }, + "websocket-driver" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/faye-websocket", + "name": "websocket-driver", + "spec": ">=0.5.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "http-parser-js" => EdgeOut { + "name": "http-parser-js", + "spec": ">=0.5.1", + "to": "node_modules/http-parser-js", + "type": "prod", + }, + "safe-buffer" => EdgeOut { + "name": "safe-buffer", + "spec": ">=5.1.0", + "to": "node_modules/safe-buffer", + "type": "prod", + }, + "websocket-extensions" => EdgeOut { + "name": "websocket-extensions", + "spec": ">=0.1.1", + "to": "node_modules/websocket-extensions", + "type": "prod", + }, + }, + "location": "node_modules/websocket-driver", + "name": "websocket-driver", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/websocket-driver", + "peer": true, + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "version": "0.7.4", + }, + "websocket-extensions" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/sockjs/node_modules/websocket-driver", + "name": "websocket-extensions", + "spec": ">=0.1.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/websocket-driver", + "name": "websocket-extensions", + "spec": ">=0.1.1", + "type": "prod", + }, + }, + "location": "node_modules/websocket-extensions", + "name": "websocket-extensions", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/websocket-extensions", + "peer": true, + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "version": "0.1.4", + }, + "which" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/cross-spawn", + "name": "which", + "spec": "^1.2.9", + "type": "prod", + }, + }, + "edgesOut": Map { + "isexe" => EdgeOut { + "name": "isexe", + "spec": "^2.0.0", + "to": "node_modules/isexe", + "type": "prod", + }, + }, + "location": "node_modules/which", + "name": "which", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/which", + "peer": true, + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "version": "1.3.1", + }, + "which-module" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/yargs", + "name": "which-module", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/which-module", + "name": "which-module", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/which-module", + "peer": true, + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "version": "2.0.0", }, "widest-line" => ArboristNode { "edgesIn": Set { @@ -7732,6 +42783,30 @@ ArboristNode { "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", "version": "3.1.0", }, + "worker-farm" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/terser-webpack-plugin", + "name": "worker-farm", + "spec": "^1.7.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "errno" => EdgeOut { + "name": "errno", + "spec": "~0.1.7", + "to": "node_modules/errno", + "type": "prod", + }, + }, + "location": "node_modules/worker-farm", + "name": "worker-farm", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/worker-farm", + "peer": true, + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "version": "1.7.0", + }, "wrap-ansi" => ArboristNode { "children": Map { "ansi-regex" => ArboristNode { @@ -7807,6 +42882,28 @@ ArboristNode { "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", "version": "6.2.0", }, + "wrappy" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/inflight", + "name": "wrappy", + "spec": "1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/once", + "name": "wrappy", + "spec": "1", + "type": "prod", + }, + }, + "location": "node_modules/wrappy", + "name": "wrappy", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/wrappy", + "peer": true, + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "version": "1.0.2", + }, "ws" => ArboristNode { "edgesIn": Set { EdgeIn { @@ -7825,12 +42922,14 @@ ArboristNode { "edgesOut": Map { "bufferutil" => EdgeOut { "name": "bufferutil", + "peerConflicted": true, "spec": "^4.0.1", "to": null, "type": "peerOptional", }, "utf-8-validate" => EdgeOut { "name": "utf-8-validate", + "peerConflicted": true, "spec": "^5.0.2", "to": null, "type": "peerOptional", @@ -7842,6 +42941,249 @@ ArboristNode { "resolved": "https://registry.npmjs.org/ws/-/ws-7.3.1.tgz", "version": "7.3.1", }, + "xtend" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/stream-http", + "name": "xtend", + "spec": "^4.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/through2", + "name": "xtend", + "spec": "~4.0.1", + "type": "prod", + }, + }, + "location": "node_modules/xtend", + "name": "xtend", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/xtend", + "peer": true, + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "version": "4.0.2", + }, + "y18n" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/cacache", + "name": "y18n", + "spec": "^4.0.0", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/yargs", + "name": "y18n", + "spec": "^4.0.0", + "type": "prod", + }, + }, + "location": "node_modules/y18n", + "name": "y18n", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/y18n", + "peer": true, + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "version": "4.0.0", + }, + "yallist" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/lru-cache", + "name": "yallist", + "spec": "^3.0.2", + "type": "prod", + }, + }, + "location": "node_modules/yallist", + "name": "yallist", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/yallist", + "peer": true, + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "version": "3.1.1", + }, + "yargs" => ArboristNode { + "children": Map { + "emoji-regex" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/yargs/node_modules/string-width", + "name": "emoji-regex", + "spec": "^7.0.1", + "type": "prod", + }, + }, + "location": "node_modules/yargs/node_modules/emoji-regex", + "name": "emoji-regex", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/yargs/node_modules/emoji-regex", + "peer": true, + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "version": "7.0.3", + }, + "is-fullwidth-code-point" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/yargs/node_modules/string-width", + "name": "is-fullwidth-code-point", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/yargs/node_modules/is-fullwidth-code-point", + "name": "is-fullwidth-code-point", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/yargs/node_modules/is-fullwidth-code-point", + "peer": true, + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "version": "2.0.0", + }, + "string-width" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/yargs", + "name": "string-width", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "emoji-regex" => EdgeOut { + "name": "emoji-regex", + "spec": "^7.0.1", + "to": "node_modules/yargs/node_modules/emoji-regex", + "type": "prod", + }, + "is-fullwidth-code-point" => EdgeOut { + "name": "is-fullwidth-code-point", + "spec": "^2.0.0", + "to": "node_modules/yargs/node_modules/is-fullwidth-code-point", + "type": "prod", + }, + "strip-ansi" => EdgeOut { + "name": "strip-ansi", + "spec": "^5.1.0", + "to": "node_modules/strip-ansi", + "type": "prod", + }, + }, + "location": "node_modules/yargs/node_modules/string-width", + "name": "string-width", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/yargs/node_modules/string-width", + "peer": true, + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "version": "3.1.0", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "yargs", + "spec": "^13.3.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "cliui" => EdgeOut { + "name": "cliui", + "spec": "^5.0.0", + "to": "node_modules/cliui", + "type": "prod", + }, + "find-up" => EdgeOut { + "name": "find-up", + "spec": "^3.0.0", + "to": "node_modules/find-up", + "type": "prod", + }, + "get-caller-file" => EdgeOut { + "name": "get-caller-file", + "spec": "^2.0.1", + "to": "node_modules/get-caller-file", + "type": "prod", + }, + "require-directory" => EdgeOut { + "name": "require-directory", + "spec": "^2.1.1", + "to": "node_modules/require-directory", + "type": "prod", + }, + "require-main-filename" => EdgeOut { + "name": "require-main-filename", + "spec": "^2.0.0", + "to": "node_modules/require-main-filename", + "type": "prod", + }, + "set-blocking" => EdgeOut { + "name": "set-blocking", + "spec": "^2.0.0", + "to": "node_modules/set-blocking", + "type": "prod", + }, + "string-width" => EdgeOut { + "name": "string-width", + "spec": "^3.0.0", + "to": "node_modules/yargs/node_modules/string-width", + "type": "prod", + }, + "which-module" => EdgeOut { + "name": "which-module", + "spec": "^2.0.0", + "to": "node_modules/which-module", + "type": "prod", + }, + "y18n" => EdgeOut { + "name": "y18n", + "spec": "^4.0.0", + "to": "node_modules/y18n", + "type": "prod", + }, + "yargs-parser" => EdgeOut { + "name": "yargs-parser", + "spec": "^13.1.2", + "to": "node_modules/yargs-parser", + "type": "prod", + }, + }, + "location": "node_modules/yargs", + "name": "yargs", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/yargs", + "peer": true, + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "version": "13.3.2", + }, + "yargs-parser" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/yargs", + "name": "yargs-parser", + "spec": "^13.1.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "camelcase" => EdgeOut { + "name": "camelcase", + "spec": "^5.0.0", + "to": "node_modules/camelcase", + "type": "prod", + }, + "decamelize" => EdgeOut { + "name": "decamelize", + "spec": "^1.2.0", + "to": "node_modules/decamelize", + "type": "prod", + }, + }, + "location": "node_modules/yargs-parser", + "name": "yargs-parser", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-always-prefer-deduping-peer-deps/node_modules/yargs-parser", + "peer": true, + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "version": "13.1.2", + }, "yoga-layout-prebuilt" => ArboristNode { "edgesIn": Set { EdgeIn { @@ -16705,6 +52047,90 @@ ArboristNode { } ` +exports[`test/arborist/build-ideal-tree.js TAP detect conflicts in transitive peerOptional deps do not omit peerOptionals > must match snapshot 1`] = ` +ArboristNode { + "children": Map { + "@isaacs/test-conflicted-optional-peer-dep-has-peer-optional" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/@isaacs/test-conflicted-optional-peer-dep-meta-peer-optional", + "name": "@isaacs/test-conflicted-optional-peer-dep-has-peer-optional", + "spec": "1", + "type": "prod", + }, + }, + "edgesOut": Map { + "@isaacs/test-conflicted-optional-peer-dep-peer" => EdgeOut { + "name": "@isaacs/test-conflicted-optional-peer-dep-peer", + "spec": "2", + "to": "node_modules/@isaacs/test-conflicted-optional-peer-dep-peer", + "type": "peerOptional", + }, + }, + "location": "node_modules/@isaacs/test-conflicted-optional-peer-dep-has-peer-optional", + "name": "@isaacs/test-conflicted-optional-peer-dep-has-peer-optional", + "path": "{CWD}/test/fixtures/test-conflicted-optional-peer-dep/omit-peer-optional/node_modules/@isaacs/test-conflicted-optional-peer-dep-has-peer-optional", + "resolved": "https://registry.npmjs.org/@isaacs/test-conflicted-optional-peer-dep-has-peer-optional/-/test-conflicted-optional-peer-dep-has-peer-optional-1.0.0.tgz", + "version": "1.0.0", + }, + "@isaacs/test-conflicted-optional-peer-dep-meta-peer-optional" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "", + "name": "@isaacs/test-conflicted-optional-peer-dep-meta-peer-optional", + "spec": "1", + "type": "prod", + }, + }, + "edgesOut": Map { + "@isaacs/test-conflicted-optional-peer-dep-has-peer-optional" => EdgeOut { + "name": "@isaacs/test-conflicted-optional-peer-dep-has-peer-optional", + "spec": "1", + "to": "node_modules/@isaacs/test-conflicted-optional-peer-dep-has-peer-optional", + "type": "prod", + }, + }, + "location": "node_modules/@isaacs/test-conflicted-optional-peer-dep-meta-peer-optional", + "name": "@isaacs/test-conflicted-optional-peer-dep-meta-peer-optional", + "path": "{CWD}/test/fixtures/test-conflicted-optional-peer-dep/omit-peer-optional/node_modules/@isaacs/test-conflicted-optional-peer-dep-meta-peer-optional", + "resolved": "https://registry.npmjs.org/@isaacs/test-conflicted-optional-peer-dep-meta-peer-optional/-/test-conflicted-optional-peer-dep-meta-peer-optional-1.0.0.tgz", + "version": "1.0.0", + }, + "@isaacs/test-conflicted-optional-peer-dep-peer" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/@isaacs/test-conflicted-optional-peer-dep-has-peer-optional", + "name": "@isaacs/test-conflicted-optional-peer-dep-peer", + "spec": "2", + "type": "peerOptional", + }, + }, + "location": "node_modules/@isaacs/test-conflicted-optional-peer-dep-peer", + "name": "@isaacs/test-conflicted-optional-peer-dep-peer", + "optional": true, + "path": "{CWD}/test/fixtures/test-conflicted-optional-peer-dep/omit-peer-optional/node_modules/@isaacs/test-conflicted-optional-peer-dep-peer", + "peer": true, + "resolved": "https://registry.npmjs.org/@isaacs/test-conflicted-optional-peer-dep-peer/-/test-conflicted-optional-peer-dep-peer-2.0.0.tgz", + "version": "2.0.0", + }, + }, + "edgesOut": Map { + "@isaacs/test-conflicted-optional-peer-dep-meta-peer-optional" => EdgeOut { + "name": "@isaacs/test-conflicted-optional-peer-dep-meta-peer-optional", + "spec": "1", + "to": "node_modules/@isaacs/test-conflicted-optional-peer-dep-meta-peer-optional", + "type": "prod", + }, + }, + "isProjectRoot": true, + "location": "", + "name": "omit-peer-optional", + "packageName": "@isaacs/test-conflicted-optional-peer-dep", + "path": "{CWD}/test/fixtures/test-conflicted-optional-peer-dep/omit-peer-optional", + "version": "1.0.0", +} +` + exports[`test/arborist/build-ideal-tree.js TAP detect conflicts in transitive peerOptional deps nest when peerOptional conflicts > must match snapshot 1`] = ` ArboristNode { "children": Map { @@ -16859,73 +52285,6 @@ ArboristNode { } ` -exports[`test/arborist/build-ideal-tree.js TAP detect conflicts in transitive peerOptional deps omit peerOptionals when not needed for conflicts > must match snapshot 1`] = ` -ArboristNode { - "children": Map { - "@isaacs/test-conflicted-optional-peer-dep-has-peer-optional" => ArboristNode { - "edgesIn": Set { - EdgeIn { - "from": "node_modules/@isaacs/test-conflicted-optional-peer-dep-meta-peer-optional", - "name": "@isaacs/test-conflicted-optional-peer-dep-has-peer-optional", - "spec": "1", - "type": "prod", - }, - }, - "edgesOut": Map { - "@isaacs/test-conflicted-optional-peer-dep-peer" => EdgeOut { - "name": "@isaacs/test-conflicted-optional-peer-dep-peer", - "spec": "2", - "to": null, - "type": "peerOptional", - }, - }, - "location": "node_modules/@isaacs/test-conflicted-optional-peer-dep-has-peer-optional", - "name": "@isaacs/test-conflicted-optional-peer-dep-has-peer-optional", - "path": "{CWD}/test/fixtures/test-conflicted-optional-peer-dep/omit-peer-optional/node_modules/@isaacs/test-conflicted-optional-peer-dep-has-peer-optional", - "resolved": "https://registry.npmjs.org/@isaacs/test-conflicted-optional-peer-dep-has-peer-optional/-/test-conflicted-optional-peer-dep-has-peer-optional-1.0.0.tgz", - "version": "1.0.0", - }, - "@isaacs/test-conflicted-optional-peer-dep-meta-peer-optional" => ArboristNode { - "edgesIn": Set { - EdgeIn { - "from": "", - "name": "@isaacs/test-conflicted-optional-peer-dep-meta-peer-optional", - "spec": "1", - "type": "prod", - }, - }, - "edgesOut": Map { - "@isaacs/test-conflicted-optional-peer-dep-has-peer-optional" => EdgeOut { - "name": "@isaacs/test-conflicted-optional-peer-dep-has-peer-optional", - "spec": "1", - "to": "node_modules/@isaacs/test-conflicted-optional-peer-dep-has-peer-optional", - "type": "prod", - }, - }, - "location": "node_modules/@isaacs/test-conflicted-optional-peer-dep-meta-peer-optional", - "name": "@isaacs/test-conflicted-optional-peer-dep-meta-peer-optional", - "path": "{CWD}/test/fixtures/test-conflicted-optional-peer-dep/omit-peer-optional/node_modules/@isaacs/test-conflicted-optional-peer-dep-meta-peer-optional", - "resolved": "https://registry.npmjs.org/@isaacs/test-conflicted-optional-peer-dep-meta-peer-optional/-/test-conflicted-optional-peer-dep-meta-peer-optional-1.0.0.tgz", - "version": "1.0.0", - }, - }, - "edgesOut": Map { - "@isaacs/test-conflicted-optional-peer-dep-meta-peer-optional" => EdgeOut { - "name": "@isaacs/test-conflicted-optional-peer-dep-meta-peer-optional", - "spec": "1", - "to": "node_modules/@isaacs/test-conflicted-optional-peer-dep-meta-peer-optional", - "type": "prod", - }, - }, - "isProjectRoot": true, - "location": "", - "name": "omit-peer-optional", - "packageName": "@isaacs/test-conflicted-optional-peer-dep", - "path": "{CWD}/test/fixtures/test-conflicted-optional-peer-dep/omit-peer-optional", - "version": "1.0.0", -} -` - exports[`test/arborist/build-ideal-tree.js TAP do add shrinkwrapped deps when complete:true is set > expect resolving Promise 1`] = ` ArboristNode { "children": Map { @@ -17005,7 +52364,7 @@ ArboristNode { "@isaacs/testing-peer-optional-conflict-a-z" => EdgeOut { "name": "@isaacs/testing-peer-optional-conflict-a-z", "spec": "1", - "to": null, + "to": "node_modules/@isaacs/testing-peer-optional-conflict-a-z", "type": "peerOptional", }, }, @@ -17023,6 +52382,14 @@ ArboristNode { "spec": "1", "type": "prod", }, + EdgeIn { + "error": "INVALID", + "from": "node_modules/@isaacs/testing-peer-optional-conflict-a-z", + "name": "@isaacs/testing-peer-optional-conflict-a-y", + "peerConflicted": true, + "spec": "2", + "type": "peer", + }, }, "location": "node_modules/@isaacs/testing-peer-optional-conflict-a-y", "name": "@isaacs/testing-peer-optional-conflict-a-y", @@ -17030,6 +52397,33 @@ ArboristNode { "resolved": "https://registry.npmjs.org/@isaacs/testing-peer-optional-conflict-a-y/-/testing-peer-optional-conflict-a-y-1.0.0.tgz", "version": "1.0.0", }, + "@isaacs/testing-peer-optional-conflict-a-z" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/@isaacs/testing-peer-optional-conflict-a-x", + "name": "@isaacs/testing-peer-optional-conflict-a-z", + "spec": "1", + "type": "peerOptional", + }, + }, + "edgesOut": Map { + "@isaacs/testing-peer-optional-conflict-a-y" => EdgeOut { + "error": "INVALID", + "name": "@isaacs/testing-peer-optional-conflict-a-y", + "peerConflicted": true, + "spec": "2", + "to": "node_modules/@isaacs/testing-peer-optional-conflict-a-y", + "type": "peer", + }, + }, + "location": "node_modules/@isaacs/testing-peer-optional-conflict-a-z", + "name": "@isaacs/testing-peer-optional-conflict-a-z", + "optional": true, + "path": "{CWD}/test/fixtures/peer-optional-eresolve/a/node_modules/@isaacs/testing-peer-optional-conflict-a-z", + "peer": true, + "resolved": "https://registry.npmjs.org/@isaacs/testing-peer-optional-conflict-a-z/-/testing-peer-optional-conflict-a-z-1.0.0.tgz", + "version": "1.0.0", + }, }, "edgesOut": Map { "@isaacs/testing-peer-optional-conflict-a-x" => EdgeOut { @@ -17068,9 +52462,11 @@ ArboristNode { }, "edgesOut": Map { "@isaacs/testing-peer-optional-conflict-b-y" => EdgeOut { + "error": "INVALID", "name": "@isaacs/testing-peer-optional-conflict-b-y", + "peerConflicted": true, "spec": "2", - "to": null, + "to": "node_modules/@isaacs/testing-peer-optional-conflict-b-y", "type": "peerOptional", }, }, @@ -17080,6 +52476,31 @@ ArboristNode { "resolved": "https://registry.npmjs.org/@isaacs/testing-peer-optional-conflict-b-x/-/testing-peer-optional-conflict-b-x-1.0.0.tgz", "version": "1.0.0", }, + "@isaacs/testing-peer-optional-conflict-b-y" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "", + "name": "@isaacs/testing-peer-optional-conflict-b-y", + "spec": "1", + "type": "peerOptional", + }, + EdgeIn { + "error": "INVALID", + "from": "node_modules/@isaacs/testing-peer-optional-conflict-b-x", + "name": "@isaacs/testing-peer-optional-conflict-b-y", + "peerConflicted": true, + "spec": "2", + "type": "peerOptional", + }, + }, + "location": "node_modules/@isaacs/testing-peer-optional-conflict-b-y", + "name": "@isaacs/testing-peer-optional-conflict-b-y", + "optional": true, + "path": "{CWD}/test/fixtures/peer-optional-eresolve/b/node_modules/@isaacs/testing-peer-optional-conflict-b-y", + "peer": true, + "resolved": "https://registry.npmjs.org/@isaacs/testing-peer-optional-conflict-b-y/-/testing-peer-optional-conflict-b-y-1.0.0.tgz", + "version": "1.0.0", + }, }, "edgesOut": Map { "@isaacs/testing-peer-optional-conflict-b-x" => EdgeOut { @@ -17091,7 +52512,7 @@ ArboristNode { "@isaacs/testing-peer-optional-conflict-b-y" => EdgeOut { "name": "@isaacs/testing-peer-optional-conflict-b-y", "spec": "1", - "to": null, + "to": "node_modules/@isaacs/testing-peer-optional-conflict-b-y", "type": "peerOptional", }, }, @@ -17130,6 +52551,31 @@ ArboristNode { "resolved": "https://registry.npmjs.org/@isaacs/testing-peer-optional-conflict-c-x/-/testing-peer-optional-conflict-c-x-1.0.0.tgz", "version": "1.0.0", }, + "@isaacs/testing-peer-optional-conflict-c-y" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "", + "name": "@isaacs/testing-peer-optional-conflict-c-y", + "spec": "1", + "type": "peerOptional", + }, + EdgeIn { + "error": "INVALID", + "from": "node_modules/@isaacs/testing-peer-optional-conflict-c-z", + "name": "@isaacs/testing-peer-optional-conflict-c-y", + "peerConflicted": true, + "spec": "2.0.0", + "type": "peerOptional", + }, + }, + "location": "node_modules/@isaacs/testing-peer-optional-conflict-c-y", + "name": "@isaacs/testing-peer-optional-conflict-c-y", + "optional": true, + "path": "{CWD}/test/fixtures/peer-optional-eresolve/c/node_modules/@isaacs/testing-peer-optional-conflict-c-y", + "peer": true, + "resolved": "https://registry.npmjs.org/@isaacs/testing-peer-optional-conflict-c-y/-/testing-peer-optional-conflict-c-y-1.0.0.tgz", + "version": "1.0.0", + }, "@isaacs/testing-peer-optional-conflict-c-z" => ArboristNode { "edgesIn": Set { EdgeIn { @@ -17141,9 +52587,11 @@ ArboristNode { }, "edgesOut": Map { "@isaacs/testing-peer-optional-conflict-c-y" => EdgeOut { + "error": "INVALID", "name": "@isaacs/testing-peer-optional-conflict-c-y", + "peerConflicted": true, "spec": "2.0.0", - "to": null, + "to": "node_modules/@isaacs/testing-peer-optional-conflict-c-y", "type": "peerOptional", }, }, @@ -17165,7 +52613,7 @@ ArboristNode { "@isaacs/testing-peer-optional-conflict-c-y" => EdgeOut { "name": "@isaacs/testing-peer-optional-conflict-c-y", "spec": "1", - "to": null, + "to": "node_modules/@isaacs/testing-peer-optional-conflict-c-y", "type": "peerOptional", }, }, @@ -17194,7 +52642,7 @@ ArboristNode { "@isaacs/testing-peer-optional-conflict-d-y" => EdgeOut { "name": "@isaacs/testing-peer-optional-conflict-d-y", "spec": "1", - "to": null, + "to": "node_modules/@isaacs/testing-peer-optional-conflict-d-y", "type": "peerOptional", }, }, @@ -17204,6 +52652,33 @@ ArboristNode { "resolved": "https://registry.npmjs.org/@isaacs/testing-peer-optional-conflict-d-x/-/testing-peer-optional-conflict-d-x-1.0.0.tgz", "version": "1.0.0", }, + "@isaacs/testing-peer-optional-conflict-d-y" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/@isaacs/testing-peer-optional-conflict-d-x", + "name": "@isaacs/testing-peer-optional-conflict-d-y", + "spec": "1", + "type": "peerOptional", + }, + }, + "edgesOut": Map { + "@isaacs/testing-peer-optional-conflict-d-z" => EdgeOut { + "error": "INVALID", + "name": "@isaacs/testing-peer-optional-conflict-d-z", + "peerConflicted": true, + "spec": "2", + "to": "node_modules/@isaacs/testing-peer-optional-conflict-d-z", + "type": "peer", + }, + }, + "location": "node_modules/@isaacs/testing-peer-optional-conflict-d-y", + "name": "@isaacs/testing-peer-optional-conflict-d-y", + "optional": true, + "path": "{CWD}/test/fixtures/peer-optional-eresolve/d/node_modules/@isaacs/testing-peer-optional-conflict-d-y", + "peer": true, + "resolved": "https://registry.npmjs.org/@isaacs/testing-peer-optional-conflict-d-y/-/testing-peer-optional-conflict-d-y-1.0.0.tgz", + "version": "1.0.0", + }, "@isaacs/testing-peer-optional-conflict-d-z" => ArboristNode { "edgesIn": Set { EdgeIn { @@ -17212,6 +52687,14 @@ ArboristNode { "spec": "1", "type": "prod", }, + EdgeIn { + "error": "INVALID", + "from": "node_modules/@isaacs/testing-peer-optional-conflict-d-y", + "name": "@isaacs/testing-peer-optional-conflict-d-z", + "peerConflicted": true, + "spec": "2", + "type": "peer", + }, }, "location": "node_modules/@isaacs/testing-peer-optional-conflict-d-z", "name": "@isaacs/testing-peer-optional-conflict-d-z", @@ -17259,7 +52742,7 @@ ArboristNode { "@isaacs/testing-peer-optional-conflict-e-y" => EdgeOut { "name": "@isaacs/testing-peer-optional-conflict-e-y", "spec": "1", - "to": null, + "to": "node_modules/@isaacs/testing-peer-optional-conflict-e-y", "type": "peerOptional", }, "@isaacs/testing-peer-optional-conflict-e-z" => EdgeOut { @@ -17275,6 +52758,33 @@ ArboristNode { "resolved": "https://registry.npmjs.org/@isaacs/testing-peer-optional-conflict-e-x/-/testing-peer-optional-conflict-e-x-1.0.0.tgz", "version": "1.0.0", }, + "@isaacs/testing-peer-optional-conflict-e-y" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/@isaacs/testing-peer-optional-conflict-e-x", + "name": "@isaacs/testing-peer-optional-conflict-e-y", + "spec": "1", + "type": "peerOptional", + }, + }, + "edgesOut": Map { + "@isaacs/testing-peer-optional-conflict-e-z" => EdgeOut { + "error": "INVALID", + "name": "@isaacs/testing-peer-optional-conflict-e-z", + "peerConflicted": true, + "spec": "2", + "to": "node_modules/@isaacs/testing-peer-optional-conflict-e-z", + "type": "peer", + }, + }, + "location": "node_modules/@isaacs/testing-peer-optional-conflict-e-y", + "name": "@isaacs/testing-peer-optional-conflict-e-y", + "optional": true, + "path": "{CWD}/test/fixtures/peer-optional-eresolve/e/node_modules/@isaacs/testing-peer-optional-conflict-e-y", + "peer": true, + "resolved": "https://registry.npmjs.org/@isaacs/testing-peer-optional-conflict-e-y/-/testing-peer-optional-conflict-e-y-1.0.0.tgz", + "version": "1.0.0", + }, "@isaacs/testing-peer-optional-conflict-e-z" => ArboristNode { "edgesIn": Set { EdgeIn { @@ -17289,6 +52799,14 @@ ArboristNode { "spec": "1", "type": "peer", }, + EdgeIn { + "error": "INVALID", + "from": "node_modules/@isaacs/testing-peer-optional-conflict-e-y", + "name": "@isaacs/testing-peer-optional-conflict-e-z", + "peerConflicted": true, + "spec": "2", + "type": "peer", + }, }, "location": "node_modules/@isaacs/testing-peer-optional-conflict-e-z", "name": "@isaacs/testing-peer-optional-conflict-e-z", @@ -17366,7 +52884,7 @@ ArboristNode { "@isaacs/testing-peer-optional-conflict-f-y" => EdgeOut { "name": "@isaacs/testing-peer-optional-conflict-f-y", "spec": "1", - "to": null, + "to": "node_modules/@isaacs/testing-peer-optional-conflict-f-y", "type": "peerOptional", }, "@isaacs/testing-peer-optional-conflict-f-z" => EdgeOut { @@ -17382,6 +52900,33 @@ ArboristNode { "resolved": "https://registry.npmjs.org/@isaacs/testing-peer-optional-conflict-f-x/-/testing-peer-optional-conflict-f-x-1.0.0.tgz", "version": "1.0.0", }, + "@isaacs/testing-peer-optional-conflict-f-y" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/@isaacs/testing-peer-optional-conflict-f-x", + "name": "@isaacs/testing-peer-optional-conflict-f-y", + "spec": "1", + "type": "peerOptional", + }, + }, + "edgesOut": Map { + "@isaacs/testing-peer-optional-conflict-f-z" => EdgeOut { + "error": "INVALID", + "name": "@isaacs/testing-peer-optional-conflict-f-z", + "peerConflicted": true, + "spec": "2", + "to": "node_modules/@isaacs/testing-peer-optional-conflict-f-z", + "type": "peer", + }, + }, + "location": "node_modules/@isaacs/testing-peer-optional-conflict-f-y", + "name": "@isaacs/testing-peer-optional-conflict-f-y", + "optional": true, + "path": "{CWD}/test/fixtures/peer-optional-eresolve/f/node_modules/@isaacs/testing-peer-optional-conflict-f-y", + "peer": true, + "resolved": "https://registry.npmjs.org/@isaacs/testing-peer-optional-conflict-f-y/-/testing-peer-optional-conflict-f-y-1.0.0.tgz", + "version": "1.0.0", + }, "@isaacs/testing-peer-optional-conflict-f-z" => ArboristNode { "edgesIn": Set { EdgeIn { @@ -17402,6 +52947,14 @@ ArboristNode { "spec": "1", "type": "peer", }, + EdgeIn { + "error": "INVALID", + "from": "node_modules/@isaacs/testing-peer-optional-conflict-f-y", + "name": "@isaacs/testing-peer-optional-conflict-f-z", + "peerConflicted": true, + "spec": "2", + "type": "peer", + }, }, "location": "node_modules/@isaacs/testing-peer-optional-conflict-f-z", "name": "@isaacs/testing-peer-optional-conflict-f-z", @@ -78889,6 +114442,7 @@ ArboristNode { "edgesOut": Map { "@types/webpack" => EdgeOut { "name": "@types/webpack", + "peerConflicted": true, "spec": "4.x", "to": null, "type": "peerOptional", @@ -78944,7 +114498,7 @@ ArboristNode { "type-fest" => EdgeOut { "name": "type-fest", "spec": "^0.13.1", - "to": null, + "to": "node_modules/type-fest", "type": "peerOptional", }, "webpack" => EdgeOut { @@ -78961,12 +114515,14 @@ ArboristNode { }, "webpack-hot-middleware" => EdgeOut { "name": "webpack-hot-middleware", + "peerConflicted": true, "spec": "2.x", "to": null, "type": "peerOptional", }, "webpack-plugin-serve" => EdgeOut { "name": "webpack-plugin-serve", + "peerConflicted": true, "spec": "0.x || 1.x", "to": null, "type": "peerOptional", @@ -81336,22 +116892,6 @@ ArboristNode { "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", "version": "3.6.0", }, - "safe-buffer" => ArboristNode { - "edgesIn": Set { - EdgeIn { - "from": "node_modules/browserify-sign", - "name": "safe-buffer", - "spec": "^5.2.0", - "type": "prod", - }, - }, - "location": "node_modules/browserify-sign/node_modules/safe-buffer", - "name": "safe-buffer", - "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-peer-dep-that-needs-to-be-replaced/node_modules/browserify-sign/node_modules/safe-buffer", - "peer": true, - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "version": "5.2.1", - }, }, "edgesIn": Set { EdgeIn { @@ -81413,7 +116953,7 @@ ArboristNode { "safe-buffer" => EdgeOut { "name": "safe-buffer", "spec": "^5.2.0", - "to": "node_modules/browserify-sign/node_modules/safe-buffer", + "to": "node_modules/safe-buffer", "type": "prod", }, }, @@ -82367,6 +117907,21 @@ ArboristNode { "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "version": "2.0.0", }, + "safe-buffer" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/compression", + "name": "safe-buffer", + "spec": "5.1.2", + "type": "prod", + }, + }, + "location": "node_modules/compression/node_modules/safe-buffer", + "name": "safe-buffer", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-peer-dep-that-needs-to-be-replaced/node_modules/compression/node_modules/safe-buffer", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "version": "5.1.2", + }, }, "edgesIn": Set { EdgeIn { @@ -82410,7 +117965,7 @@ ArboristNode { "safe-buffer" => EdgeOut { "name": "safe-buffer", "spec": "5.1.2", - "to": "node_modules/safe-buffer", + "to": "node_modules/compression/node_modules/safe-buffer", "type": "prod", }, "vary" => EdgeOut { @@ -82531,6 +118086,23 @@ ArboristNode { "version": "1.0.0", }, "content-disposition" => ArboristNode { + "children": Map { + "safe-buffer" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/content-disposition", + "name": "safe-buffer", + "spec": "5.1.2", + "type": "prod", + }, + }, + "location": "node_modules/content-disposition/node_modules/safe-buffer", + "name": "safe-buffer", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-peer-dep-that-needs-to-be-replaced/node_modules/content-disposition/node_modules/safe-buffer", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "version": "5.1.2", + }, + }, "edgesIn": Set { EdgeIn { "from": "node_modules/express", @@ -82543,7 +118115,7 @@ ArboristNode { "safe-buffer" => EdgeOut { "name": "safe-buffer", "spec": "5.1.2", - "to": "node_modules/safe-buffer", + "to": "node_modules/content-disposition/node_modules/safe-buffer", "type": "prod", }, }, @@ -83047,28 +118619,22 @@ ArboristNode { "debug" => ArboristNode { "edgesIn": Set { EdgeIn { - "from": "node_modules/spdy", - "name": "debug", - "spec": "^4.1.0", - "type": "prod", - }, - EdgeIn { - "from": "node_modules/spdy-transport", + "from": "node_modules/portfinder", "name": "debug", - "spec": "^4.1.0", + "spec": "^3.1.1", "type": "prod", }, EdgeIn { - "from": "node_modules/webpack-dev-server", + "from": "node_modules/sockjs-client", "name": "debug", - "spec": "^4.1.1", + "spec": "^3.2.6", "type": "prod", }, }, "edgesOut": Map { "ms" => EdgeOut { "name": "ms", - "spec": "2.1.2", + "spec": "^2.1.1", "to": "node_modules/ms", "type": "prod", }, @@ -83076,8 +118642,8 @@ ArboristNode { "location": "node_modules/debug", "name": "debug", "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-peer-dep-that-needs-to-be-replaced/node_modules/debug", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", - "version": "4.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "version": "3.2.6", }, "decamelize" => ArboristNode { "edgesIn": Set { @@ -84293,6 +119859,12 @@ ArboristNode { "spec": "^1.0.7", "type": "prod", }, + EdgeIn { + "from": "node_modules/webpack-dev-server/node_modules/sockjs-client", + "name": "eventsource", + "spec": "^1.0.7", + "type": "prod", + }, }, "edgesOut": Map { "original" => EdgeOut { @@ -84684,6 +120256,21 @@ ArboristNode { "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "version": "2.0.0", }, + "safe-buffer" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/express", + "name": "safe-buffer", + "spec": "5.1.2", + "type": "prod", + }, + }, + "location": "node_modules/express/node_modules/safe-buffer", + "name": "safe-buffer", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-peer-dep-that-needs-to-be-replaced/node_modules/express/node_modules/safe-buffer", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "version": "5.1.2", + }, }, "edgesIn": Set { EdgeIn { @@ -84829,7 +120416,7 @@ ArboristNode { "safe-buffer" => EdgeOut { "name": "safe-buffer", "spec": "5.1.2", - "to": "node_modules/safe-buffer", + "to": "node_modules/express/node_modules/safe-buffer", "type": "prod", }, "send" => EdgeOut { @@ -85057,9 +120644,15 @@ ArboristNode { "faye-websocket" => ArboristNode { "edgesIn": Set { EdgeIn { - "from": "node_modules/sockjs", + "from": "node_modules/sockjs-client", "name": "faye-websocket", - "spec": "^0.10.0", + "spec": "^0.11.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/webpack-dev-server/node_modules/sockjs-client", + "name": "faye-websocket", + "spec": "~0.11.1", "type": "prod", }, }, @@ -85074,8 +120667,8 @@ ArboristNode { "location": "node_modules/faye-websocket", "name": "faye-websocket", "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-peer-dep-that-needs-to-be-replaced/node_modules/faye-websocket", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", - "version": "0.10.0", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", + "version": "0.11.3", }, "figgy-pudding" => ArboristNode { "edgesIn": Set { @@ -86155,22 +121748,6 @@ ArboristNode { "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", "version": "3.6.0", }, - "safe-buffer" => ArboristNode { - "edgesIn": Set { - EdgeIn { - "from": "node_modules/hash-base", - "name": "safe-buffer", - "spec": "^5.2.0", - "type": "prod", - }, - }, - "location": "node_modules/hash-base/node_modules/safe-buffer", - "name": "safe-buffer", - "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-peer-dep-that-needs-to-be-replaced/node_modules/hash-base/node_modules/safe-buffer", - "peer": true, - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "version": "5.2.1", - }, }, "edgesIn": Set { EdgeIn { @@ -86202,7 +121779,7 @@ ArboristNode { "safe-buffer" => EdgeOut { "name": "safe-buffer", "spec": "^5.2.0", - "to": "node_modules/hash-base/node_modules/safe-buffer", + "to": "node_modules/safe-buffer", "type": "prod", }, }, @@ -86438,6 +122015,21 @@ ArboristNode { "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", "version": "1.7.2", }, + "http-parser-js" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/websocket-driver", + "name": "http-parser-js", + "spec": ">=0.5.1", + "type": "prod", + }, + }, + "location": "node_modules/http-parser-js", + "name": "http-parser-js", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-peer-dep-that-needs-to-be-replaced/node_modules/http-parser-js", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", + "version": "0.5.8", + }, "http-proxy" => ArboristNode { "edgesIn": Set { EdgeIn { @@ -86860,7 +122452,7 @@ ArboristNode { EdgeIn { "from": "node_modules/sockjs-client", "name": "inherits", - "spec": "^2.0.3", + "spec": "^2.0.4", "type": "prod", }, EdgeIn { @@ -86881,6 +122473,12 @@ ArboristNode { "spec": "^2.0.1", "type": "prod", }, + EdgeIn { + "from": "node_modules/webpack-dev-server/node_modules/sockjs-client", + "name": "inherits", + "spec": "^2.0.3", + "type": "prod", + }, }, "location": "node_modules/inherits", "name": "inherits", @@ -87806,6 +123404,12 @@ ArboristNode { EdgeIn { "from": "node_modules/sockjs-client", "name": "json3", + "spec": "^3.3.3", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/webpack-dev-server/node_modules/sockjs-client", + "name": "json3", "spec": "^3.3.2", "type": "prod", }, @@ -88967,17 +124571,29 @@ ArboristNode { EdgeIn { "from": "node_modules/debug", "name": "ms", + "spec": "^2.1.1", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/spdy-transport/node_modules/debug", + "name": "ms", "spec": "2.1.2", "type": "prod", }, EdgeIn { - "from": "node_modules/portfinder/node_modules/debug", + "from": "node_modules/spdy/node_modules/debug", "name": "ms", - "spec": "^2.1.1", + "spec": "2.1.2", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/webpack-dev-server/node_modules/debug", + "name": "ms", + "spec": "2.1.2", "type": "prod", }, EdgeIn { - "from": "node_modules/sockjs-client/node_modules/debug", + "from": "node_modules/webpack-dev-server/node_modules/sockjs-client/node_modules/debug", "name": "ms", "spec": "^2.1.1", "type": "prod", @@ -90662,31 +126278,6 @@ ArboristNode { "version": "3.0.0", }, "portfinder" => ArboristNode { - "children": Map { - "debug" => ArboristNode { - "edgesIn": Set { - EdgeIn { - "from": "node_modules/portfinder", - "name": "debug", - "spec": "^3.1.1", - "type": "prod", - }, - }, - "edgesOut": Map { - "ms" => EdgeOut { - "name": "ms", - "spec": "^2.1.1", - "to": "node_modules/ms", - "type": "prod", - }, - }, - "location": "node_modules/portfinder/node_modules/debug", - "name": "debug", - "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-peer-dep-that-needs-to-be-replaced/node_modules/portfinder/node_modules/debug", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "version": "3.2.6", - }, - }, "edgesIn": Set { EdgeIn { "from": "node_modules/webpack-dev-server", @@ -90705,7 +126296,7 @@ ArboristNode { "debug" => EdgeOut { "name": "debug", "spec": "^3.1.1", - "to": "node_modules/portfinder/node_modules/debug", + "to": "node_modules/debug", "type": "prod", }, "mkdirp" => EdgeOut { @@ -91276,6 +126867,23 @@ ArboristNode { "version": "0.9.0", }, "readable-stream" => ArboristNode { + "children": Map { + "safe-buffer" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/readable-stream", + "name": "safe-buffer", + "spec": "~5.1.1", + "type": "prod", + }, + }, + "location": "node_modules/readable-stream/node_modules/safe-buffer", + "name": "safe-buffer", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-peer-dep-that-needs-to-be-replaced/node_modules/readable-stream/node_modules/safe-buffer", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "version": "5.1.2", + }, + }, "edgesIn": Set { EdgeIn { "from": "node_modules/concat-stream", @@ -91390,7 +126998,7 @@ ArboristNode { "safe-buffer" => EdgeOut { "name": "safe-buffer", "spec": "~5.1.1", - "to": "node_modules/safe-buffer", + "to": "node_modules/readable-stream/node_modules/safe-buffer", "type": "prod", }, "string_decoder" => EdgeOut { @@ -91981,21 +127589,15 @@ ArboristNode { "type": "prod", }, EdgeIn { - "from": "node_modules/cipher-base", - "name": "safe-buffer", - "spec": "^5.0.1", - "type": "prod", - }, - EdgeIn { - "from": "node_modules/compression", + "from": "node_modules/browserify-sign", "name": "safe-buffer", - "spec": "5.1.2", + "spec": "^5.2.0", "type": "prod", }, EdgeIn { - "from": "node_modules/content-disposition", + "from": "node_modules/cipher-base", "name": "safe-buffer", - "spec": "5.1.2", + "spec": "^5.0.1", "type": "prod", }, EdgeIn { @@ -92017,9 +127619,9 @@ ArboristNode { "type": "prod", }, EdgeIn { - "from": "node_modules/express", + "from": "node_modules/hash-base", "name": "safe-buffer", - "spec": "5.1.2", + "spec": "^5.2.0", "type": "prod", }, EdgeIn { @@ -92059,29 +127661,23 @@ ArboristNode { "type": "prod", }, EdgeIn { - "from": "node_modules/readable-stream", - "name": "safe-buffer", - "spec": "~5.1.1", - "type": "prod", - }, - EdgeIn { "from": "node_modules/sha.js", "name": "safe-buffer", "spec": "^5.0.1", "type": "prod", }, EdgeIn { - "from": "node_modules/string_decoder", + "from": "node_modules/websocket-driver", "name": "safe-buffer", - "spec": "~5.1.0", + "spec": ">=5.1.0", "type": "prod", }, }, "location": "node_modules/safe-buffer", "name": "safe-buffer", "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-peer-dep-that-needs-to-be-replaced/node_modules/safe-buffer", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "version": "5.2.1", }, "safe-regex" => ArboristNode { "edgesIn": Set { @@ -93157,6 +128753,60 @@ ArboristNode { "version": "3.0.1", }, "sockjs" => ArboristNode { + "children": Map { + "faye-websocket" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/sockjs", + "name": "faye-websocket", + "spec": "^0.10.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "websocket-driver" => EdgeOut { + "name": "websocket-driver", + "spec": ">=0.5.1", + "to": "node_modules/sockjs/node_modules/websocket-driver", + "type": "prod", + }, + }, + "location": "node_modules/sockjs/node_modules/faye-websocket", + "name": "faye-websocket", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-peer-dep-that-needs-to-be-replaced/node_modules/sockjs/node_modules/faye-websocket", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", + "version": "0.10.0", + }, + "websocket-driver" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/sockjs", + "name": "websocket-driver", + "spec": "0.6.5", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/sockjs/node_modules/faye-websocket", + "name": "websocket-driver", + "spec": ">=0.5.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "websocket-extensions" => EdgeOut { + "name": "websocket-extensions", + "spec": ">=0.1.1", + "to": "node_modules/websocket-extensions", + "type": "prod", + }, + }, + "location": "node_modules/sockjs/node_modules/websocket-driver", + "name": "websocket-driver", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-peer-dep-that-needs-to-be-replaced/node_modules/sockjs/node_modules/websocket-driver", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz", + "version": "0.6.5", + }, + }, "edgesIn": Set { EdgeIn { "from": "node_modules/webpack-dev-server", @@ -93169,7 +128819,7 @@ ArboristNode { "faye-websocket" => EdgeOut { "name": "faye-websocket", "spec": "^0.10.0", - "to": "node_modules/faye-websocket", + "to": "node_modules/sockjs/node_modules/faye-websocket", "type": "prod", }, "uuid" => EdgeOut { @@ -93181,7 +128831,7 @@ ArboristNode { "websocket-driver" => EdgeOut { "name": "websocket-driver", "spec": "0.6.5", - "to": "node_modules/websocket-driver", + "to": "node_modules/sockjs/node_modules/websocket-driver", "type": "prod", }, }, @@ -93192,54 +128842,6 @@ ArboristNode { "version": "0.3.20", }, "sockjs-client" => ArboristNode { - "children": Map { - "debug" => ArboristNode { - "edgesIn": Set { - EdgeIn { - "from": "node_modules/sockjs-client", - "name": "debug", - "spec": "^3.2.5", - "type": "prod", - }, - }, - "edgesOut": Map { - "ms" => EdgeOut { - "name": "ms", - "spec": "^2.1.1", - "to": "node_modules/ms", - "type": "prod", - }, - }, - "location": "node_modules/sockjs-client/node_modules/debug", - "name": "debug", - "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-peer-dep-that-needs-to-be-replaced/node_modules/sockjs-client/node_modules/debug", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "version": "3.2.6", - }, - "faye-websocket" => ArboristNode { - "edgesIn": Set { - EdgeIn { - "from": "node_modules/sockjs-client", - "name": "faye-websocket", - "spec": "~0.11.1", - "type": "prod", - }, - }, - "edgesOut": Map { - "websocket-driver" => EdgeOut { - "name": "websocket-driver", - "spec": ">=0.5.1", - "to": "node_modules/websocket-driver", - "type": "prod", - }, - }, - "location": "node_modules/sockjs-client/node_modules/faye-websocket", - "name": "faye-websocket", - "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-peer-dep-that-needs-to-be-replaced/node_modules/sockjs-client/node_modules/faye-websocket", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", - "version": "0.11.3", - }, - }, "edgesIn": Set { EdgeIn { "from": "node_modules/@pmmmwh/react-refresh-webpack-plugin", @@ -93247,18 +128849,12 @@ ArboristNode { "spec": "^1.4.0", "type": "peerOptional", }, - EdgeIn { - "from": "node_modules/webpack-dev-server", - "name": "sockjs-client", - "spec": "1.4.0", - "type": "prod", - }, }, "edgesOut": Map { "debug" => EdgeOut { "name": "debug", - "spec": "^3.2.5", - "to": "node_modules/sockjs-client/node_modules/debug", + "spec": "^3.2.6", + "to": "node_modules/debug", "type": "prod", }, "eventsource" => EdgeOut { @@ -93269,34 +128865,36 @@ ArboristNode { }, "faye-websocket" => EdgeOut { "name": "faye-websocket", - "spec": "~0.11.1", - "to": "node_modules/sockjs-client/node_modules/faye-websocket", + "spec": "^0.11.3", + "to": "node_modules/faye-websocket", "type": "prod", }, "inherits" => EdgeOut { "name": "inherits", - "spec": "^2.0.3", + "spec": "^2.0.4", "to": "node_modules/inherits", "type": "prod", }, "json3" => EdgeOut { "name": "json3", - "spec": "^3.3.2", + "spec": "^3.3.3", "to": "node_modules/json3", "type": "prod", }, "url-parse" => EdgeOut { "name": "url-parse", - "spec": "^1.4.3", + "spec": "^1.4.7", "to": "node_modules/url-parse", "type": "prod", }, }, "location": "node_modules/sockjs-client", "name": "sockjs-client", + "optional": true, "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-peer-dep-that-needs-to-be-replaced/node_modules/sockjs-client", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.4.0.tgz", - "version": "1.4.0", + "peer": true, + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.5.0.tgz", + "version": "1.5.0", }, "source-list-map" => ArboristNode { "edgesIn": Set { @@ -93440,6 +129038,31 @@ ArboristNode { "version": "0.4.0", }, "spdy" => ArboristNode { + "children": Map { + "debug" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/spdy", + "name": "debug", + "spec": "^4.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "ms" => EdgeOut { + "name": "ms", + "spec": "2.1.2", + "to": "node_modules/ms", + "type": "prod", + }, + }, + "location": "node_modules/spdy/node_modules/debug", + "name": "debug", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-peer-dep-that-needs-to-be-replaced/node_modules/spdy/node_modules/debug", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", + "version": "4.2.0", + }, + }, "edgesIn": Set { EdgeIn { "from": "node_modules/webpack-dev-server", @@ -93452,7 +129075,7 @@ ArboristNode { "debug" => EdgeOut { "name": "debug", "spec": "^4.1.0", - "to": "node_modules/debug", + "to": "node_modules/spdy/node_modules/debug", "type": "prod", }, "handle-thing" => EdgeOut { @@ -93488,6 +129111,29 @@ ArboristNode { }, "spdy-transport" => ArboristNode { "children": Map { + "debug" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/spdy-transport", + "name": "debug", + "spec": "^4.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "ms" => EdgeOut { + "name": "ms", + "spec": "2.1.2", + "to": "node_modules/ms", + "type": "prod", + }, + }, + "location": "node_modules/spdy-transport/node_modules/debug", + "name": "debug", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-peer-dep-that-needs-to-be-replaced/node_modules/spdy-transport/node_modules/debug", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", + "version": "4.2.0", + }, "readable-stream" => ArboristNode { "edgesIn": Set { EdgeIn { @@ -93536,7 +129182,7 @@ ArboristNode { "debug" => EdgeOut { "name": "debug", "spec": "^4.1.0", - "to": "node_modules/debug", + "to": "node_modules/spdy-transport/node_modules/debug", "type": "prod", }, "detect-node" => EdgeOut { @@ -94020,6 +129666,23 @@ ArboristNode { "version": "1.0.1", }, "string_decoder" => ArboristNode { + "children": Map { + "safe-buffer" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/string_decoder", + "name": "safe-buffer", + "spec": "~5.1.0", + "type": "prod", + }, + }, + "location": "node_modules/string_decoder/node_modules/safe-buffer", + "name": "safe-buffer", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-peer-dep-that-needs-to-be-replaced/node_modules/string_decoder/node_modules/safe-buffer", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "version": "5.1.2", + }, + }, "edgesIn": Set { EdgeIn { "from": "node_modules/browserify-sign/node_modules/readable-stream", @@ -94056,7 +129719,7 @@ ArboristNode { "safe-buffer" => EdgeOut { "name": "safe-buffer", "spec": "~5.1.0", - "to": "node_modules/safe-buffer", + "to": "node_modules/string_decoder/node_modules/safe-buffer", "type": "prod", }, }, @@ -94966,6 +130629,23 @@ ArboristNode { "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", "version": "0.0.0", }, + "type-fest" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/@pmmmwh/react-refresh-webpack-plugin", + "name": "type-fest", + "spec": "^0.13.1", + "type": "peerOptional", + }, + }, + "location": "node_modules/type-fest", + "name": "type-fest", + "optional": true, + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-peer-dep-that-needs-to-be-replaced/node_modules/type-fest", + "peer": true, + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", + "version": "0.13.1", + }, "type-is" => ArboristNode { "edgesIn": Set { EdgeIn { @@ -95349,6 +131029,12 @@ ArboristNode { EdgeIn { "from": "node_modules/sockjs-client", "name": "url-parse", + "spec": "^1.4.7", + "type": "prod", + }, + EdgeIn { + "from": "node_modules/webpack-dev-server/node_modules/sockjs-client", + "name": "url-parse", "spec": "^1.4.3", "type": "prod", }, @@ -96217,6 +131903,29 @@ ArboristNode { }, "webpack-dev-server" => ArboristNode { "children": Map { + "debug" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "debug", + "spec": "^4.1.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "ms" => EdgeOut { + "name": "ms", + "spec": "2.1.2", + "to": "node_modules/ms", + "type": "prod", + }, + }, + "location": "node_modules/webpack-dev-server/node_modules/debug", + "name": "debug", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-peer-dep-that-needs-to-be-replaced/node_modules/webpack-dev-server/node_modules/debug", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", + "version": "4.2.0", + }, "schema-utils" => ArboristNode { "edgesIn": Set { EdgeIn { @@ -96252,6 +131961,84 @@ ArboristNode { "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", "version": "1.0.0", }, + "sockjs-client" => ArboristNode { + "children": Map { + "debug" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-dev-server/node_modules/sockjs-client", + "name": "debug", + "spec": "^3.2.5", + "type": "prod", + }, + }, + "edgesOut": Map { + "ms" => EdgeOut { + "name": "ms", + "spec": "^2.1.1", + "to": "node_modules/ms", + "type": "prod", + }, + }, + "location": "node_modules/webpack-dev-server/node_modules/sockjs-client/node_modules/debug", + "name": "debug", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-peer-dep-that-needs-to-be-replaced/node_modules/webpack-dev-server/node_modules/sockjs-client/node_modules/debug", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "version": "3.2.6", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/webpack-dev-server", + "name": "sockjs-client", + "spec": "1.4.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "debug" => EdgeOut { + "name": "debug", + "spec": "^3.2.5", + "to": "node_modules/webpack-dev-server/node_modules/sockjs-client/node_modules/debug", + "type": "prod", + }, + "eventsource" => EdgeOut { + "name": "eventsource", + "spec": "^1.0.7", + "to": "node_modules/eventsource", + "type": "prod", + }, + "faye-websocket" => EdgeOut { + "name": "faye-websocket", + "spec": "~0.11.1", + "to": "node_modules/faye-websocket", + "type": "prod", + }, + "inherits" => EdgeOut { + "name": "inherits", + "spec": "^2.0.3", + "to": "node_modules/inherits", + "type": "prod", + }, + "json3" => EdgeOut { + "name": "json3", + "spec": "^3.3.2", + "to": "node_modules/json3", + "type": "prod", + }, + "url-parse" => EdgeOut { + "name": "url-parse", + "spec": "^1.4.3", + "to": "node_modules/url-parse", + "type": "prod", + }, + }, + "location": "node_modules/webpack-dev-server/node_modules/sockjs-client", + "name": "sockjs-client", + "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-peer-dep-that-needs-to-be-replaced/node_modules/webpack-dev-server/node_modules/sockjs-client", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.4.0.tgz", + "version": "1.4.0", + }, "supports-color" => ArboristNode { "edgesIn": Set { EdgeIn { @@ -96324,7 +132111,7 @@ ArboristNode { "debug" => EdgeOut { "name": "debug", "spec": "^4.1.1", - "to": "node_modules/debug", + "to": "node_modules/webpack-dev-server/node_modules/debug", "type": "prod", }, "del" => EdgeOut { @@ -96438,7 +132225,7 @@ ArboristNode { "sockjs-client" => EdgeOut { "name": "sockjs-client", "spec": "1.4.0", - "to": "node_modules/sockjs-client", + "to": "node_modules/webpack-dev-server/node_modules/sockjs-client", "type": "prod", }, "spdy" => EdgeOut { @@ -96599,20 +132386,20 @@ ArboristNode { "spec": ">=0.5.1", "type": "prod", }, - EdgeIn { - "from": "node_modules/sockjs", - "name": "websocket-driver", - "spec": "0.6.5", + }, + "edgesOut": Map { + "http-parser-js" => EdgeOut { + "name": "http-parser-js", + "spec": ">=0.5.1", + "to": "node_modules/http-parser-js", "type": "prod", }, - EdgeIn { - "from": "node_modules/sockjs-client/node_modules/faye-websocket", - "name": "websocket-driver", - "spec": ">=0.5.1", + "safe-buffer" => EdgeOut { + "name": "safe-buffer", + "spec": ">=5.1.0", + "to": "node_modules/safe-buffer", "type": "prod", }, - }, - "edgesOut": Map { "websocket-extensions" => EdgeOut { "name": "websocket-extensions", "spec": ">=0.1.1", @@ -96623,12 +132410,18 @@ ArboristNode { "location": "node_modules/websocket-driver", "name": "websocket-driver", "path": "{CWD}/test/arborist/tap-testdir-build-ideal-tree-peer-dep-that-needs-to-be-replaced/node_modules/websocket-driver", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz", - "version": "0.6.5", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "version": "0.7.4", }, "websocket-extensions" => ArboristNode { "edgesIn": Set { EdgeIn { + "from": "node_modules/sockjs/node_modules/websocket-driver", + "name": "websocket-extensions", + "spec": ">=0.1.1", + "type": "prod", + }, + EdgeIn { "from": "node_modules/websocket-driver", "name": "websocket-extensions", "spec": ">=0.1.1", @@ -97070,6 +132863,23 @@ ArboristNode { exports[`test/arborist/build-ideal-tree.js TAP peerOptionals that are devDeps or explicit request > should install the wrappy dep, and not remove from peerDeps 1`] = ` ArboristNode { "children": Map { + "abbrev" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "", + "name": "abbrev", + "spec": "*", + "type": "peerOptional", + }, + }, + "location": "node_modules/abbrev", + "name": "abbrev", + "optional": true, + "path": "{CWD}/test/fixtures/peer-optional-installs/node_modules/abbrev", + "peer": true, + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "version": "1.1.1", + }, "wrappy" => ArboristNode { "dev": true, "edgesIn": Set { @@ -97091,7 +132901,7 @@ ArboristNode { "abbrev" => EdgeOut { "name": "abbrev", "spec": "*", - "to": null, + "to": "node_modules/abbrev", "type": "peerOptional", }, "wrappy" => EdgeOut { @@ -99074,6 +134884,56 @@ ArboristNode { "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.1.tgz", "version": "7.12.1", }, + "@types/prop-types" => ArboristNode { + "dev": true, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/@types/react", + "name": "@types/prop-types", + "spec": "*", + "type": "prod", + }, + }, + "location": "node_modules/@types/prop-types", + "name": "@types/prop-types", + "optional": true, + "path": "{CWD}/test/fixtures/tap-react15-collision/node_modules/@types/prop-types", + "peer": true, + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.3.tgz", + "version": "15.7.3", + }, + "@types/react" => ArboristNode { + "dev": true, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/tap/node_modules/ink", + "name": "@types/react", + "spec": ">=16.8.0", + "type": "peerOptional", + }, + }, + "edgesOut": Map { + "@types/prop-types" => EdgeOut { + "name": "@types/prop-types", + "spec": "*", + "to": "node_modules/@types/prop-types", + "type": "prod", + }, + "csstype" => EdgeOut { + "name": "csstype", + "spec": "^3.0.2", + "to": "node_modules/csstype", + "type": "prod", + }, + }, + "location": "node_modules/@types/react", + "name": "@types/react", + "optional": true, + "path": "{CWD}/test/fixtures/tap-react15-collision/node_modules/@types/react", + "peer": true, + "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.0.tgz", + "version": "17.0.0", + }, "@types/yoga-layout" => ArboristNode { "dev": true, "edgesIn": Set { @@ -100593,6 +136453,24 @@ ArboristNode { "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz", "version": "4.0.2", }, + "csstype" => ArboristNode { + "dev": true, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/@types/react", + "name": "csstype", + "spec": "^3.0.2", + "type": "prod", + }, + }, + "location": "node_modules/csstype", + "name": "csstype", + "optional": true, + "path": "{CWD}/test/fixtures/tap-react15-collision/node_modules/csstype", + "peer": true, + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.5.tgz", + "version": "3.0.5", + }, "dashdash" => ArboristNode { "dev": true, "edgesIn": Set { @@ -106453,7 +142331,7 @@ ArboristNode { "@types/react" => EdgeOut { "name": "@types/react", "spec": ">=16.8.0", - "to": null, + "to": "node_modules/@types/react", "type": "peerOptional", }, "ansi-escapes" => EdgeOut { @@ -120611,6 +156489,56 @@ ArboristNode { "resolved": "https://registry.npmjs.org/@angular-slider/ngx-slider/-/ngx-slider-2.0.3.tgz", "version": "2.0.3", }, + "@angular/animations" => ArboristNode { + "children": Map { + "tslib" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/@angular/animations", + "name": "tslib", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/@angular/animations/node_modules/tslib", + "name": "tslib", + "optional": true, + "path": "{CWD}/test/fixtures/testing-peer-deps-overlap/node_modules/@angular/animations/node_modules/tslib", + "peer": true, + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "version": "2.0.3", + }, + }, + "edgesIn": Set { + EdgeIn { + "from": "node_modules/@angular/platform-browser", + "name": "@angular/animations", + "spec": "10.2.5", + "type": "peerOptional", + }, + }, + "edgesOut": Map { + "@angular/core" => EdgeOut { + "name": "@angular/core", + "spec": "10.2.5", + "to": "node_modules/@angular/core", + "type": "peer", + }, + "tslib" => EdgeOut { + "name": "tslib", + "spec": "^2.0.0", + "to": "node_modules/@angular/animations/node_modules/tslib", + "type": "prod", + }, + }, + "location": "node_modules/@angular/animations", + "name": "@angular/animations", + "optional": true, + "path": "{CWD}/test/fixtures/testing-peer-deps-overlap/node_modules/@angular/animations", + "peer": true, + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-10.2.5.tgz", + "version": "10.2.5", + }, "@angular/common" => ArboristNode { "children": Map { "tslib" => ArboristNode { @@ -120704,6 +156632,12 @@ ArboristNode { "type": "peer", }, EdgeIn { + "from": "node_modules/@angular/animations", + "name": "@angular/core", + "spec": "10.2.5", + "type": "peer", + }, + EdgeIn { "from": "node_modules/@angular/common", "name": "@angular/core", "spec": "10.2.5", @@ -120850,7 +156784,7 @@ ArboristNode { "@angular/animations" => EdgeOut { "name": "@angular/animations", "spec": "10.2.5", - "to": null, + "to": "node_modules/@angular/animations", "type": "peerOptional", }, "@angular/common" => EdgeOut { @@ -123615,6 +159549,57 @@ ArboristNode { "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.1.tgz", "version": "7.12.1", }, + "@types/prop-types" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/@types/react", + "name": "@types/prop-types", + "spec": "*", + "type": "prod", + }, + }, + "location": "node_modules/@types/prop-types", + "name": "@types/prop-types", + "path": "{CWD}/test/fixtures/tap-and-flow/node_modules/@types/prop-types", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.3.tgz", + "version": "15.7.3", + }, + "@types/react" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/ink", + "name": "@types/react", + "spec": ">=16.8.0", + "type": "peerOptional", + }, + EdgeIn { + "error": "INVALID", + "from": "node_modules/tap", + "name": "@types/react", + "spec": "^16.9.16", + "type": "prod", + }, + }, + "edgesOut": Map { + "@types/prop-types" => EdgeOut { + "name": "@types/prop-types", + "spec": "*", + "to": "node_modules/@types/prop-types", + "type": "prod", + }, + "csstype" => EdgeOut { + "name": "csstype", + "spec": "^3.0.2", + "to": "node_modules/csstype", + "type": "prod", + }, + }, + "location": "node_modules/@types/react", + "name": "@types/react", + "path": "{CWD}/test/fixtures/tap-and-flow/node_modules/@types/react", + "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.0.tgz", + "version": "17.0.0", + }, "@types/yoga-layout" => ArboristNode { "edgesIn": Set { EdgeIn { @@ -125099,6 +161084,21 @@ ArboristNode { "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz", "version": "4.0.2", }, + "csstype" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/@types/react", + "name": "csstype", + "spec": "^3.0.2", + "type": "prod", + }, + }, + "location": "node_modules/csstype", + "name": "csstype", + "path": "{CWD}/test/fixtures/tap-and-flow/node_modules/csstype", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.5.tgz", + "version": "3.0.5", + }, "dashdash" => ArboristNode { "edgesIn": Set { EdgeIn { @@ -126285,7 +162285,7 @@ ArboristNode { "@types/react" => EdgeOut { "name": "@types/react", "spec": ">=16.8.0", - "to": null, + "to": "node_modules/@types/react", "type": "peerOptional", }, "ansi-escapes" => EdgeOut { @@ -130510,10 +166510,10 @@ ArboristNode { }, "edgesOut": Map { "@types/react" => EdgeOut { - "error": "MISSING", + "error": "INVALID", "name": "@types/react", "spec": "^16.9.16", - "to": null, + "to": "node_modules/@types/react", "type": "prod", }, "async-hook-domain" => EdgeOut { @@ -132672,6 +168672,54 @@ ArboristNode { "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", "version": "1.1.1", }, + "@types/prop-types" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/@types/react", + "name": "@types/prop-types", + "spec": "*", + "type": "prod", + }, + }, + "location": "node_modules/@types/prop-types", + "name": "@types/prop-types", + "optional": true, + "path": "{CWD}/test/fixtures/tap-and-flow/node_modules/@types/prop-types", + "peer": true, + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.3.tgz", + "version": "15.7.3", + }, + "@types/react" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/ink", + "name": "@types/react", + "spec": ">=16.8.0", + "type": "peerOptional", + }, + }, + "edgesOut": Map { + "@types/prop-types" => EdgeOut { + "name": "@types/prop-types", + "spec": "*", + "to": "node_modules/@types/prop-types", + "type": "prod", + }, + "csstype" => EdgeOut { + "name": "csstype", + "spec": "^3.0.2", + "to": "node_modules/csstype", + "type": "prod", + }, + }, + "location": "node_modules/@types/react", + "name": "@types/react", + "optional": true, + "path": "{CWD}/test/fixtures/tap-and-flow/node_modules/@types/react", + "peer": true, + "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.0.tgz", + "version": "17.0.0", + }, "ajv" => ArboristNode { "edgesIn": Set { EdgeIn { @@ -134119,6 +170167,23 @@ ArboristNode { "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz", "version": "4.0.2", }, + "csstype" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/@types/react", + "name": "csstype", + "spec": "^3.0.2", + "type": "prod", + }, + }, + "location": "node_modules/csstype", + "name": "csstype", + "optional": true, + "path": "{CWD}/test/fixtures/tap-and-flow/node_modules/csstype", + "peer": true, + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.5.tgz", + "version": "3.0.5", + }, "dashdash" => ArboristNode { "edgesIn": Set { EdgeIn { @@ -135272,7 +171337,7 @@ ArboristNode { "@types/react" => EdgeOut { "name": "@types/react", "spec": ">=16.8.0", - "to": null, + "to": "node_modules/@types/react", "type": "peerOptional", }, "ansi-escapes" => EdgeOut { diff --git a/workspaces/arborist/tap-snapshots/test/place-dep.js.test.cjs b/workspaces/arborist/tap-snapshots/test/place-dep.js.test.cjs index 9929906f6..d46c8b111 100644 --- a/workspaces/arborist/tap-snapshots/test/place-dep.js.test.cjs +++ b/workspaces/arborist/tap-snapshots/test/place-dep.js.test.cjs @@ -775,6 +775,501 @@ exports[`test/place-dep.js TAP placement tests clobber and nest a peer set in fa Array [] ` +exports[`test/place-dep.js TAP placement tests conflicted optional peer fails when it has a non-peerOptional edgeIn > thrown error 1`] = ` +Error: could not resolve { + "code": "ERESOLVE", + "current": Object { + "dependents": Array [ + Object { + "from": Object { + "dependents": Array [ + Object { + "from": Object { + "location": "/some/path", + }, + "name": "a", + "spec": "1", + "type": "prod", + }, + ], + "isWorkspace": false, + "location": "node_modules/a", + "name": "a", + "version": "1.0.0", + }, + "name": "c", + "spec": "1", + "type": "peer", + }, + ], + "isWorkspace": false, + "location": "node_modules/c", + "name": "c", + "version": "1.0.0", + }, + "dep": Object { + "dependents": Array [ + Object { + "error": "INVALID", + "from": Object { + "dependents": Array [ + Object { + "from": Object { + "dependents": Array [ + Object { + "from": Object { + "location": "/some/path", + }, + "name": "d", + "spec": "2", + "type": "prod", + }, + ], + "isWorkspace": false, + "location": "node_modules/d", + "name": "d", + "version": "2.0.0", + }, + "name": "b", + "spec": "2", + "type": "peerOptional", + }, + Object { + "from": Object { + "location": "/some/path", + }, + "name": "b", + "spec": "2", + "type": "prod", + }, + ], + "isWorkspace": false, + "location": "node_modules/b", + "name": "b", + "version": "2.0.0", + }, + "name": "c", + "spec": "2", + "type": "peer", + }, + ], + "isWorkspace": false, + "location": "node_modules/c", + "name": "c", + "version": "2.0.0", + "whileInstalling": Object { + "name": "b", + "path": "/some/path/node_modules/b", + "version": "2.0.0", + }, + }, + "edge": Object { + "error": "INVALID", + "from": Object { + "dependents": Array [ + Object { + "from": Object { + "dependents": Array [ + Object { + "from": Object { + "location": "/some/path", + }, + "name": "d", + "spec": "2", + "type": "prod", + }, + ], + "isWorkspace": false, + "location": "node_modules/d", + "name": "d", + "version": "2.0.0", + }, + "name": "b", + "spec": "2", + "type": "peerOptional", + }, + Object { + "from": Object { + "location": "/some/path", + }, + "name": "b", + "spec": "2", + "type": "prod", + }, + ], + "isWorkspace": false, + "location": "node_modules/b", + "name": "b", + "version": "2.0.0", + }, + "name": "c", + "spec": "2", + "type": "peer", + }, + "force": false, + "isMine": true, + "name": "Error", + "peerConflict": Object { + "current": Object { + "dependents": Array [ + Object { + "from": Object { + "dependents": Array [ + Object { + "from": Object { + "location": "/some/path", + }, + "name": "a", + "spec": "1", + "type": "prod", + }, + ], + "isWorkspace": false, + "location": "node_modules/a", + "name": "a", + "version": "1.0.0", + }, + "name": "c", + "spec": "1", + "type": "peer", + }, + ], + "isWorkspace": false, + "location": "node_modules/c", + "name": "c", + "version": "1.0.0", + }, + "peer": Object { + "dependents": Array [ + Object { + "error": "INVALID", + "from": Object { + "dependents": Array [ + Object { + "from": Object { + "dependents": Array [ + Object { + "from": Object { + "location": "/some/path", + }, + "name": "d", + "spec": "2", + "type": "prod", + }, + ], + "isWorkspace": false, + "location": "node_modules/d", + "name": "d", + "version": "2.0.0", + }, + "name": "b", + "spec": "2", + "type": "peerOptional", + }, + Object { + "from": Object { + "location": "/some/path", + }, + "name": "b", + "spec": "2", + "type": "prod", + }, + ], + "isWorkspace": false, + "location": "node_modules/b", + "name": "b", + "version": "2.0.0", + }, + "name": "c", + "spec": "2", + "type": "peer", + }, + ], + "isWorkspace": false, + "location": "node_modules/c", + "name": "c", + "version": "2.0.0", + "whileInstalling": Object { + "name": "b", + "path": "/some/path/node_modules/b", + "version": "2.0.0", + }, + }, + }, + "strictPeerDeps": false, +} +` + +exports[`test/place-dep.js TAP placement tests conflicted optional peer fails when it has a non-peerOptional edgeIn, force > changes to tree 1`] = ` +--- expected ++++ actual +@@ -69,6 +69,7 @@ + "name": "c", + "spec": "2", + "error": "INVALID", ++ "peerConflicted": true, + "to": "node_modules/c", + }, + }, +@@ -108,6 +109,7 @@ + "name": "c", + "spec": "2", + "error": "INVALID", ++ "peerConflicted": true, + "from": "node_modules/b", + }, + }, + +` + +exports[`test/place-dep.js TAP placement tests conflicted optional peer fails when it has a non-peerOptional edgeIn, force > placements 1`] = ` +Array [ + Object { + "canPlace": null, + "canPlaceSelf": null, + "checks": Map { + "" => Array [ + Symbol(CONFLICT), + Symbol(CONFLICT), + ], + }, + "dep": "c@2.0.0", + "edge": "{ node_modules/b peer c@2 }", + "placed": null, + }, +] +` + +exports[`test/place-dep.js TAP placement tests conflicted optional peer fails when it has a non-peerOptional edgeIn, force > warnings 1`] = ` +Array [ + Array [ + "ERESOLVE", + "overriding peer dependency", + Object { + "code": "ERESOLVE", + "current": Object { + "dependents": Array [ + Object { + "from": Object { + "dependents": Array [ + Object { + "from": Object { + "location": "/some/path", + }, + "name": "a", + "spec": "1", + "type": "prod", + }, + ], + "isWorkspace": false, + "location": "node_modules/a", + "name": "a", + "version": "1.0.0", + }, + "name": "c", + "spec": "1", + "type": "peer", + }, + ], + "isWorkspace": false, + "location": "node_modules/c", + "name": "c", + "version": "1.0.0", + }, + "dep": Object { + "dependents": Array [ + Object { + "error": "INVALID", + "from": Object { + "dependents": Array [ + Object { + "from": Object { + "dependents": Array [ + Object { + "from": Object { + "location": "/some/path", + }, + "name": "d", + "spec": "2", + "type": "prod", + }, + ], + "isWorkspace": false, + "location": "node_modules/d", + "name": "d", + "version": "2.0.0", + }, + "name": "b", + "spec": "2", + "type": "peerOptional", + }, + Object { + "from": Object { + "location": "/some/path", + }, + "name": "b", + "spec": "2", + "type": "prod", + }, + ], + "isWorkspace": false, + "location": "node_modules/b", + "name": "b", + "version": "2.0.0", + }, + "name": "c", + "spec": "2", + "type": "peer", + }, + ], + "isWorkspace": false, + "location": "node_modules/c", + "name": "c", + "version": "2.0.0", + "whileInstalling": Object { + "name": "b", + "path": "/some/path/node_modules/b", + "version": "2.0.0", + }, + }, + "edge": Object { + "error": "INVALID", + "from": Object { + "dependents": Array [ + Object { + "from": Object { + "dependents": Array [ + Object { + "from": Object { + "location": "/some/path", + }, + "name": "d", + "spec": "2", + "type": "prod", + }, + ], + "isWorkspace": false, + "location": "node_modules/d", + "name": "d", + "version": "2.0.0", + }, + "name": "b", + "spec": "2", + "type": "peerOptional", + }, + Object { + "from": Object { + "location": "/some/path", + }, + "name": "b", + "spec": "2", + "type": "prod", + }, + ], + "isWorkspace": false, + "location": "node_modules/b", + "name": "b", + "version": "2.0.0", + }, + "name": "c", + "spec": "2", + "type": "peer", + }, + "force": true, + "isMine": true, + "peerConflict": Object { + "current": Object { + "dependents": Array [ + Object { + "from": Object { + "dependents": Array [ + Object { + "from": Object { + "location": "/some/path", + }, + "name": "a", + "spec": "1", + "type": "prod", + }, + ], + "isWorkspace": false, + "location": "node_modules/a", + "name": "a", + "version": "1.0.0", + }, + "name": "c", + "spec": "1", + "type": "peer", + }, + ], + "isWorkspace": false, + "location": "node_modules/c", + "name": "c", + "version": "1.0.0", + }, + "peer": Object { + "dependents": Array [ + Object { + "error": "INVALID", + "from": Object { + "dependents": Array [ + Object { + "from": Object { + "dependents": Array [ + Object { + "from": Object { + "location": "/some/path", + }, + "name": "d", + "spec": "2", + "type": "prod", + }, + ], + "isWorkspace": false, + "location": "node_modules/d", + "name": "d", + "version": "2.0.0", + }, + "name": "b", + "spec": "2", + "type": "peerOptional", + }, + Object { + "from": Object { + "location": "/some/path", + }, + "name": "b", + "spec": "2", + "type": "prod", + }, + ], + "isWorkspace": false, + "location": "node_modules/b", + "name": "b", + "version": "2.0.0", + }, + "name": "c", + "spec": "2", + "type": "peer", + }, + ], + "isWorkspace": false, + "location": "node_modules/c", + "name": "c", + "version": "2.0.0", + "whileInstalling": Object { + "name": "b", + "path": "/some/path/node_modules/b", + "version": "2.0.0", + }, + }, + }, + "strictPeerDeps": false, + }, + ], +] +` + exports[`test/place-dep.js TAP placement tests cycle of peers > changes to tree 1`] = ` --- expected +++ actual @@ -5088,6 +5583,213 @@ exports[`test/place-dep.js TAP placement tests peer with peers > warnings 1`] = Array [] ` +exports[`test/place-dep.js TAP placement tests peerOptional can be invalid when peers conflict > changes to tree 1`] = ` +--- expected ++++ actual +@@ -63,6 +63,7 @@ + "name": "c", + "spec": "2", + "error": "INVALID", ++ "peerConflicted": true, + "to": "node_modules/c", + }, + }, +@@ -96,6 +97,7 @@ + "name": "c", + "spec": "2", + "error": "INVALID", ++ "peerConflicted": true, + "from": "node_modules/b", + }, + }, + +` + +exports[`test/place-dep.js TAP placement tests peerOptional can be invalid when peers conflict > placements 1`] = ` +Array [ + Object { + "canPlace": null, + "canPlaceSelf": null, + "checks": Map { + "" => Array [ + Symbol(CONFLICT), + Symbol(CONFLICT), + ], + }, + "dep": "c@2.0.0", + "edge": "{ node_modules/b peerOptional c@2 }", + "placed": null, + }, +] +` + +exports[`test/place-dep.js TAP placement tests peerOptional can be invalid when peers conflict > warnings 1`] = ` +Array [ + Array [ + "ERESOLVE", + "overriding peer dependency", + Object { + "code": "ERESOLVE", + "current": Object { + "dependents": Array [ + Object { + "from": Object { + "dependents": Array [ + Object { + "from": Object { + "location": "/some/path", + }, + "name": "a", + "spec": "1", + "type": "prod", + }, + ], + "isWorkspace": false, + "location": "node_modules/a", + "name": "a", + "version": "1.0.0", + }, + "name": "c", + "spec": "1", + "type": "peer", + }, + ], + "isWorkspace": false, + "location": "node_modules/c", + "name": "c", + "version": "1.0.0", + }, + "dep": Object { + "dependents": Array [ + Object { + "error": "INVALID", + "from": Object { + "dependents": Array [ + Object { + "from": Object { + "location": "/some/path", + }, + "name": "b", + "spec": "2", + "type": "prod", + }, + ], + "isWorkspace": false, + "location": "node_modules/b", + "name": "b", + "version": "2.0.0", + }, + "name": "c", + "spec": "2", + "type": "peerOptional", + }, + ], + "isWorkspace": false, + "location": "node_modules/c", + "name": "c", + "version": "2.0.0", + "whileInstalling": Object { + "name": "b", + "path": "/some/path/node_modules/b", + "version": "2.0.0", + }, + }, + "edge": Object { + "error": "INVALID", + "from": Object { + "dependents": Array [ + Object { + "from": Object { + "location": "/some/path", + }, + "name": "b", + "spec": "2", + "type": "prod", + }, + ], + "isWorkspace": false, + "location": "node_modules/b", + "name": "b", + "version": "2.0.0", + }, + "name": "c", + "spec": "2", + "type": "peerOptional", + }, + "force": false, + "isMine": true, + "peerConflict": Object { + "current": Object { + "dependents": Array [ + Object { + "from": Object { + "dependents": Array [ + Object { + "from": Object { + "location": "/some/path", + }, + "name": "a", + "spec": "1", + "type": "prod", + }, + ], + "isWorkspace": false, + "location": "node_modules/a", + "name": "a", + "version": "1.0.0", + }, + "name": "c", + "spec": "1", + "type": "peer", + }, + ], + "isWorkspace": false, + "location": "node_modules/c", + "name": "c", + "version": "1.0.0", + }, + "peer": Object { + "dependents": Array [ + Object { + "error": "INVALID", + "from": Object { + "dependents": Array [ + Object { + "from": Object { + "location": "/some/path", + }, + "name": "b", + "spec": "2", + "type": "prod", + }, + ], + "isWorkspace": false, + "location": "node_modules/b", + "name": "b", + "version": "2.0.0", + }, + "name": "c", + "spec": "2", + "type": "peerOptional", + }, + ], + "isWorkspace": false, + "location": "node_modules/c", + "name": "c", + "version": "2.0.0", + "whileInstalling": Object { + "name": "b", + "path": "/some/path/node_modules/b", + "version": "2.0.0", + }, + }, + }, + "strictPeerDeps": false, + }, + ], +] +` + exports[`test/place-dep.js TAP placement tests peers with peerConflicted edges in peerSet > changes to tree 1`] = ` --- expected +++ actual diff --git a/workspaces/arborist/test/arborist/build-ideal-tree.js b/workspaces/arborist/test/arborist/build-ideal-tree.js index 0aadd7adf..8a05920be 100644 --- a/workspaces/arborist/test/arborist/build-ideal-tree.js +++ b/workspaces/arborist/test/arborist/build-ideal-tree.js @@ -73,10 +73,10 @@ const generateNocks = (t, spec) => { ...result, [dep]: version, } - } else { + } else if (typeof dep[version] === 'string') { return { ...result, - ...(version in dep ? { [dep[version]]: version } : {}), + [dep[version]]: version, } } }, {}) @@ -96,7 +96,12 @@ const generateNocks = (t, spec) => { name, version, dependencies: getDeps(version, pkg.dependencies), + optionalDependencies: getDeps(version, pkg.optionalDependencies), peerDependencies: getDeps(version, pkg.peerDependencies), + peerDependenciesMeta: (pkg.peerOptional || []).reduce((meta, peer) => { + meta[peer] = { optional: true } + return meta + }, {}), }, } }, {}), @@ -822,7 +827,7 @@ t.test('workspaces', t => { return t.resolveMatchSnapshot(printIdeal(path)) }) - t.test('should handle conflicting peer deps ranges', t => { + t.test('should handle conflicting peer deps ranges', async t => { const path = resolve(__dirname, '../fixtures/workspaces-peer-ranges') return t.rejects( printIdeal(path), @@ -2121,11 +2126,11 @@ t.test('do not ever nest peer deps underneath their dependent ever', async t => t.rejects(printIdeal(path), { code: 'ERESOLVE' }) }) -t.test('properly fail on conflicted peerOptionals', async t => { +t.test('allows a peerOptional to conflict and be invalid', async t => { // react-refresh-webpack-plugin has a peerOptional dep on // type-fest 0.13.0, but the root package is stipulating 0.12 - // we would not normally install type-fest, but if we DO install it, - // it must not be a version that conflicts. + // in this scenario we allow 0.12 to be installed and the peerOptional + // edge to become invalid const path = t.testdir({ 'package.json': JSON.stringify({ dependencies: { @@ -2134,7 +2139,8 @@ t.test('properly fail on conflicted peerOptionals', async t => { }, }), }) - await t.rejects(printIdeal(path), { code: 'ERESOLVE' }) + const tree = await printIdeal(path) + t.matchSnapshot(tree) }) t.test('properly assign fsParent when paths have .. in them', async t => { @@ -2317,13 +2323,13 @@ t.test('detect conflicts in transitive peerOptional deps', t => { t.equal(peers.size, 2, 'installed the peer dep twice to avoid conflict') }) - t.test('omit peerOptionals when not needed for conflicts', async t => { + t.test('do not omit peerOptionals', async t => { const path = resolve(base, 'omit-peer-optional') const tree = await buildIdeal(path) t.matchSnapshot(printTree(tree)) const name = '@isaacs/test-conflicted-optional-peer-dep-peer' const peers = tree.inventory.query('name', name) - t.equal(peers.size, 0, 'omit peerOptional, not needed') + t.equal(peers.size, 1, 'install the peer dep once') }) }) @@ -2469,14 +2475,17 @@ t.test('allow ERESOLVE to be forced when not in the source', async t => { const path = t.testdir({ 'package.json': JSON.stringify(pj(type)), }) - t.matchSnapshot(await printIdeal(path, { force: true }), 'use the force') - t.rejects(printIdeal(path), { code: 'ERESOLVE' }, 'no force') + if (type === 'peerDependencies') { + t.matchSnapshot(await printIdeal(path, { force: true }), 'do need to force peers') + } else { + t.matchSnapshot(await printIdeal(path), 'do not need to force non peers') + } }) } }) // in these, the peer is a peer dep of the root, and b is a different type - t.test('peer is peer, b is some other type', t => { + t.test('b is peer, peer is some other type', t => { t.plan(types.length - 1) const pj = type => ({ name: '@isaacs/conflicted-peer-optional-from-dev-dep', @@ -2496,8 +2505,7 @@ t.test('allow ERESOLVE to be forced when not in the source', async t => { const path = t.testdir({ 'package.json': JSON.stringify(pj(type)), }) - t.matchSnapshot(await printIdeal(path, { force: true }), 'use the force') - t.rejects(printIdeal(path), { code: 'ERESOLVE' }, 'no force') + t.matchSnapshot(await printIdeal(path), 'do not need to force') }) } }) @@ -2523,8 +2531,7 @@ t.test('allow ERESOLVE to be forced when not in the source', async t => { const path = t.testdir({ 'package.json': JSON.stringify(pj(type)), }) - t.matchSnapshot(await printIdeal(path, { force: true }), 'use the force') - t.rejects(printIdeal(path), { code: 'ERESOLVE' }, 'no force') + t.matchSnapshot(await printIdeal(path), 'do not need to force') }) } }) @@ -3910,6 +3917,45 @@ t.test('overrides', t => { t.end() }) +t.test('correctly resolves optional peer with conflicting transient dep', async t => { + generateNocks(t, { + a: { + versions: ['1.0.0'], + peerDependencies: ['c'], + peerOptional: ['c'], + }, + b: { + versions: ['2.0.0'], + dependencies: ['c'], + }, + c: { + versions: ['1.0.0', '2.0.0'], + }, + }) + + const path = t.testdir({ + 'package.json': JSON.stringify({ + name: 'root', + dependencies: { + a: '^1.0.0', + b: '^2.0.0', + }, + }), + }) + + const tree = await buildIdeal(path) + + const checkEdges = (node) => { + for (const edge of node.edgesOut.values()) { + t.ok(edge.valid, `edge ${edge.name}@${edge.spec} is valid`) + t.ok(edge.to, 'edge has a target') + checkEdges(edge.to) + } + } + + checkEdges(tree) +}) + t.test('store files with a custom indenting', async t => { const tabIndentedPackageJson = fs.readFileSync( diff --git a/workspaces/arborist/test/fixtures/registry-mocks/content/http-parser-js.json b/workspaces/arborist/test/fixtures/registry-mocks/content/http-parser-js.json new file mode 100644 index 000000000..05a9e4da5 --- /dev/null +++ b/workspaces/arborist/test/fixtures/registry-mocks/content/http-parser-js.json @@ -0,0 +1,2376 @@ +{ + "_id": "http-parser-js", + "_rev": "47-b3687c1cff8b4332ca1832665845eb18", + "name": "http-parser-js", + "description": "A pure JS HTTP parser for node.", + "dist-tags": { + "latest": "0.5.8" + }, + "versions": { + "0.0.0": { + "name": "http-parser-js", + "version": "0.0.0", + "description": "A pure JS HTTP parser for node.", + "main": "http-parser.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "repository": { + "type": "git", + "url": "git://github.com/creationix/http-parser-js.git" + }, + "keywords": [ + "http" + ], + "author": { + "name": "Tim Caswell" + }, + "license": "MIT", + "_id": "http-parser-js@0.0.0", + "dist": { + "shasum": "909deb52b955712b99dd0385e6ecad96b2fb4ce9", + "tarball": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.0.0.tgz", + "integrity": "sha512-+qEoeTq1sUzdqNHnxPFihYxv4pVcWvinaCDkSijZu0ezCd18IMg/1MqgCjhvE2tDgA8WP3gO1g7zOQhKybwdBQ==", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEQCIA/xAaCnm2kMv2fyz2c1uPE6CNbTIOFaUvgJ05F5wHVJAiBUMyaMaScb1U0efc05ReJpTkA9P2m7yVSu5vTlVIexKA==" + } + ] + }, + "maintainers": [ + { + "name": "creationix", + "email": "tim@creationix.com" + } + ], + "directories": {} + }, + "0.1.0": { + "name": "http-parser-js", + "version": "0.1.0", + "description": "A pure JS HTTP parser for node.", + "main": "http-parser.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "repository": { + "type": "git", + "url": "git://github.com/creationix/http-parser-js.git" + }, + "keywords": [ + "http" + ], + "author": { + "name": "Tim Caswell" + }, + "license": "MIT", + "bugs": { + "url": "https://github.com/creationix/http-parser-js/issues" + }, + "homepage": "https://github.com/creationix/http-parser-js", + "_id": "http-parser-js@0.1.0", + "dist": { + "shasum": "9c4fc9b9a692edb4ccbc571ef072f70fed56dd1c", + "tarball": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.1.0.tgz", + "integrity": "sha512-ltJUcKvMoehl/eM/+8dVW0h0OPDNSLQbg6llPvfcPUL+hU33hWdbwfMw6Yh/71vyNUKCFNQKtsbgbeRutrgNZw==", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEYCIQCgetGfz59ht3nAbWOymT81Jly2VNAed4xgwK99R43m8gIhAKGfCp0fZ2bBaUfHryJ+0EUCcpZzNZEVmjRhXAeJtHEm" + } + ] + }, + "_from": ".", + "_npmVersion": "1.4.3", + "_npmUser": { + "name": "creationix", + "email": "tim@creationix.com" + }, + "maintainers": [ + { + "name": "creationix", + "email": "tim@creationix.com" + } + ], + "directories": {} + }, + "0.2.0": { + "name": "http-parser-js", + "version": "0.2.0", + "description": "A pure JS HTTP parser for node.", + "main": "http-parser.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "repository": { + "type": "git", + "url": "git://github.com/creationix/http-parser-js.git" + }, + "keywords": [ + "http" + ], + "author": { + "name": "Tim Caswell", + "url": "https://github.com/creationix" + }, + "contributors": [ + { + "name": "Jimb Esser", + "url": "https://github.com/Jimbly" + }, + { + "name": "Lawrence Rowe", + "url": "https://github.com/lrowe" + } + ], + "license": "MIT", + "gitHead": "3a41f4a5c61853ff68b8498c4f24c908e8ea3a46", + "bugs": { + "url": "https://github.com/creationix/http-parser-js/issues" + }, + "homepage": "https://github.com/creationix/http-parser-js", + "_id": "http-parser-js@0.2.0", + "_shasum": "3f1ab609051fd93d607fb9d3e4ae4b097e8c5bce", + "_from": ".", + "_npmVersion": "1.4.20", + "_npmUser": { + "name": "Jimbly", + "email": "wasteland@gmail.com" + }, + "maintainers": [ + { + "name": "creationix", + "email": "tim@creationix.com" + }, + { + "name": "Jimbly", + "email": "wasteland@gmail.com" + } + ], + "dist": { + "shasum": "3f1ab609051fd93d607fb9d3e4ae4b097e8c5bce", + "tarball": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.2.0.tgz", + "integrity": "sha512-XQ0zvi1HxA9U30G5QpRx9c1KbZMQmNph1JmOqW4nTzkTl4UrGy6kXHP777ZMnS8CvF98/u0O8qJrnQYVQOjKUg==", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEUCIQCdS38eU7tYvZjxn6XRBahO3Bmm/eox2H25WWs/Kz5MQQIgUubMp4PhozOn8AortZgaEwGu7Cj1XV4WyL6+CVS1+9Y=" + } + ] + }, + "directories": {} + }, + "0.2.1": { + "name": "http-parser-js", + "version": "0.2.1", + "description": "A pure JS HTTP parser for node.", + "main": "http-parser.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "repository": { + "type": "git", + "url": "git://github.com/creationix/http-parser-js.git" + }, + "keywords": [ + "http" + ], + "author": { + "name": "Tim Caswell", + "url": "https://github.com/creationix" + }, + "contributors": [ + { + "name": "Jimb Esser", + "url": "https://github.com/Jimbly" + }, + { + "name": "Lawrence Rowe", + "url": "https://github.com/lrowe" + } + ], + "license": "MIT", + "gitHead": "1f9904bb409e8d6d87600d730dcea156388edc9e", + "bugs": { + "url": "https://github.com/creationix/http-parser-js/issues" + }, + "homepage": "https://github.com/creationix/http-parser-js", + "_id": "http-parser-js@0.2.1", + "_shasum": "43670c1f4f9df1e87fda9399ef58b5c40460b24c", + "_from": ".", + "_npmVersion": "1.4.20", + "_npmUser": { + "name": "Jimbly", + "email": "wasteland@gmail.com" + }, + "maintainers": [ + { + "name": "creationix", + "email": "tim@creationix.com" + }, + { + "name": "Jimbly", + "email": "wasteland@gmail.com" + } + ], + "dist": { + "shasum": "43670c1f4f9df1e87fda9399ef58b5c40460b24c", + "tarball": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.2.1.tgz", + "integrity": "sha512-EUJkN9yBDBFnYEvFWjX2IlEN1zP2pJY9hFiQIB3Xmol/DquLc5hj3bHi4gc3tAWqQF/VFFxa84KY7LdRJNcqqQ==", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEUCIQCv52ighTL7qMLCpDyiZrrDf5Oyr7BEtCtxTD2bp/ZUAwIgTyqqDgoHINPobb6NZ9cNeOzph6b/6IB2CKrScFLWSO4=" + } + ] + }, + "directories": {} + }, + "0.2.2": { + "name": "http-parser-js", + "version": "0.2.2", + "description": "A pure JS HTTP parser for node.", + "main": "http-parser.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "repository": { + "type": "git", + "url": "git://github.com/creationix/http-parser-js.git" + }, + "keywords": [ + "http" + ], + "author": { + "name": "Tim Caswell", + "url": "https://github.com/creationix" + }, + "contributors": [ + { + "name": "Jimb Esser", + "url": "https://github.com/Jimbly" + }, + { + "name": "Lawrence Rowe", + "url": "https://github.com/lrowe" + } + ], + "license": "MIT", + "gitHead": "727deec93cc373b82029302de977b0acd2be47d0", + "bugs": { + "url": "https://github.com/creationix/http-parser-js/issues" + }, + "homepage": "https://github.com/creationix/http-parser-js", + "_id": "http-parser-js@0.2.2", + "_shasum": "8f1b8f6c1f3ac2f52b04e5d48cd5c6e7285c634c", + "_from": ".", + "_npmVersion": "1.4.20", + "_npmUser": { + "name": "Jimbly", + "email": "wasteland@gmail.com" + }, + "maintainers": [ + { + "name": "creationix", + "email": "tim@creationix.com" + }, + { + "name": "Jimbly", + "email": "wasteland@gmail.com" + } + ], + "dist": { + "shasum": "8f1b8f6c1f3ac2f52b04e5d48cd5c6e7285c634c", + "tarball": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.2.2.tgz", + "integrity": "sha512-qRYI00U/DSaw5Uf6Bda10raRZXHQLb1Ne1sNpeUpG2I8DzXDlcl6IiM8jx4qTIVX0Kly7ZIv6I/ETWjb7qWScA==", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEYCIQDo5cnGyP1M664ZzuaUab2FXASfHq1chnP5ZPMssbn4LAIhAIeAl9KvhxLOUhCFw0b6q85v8IcAuoU9r/hFjKXVgkd+" + } + ] + }, + "directories": {} + }, + "0.2.3": { + "name": "http-parser-js", + "version": "0.2.3", + "description": "A pure JS HTTP parser for node.", + "main": "http-parser.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "repository": { + "type": "git", + "url": "git://github.com/creationix/http-parser-js.git" + }, + "keywords": [ + "http" + ], + "author": { + "name": "Tim Caswell", + "url": "https://github.com/creationix" + }, + "contributors": [ + { + "name": "Jimb Esser", + "url": "https://github.com/Jimbly" + }, + { + "name": "Lawrence Rowe", + "url": "https://github.com/lrowe" + }, + { + "name": "Jan Schär", + "url": "https://github.com/jscissr" + } + ], + "license": "MIT", + "gitHead": "4d2d03a2417cf4bd4a93386572b9ac9692e70f3e", + "bugs": { + "url": "https://github.com/creationix/http-parser-js/issues" + }, + "homepage": "https://github.com/creationix/http-parser-js", + "_id": "http-parser-js@0.2.3", + "_shasum": "1766743ea1e80ac1b1793a44fa3989fb8cdacc33", + "_from": ".", + "_npmVersion": "1.4.20", + "_npmUser": { + "name": "Jimbly", + "email": "wasteland@gmail.com" + }, + "maintainers": [ + { + "name": "creationix", + "email": "tim@creationix.com" + }, + { + "name": "Jimbly", + "email": "wasteland@gmail.com" + } + ], + "dist": { + "shasum": "1766743ea1e80ac1b1793a44fa3989fb8cdacc33", + "tarball": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.2.3.tgz", + "integrity": "sha512-Jw/pVkAdBVLRt3NUQrf/dz8/p9E711IT8lqOuFlWh2sSV+pYQiLXvn2OHOmZoOrIlR3WqewJyMogONbIEVwobQ==", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEUCIDvdZ9FzVAPsK0LoxY7K/ObUm5fOOA0zVTBE1SpyTaalAiEAwvpiWXD0JEfAd/ADCximm0syQjHxM2y+BVZ0nDAgqg8=" + } + ] + }, + "directories": {} + }, + "0.3.0": { + "name": "http-parser-js", + "version": "0.3.0", + "description": "A pure JS HTTP parser for node.", + "main": "http-parser.js", + "scripts": { + "test": "python tests/test.py && node tests/iojs/test-http-parser-durability.js" + }, + "repository": { + "type": "git", + "url": "git://github.com/creationix/http-parser-js.git" + }, + "keywords": [ + "http" + ], + "author": { + "name": "Tim Caswell", + "url": "https://github.com/creationix" + }, + "contributors": [ + { + "name": "Jimb Esser", + "url": "https://github.com/Jimbly" + }, + { + "name": "Lawrence Rowe", + "url": "https://github.com/lrowe" + }, + { + "name": "Jan Schär", + "url": "https://github.com/jscissr" + } + ], + "license": "MIT", + "gitHead": "87f6949402279deb84313baa08d0268fcaf25ff9", + "bugs": { + "url": "https://github.com/creationix/http-parser-js/issues" + }, + "homepage": "https://github.com/creationix/http-parser-js#readme", + "_id": "http-parser-js@0.3.0", + "_shasum": "293844fe61246fcc46c55c2c23790d7a550549a3", + "_from": ".", + "_npmVersion": "2.10.1", + "_nodeVersion": "0.12.4", + "_npmUser": { + "name": "creationix", + "email": "tim@creationix.com" + }, + "dist": { + "shasum": "293844fe61246fcc46c55c2c23790d7a550549a3", + "tarball": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.3.0.tgz", + "integrity": "sha512-vrBL/AmpkjjyopV3yVZ0DDwjUACwXZoJEv96KOfOz197f/NcEPgxiY5596hmaokn9QO7KxJvTriKGk58tIYRog==", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEUCIQCr9fn46JVwQcBEBfcKo/zw8NTsDjJlz0TqYt4MouBF+AIgLNoPHJThWugUgSAOMZs/1ag0GTVw1BBfHyimGrtNHxM=" + } + ] + }, + "maintainers": [ + { + "name": "creationix", + "email": "tim@creationix.com" + }, + { + "name": "Jimbly", + "email": "wasteland@gmail.com" + } + ], + "directories": {} + }, + "0.4.0": { + "name": "http-parser-js", + "version": "0.4.0", + "description": "A pure JS HTTP parser for node.", + "main": "http-parser.js", + "scripts": { + "test": "python tests/test.py && node tests/iojs/test-http-parser-durability.js" + }, + "repository": { + "type": "git", + "url": "git://github.com/creationix/http-parser-js.git" + }, + "keywords": [ + "http" + ], + "author": { + "name": "Tim Caswell", + "url": "https://github.com/creationix" + }, + "contributors": [ + { + "name": "Jimb Esser", + "url": "https://github.com/Jimbly" + }, + { + "name": "Lawrence Rowe", + "url": "https://github.com/lrowe" + }, + { + "name": "Jan Schär", + "url": "https://github.com/jscissr" + } + ], + "license": "MIT", + "gitHead": "0912515b5fda5f7423495fe0129ef901d88f13da", + "bugs": { + "url": "https://github.com/creationix/http-parser-js/issues" + }, + "homepage": "https://github.com/creationix/http-parser-js", + "_id": "http-parser-js@0.4.0", + "_shasum": "5e501b0d1008e7f7f8bf05eba70e7d716f29148d", + "_from": ".", + "_npmVersion": "1.4.15", + "_npmUser": { + "name": "Jimbly", + "email": "wasteland@gmail.com" + }, + "maintainers": [ + { + "name": "creationix", + "email": "tim@creationix.com" + }, + { + "name": "Jimbly", + "email": "wasteland@gmail.com" + } + ], + "dist": { + "shasum": "5e501b0d1008e7f7f8bf05eba70e7d716f29148d", + "tarball": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.0.tgz", + "integrity": "sha512-+/BXd6UcMbc0juUNeqQv7TxXx+2C65+agcxr6cPVF6vM6dhpxGtz8fuexkp2TYwjaNxVz6x9HaPbSEfId21ziQ==", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEUCIDhhS0r/WOo7xrDHysy85oz9hgyYVpbYSOJ+C+HS8knfAiEAt1SYHtj5M9PieElhtNOXlfe09UINfDbhJKGcoF/hvf8=" + } + ] + }, + "directories": {} + }, + "0.4.1": { + "name": "http-parser-js", + "version": "0.4.1", + "description": "A pure JS HTTP parser for node.", + "main": "http-parser.js", + "scripts": { + "test": "python tests/test.py && node tests/iojs/test-http-parser-durability.js" + }, + "repository": { + "type": "git", + "url": "git://github.com/creationix/http-parser-js.git" + }, + "keywords": [ + "http" + ], + "author": { + "name": "Tim Caswell", + "url": "https://github.com/creationix" + }, + "contributors": [ + { + "name": "Jimb Esser", + "url": "https://github.com/Jimbly" + }, + { + "name": "Lawrence Rowe", + "url": "https://github.com/lrowe" + }, + { + "name": "Jan Schär", + "url": "https://github.com/jscissr" + } + ], + "license": "MIT", + "gitHead": "7155edeb76e904017f82c1da0ab4857af942bf63", + "bugs": { + "url": "https://github.com/creationix/http-parser-js/issues" + }, + "homepage": "https://github.com/creationix/http-parser-js#readme", + "_id": "http-parser-js@0.4.1", + "_shasum": "cd89d63d494d46720866a859540106ae63c47fea", + "_from": ".", + "_npmVersion": "3.3.6", + "_nodeVersion": "0.10.40", + "_npmUser": { + "name": "Jimbly", + "email": "wasteland@gmail.com" + }, + "maintainers": [ + { + "name": "creationix", + "email": "tim@creationix.com" + }, + { + "name": "Jimbly", + "email": "wasteland@gmail.com" + } + ], + "dist": { + "shasum": "cd89d63d494d46720866a859540106ae63c47fea", + "tarball": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.1.tgz", + "integrity": "sha512-Wc9i+/7TcDWVMAaCEOHVpnHEKzJOX34GxUQfvjZgcp2v2NkkPiv0Po9GoG6WT5Dthj0VQdtlfE5PYidf4qfy+g==", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEQCIHmBvNuE9q4asNnYqzf1v7mjbBSey+JghbLQ41WTjWG/AiBGpbgl83tA4MJrASXGT1GpFcqMTShR8+3JIe3etV286Q==" + } + ] + }, + "directories": {} + }, + "0.4.2": { + "name": "http-parser-js", + "version": "0.4.2", + "description": "A pure JS HTTP parser for node.", + "main": "http-parser.js", + "scripts": { + "test": "python tests/test.py && node tests/iojs/test-http-parser-durability.js" + }, + "repository": { + "type": "git", + "url": "git://github.com/creationix/http-parser-js.git" + }, + "files": [ + "http-parser.js" + ], + "keywords": [ + "http" + ], + "author": { + "name": "Tim Caswell", + "url": "https://github.com/creationix" + }, + "contributors": [ + { + "name": "Jimb Esser", + "url": "https://github.com/Jimbly" + }, + { + "name": "Lawrence Rowe", + "url": "https://github.com/lrowe" + }, + { + "name": "Jan Schär", + "url": "https://github.com/jscissr" + } + ], + "license": "MIT", + "gitHead": "6cb142a52b8d31910c17bf86f8738f6ab7c6b167", + "bugs": { + "url": "https://github.com/creationix/http-parser-js/issues" + }, + "homepage": "https://github.com/creationix/http-parser-js#readme", + "_id": "http-parser-js@0.4.2", + "_shasum": "4e0ef98aa1f629898b018bdcf1b919013ab15bee", + "_from": ".", + "_npmVersion": "2.10.1", + "_nodeVersion": "0.10.36", + "_npmUser": { + "name": "Jimbly", + "email": "wasteland@gmail.com" + }, + "maintainers": [ + { + "name": "creationix", + "email": "tim@creationix.com" + }, + { + "name": "Jimbly", + "email": "wasteland@gmail.com" + } + ], + "dist": { + "shasum": "4e0ef98aa1f629898b018bdcf1b919013ab15bee", + "tarball": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.2.tgz", + "integrity": "sha512-pSlUwN4nCaHYWWDzGhcZQ7JrBFi7Nkn026fNTuvyJ1EdsAE3Fs7i6IuRQN+HhE2QslQvuJT41wUlkFFKL32PKQ==", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEUCIEN3Uc+l0CYohv83l5SXOU+AyibGChTemWdh69z1ypdcAiEAwcncVUWTjM6eH49mE7uZcKhIFf4zPQ/ezAPxvuPI+Pw=" + } + ] + }, + "directories": {} + }, + "0.4.3": { + "name": "http-parser-js", + "version": "0.4.3", + "description": "A pure JS HTTP parser for node.", + "main": "http-parser.js", + "scripts": { + "test": "python tests/test.py && node tests/iojs/test-http-parser-durability.js" + }, + "repository": { + "type": "git", + "url": "git://github.com/creationix/http-parser-js.git" + }, + "files": [], + "keywords": [ + "http" + ], + "author": { + "name": "Tim Caswell", + "url": "https://github.com/creationix" + }, + "contributors": [ + { + "name": "Jimb Esser", + "url": "https://github.com/Jimbly" + }, + { + "name": "Lawrence Rowe", + "url": "https://github.com/lrowe" + }, + { + "name": "Jan Schär", + "url": "https://github.com/jscissr" + } + ], + "license": "MIT", + "gitHead": "8ee9ae7c04d509c5a6d60caba70f4e7639a40f3c", + "bugs": { + "url": "https://github.com/creationix/http-parser-js/issues" + }, + "homepage": "https://github.com/creationix/http-parser-js#readme", + "_id": "http-parser-js@0.4.3", + "_shasum": "89da65699a7f5eacd57d4ff93f0d104b1a960046", + "_from": ".", + "_npmVersion": "3.9.5", + "_nodeVersion": "6.2.2", + "_npmUser": { + "name": "creationix", + "email": "tim@creationix.com" + }, + "dist": { + "shasum": "89da65699a7f5eacd57d4ff93f0d104b1a960046", + "tarball": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.3.tgz", + "integrity": "sha512-h6JH0SMk+EN2km8zN3ZV/yCx7pwAsVAMo9OGjVJhhmD63HIgEDlUPxhXwDL0QWGcgUCclInwy3fnHkaoQbpCeg==", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEUCICuWZdqbWOYMMlrlcn1143v0Zn8KqsuBcxidnCZE1VVhAiEAz9mtWLcsX8E39nwHsyMFeao9UI7Wt4K9MMNvr360V20=" + } + ] + }, + "maintainers": [ + { + "name": "creationix", + "email": "tim@creationix.com" + }, + { + "name": "Jimbly", + "email": "wasteland@gmail.com" + } + ], + "_npmOperationalInternal": { + "host": "packages-12-west.internal.npmjs.com", + "tmp": "tmp/http-parser-js-0.4.3.tgz_1468351192405_0.8753873123787344" + }, + "directories": {} + }, + "0.4.4": { + "name": "http-parser-js", + "version": "0.4.4", + "description": "A pure JS HTTP parser for node.", + "main": "http-parser.js", + "scripts": { + "test": "python tests/test.py && node tests/iojs/test-http-parser-durability.js" + }, + "repository": { + "type": "git", + "url": "git://github.com/creationix/http-parser-js.git" + }, + "files": [], + "keywords": [ + "http" + ], + "author": { + "name": "Tim Caswell", + "url": "https://github.com/creationix" + }, + "contributors": [ + { + "name": "Jimb Esser", + "url": "https://github.com/Jimbly" + }, + { + "name": "Lawrence Rowe", + "url": "https://github.com/lrowe" + }, + { + "name": "Jan Sch�r", + "url": "https://github.com/jscissr" + }, + { + "name": "Paul R�tter", + "url": "https://github.com/paulrutter" + } + ], + "license": "MIT", + "gitHead": "faf2a077f66be35fb57b07847bbb48a4e6d35a19", + "bugs": { + "url": "https://github.com/creationix/http-parser-js/issues" + }, + "homepage": "https://github.com/creationix/http-parser-js#readme", + "_id": "http-parser-js@0.4.4", + "_shasum": "c1273cf9897ac2caccc4779959780aa903de41a4", + "_from": ".", + "_npmVersion": "3.10.3", + "_nodeVersion": "6.3.1", + "_npmUser": { + "name": "jimbly", + "email": "wasteland@gmail.com" + }, + "dist": { + "shasum": "c1273cf9897ac2caccc4779959780aa903de41a4", + "tarball": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.4.tgz", + "integrity": "sha512-SO7X60M8KyoCVswcSpcE7aY9h/+IsvDc+zKOfGafs2DDp7VstvJ7WmgU5DcAo/AdkrizEciGAn36Ee6nQlBe3g==", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEUCIQDPw1U9uE0AeBGqb6bREBXnuImNLnwkftmER9e5iFolLQIgQXcSAk6x/Ph6Pa+tOQZorh/IaL++f5JLUJG2tvT3Wj8=" + } + ] + }, + "maintainers": [ + { + "name": "creationix", + "email": "tim@creationix.com" + }, + { + "name": "jimbly", + "email": "wasteland@gmail.com" + } + ], + "_npmOperationalInternal": { + "host": "packages-16-east.internal.npmjs.com", + "tmp": "tmp/http-parser-js-0.4.4.tgz_1473285598103_0.5152257131412625" + }, + "directories": {} + }, + "0.4.5": { + "name": "http-parser-js", + "version": "0.4.5", + "description": "A pure JS HTTP parser for node.", + "main": "http-parser.js", + "scripts": { + "test": "python tests/test.py && node tests/iojs/test-http-parser-durability.js" + }, + "repository": { + "type": "git", + "url": "git://github.com/creationix/http-parser-js.git" + }, + "files": [], + "keywords": [ + "http" + ], + "author": { + "name": "Tim Caswell", + "url": "https://github.com/creationix" + }, + "contributors": [ + { + "name": "Jimb Esser", + "url": "https://github.com/Jimbly" + }, + { + "name": "Lawrence Rowe", + "url": "https://github.com/lrowe" + }, + { + "name": "Jan Sch�r", + "url": "https://github.com/jscissr" + }, + { + "name": "Paul R�tter", + "url": "https://github.com/paulrutter" + } + ], + "license": "MIT", + "gitHead": "4da1ccd4d5e9fd5cca958253bcd84ae8afadfab5", + "bugs": { + "url": "https://github.com/creationix/http-parser-js/issues" + }, + "homepage": "https://github.com/creationix/http-parser-js#readme", + "_id": "http-parser-js@0.4.5", + "_npmVersion": "5.0.3", + "_nodeVersion": "8.1.2", + "_npmUser": { + "name": "creationix", + "email": "tim@creationix.com" + }, + "dist": { + "integrity": "sha512-sYaqbMBf8hoS6OZBwMygxdLD3TsWgzheP55nkQ7GiR7gsn8x+2oTMCoJSAQmNm3obzOjJYT6tdTz1XcYjKyUqg==", + "shasum": "a3ecf39a667481a38ca60882ab57a2db578b9970", + "tarball": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.5.tgz", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEUCICC1tytZnPj5tJEOqwaDglvmXZAV1cbF+EuwcKsoRZgmAiEAsxd82qsoQyHPAWTZVewkIkIL87Vy0unhIQc349G+fUU=" + } + ] + }, + "maintainers": [ + { + "name": "creationix", + "email": "tim@creationix.com" + }, + { + "name": "jimbly", + "email": "wasteland@gmail.com" + } + ], + "_npmOperationalInternal": { + "host": "s3://npm-registry-packages", + "tmp": "tmp/http-parser-js-0.4.5.tgz_1497981315615_0.9391212973278016" + }, + "directories": {} + }, + "0.4.6": { + "name": "http-parser-js", + "version": "0.4.6", + "description": "A pure JS HTTP parser for node.", + "main": "http-parser.js", + "scripts": { + "test": "python tests/test.py && node tests/iojs/test-http-parser-durability.js" + }, + "repository": { + "type": "git", + "url": "git://github.com/creationix/http-parser-js.git" + }, + "files": [], + "keywords": [ + "http" + ], + "author": { + "name": "Tim Caswell", + "url": "https://github.com/creationix" + }, + "contributors": [ + { + "name": "Jimb Esser", + "url": "https://github.com/Jimbly" + }, + { + "name": "Lawrence Rowe", + "url": "https://github.com/lrowe" + }, + { + "name": "Jan Schär", + "url": "https://github.com/jscissr" + }, + { + "name": "Paul Rütter", + "url": "https://github.com/paulrutter" + } + ], + "license": "MIT", + "gitHead": "889370edae7402a930bf77a5a20eb1d15825318a", + "bugs": { + "url": "https://github.com/creationix/http-parser-js/issues" + }, + "homepage": "https://github.com/creationix/http-parser-js#readme", + "_id": "http-parser-js@0.4.6", + "_shasum": "195273f58704c452d671076be201329dd341dc55", + "_from": ".", + "_npmVersion": "3.10.8", + "_nodeVersion": "6.9.1", + "_npmUser": { + "name": "jimbly", + "email": "wasteland@gmail.com" + }, + "dist": { + "shasum": "195273f58704c452d671076be201329dd341dc55", + "tarball": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.6.tgz", + "integrity": "sha512-YgMNpDj4EEyCxfghswDfXdUqgnXjuYZhMy2vMtn9x1X5BykwPN0xU5EbTqbtqAWe7XQCK8mfPvr+Li+xcG+5Hw==", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEQCIBzcW+ZpljnbnLX/N2A+SKdLv8zg5kWED/tjAN/lKCliAiBtAo3Xyb6Lb6zDhPK1DZJO4uuiiYrbLQKMwivohpRxNA==" + } + ] + }, + "maintainers": [ + { + "name": "creationix", + "email": "tim@creationix.com" + }, + { + "name": "jimbly", + "email": "wasteland@gmail.com" + } + ], + "_npmOperationalInternal": { + "host": "s3://npm-registry-packages", + "tmp": "tmp/http-parser-js-0.4.6.tgz_1505312062736_0.7489412378054112" + }, + "directories": {} + }, + "0.4.7": { + "name": "http-parser-js", + "version": "0.4.7", + "description": "A pure JS HTTP parser for node.", + "main": "http-parser.js", + "scripts": { + "test": "python tests/test.py && node tests/iojs/test-http-parser-durability.js" + }, + "repository": { + "type": "git", + "url": "git://github.com/creationix/http-parser-js.git" + }, + "files": [ + "http-parser.js" + ], + "keywords": [ + "http" + ], + "author": { + "name": "Tim Caswell", + "url": "https://github.com/creationix" + }, + "contributors": [ + { + "name": "Jimb Esser", + "url": "https://github.com/Jimbly" + }, + { + "name": "Lawrence Rowe", + "url": "https://github.com/lrowe" + }, + { + "name": "Jan Schär", + "url": "https://github.com/jscissr" + }, + { + "name": "Paul Rütter", + "url": "https://github.com/paulrutter" + } + ], + "license": "MIT", + "gitHead": "494a6bc0f82a1980d7f04baa416ec7b6f49da028", + "bugs": { + "url": "https://github.com/creationix/http-parser-js/issues" + }, + "homepage": "https://github.com/creationix/http-parser-js#readme", + "_id": "http-parser-js@0.4.7", + "_shasum": "1cecc9c4ce845c0288224d8844854c1ef08c9ad7", + "_from": ".", + "_npmVersion": "3.10.8", + "_nodeVersion": "6.9.1", + "_npmUser": { + "name": "jimbly", + "email": "wasteland@gmail.com" + }, + "dist": { + "shasum": "1cecc9c4ce845c0288224d8844854c1ef08c9ad7", + "tarball": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.7.tgz", + "integrity": "sha512-FVvV9FhabRz56S+4EeGev20Ius5Cbdnz7FKQcknF/nVzJTgE4uU/GR+6+mB989c1kUHL9/IfdAlpGuKDitHkyA==", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEUCIDlCHdVn4Q2vzm/AGCBc344+5kwkwytCvLq2QzbhRFS+AiEA4iMpNnEd5eXCBcHJOGICYJ9gIivzy3OEcMDoduG1BbE=" + } + ] + }, + "maintainers": [ + { + "name": "creationix", + "email": "tim@creationix.com" + }, + { + "name": "jimbly", + "email": "wasteland@gmail.com" + } + ], + "_npmOperationalInternal": { + "host": "s3://npm-registry-packages", + "tmp": "tmp/http-parser-js-0.4.7.tgz_1506002581189_0.4852926495950669" + }, + "directories": {} + }, + "0.4.8": { + "name": "http-parser-js", + "version": "0.4.8", + "description": "A pure JS HTTP parser for node.", + "main": "http-parser.js", + "scripts": { + "test": "python tests/test.py && node tests/iojs/test-http-parser-durability.js" + }, + "repository": { + "type": "git", + "url": "git://github.com/creationix/http-parser-js.git" + }, + "files": [ + "http-parser.js" + ], + "keywords": [ + "http" + ], + "author": { + "name": "Tim Caswell", + "url": "https://github.com/creationix" + }, + "contributors": [ + { + "name": "Jimb Esser", + "url": "https://github.com/Jimbly" + }, + { + "name": "Lawrence Rowe", + "url": "https://github.com/lrowe" + }, + { + "name": "Jan Schär", + "url": "https://github.com/jscissr" + }, + { + "name": "Paul Rütter", + "url": "https://github.com/paulrutter" + } + ], + "license": "MIT", + "gitHead": "12e0c91a7ff989a0687f81e059e7ddb5e5e35ea3", + "bugs": { + "url": "https://github.com/creationix/http-parser-js/issues" + }, + "homepage": "https://github.com/creationix/http-parser-js#readme", + "_id": "http-parser-js@0.4.8", + "_npmVersion": "5.3.0", + "_nodeVersion": "8.5.0", + "_npmUser": { + "name": "jimbly", + "email": "wasteland@gmail.com" + }, + "dist": { + "integrity": "sha512-jmHp99g6/fLx0pRNJqzsQgjsclCHAY7NhIeA3/U+bsGNvgbvUCQFQY9m5AYpqpAxY/2VcikfbKpjQozSTiz0jA==", + "shasum": "763f75c4b771a0bb44653b07070bff6ca7bc5561", + "tarball": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.8.tgz", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEYCIQDQ3ytPXgQXXK8oo1M6nF6u86KANmk/4NVYUWKHc8+mHwIhANbjnPDQdmcQy42eT4HBDzQin1NRkTIAZT6cHManJOEe" + } + ] + }, + "maintainers": [ + { + "name": "creationix", + "email": "tim@creationix.com" + }, + { + "name": "jimbly", + "email": "wasteland@gmail.com" + } + ], + "_npmOperationalInternal": { + "host": "s3://npm-registry-packages", + "tmp": "tmp/http-parser-js-0.4.8.tgz_1506030686540_0.7717220701742917" + }, + "directories": {} + }, + "0.4.9": { + "name": "http-parser-js", + "version": "0.4.9", + "description": "A pure JS HTTP parser for node.", + "main": "http-parser.js", + "scripts": { + "test": "python tests/test.py && node tests/iojs/test-http-parser-durability.js" + }, + "repository": { + "type": "git", + "url": "git://github.com/creationix/http-parser-js.git" + }, + "files": [ + "http-parser.js" + ], + "keywords": [ + "http" + ], + "author": { + "name": "Tim Caswell", + "url": "https://github.com/creationix" + }, + "contributors": [ + { + "name": "Jimb Esser", + "url": "https://github.com/Jimbly" + }, + { + "name": "Lawrence Rowe", + "url": "https://github.com/lrowe" + }, + { + "name": "Jan Schär", + "url": "https://github.com/jscissr" + }, + { + "name": "Paul Rütter", + "url": "https://github.com/paulrutter" + } + ], + "license": "MIT", + "gitHead": "287dd0cd76a512d67d52e19e8b0fa4d40e07fa19", + "bugs": { + "url": "https://github.com/creationix/http-parser-js/issues" + }, + "homepage": "https://github.com/creationix/http-parser-js#readme", + "_id": "http-parser-js@0.4.9", + "_shasum": "ea1a04fb64adff0242e9974f297dd4c3cad271e1", + "_from": ".", + "_npmVersion": "3.10.8", + "_nodeVersion": "6.9.1", + "_npmUser": { + "name": "jimbly", + "email": "wasteland@gmail.com" + }, + "dist": { + "shasum": "ea1a04fb64adff0242e9974f297dd4c3cad271e1", + "tarball": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.9.tgz", + "integrity": "sha512-gmzoCd68gAuhyr4mOLSm4loH3Pv9fn0+YL7lItcK4BbGaxc9g+lQ7As4LhU8ZMqaPcSt4nSquIaUVbcXF/adqw==", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEUCIQD7nfxRWCmJcCYpEYLXVGpQs9XmUxFBCZqCOLDrH3OlSwIgCDoW43FGw/P/rMDXqdDPSM9GG+vWDgsb1qgZ8eXP/cs=" + } + ] + }, + "maintainers": [ + { + "name": "creationix", + "email": "tim@creationix.com" + }, + { + "name": "jimbly", + "email": "wasteland@gmail.com" + } + ], + "_npmOperationalInternal": { + "host": "s3://npm-registry-packages", + "tmp": "tmp/http-parser-js-0.4.9.tgz_1507127716935_0.974934829166159" + }, + "directories": {} + }, + "0.4.10": { + "name": "http-parser-js", + "version": "0.4.10", + "description": "A pure JS HTTP parser for node.", + "main": "http-parser.js", + "scripts": { + "test": "python tests/test.py && node tests/iojs/test-http-parser-durability.js" + }, + "repository": { + "type": "git", + "url": "git://github.com/creationix/http-parser-js.git" + }, + "files": [ + "http-parser.js" + ], + "keywords": [ + "http" + ], + "author": { + "name": "Tim Caswell", + "url": "https://github.com/creationix" + }, + "contributors": [ + { + "name": "Jimb Esser", + "url": "https://github.com/Jimbly" + }, + { + "name": "Lawrence Rowe", + "url": "https://github.com/lrowe" + }, + { + "name": "Jan Schär", + "url": "https://github.com/jscissr" + }, + { + "name": "Paul Rütter", + "url": "https://github.com/paulrutter" + } + ], + "license": "MIT", + "gitHead": "d9d54127d1b72f40c7fc3e5052e625e07ae8d235", + "bugs": { + "url": "https://github.com/creationix/http-parser-js/issues" + }, + "homepage": "https://github.com/creationix/http-parser-js#readme", + "_id": "http-parser-js@0.4.10", + "_shasum": "92c9c1374c35085f75db359ec56cc257cbb93fa4", + "_from": ".", + "_npmVersion": "3.10.8", + "_nodeVersion": "6.9.1", + "_npmUser": { + "name": "jimbly", + "email": "wasteland@gmail.com" + }, + "dist": { + "shasum": "92c9c1374c35085f75db359ec56cc257cbb93fa4", + "tarball": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.10.tgz", + "integrity": "sha512-ln7+HeZl3lL3PNRX9Y6ub4i8xcgQ0mO2J//ic97dR7tEXB+6IKAjx8JCCmEkwKiMcR2jidU9xNolz1fEyyf/Jg==", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEUCIGnk2ZQEJUO/OFR7rnJgulLYMLBAxCMy9BFIao7r05lBAiEAxrLUoKnDc8dUZsZCwerxh90OEnwPluikacMlAwVBPZw=" + } + ] + }, + "maintainers": [ + { + "name": "creationix", + "email": "tim@creationix.com" + }, + { + "name": "jimbly", + "email": "wasteland@gmail.com" + } + ], + "_npmOperationalInternal": { + "host": "s3://npm-registry-packages", + "tmp": "tmp/http-parser-js-0.4.10.tgz_1517680010410_0.576178319985047" + }, + "directories": {} + }, + "0.4.11": { + "name": "http-parser-js", + "version": "0.4.11", + "description": "A pure JS HTTP parser for node.", + "main": "http-parser.js", + "scripts": { + "test": "python tests/test.py && node tests/iojs/test-http-parser-durability.js" + }, + "repository": { + "type": "git", + "url": "git://github.com/creationix/http-parser-js.git" + }, + "files": [ + "http-parser.js" + ], + "keywords": [ + "http" + ], + "author": { + "name": "Tim Caswell", + "url": "https://github.com/creationix" + }, + "contributors": [ + { + "name": "Jimb Esser", + "url": "https://github.com/Jimbly" + }, + { + "name": "Lawrence Rowe", + "url": "https://github.com/lrowe" + }, + { + "name": "Jan Schär", + "url": "https://github.com/jscissr" + }, + { + "name": "Paul Rütter", + "url": "https://github.com/paulrutter" + } + ], + "license": "MIT", + "gitHead": "489cdde533551fba7a46b6582b04b1a01de1e1ed", + "bugs": { + "url": "https://github.com/creationix/http-parser-js/issues" + }, + "homepage": "https://github.com/creationix/http-parser-js#readme", + "_id": "http-parser-js@0.4.11", + "_npmVersion": "5.3.0", + "_nodeVersion": "8.5.0", + "_npmUser": { + "name": "jimbly", + "email": "wasteland@gmail.com" + }, + "dist": { + "integrity": "sha512-QCR5O2AjjMW8Mo4HyI1ctFcv+O99j/0g367V3YoVnrNw5hkDvAWZD0lWGcc+F4yN3V55USPCVix4efb75HxFfA==", + "shasum": "5b720849c650903c27e521633d94696ee95f3529", + "tarball": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.11.tgz", + "fileCount": 5, + "unpackedSize": 19802, + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEUCIQDAWw0nhqwkaM1J4y4pv5La8WnUjV53i06J/4IDM35BVwIgD4RcrYI0tDA/Jgxex5pnJI3YoV3OBrVG7ACzbCGjifU=" + } + ] + }, + "maintainers": [ + { + "name": "creationix", + "email": "tim@creationix.com" + }, + { + "name": "jimbly", + "email": "wasteland@gmail.com" + } + ], + "directories": {}, + "_npmOperationalInternal": { + "host": "s3://npm-registry-packages", + "tmp": "tmp/http-parser-js_0.4.11_1520472647280_0.10777481557930746" + }, + "_hasShrinkwrap": false + }, + "0.4.12": { + "name": "http-parser-js", + "version": "0.4.12", + "description": "A pure JS HTTP parser for node.", + "main": "http-parser.js", + "scripts": { + "test": "python tests/test.py && node tests/iojs/test-http-parser-durability.js" + }, + "repository": { + "type": "git", + "url": "git://github.com/creationix/http-parser-js.git" + }, + "files": [ + "http-parser.js" + ], + "keywords": [ + "http" + ], + "author": { + "name": "Tim Caswell", + "url": "https://github.com/creationix" + }, + "contributors": [ + { + "name": "Jimb Esser", + "url": "https://github.com/Jimbly" + }, + { + "name": "Lawrence Rowe", + "url": "https://github.com/lrowe" + }, + { + "name": "Jan Schär", + "url": "https://github.com/jscissr" + }, + { + "name": "Paul Rütter", + "url": "https://github.com/paulrutter" + } + ], + "license": "MIT", + "gitHead": "a7609249a04a2300beec67c1ceeab00681792c58", + "bugs": { + "url": "https://github.com/creationix/http-parser-js/issues" + }, + "homepage": "https://github.com/creationix/http-parser-js#readme", + "_id": "http-parser-js@0.4.12", + "_shasum": "b9cfbf4a2cf26f0fc34b10ca1489a27771e3474f", + "_from": ".", + "_npmVersion": "3.10.8", + "_nodeVersion": "6.9.1", + "_npmUser": { + "name": "jimbly", + "email": "wasteland@gmail.com" + }, + "dist": { + "shasum": "b9cfbf4a2cf26f0fc34b10ca1489a27771e3474f", + "tarball": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.12.tgz", + "fileCount": 5, + "unpackedSize": 19971, + "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa34NmCRA9TVsSAnZWagAA1MkP/joyGEDusAGZ9ijeijw4\ncXqMfBSb++f2Qfs5rkwAbgIEtQS+EhT5ucbt0J4sF3895JDfvr4OZm9kKmRI\npVlUuPiO5n44GHasQt7Ms1IJa+g/+74TLJz+ZSxaOnYzD9mF1ETBqWjAKn1n\nP50dPJboJIG/Txw8QCXXR5bHyqCk9+OLXYcHgW/+fC2ORer1WpA0oqclLzKS\nYpbLWgzK8NrgeSMQJeA3AIhwMIY6bAD4vfsfq2G7HlgYAM1rUWKPcwp34SC4\n5jBMmoGRNXtK/ojlvHk8DPEVsbmz86hxBSTXiUkqAlYBEz0QaynJXjHmSRhR\n2vxmRx9vq802Yv3UV4d47EOetBhLAGHzfkBMZRw9oiv5nqyvEzrC9wrhNjh2\nxomNnwBProasD2nBji2b5dkg/q6KFL0b2k8cHUlEbtloud/arMt1B2y/V/Z5\nKSB+iJINCFEmb6L9dKGAuzGLB+ZkOrNYjcDAQpYiFYfOUOmG0vrf7IZC5mQC\nPrCnYtlMgD/+YPzY6GIUhL1biF9LSAnO42sfyUxgJo6SHjDiWXLF2YyGcBFX\nZEtDNVEh0Q2jtfgtdcz5AKcMAXujLu9/xF0lSzXzUbPB4u/d0VB55nxXNHXF\nCtYtGn1GAdqdHkhdT7hPVZVIikzDjiTznikSUv/F7J3HVIL1NcLnEN4iExnZ\n9wdu\r\n=Go4K\r\n-----END PGP SIGNATURE-----\r\n", + "integrity": "sha512-LtkiEz56UfM3hBaJnGst0+W+FHfweYH0+atbVDqCp/LsfnK1eEiupUEz5aQGi2Xnd4BPxAnZWsSvZmcmjLDSUA==", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEUCIFUZBtY4zhZ7t0N5CQEGihP1ZTHpQ1FAUbCuwCl/k3UtAiEAmj+iaG02jxnQQYsi+Gx0Z/lplBkUA+XYU43p2Erzvrw=" + } + ] + }, + "maintainers": [ + { + "name": "creationix", + "email": "tim@creationix.com" + }, + { + "name": "jimbly", + "email": "wasteland@gmail.com" + } + ], + "directories": {}, + "_npmOperationalInternal": { + "host": "s3://npm-registry-packages", + "tmp": "tmp/http-parser-js_0.4.12_1524597605164_0.18220543950262913" + }, + "_hasShrinkwrap": false + }, + "0.4.13": { + "name": "http-parser-js", + "version": "0.4.13", + "description": "A pure JS HTTP parser for node.", + "main": "http-parser.js", + "scripts": { + "test": "python tests/test.py && node tests/iojs/test-http-parser-durability.js" + }, + "repository": { + "type": "git", + "url": "git://github.com/creationix/http-parser-js.git" + }, + "files": [ + "http-parser.js" + ], + "keywords": [ + "http" + ], + "author": { + "name": "Tim Caswell", + "url": "https://github.com/creationix" + }, + "contributors": [ + { + "name": "Jimb Esser", + "url": "https://github.com/Jimbly" + }, + { + "name": "Lawrence Rowe", + "url": "https://github.com/lrowe" + }, + { + "name": "Jan Schär", + "url": "https://github.com/jscissr" + }, + { + "name": "Paul Rütter", + "url": "https://github.com/paulrutter" + } + ], + "license": "MIT", + "gitHead": "90aa81ddf3761fbf1b406e958a95aadea49d1517", + "bugs": { + "url": "https://github.com/creationix/http-parser-js/issues" + }, + "homepage": "https://github.com/creationix/http-parser-js#readme", + "_id": "http-parser-js@0.4.13", + "_shasum": "3bd6d6fde6e3172c9334c3b33b6c193d80fe1137", + "_from": ".", + "_npmVersion": "3.10.8", + "_nodeVersion": "6.9.1", + "_npmUser": { + "name": "jimbly", + "email": "wasteland@gmail.com" + }, + "dist": { + "shasum": "3bd6d6fde6e3172c9334c3b33b6c193d80fe1137", + "tarball": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.13.tgz", + "fileCount": 5, + "unpackedSize": 20026, + "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbAy4ICRA9TVsSAnZWagAAKwwP/1/o+p0E6VUsA9drTm13\nA7S+W4hfjcVyvZKRT/nJc9P0HBhbuL4gvXrxgAgi/WxFPxJG3TmqEE8YdMiC\n5gPAo7hie27cP+ExOhMGvec2KI/xjAUVqEDMg2xkJTOvjhOSg6j1H+Pzk6dE\n34jXfOB14EEMGhbvGKDsepD0X2MWvw0Vry2l2zaGZ43KLGWDktyha2CseWrf\n4x7GRqMNMP66vl8wv7il9Kugy23dKeqoYyYkntHn34+4AY3SDFw9FwyPE7BG\n8qVuKbf3HjJQGtL+OUrFyB4GgrPVLWvZxvHpCEAMtc8SUXK7tiRWu70A6ZFm\nSKZXGnAwE5oDKnZDFr8f1bKyF0Q5tY1v9WbZH2csSy9MUVv1/+UglxBR7faM\nxDOYNihesCiEnUrFH7Nr5K+Wf1uPU49lbGzfwUTdOSV8s6PcERfjFKQdFQvf\nOB0oxT+gyPHerPSWnB+V7VT9nvpN129G1guLBf7lJmo2+GJzZlyPbp6wLotB\navLPUreTU6LUaaeV00cVXOdyf4pmEnjjHvdeKo/sMMFbx0CF6ATcqUiSPt4Z\nIoBzlbgNbziBXpFoWWDh2q26laPw4j6r3vb1cX33Zu/zUA0qz8v3za8YIP5X\nSXwOzur+KpHWNg19Pf8N9sblBoUUgVNFUlMXnquV0dBnEh2nkqKGxhcP9Img\nluH2\r\n=rCrf\r\n-----END PGP SIGNATURE-----\r\n", + "integrity": "sha512-u8u5ZaG0Tr/VvHlucK2ufMuOp4/5bvwgneXle+y228K5rMbJOlVjThONcaAw3ikAy8b2OO9RfEucdMHFz3UWMA==", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEUCICEaEPEuA5FJxyRbwaG6RD7/dF45p4rS4QrVnWjvAMNqAiEAlC6wazOZL6TYao8c+rahrdgPhAb/hAWReJIW7WGWScc=" + } + ] + }, + "maintainers": [ + { + "name": "creationix", + "email": "tim@creationix.com" + }, + { + "name": "jimbly", + "email": "wasteland@gmail.com" + } + ], + "directories": {}, + "_npmOperationalInternal": { + "host": "s3://npm-registry-packages", + "tmp": "tmp/http-parser-js_0.4.13_1526935046779_0.30690059401088154" + }, + "_hasShrinkwrap": false + }, + "0.5.0": { + "name": "http-parser-js", + "version": "0.5.0", + "description": "A pure JS HTTP parser for node.", + "main": "http-parser.js", + "scripts": { + "test": "python tests/test.py && node tests/iojs/test-http-parser-durability.js" + }, + "repository": { + "type": "git", + "url": "git://github.com/creationix/http-parser-js.git" + }, + "keywords": [ + "http" + ], + "author": { + "name": "Tim Caswell", + "url": "https://github.com/creationix" + }, + "contributors": [ + { + "name": "Jimb Esser", + "url": "https://github.com/Jimbly" + }, + { + "name": "Lawrence Rowe", + "url": "https://github.com/lrowe" + }, + { + "name": "Jan Schär", + "url": "https://github.com/jscissr" + }, + { + "name": "Paul Rütter", + "url": "https://github.com/paulrutter" + } + ], + "license": "MIT", + "gitHead": "97765b86ad501ef739b3950d6bb887c376509773", + "bugs": { + "url": "https://github.com/creationix/http-parser-js/issues" + }, + "homepage": "https://github.com/creationix/http-parser-js#readme", + "_id": "http-parser-js@0.5.0", + "_npmVersion": "6.4.1", + "_nodeVersion": "10.12.0", + "_npmUser": { + "name": "jimbly", + "email": "wasteland@gmail.com" + }, + "dist": { + "integrity": "sha512-cZdEF7r4gfRIq7ezX9J0T+kQmJNOub71dWbgAXVHDct80TKP4MCETtZQ31xyv38UwgzkWPYF/Xc0ge55dW9Z9w==", + "shasum": "d65edbede84349d0dc30320815a15d39cc3cbbd8", + "tarball": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.0.tgz", + "fileCount": 5, + "unpackedSize": 20175, + "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbzgvBCRA9TVsSAnZWagAAj1sP/37FZmRI1vb9tnrdtTSY\ngazBAitumsXSdtlob5up1Nk4nBaqgu9RyefuLMsVJRL1z4pP2F4bQrHbtEBt\nJrDtbl6/zS51G17jsye1XHquJmUmB9S47y8lua2AiWOc7zYAaI7vM5FicpcI\nYiXTFdbpUU1gHtDDiSL1j1i5QCiIJKkhzAPkoUL6XLhrRoL9F3HKjeU8rWC6\n2k0A2VtHrr56sA5mgjGIC9Tia9KkF8mELIrB9XximVAVH/s96Tt0tfSbUXqb\nxwoy+NevyB0iW0ISzLys1eASpgr9llOciQv0ljF2XJGyFhDKI4v7j3em9DMe\nVq0k4xnCjio+tbOVSPFlweGeIODt1H2KJJHj9LtRCcdTdGCG2CEg0ywqDBwd\nZogvLkX6crmtrudbrvRT8zBEfBDIyypzgDNF1pXIOqiCvOnncSmh4PmacPWA\ngL7R5iOXFmqHMs1aagg+uE95IgDFtoE5dJW38UazWfzAS3CKMG4TKMQlrdoE\nBhJ4GzFxJKXWxqOfsUUQ9Ch9uhCW3gCaAfOXqasg+jxVp19/hBVd6cD3pG2+\nNeBVXg2CshfucUhVUMHQra4/UIiHpAeYoPO4N6kp2GbmxkrzkLqmes0UG6nV\n7/tCIw+K2vmDCvDQhBV2t6EIVuuB3HX3DkwXrUGBcgrWyYMDG8mtkHMc9kzH\nPF+p\r\n=P4Mn\r\n-----END PGP SIGNATURE-----\r\n", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEQCIC7T0Wvhizzyarc1Bo7kIJTepGzKU9C0O08XOsWBtFuaAiBV4cr9DxB5OuqduxIeF0v0DA8XOLJl4Y7G66Xam0I27w==" + } + ] + }, + "maintainers": [ + { + "name": "creationix", + "email": "tim@creationix.com" + }, + { + "name": "jimbly", + "email": "wasteland@gmail.com" + } + ], + "directories": {}, + "_npmOperationalInternal": { + "host": "s3://npm-registry-packages", + "tmp": "tmp/http-parser-js_0.5.0_1540230080476_0.9944727732624825" + }, + "_hasShrinkwrap": false + }, + "0.5.1": { + "name": "http-parser-js", + "version": "0.5.1", + "description": "A pure JS HTTP parser for node.", + "main": "http-parser.js", + "scripts": { + "test": "python tests/test.py && node tests/iojs/test-http-parser-durability.js" + }, + "repository": { + "type": "git", + "url": "git://github.com/creationix/http-parser-js.git" + }, + "keywords": [ + "http" + ], + "author": { + "name": "Tim Caswell", + "url": "https://github.com/creationix" + }, + "contributors": [ + { + "name": "Jimb Esser", + "url": "https://github.com/Jimbly" + }, + { + "name": "Lawrence Rowe", + "url": "https://github.com/lrowe" + }, + { + "name": "Jan Schär", + "url": "https://github.com/jscissr" + }, + { + "name": "Paul Rütter", + "url": "https://github.com/paulrutter" + } + ], + "license": "MIT", + "gitHead": "38e59fa94364bccf58e477799899f9e774096860", + "bugs": { + "url": "https://github.com/creationix/http-parser-js/issues" + }, + "homepage": "https://github.com/creationix/http-parser-js#readme", + "_id": "http-parser-js@0.5.1", + "_npmVersion": "5.6.0", + "_nodeVersion": "8.11.3", + "_npmUser": { + "name": "jimbly", + "email": "wasteland@gmail.com" + }, + "dist": { + "integrity": "sha512-klJydAEoXHWYRtOoDwtNVIF6xrYCMTHnG8hu8uASFCmj9qNZ9R3kWeZ7NgqLctY9QRkvsNoqOmN6Lw2qZmGgVQ==", + "shasum": "6b197a6226ccb96e52c32e8f0973b5dd923e1ba0", + "tarball": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.1.tgz", + "fileCount": 5, + "unpackedSize": 20254, + "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdA6uXCRA9TVsSAnZWagAABR0P/3tW6B63BvZyW2OKuw+7\n5v7Q8WqR8RdYZ2AlUzZ2W61d/F/u/nHyBPeVGOLY6Iv24Sn/ShgQzr3wHgIU\nREoD4ZSG3DUIeaRFa2yNNMUTK64IDObuojIIl4tmWkuKy2axQSwWrvd9Q91N\n4WXQSob/+n0F9O0kwOvz8QpKr6BN+Er/vREDagLWMZ3gQ/iwOMT5/NmVPYjn\nxr9G05JB2ilkDS2tcibnP5f9BfH9S1989FCH6zLpZZ1MeYpX0aAjsTykABeU\nu6mDDmcNXgP6RUWt3dhjeVPIVH8fOOYPZkGc+BpGPAoYG1w8Y7gZDxVEQwGo\nBATI5e8nTJYLEZMkPFX85kz9ktugFK2Ci+xIs2/xis+WlCbw9qDZphEjRrkj\n2Ptv6NkpYbR/RoJzAtUeb3sAkPQgq5TNvL1hBjYLzMvSciJyOm2GQMt/Yr/a\nv6Xob/78yJZ1WNXbBU+pF/6r0uyUVY25mtpNA8iSfkg/KelKhAuucJFkDmeY\n3NoXCqcUkSkvvArmgYyL9rbJz+bteXI9kroZCXBcfH1q+Rya0kAKn4Inx2Fk\nnsaPulNujdoroO9WTIalEVvnVlQTooTBPsdlAR4YwImclHvJ8Z1wqKOlyk3X\nHlp9JndiSAJXr9uT/r6ObNTbYS4X9sh7rTOwevSWK+c/rVBL0IMFLd6vl3WM\nQqKv\r\n=R5bz\r\n-----END PGP SIGNATURE-----\r\n", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEUCIG7mYj3tcM+mUAdiXa7af9yWJmArA+DEQHQs7cJmOrtYAiEAxiHWXJLemnjwjp7ypxpg8F9pqz7L9LjlelJft0PPSAY=" + } + ] + }, + "maintainers": [ + { + "name": "creationix", + "email": "tim@creationix.com" + }, + { + "name": "jimbly", + "email": "wasteland@gmail.com" + } + ], + "directories": {}, + "_npmOperationalInternal": { + "host": "s3://npm-registry-packages", + "tmp": "tmp/http-parser-js_0.5.1_1560521622564_0.6479751474822308" + }, + "_hasShrinkwrap": false + }, + "0.5.2": { + "name": "http-parser-js", + "version": "0.5.2", + "description": "A pure JS HTTP parser for node.", + "main": "http-parser.js", + "scripts": { + "test": "python tests/test.py && node tests/iojs/test-http-parser-durability.js", + "testv12": "python tests/test.py --node-args=\"--http-parser=legacy\" && node --http-parser=legacy tests/iojs/test-http-parser-durability.js" + }, + "repository": { + "type": "git", + "url": "git://github.com/creationix/http-parser-js.git" + }, + "keywords": [ + "http" + ], + "author": { + "name": "Tim Caswell", + "url": "https://github.com/creationix" + }, + "contributors": [ + { + "name": "Jimb Esser", + "url": "https://github.com/Jimbly" + }, + { + "name": "Lawrence Rowe", + "url": "https://github.com/lrowe" + }, + { + "name": "Jan Schär", + "url": "https://github.com/jscissr" + }, + { + "name": "Paul Rütter", + "url": "https://github.com/paulrutter" + } + ], + "license": "MIT", + "gitHead": "cfc5ece8232db8ff189ca6fe5ada48fbab8ceb05", + "bugs": { + "url": "https://github.com/creationix/http-parser-js/issues" + }, + "homepage": "https://github.com/creationix/http-parser-js#readme", + "_id": "http-parser-js@0.5.2", + "_nodeVersion": "12.10.0", + "_npmVersion": "6.10.3", + "_npmUser": { + "name": "jimbly", + "email": "wasteland@gmail.com" + }, + "dist": { + "integrity": "sha512-opCO9ASqg5Wy2FNo7A0sxy71yGbbkJJXLdgMK04Tcypw9jr2MgWbyubb0+WdmDmGnFflO7fRbqbaihh/ENDlRQ==", + "shasum": "da2e31d237b393aae72ace43882dd7e270a8ff77", + "tarball": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.2.tgz", + "fileCount": 5, + "unpackedSize": 20832, + "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdvba9CRA9TVsSAnZWagAAdFgP/1YyaFkhzzMYllUyCT3x\n30ik86ymWvn7vvOl6Esv4ahd06KnpPO9/RCTTqGnHSLBa98D2IB+Ub9SynbN\nX6GVbe1XXZQL+r4FFTnr7PPvrN7ehluJq2pAU/xQrkIB6BGzSEy3txQFHmRw\nXHZjcGCA8ja16oXuiofb745NM7qYHvM+w7mF7BFZ5Y4I5GgP4jAdZgLhMuO7\nP9KEl15FTdw2jDO9Sa4ze06Gjx5cq3cOxKegyC/z3GCXJqyt7Z0x+U5cjqbI\nEYEJZxy2B2qf2s+rGiyhPS3mMHpfsxaOi1NffIBrutPwANMp375Z6/SQxgOi\n2L6zCYCDZ9neiL86MgZtbiIXEUmKIGDlkXLgHTYVBc/K03Ya/EjhcuB0n/m8\nmX5kSCM5q6PlcXN3TNZ8gSh8d+3QPzUgo3nan4As5GAcNfCosxBqiqEq4tft\nWucg1oa7Vibf6F5K46D+6HbfI2/kk0yEpGnrHQTdvcGV8dgdAnlhaDWcukHS\n/U1A+PB6XqNK0VdCl2wMmK66tPCMhwLYigJoTe0OrOSdJ9EVxiZGIsU1qlpM\n7RwsMDr2LB6okCXwOJ5CI732sGpkLiV6XpObePmxdgkpTzT1I6VlnB90Plgq\nZUIfF//OZLVFZpKjFzV0HfMNTYB8eAI7qq3NBLbGl45vqjYGC8DkP+D9RkBz\n/Of0\r\n=3GlX\r\n-----END PGP SIGNATURE-----\r\n", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEYCIQDYGg3sgvjTQNJPnkHzbjupwC+t/WiZ0GCvDavr57gOmwIhAIZabc9PB5tvfNUxXlWw2CaxadYuZHm2pzpdNgQYq4SX" + } + ] + }, + "maintainers": [ + { + "name": "creationix", + "email": "tim@creationix.com" + }, + { + "name": "jimbly", + "email": "wasteland@gmail.com" + } + ], + "directories": {}, + "_npmOperationalInternal": { + "host": "s3://npm-registry-packages", + "tmp": "tmp/http-parser-js_0.5.2_1572714172970_0.28779021124361326" + }, + "_hasShrinkwrap": false + }, + "0.5.3": { + "name": "http-parser-js", + "version": "0.5.3", + "description": "A pure JS HTTP parser for node.", + "main": "http-parser.js", + "scripts": { + "test": "python tests/test.py && node tests/iojs/test-http-parser-durability.js", + "testv12": "python tests/test.py --node-args=\"--http-parser=legacy\" && node --http-parser=legacy tests/iojs/test-http-parser-durability.js" + }, + "repository": { + "type": "git", + "url": "git://github.com/creationix/http-parser-js.git" + }, + "keywords": [ + "http" + ], + "author": { + "name": "Tim Caswell", + "url": "https://github.com/creationix" + }, + "contributors": [ + { + "name": "Jimb Esser", + "url": "https://github.com/Jimbly" + }, + { + "name": "Lawrence Rowe", + "url": "https://github.com/lrowe" + }, + { + "name": "Jan Schär", + "url": "https://github.com/jscissr" + }, + { + "name": "Paul Rütter", + "url": "https://github.com/paulrutter" + } + ], + "license": "MIT", + "gitHead": "6bbab2ce3f0e387c3c8727a68cdc4b7ee383afa0", + "bugs": { + "url": "https://github.com/creationix/http-parser-js/issues" + }, + "homepage": "https://github.com/creationix/http-parser-js#readme", + "_id": "http-parser-js@0.5.3", + "_nodeVersion": "12.18.1", + "_npmVersion": "6.14.5", + "dist": { + "integrity": "sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==", + "shasum": "01d2709c79d41698bb01d4decc5e9da4e4a033d9", + "tarball": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.3.tgz", + "fileCount": 5, + "unpackedSize": 20985, + "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf76d4CRA9TVsSAnZWagAAFAQP/R0mHU3SQ+Bf58ECVRj6\nQPy3H7QryO66hHfZQjsrxP+kETMg1xWMsPcvonFe1FkQfkbG7etjizMoPTyS\nba4Bjrwi191hwCwwX/UtezbA2C/G6rA0SCVB4EZL+CGSyY1tYKezDd/KmNIb\n85OmNcBkhSF5fEqWM6+Ed0YPIHOZWBffZ4NmMVyPgE4V8LwO3hDMyQq2u34Y\n/8LfMWkhn//IUqGdmRrLon5sxiesv9Fy8ejTwg2CT52/KCkb0Do8cttedP1w\noh39VyChnXXjN35dLJEx00RD9ucuiuAXi0WG3R0FKkVg9dN4IjPwWkZIm6Bc\nXxU47Jbn3mPIjyqjrM72a7Hu7UxnWYYHW19deM7rwNKEoAC6puCSe2eNz7kS\ng7uw7xj/kYHUcutKrMouJH61qNSxxVVZeJi/b1B13YsOP2qiKQzULScYjp1N\nopHQJW15a6vZanDylKFzuTmyXCU5oykQSTpNnUHhR2sHxiBcco26jMnXStvg\nS1+jwZxbf/CLIcFJZW/ZfM2lFXRlC4Y7e3G90J09keZHg1TFAOI73p0TmkZW\nLpBpt48u/aKUZZZCeK78p35SOxvM/RtnYFYpPlw7KAjpYseZAdPnsm5SNhg0\nl++GamrRPlNWOQwk2hTKenJ02cMF+Vu/+yFxi8voK6CjToSGzN8C/pYCdHEj\n7iJN\r\n=VgsK\r\n-----END PGP SIGNATURE-----\r\n", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEUCIBhfQ1xq4y1c7iAflxQCBaql6OX815URyWFjvI4lVdoIAiEA+es7gy7ZvaO9r4TbFn5j/HHprjdCO7qQyQpkAuYZVq4=" + } + ] + }, + "_npmUser": { + "name": "jimbly", + "email": "wasteland@gmail.com" + }, + "directories": {}, + "maintainers": [ + { + "name": "creationix", + "email": "tim@creationix.com" + }, + { + "name": "jimbly", + "email": "wasteland@gmail.com" + } + ], + "_npmOperationalInternal": { + "host": "s3://npm-registry-packages", + "tmp": "tmp/http-parser-js_0.5.3_1609541496032_0.06813886534832791" + }, + "_hasShrinkwrap": false + }, + "0.5.4": { + "name": "http-parser-js", + "version": "0.5.4", + "description": "A pure JS HTTP parser for node.", + "main": "http-parser.js", + "scripts": { + "test": "python tests/test.py && node tests/iojs/test-http-parser-durability.js", + "testv12": "python tests/test.py --node-args=\"--http-parser=legacy\" && node --http-parser=legacy tests/iojs/test-http-parser-durability.js" + }, + "repository": { + "type": "git", + "url": "git://github.com/creationix/http-parser-js.git" + }, + "keywords": [ + "http" + ], + "author": { + "name": "Tim Caswell", + "url": "https://github.com/creationix" + }, + "contributors": [ + { + "name": "Jimb Esser", + "url": "https://github.com/Jimbly" + }, + { + "name": "Lawrence Rowe", + "url": "https://github.com/lrowe" + }, + { + "name": "Jan Schär", + "url": "https://github.com/jscissr" + }, + { + "name": "Paul Rütter", + "url": "https://github.com/paulrutter" + } + ], + "license": "MIT", + "types": "./http-parser.d.ts", + "gitHead": "f37d4e4926ab9309aabe7fa35fef88df0d5290e6", + "bugs": { + "url": "https://github.com/creationix/http-parser-js/issues" + }, + "homepage": "https://github.com/creationix/http-parser-js#readme", + "_id": "http-parser-js@0.5.4", + "_nodeVersion": "16.13.0", + "_npmVersion": "8.1.0", + "dist": { + "integrity": "sha512-Qn1yyi10ipcylSSqlTFsj7bhimACWbFm5w5JNMxhLKfcJAeWFBc+/VBv4mu5qlWSKr0cjXqtwM6HISZkESUILA==", + "shasum": "d1f3e45f31973de8393af2c725da5d42919ab2bb", + "tarball": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.4.tgz", + "fileCount": 5, + "unpackedSize": 25540, + "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhoQzZCRA9TVsSAnZWagAAeicQAKGMv3hLESxXZQaTz80v\nqHh3WSx8IAOki6gJKc3utuaHBH66PjoHH8b1shczSBWPwQPazNPKgmVWKHjO\nLugELYbKjuVotBrUoUaPYs0McflmIawMJ8v64xy+qfBfVUcXKq49lxNaQHKY\n4POzq+QwmIfXWmAmK+D3z0i441DuuC3mqaXHl8ORKomJBo7vl3mdnP0uJF2T\ni0f0BbK8CPoWhT+3BnI9xwUVANGkGkJ3olCzZx9x3WqKmO6TnGV/oHTB1PlF\n6A/0X49jfnCLjLpdjDhuN7g6JMsnmCfFysF0lD2IpyTWyt7ya72oL/klD+wi\nV9Tm+/6EyEVp1HRjyOaczPzOOGBKk7RKCVmw0v2xq4cb4IovngnmNsTban1K\n6ZWwd7PfGkgViJu4Ui4SqF8UwXEji8vp152aaKvLexMitx86rYOj7PG/aLmz\nWpZS1FImo74/A3vN3ueIoo78Rxs7M2RuVuujDSNGM0YxGeMkgSpzcREo/Zoh\nYyjOfoCUcHXB1XSGe4wYcE2WP4+kjTcP9+1wwJ9O9QBfAE1g/vj06EPKcw9P\nztN98nZnXBdtZrRq78LH+Opua5l587PW3RKt6Jf5qparVEy7SE20Bw4Lwl+m\n9KqVXVnPIjPhhIcY7mqRJ5qJWz/ucaK0H4ErzYtxlVPnaXkbvC3sK3Ieke3t\nxfvR\r\n=WDPX\r\n-----END PGP SIGNATURE-----\r\n", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEYCIQDmn/NkrWT5oLxEN0u8uPJjq0oLeT9Dl39ohuwsOUBAPgIhAKrhocNDWkv6DDMCRmiTcKYdkUQcCEprmBQDqQZkanwf" + } + ] + }, + "_npmUser": { + "name": "jimbly", + "email": "wasteland@gmail.com" + }, + "directories": {}, + "maintainers": [ + { + "name": "creationix", + "email": "tim@creationix.com" + }, + { + "name": "jimbly", + "email": "wasteland@gmail.com" + } + ], + "_npmOperationalInternal": { + "host": "s3://npm-registry-packages", + "tmp": "tmp/http-parser-js_0.5.4_1637944537620_0.515816090428874" + }, + "_hasShrinkwrap": false + }, + "0.5.5": { + "name": "http-parser-js", + "version": "0.5.5", + "description": "A pure JS HTTP parser for node.", + "main": "http-parser.js", + "scripts": { + "test": "python tests/test.py && node tests/iojs/test-http-parser-durability.js", + "testv12": "python tests/test.py --node-args=\"--http-parser=legacy\" && node --http-parser=legacy tests/iojs/test-http-parser-durability.js" + }, + "repository": { + "type": "git", + "url": "git://github.com/creationix/http-parser-js.git" + }, + "keywords": [ + "http" + ], + "author": { + "name": "Tim Caswell", + "url": "https://github.com/creationix" + }, + "contributors": [ + { + "name": "Jimb Esser", + "url": "https://github.com/Jimbly" + }, + { + "name": "Lawrence Rowe", + "url": "https://github.com/lrowe" + }, + { + "name": "Jan Schär", + "url": "https://github.com/jscissr" + }, + { + "name": "Paul Rütter", + "url": "https://github.com/paulrutter" + } + ], + "license": "MIT", + "types": "./http-parser.d.ts", + "gitHead": "31158c1361cfa62fc3b2dccd4bbcc56f65e89d94", + "bugs": { + "url": "https://github.com/creationix/http-parser-js/issues" + }, + "homepage": "https://github.com/creationix/http-parser-js#readme", + "_id": "http-parser-js@0.5.5", + "_nodeVersion": "16.13.0", + "_npmVersion": "8.1.0", + "dist": { + "integrity": "sha512-x+JVEkO2PoM8qqpbPbOL3cqHPwerep7OwzK7Ay+sMQjKzaKCqWvjoXm5tqMP9tXWWTnTzAjIhXg+J99XYuPhPA==", + "shasum": "d7c30d5d3c90d865b4a2e870181f9d6f22ac7ac5", + "tarball": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.5.tgz", + "fileCount": 5, + "unpackedSize": 25368, + "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhoj0ACRA9TVsSAnZWagAA0s8P/3KQQ/7VIGcDkDW/cWYX\n51oR7iqcmZKwI9Xk7cURDyLaEHBaNE7NX/Q+fd0J9KEaez91QLqz+28X0e7M\nkd+BGxgwyfKLS9f5MCHz/MhwfGnU3gFH32dzcdQcC2bE/soZxdEuhi7h5/XK\nBYTrvHP720r3fM5oNmfnN2qjfpHUqrM4vKOHcUxwn6PWHHY1Q/AOmKOB4wk1\nBqdhPQQxAWEShMM7AN9oCN0Oie62woaduGqOX4MhcbdJbc64kpEn1MpuF0Iu\nWGSYacFLPQvkXjIYCEl6qWYxEnHHB0QJmIG/S4fTDzJb+YrCYCAhTNqDWdKb\nu8i6vcZEAXYO/gZr020s+3AVqYhsAm8HpBOltW39fbpeldIT3E06GR29pBiv\ng+HlSoiDel9VphipX7eLU2KNciVK5llHkESMy1bacmUnK9KM6GtCS9R35jeb\nFOy68j6+e02FIyFjwYyPUxHZpDXzgMs3Rug6g3VpDy2XsH4o/9SaDJfW/XNB\naYAVztSVdc2APkw63CbFwcMkD059xVrYjuhpDQBVg2bM+ofR39mrEn9vCEy/\nKK5Uf8rtsBase5K2+pxQXpD89ivsX+4y4zX//ODn/cQmubMjJXTrvYNPplMA\ntQC6d4Xa0CEOc7SPTUWzac6Fx2lPO9cVSnRzNcip1GV/ML2lu+1cnsa9Jg11\nWO1A\r\n=q9yl\r\n-----END PGP SIGNATURE-----\r\n", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEYCIQCQLgs6AJOFrSr9gvYYYTqz8YeESjZMy1fgkvUIdmq4+QIhAPz/rLBb+mBK/xSwRjIp/nh26X8DFCmfS/o2Rs1UPUtS" + } + ] + }, + "_npmUser": { + "name": "jimbly", + "email": "wasteland@gmail.com" + }, + "directories": {}, + "maintainers": [ + { + "name": "creationix", + "email": "tim@creationix.com" + }, + { + "name": "jimbly", + "email": "wasteland@gmail.com" + } + ], + "_npmOperationalInternal": { + "host": "s3://npm-registry-packages", + "tmp": "tmp/http-parser-js_0.5.5_1638022400171_0.7304446611128557" + }, + "_hasShrinkwrap": false + }, + "0.5.6": { + "name": "http-parser-js", + "version": "0.5.6", + "description": "A pure JS HTTP parser for node.", + "main": "http-parser.js", + "scripts": { + "test": "python tests/test.py && node tests/iojs/test-http-parser-durability.js", + "testv12": "python tests/test.py --node-args=\"--http-parser=legacy\" && node --http-parser=legacy tests/iojs/test-http-parser-durability.js" + }, + "repository": { + "type": "git", + "url": "git://github.com/creationix/http-parser-js.git" + }, + "keywords": [ + "http" + ], + "author": { + "name": "Tim Caswell", + "url": "https://github.com/creationix" + }, + "contributors": [ + { + "name": "Jimb Esser", + "url": "https://github.com/Jimbly" + }, + { + "name": "Lawrence Rowe", + "url": "https://github.com/lrowe" + }, + { + "name": "Jan Schär", + "url": "https://github.com/jscissr" + }, + { + "name": "Paul Rütter", + "url": "https://github.com/paulrutter" + } + ], + "license": "MIT", + "types": "./http-parser.d.ts", + "gitHead": "8a13b79e0d9ddadbb0997eaf3d375aa5bc89e0f1", + "bugs": { + "url": "https://github.com/creationix/http-parser-js/issues" + }, + "homepage": "https://github.com/creationix/http-parser-js#readme", + "_id": "http-parser-js@0.5.6", + "_nodeVersion": "16.13.0", + "_npmVersion": "8.1.0", + "dist": { + "integrity": "sha512-vDlkRPDJn93swjcjqMSaGSPABbIarsr1TLAui/gLDXzV5VsJNdXNzMYDyNBLQkjWQCJ1uizu8T2oDMhmGt0PRA==", + "shasum": "2e02406ab2df8af8a7abfba62e0da01c62b95afd", + "tarball": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.6.tgz", + "fileCount": 5, + "unpackedSize": 25723, + "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiJN8GACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpZAg//WVa+oW1mgIV9WcuR9YChxCu17cReOHJmNIQf0Mmjt3kgaAbl\r\nSZMs5/Jwabg7Xe4NymiIpfV3NvY/QXg4bfL6LR4k17pSkXmU2khr+7U7Y3lh\r\nftTgL6mdzlysS+fMkceF4X2r4OYzJoA5LwRLRg5nn+Gg9EswhxtrBrUOumej\r\nr9wZ6jIfCbJH7pb6T8rppr8rRPJHr+C9uDjtN7MWIJTOn4wLivqLluC2WOPF\r\nsheSmmD9KVMWJTY9OvuAxFMi75KLYd+hBE2OZVnpDkG7+Xp+GxsVO2rinZjJ\r\nfO6eRRat19gxy8eM7rZFD3x/fl5sXF1jkLZTlw9a/YT503Y+MjlBqFjaK6e/\r\n1al/CePrvrQoKtCyKaORNWwy3n4lBzjdbtnq8CceLfrElTiqDeE0M2Z/p/UT\r\nLaBV7lrqrEQ89jQCpG3ZFO3edh2/JQm8uD+X8/AcN97cYrw0w1ZP6JdtKLcw\r\ny7o5Lz9ZGz5y4tKmX5DdXLNrE9qSbz8aNolvIlx2k+sm62U+mDqX9FLJjkM1\r\n51hEcOFKYYzd7L33dj3SGhWePoTHr4xY69qut1VOaGji2gxTWIRDu90oAWoS\r\n6cltsit5aG9J7NEg1fJoctAoGn1wqV0iJwzSvlRrxl4M3jvR9jqNjip5fBp1\r\nMmIJnmCclM00Jznjii58XLDIHu+7oXozLpU=\r\n=G26P\r\n-----END PGP SIGNATURE-----\r\n", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEQCIBLqKF0kXGdQKgh2d0+QOHogNMW1yHFe/TbEbC6TNg1qAiBvSEzR2Jt6YRnhZWKHL38GVcdLbfY8ADAAAMX79bU9fA==" + } + ] + }, + "_npmUser": { + "name": "jimbly", + "email": "wasteland@gmail.com" + }, + "directories": {}, + "maintainers": [ + { + "name": "creationix", + "email": "tim@creationix.com" + }, + { + "name": "jimbly", + "email": "wasteland@gmail.com" + } + ], + "_npmOperationalInternal": { + "host": "s3://npm-registry-packages", + "tmp": "tmp/http-parser-js_0.5.6_1646583558230_0.6859935124047458" + }, + "_hasShrinkwrap": false + }, + "0.5.7": { + "name": "http-parser-js", + "version": "0.5.7", + "description": "A pure JS HTTP parser for node.", + "main": "http-parser.js", + "types": "http-parser.d.ts", + "scripts": { + "test": "python tests/test.py && node tests/iojs/test-http-parser-durability.js", + "testv12": "python tests/test.py --node-args=\"--http-parser=legacy\" && node --http-parser=legacy tests/iojs/test-http-parser-durability.js" + }, + "repository": { + "type": "git", + "url": "git://github.com/creationix/http-parser-js.git" + }, + "keywords": [ + "http" + ], + "author": { + "name": "Tim Caswell", + "url": "https://github.com/creationix" + }, + "contributors": [ + { + "name": "Jimb Esser", + "url": "https://github.com/Jimbly" + }, + { + "name": "Lawrence Rowe", + "url": "https://github.com/lrowe" + }, + { + "name": "Jan Schär", + "url": "https://github.com/jscissr" + }, + { + "name": "Paul Rütter", + "url": "https://github.com/paulrutter" + } + ], + "license": "MIT", + "gitHead": "a1d3449683f6f8334852fa5b7f06f79eca508b5f", + "bugs": { + "url": "https://github.com/creationix/http-parser-js/issues" + }, + "homepage": "https://github.com/creationix/http-parser-js#readme", + "_id": "http-parser-js@0.5.7", + "_nodeVersion": "16.13.0", + "_npmVersion": "8.1.0", + "dist": { + "integrity": "sha512-8gQM8ZcewlONQLnik2AKzS13euQhaZcu4rK5QBSYOszW0T1upLW9VA2MdWvTvMmRo42HjXp7igFmdROoBCCrfg==", + "shasum": "39bde369fb8a57235121bb69d05f079fa1b598f4", + "tarball": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.7.tgz", + "fileCount": 5, + "unpackedSize": 25744, + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEUCIG+mU1BEtPe1Fy8upfOZY0OiCc56teqSmnrv9MK+BYR5AiEA/Tnk8EOBhd5rh6nL/KvYlGUf2I81uR7XtpIpaLNzK0U=" + } + ], + "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJitF4lACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpNhw//TQemHNy3YaW8+6nSbz3N9TRvqRrg+2rf7Z9JAMFwyIBNM8sI\r\n0w0cLFD7W2w558n+4HldVPRvgF4NPOTktI3i5U5zJrx/Kb/V/4esz7887rgG\r\nGYay4ImB6jkGwFaZAfoacboI8hKSkZloAxKrpBodIaibC7shNJs42EpBurli\r\nJRl4o6mpmuD2sTXnFNRLsFF17jpRwqSuqork3eQGFi++dEU6YSbyrjlGsfSd\r\nO6oxSY8p2vhbt400YcHS44oKVR/FhaxBFlQ+1issvjbWFzkZLNCZQQ4zTUeo\r\ncHOVhKd3j+cEs+KfD+57woNO69IPySjSF6xi0Gj6LDNM13YRtEKeLmgFQCnq\r\nJQeC4iUVhvZtJrn20GXtXq+DQC5ezGpmU//Rjyhras1kpyuLm3waOujP2DCc\r\nrYmENq8Z6WA/upQzdUMY4j2NlDerapvmmUx6eHbV9+z9I91GHIN4sewZle7n\r\neUwKtiTUYGPhk7uWkHmpkcIvj8kokx7r6QL11aIkhVzVik3QBz6stlBGzpjw\r\nD1EQzo4dO7eq3bmWtkzeZLf+YX87/WXlQDo5fVnrZf8xlw/DrALggdiZ5p8f\r\nWMlNYN+gWvbm4LAxq883NqbVwzkwVkHyqfFqMrqW9e9qxMlYxJ3VpRHmzN9I\r\nSAbp7TeQLRXdZYyd2A27XcVuXt/CWLrCcR8=\r\n=YiPE\r\n-----END PGP SIGNATURE-----\r\n" + }, + "_npmUser": { + "name": "jimbly", + "email": "wasteland@gmail.com" + }, + "directories": {}, + "maintainers": [ + { + "name": "creationix", + "email": "tim@creationix.com" + }, + { + "name": "jimbly", + "email": "wasteland@gmail.com" + } + ], + "_npmOperationalInternal": { + "host": "s3://npm-registry-packages", + "tmp": "tmp/http-parser-js_0.5.7_1655987749308_0.10012081778319226" + }, + "_hasShrinkwrap": false + }, + "0.5.8": { + "name": "http-parser-js", + "version": "0.5.8", + "description": "A pure JS HTTP parser for node.", + "main": "http-parser.js", + "types": "http-parser.d.ts", + "scripts": { + "test": "python tests/test.py && node tests/iojs/test-http-parser-durability.js", + "testv12": "python tests/test.py --node-args=\"--http-parser=legacy\" && node --http-parser=legacy tests/iojs/test-http-parser-durability.js" + }, + "repository": { + "type": "git", + "url": "git://github.com/creationix/http-parser-js.git" + }, + "keywords": [ + "http" + ], + "author": { + "name": "Tim Caswell", + "url": "https://github.com/creationix" + }, + "contributors": [ + { + "name": "Jimb Esser", + "url": "https://github.com/Jimbly" + }, + { + "name": "Lawrence Rowe", + "url": "https://github.com/lrowe" + }, + { + "name": "Jan Schär", + "url": "https://github.com/jscissr" + }, + { + "name": "Paul Rütter", + "url": "https://github.com/paulrutter" + } + ], + "license": "MIT", + "gitHead": "88c665381470e27cd428a728447a13dce198f782", + "bugs": { + "url": "https://github.com/creationix/http-parser-js/issues" + }, + "homepage": "https://github.com/creationix/http-parser-js#readme", + "_id": "http-parser-js@0.5.8", + "_nodeVersion": "16.13.0", + "_npmVersion": "8.1.0", + "dist": { + "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==", + "shasum": "af23090d9ac4e24573de6f6aecc9d84a48bf20e3", + "tarball": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", + "fileCount": 5, + "unpackedSize": 25812, + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEUCIQDNrmE7zAEhQsfRnOp39ekVYzBGrfOf3ngcffxiUERWNQIgN4CxBKTXKBJBfOtBz/eRfAWHUOomrPZdGF3Gp+qzAg0=" + } + ], + "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiuaf+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr74A//VyzC1Lf2s+2FsCYNCgujbU6p1VA3eiH2sQBaDm4jxVSsWYpg\r\nNzsdCstWeWBuZuxn9U5hghMzK+qWvDGwOXPBY5ulJbo0z29HPuqaTtZlr0JS\r\n649+cKmCc6uP5veM2g9a9DxKBrmxFijabw3lNvmPUpERxWTX4RSKv/BjldDb\r\n9pqrQ+ehu2RUPluWBBBCn0ktpL/ACDFXCxk5CI6to4Rx8jSvX04ty49FBUWH\r\nXeNTuvoJXh3k1m2JK/tWCdi5wO+exYoDGqMBjNBuenM4nXPy1prffpTRy4UK\r\nn8Pc95g7C2Fo2o8QLmudkZNEQBLi8fBW/i6cM9NS6IUPxZT/7T7Gn1pjSqv1\r\nt41GM4EOhu56JK9CG+fsZJYibvmKuKNUMMKFGsIj7gdu8VJnrsAkpnDPd64T\r\n5qPB5Q0wdrnAKhIA7XwrP/9dH2C2C+nUU+QvrQKg/NqISon0OInlLYGib+1u\r\nIOePc+Fm9G0iR/ayiEsSNyxqxEp6kKDtjuRtYX5tDSLE/j8tW29jIE0sFdKW\r\njJ4M7t+tPwiBsU0SqstU4etsZQEsucnVlChBiYjTZl3Lr0Y+6ODQLbEvRyRf\r\n5zfVnEepzFs5uZsPyISqKwcANEI+Nrmc1aIZjlPwMF7VKFhvlBJkedrcthXv\r\np2mHXTkzUGUD6cnrWkc0dFBns6G/bFQt588=\r\n=5FOU\r\n-----END PGP SIGNATURE-----\r\n" + }, + "_npmUser": { + "name": "jimbly", + "email": "wasteland@gmail.com" + }, + "directories": {}, + "maintainers": [ + { + "name": "creationix", + "email": "tim@creationix.com" + }, + { + "name": "jimbly", + "email": "wasteland@gmail.com" + } + ], + "_npmOperationalInternal": { + "host": "s3://npm-registry-packages", + "tmp": "tmp/http-parser-js_0.5.8_1656334334085_0.4293312687656228" + }, + "_hasShrinkwrap": false + } + }, + "readme": "![Node](https://github.com/creationix/http-parser-js/workflows/Node/badge.svg)\n![Node-v12](https://github.com/creationix/http-parser-js/workflows/Node-v12/badge.svg)\n\n# HTTP Parser\n\nThis library parses HTTP protocol for requests and responses.\nIt was created to replace `http_parser.c` since calling C++ functions from JS is really slow in V8.\nHowever, it is now primarily useful in having a more flexible/tolerant HTTP parser when dealing with legacy services that do not meet the strict HTTP parsing rules Node's parser follows.\n\nThis is packaged as a standalone npm module.\nTo use in node, monkeypatch HTTPParser.\n\n```js\n// Monkey patch before you require http for the first time.\nprocess.binding('http_parser').HTTPParser = require('http-parser-js').HTTPParser;\n\nvar http = require('http');\n// ...\n```\n\n## Testing\n\nSimply run `npm test`.\nThe tests are copied from node and mscedex/io.js, with some modifcations.\n\n## Status\n\nThis should now be usable in any node application, it now supports (nearly) everything `http_parser.c` does while still being tolerant with corrupted headers, and other kinds of malformed data.\n\n### Node versions\n\n`http-parser-js` should work via monkey-patching on Node v6-v11, and v13-14.\n\nNode v12.x renamed the internal http parser, and did not expose it for monkey-patching, so to be able to monkey-patch on Node v12, you must run `node --http-parser=legacy file.js` to opt in to the old, monkey-patchable http_parser binding.\n\n## Standalone usage\n\nWhile this module is intended to be used as a replacement for the internal Node.js parser, it can be used as a standalone parser. The [`standalone-example.js`](standalone-example.js) demonstrates how to use the somewhat awkward API (coming from compatibility with the Node.js internals) to parse HTTP from raw Buffers.\n\n## License\n\nMIT.\nSee [LICENSE.md](LICENSE.md)\n", + "maintainers": [ + { + "name": "creationix", + "email": "tim@creationix.com" + }, + { + "name": "jimbly", + "email": "wasteland@gmail.com" + } + ], + "time": { + "modified": "2022-06-27T12:52:14.374Z", + "created": "2012-07-26T04:26:16.853Z", + "0.0.0": "2012-07-26T04:26:17.652Z", + "0.1.0": "2014-04-17T13:30:22.887Z", + "0.2.0": "2014-12-09T18:01:35.311Z", + "0.2.1": "2015-02-05T05:28:10.222Z", + "0.2.2": "2015-02-17T17:35:25.113Z", + "0.2.3": "2015-03-03T16:42:30.114Z", + "0.3.0": "2015-05-28T22:21:37.780Z", + "0.4.0": "2015-09-28T16:18:33.159Z", + "0.4.1": "2015-11-19T19:17:13.341Z", + "0.4.2": "2016-01-16T18:37:03.542Z", + "0.4.3": "2016-07-12T19:19:55.076Z", + "0.4.4": "2016-09-07T22:00:00.163Z", + "0.4.5": "2017-06-20T17:55:16.483Z", + "0.4.6": "2017-09-13T14:14:22.885Z", + "0.4.7": "2017-09-21T14:03:01.327Z", + "0.4.8": "2017-09-21T21:51:26.652Z", + "0.4.9": "2017-10-04T14:35:16.998Z", + "0.4.10": "2018-02-03T17:46:50.647Z", + "0.4.11": "2018-03-08T01:30:47.417Z", + "0.4.12": "2018-04-24T19:20:06.057Z", + "0.4.13": "2018-05-21T20:37:26.963Z", + "0.5.0": "2018-10-22T17:41:20.614Z", + "0.5.1": "2019-06-14T14:13:42.726Z", + "0.5.2": "2019-11-02T17:02:53.104Z", + "0.5.3": "2021-01-01T22:51:36.165Z", + "0.5.4": "2021-11-26T16:35:37.787Z", + "0.5.5": "2021-11-27T14:13:20.356Z", + "0.5.6": "2022-03-06T16:19:18.370Z", + "0.5.7": "2022-06-23T12:35:49.487Z", + "0.5.8": "2022-06-27T12:52:14.268Z" + }, + "author": { + "name": "Tim Caswell", + "url": "https://github.com/creationix" + }, + "repository": { + "type": "git", + "url": "git://github.com/creationix/http-parser-js.git" + }, + "users": { + "fgribreau": true, + "jaredreich": true, + "evanshortiss": true + }, + "homepage": "https://github.com/creationix/http-parser-js#readme", + "keywords": [ + "http" + ], + "bugs": { + "url": "https://github.com/creationix/http-parser-js/issues" + }, + "license": "MIT", + "readmeFilename": "README.md", + "contributors": [ + { + "name": "Jimb Esser", + "url": "https://github.com/Jimbly" + }, + { + "name": "Lawrence Rowe", + "url": "https://github.com/lrowe" + }, + { + "name": "Jan Schär", + "url": "https://github.com/jscissr" + }, + { + "name": "Paul Rütter", + "url": "https://github.com/paulrutter" + } + ], + "_cached": false, + "_contentLength": 0 +}
\ No newline at end of file diff --git a/workspaces/arborist/test/fixtures/registry-mocks/content/http-parser-js.min.json b/workspaces/arborist/test/fixtures/registry-mocks/content/http-parser-js.min.json new file mode 100644 index 000000000..00824d8ca --- /dev/null +++ b/workspaces/arborist/test/fixtures/registry-mocks/content/http-parser-js.min.json @@ -0,0 +1,496 @@ +{ + "name": "http-parser-js", + "dist-tags": { + "latest": "0.5.8" + }, + "versions": { + "0.0.0": { + "name": "http-parser-js", + "version": "0.0.0", + "dist": { + "shasum": "909deb52b955712b99dd0385e6ecad96b2fb4ce9", + "tarball": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.0.0.tgz", + "integrity": "sha512-+qEoeTq1sUzdqNHnxPFihYxv4pVcWvinaCDkSijZu0ezCd18IMg/1MqgCjhvE2tDgA8WP3gO1g7zOQhKybwdBQ==", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEQCIA/xAaCnm2kMv2fyz2c1uPE6CNbTIOFaUvgJ05F5wHVJAiBUMyaMaScb1U0efc05ReJpTkA9P2m7yVSu5vTlVIexKA==" + } + ] + } + }, + "0.1.0": { + "name": "http-parser-js", + "version": "0.1.0", + "dist": { + "shasum": "9c4fc9b9a692edb4ccbc571ef072f70fed56dd1c", + "tarball": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.1.0.tgz", + "integrity": "sha512-ltJUcKvMoehl/eM/+8dVW0h0OPDNSLQbg6llPvfcPUL+hU33hWdbwfMw6Yh/71vyNUKCFNQKtsbgbeRutrgNZw==", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEYCIQCgetGfz59ht3nAbWOymT81Jly2VNAed4xgwK99R43m8gIhAKGfCp0fZ2bBaUfHryJ+0EUCcpZzNZEVmjRhXAeJtHEm" + } + ] + } + }, + "0.2.0": { + "name": "http-parser-js", + "version": "0.2.0", + "dist": { + "shasum": "3f1ab609051fd93d607fb9d3e4ae4b097e8c5bce", + "tarball": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.2.0.tgz", + "integrity": "sha512-XQ0zvi1HxA9U30G5QpRx9c1KbZMQmNph1JmOqW4nTzkTl4UrGy6kXHP777ZMnS8CvF98/u0O8qJrnQYVQOjKUg==", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEUCIQCdS38eU7tYvZjxn6XRBahO3Bmm/eox2H25WWs/Kz5MQQIgUubMp4PhozOn8AortZgaEwGu7Cj1XV4WyL6+CVS1+9Y=" + } + ] + } + }, + "0.2.1": { + "name": "http-parser-js", + "version": "0.2.1", + "dist": { + "shasum": "43670c1f4f9df1e87fda9399ef58b5c40460b24c", + "tarball": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.2.1.tgz", + "integrity": "sha512-EUJkN9yBDBFnYEvFWjX2IlEN1zP2pJY9hFiQIB3Xmol/DquLc5hj3bHi4gc3tAWqQF/VFFxa84KY7LdRJNcqqQ==", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEUCIQCv52ighTL7qMLCpDyiZrrDf5Oyr7BEtCtxTD2bp/ZUAwIgTyqqDgoHINPobb6NZ9cNeOzph6b/6IB2CKrScFLWSO4=" + } + ] + } + }, + "0.2.2": { + "name": "http-parser-js", + "version": "0.2.2", + "dist": { + "shasum": "8f1b8f6c1f3ac2f52b04e5d48cd5c6e7285c634c", + "tarball": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.2.2.tgz", + "integrity": "sha512-qRYI00U/DSaw5Uf6Bda10raRZXHQLb1Ne1sNpeUpG2I8DzXDlcl6IiM8jx4qTIVX0Kly7ZIv6I/ETWjb7qWScA==", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEYCIQDo5cnGyP1M664ZzuaUab2FXASfHq1chnP5ZPMssbn4LAIhAIeAl9KvhxLOUhCFw0b6q85v8IcAuoU9r/hFjKXVgkd+" + } + ] + } + }, + "0.2.3": { + "name": "http-parser-js", + "version": "0.2.3", + "dist": { + "shasum": "1766743ea1e80ac1b1793a44fa3989fb8cdacc33", + "tarball": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.2.3.tgz", + "integrity": "sha512-Jw/pVkAdBVLRt3NUQrf/dz8/p9E711IT8lqOuFlWh2sSV+pYQiLXvn2OHOmZoOrIlR3WqewJyMogONbIEVwobQ==", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEUCIDvdZ9FzVAPsK0LoxY7K/ObUm5fOOA0zVTBE1SpyTaalAiEAwvpiWXD0JEfAd/ADCximm0syQjHxM2y+BVZ0nDAgqg8=" + } + ] + } + }, + "0.3.0": { + "name": "http-parser-js", + "version": "0.3.0", + "dist": { + "shasum": "293844fe61246fcc46c55c2c23790d7a550549a3", + "tarball": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.3.0.tgz", + "integrity": "sha512-vrBL/AmpkjjyopV3yVZ0DDwjUACwXZoJEv96KOfOz197f/NcEPgxiY5596hmaokn9QO7KxJvTriKGk58tIYRog==", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEUCIQCr9fn46JVwQcBEBfcKo/zw8NTsDjJlz0TqYt4MouBF+AIgLNoPHJThWugUgSAOMZs/1ag0GTVw1BBfHyimGrtNHxM=" + } + ] + } + }, + "0.4.0": { + "name": "http-parser-js", + "version": "0.4.0", + "dist": { + "shasum": "5e501b0d1008e7f7f8bf05eba70e7d716f29148d", + "tarball": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.0.tgz", + "integrity": "sha512-+/BXd6UcMbc0juUNeqQv7TxXx+2C65+agcxr6cPVF6vM6dhpxGtz8fuexkp2TYwjaNxVz6x9HaPbSEfId21ziQ==", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEUCIDhhS0r/WOo7xrDHysy85oz9hgyYVpbYSOJ+C+HS8knfAiEAt1SYHtj5M9PieElhtNOXlfe09UINfDbhJKGcoF/hvf8=" + } + ] + } + }, + "0.4.1": { + "name": "http-parser-js", + "version": "0.4.1", + "dist": { + "shasum": "cd89d63d494d46720866a859540106ae63c47fea", + "tarball": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.1.tgz", + "integrity": "sha512-Wc9i+/7TcDWVMAaCEOHVpnHEKzJOX34GxUQfvjZgcp2v2NkkPiv0Po9GoG6WT5Dthj0VQdtlfE5PYidf4qfy+g==", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEQCIHmBvNuE9q4asNnYqzf1v7mjbBSey+JghbLQ41WTjWG/AiBGpbgl83tA4MJrASXGT1GpFcqMTShR8+3JIe3etV286Q==" + } + ] + } + }, + "0.4.2": { + "name": "http-parser-js", + "version": "0.4.2", + "dist": { + "shasum": "4e0ef98aa1f629898b018bdcf1b919013ab15bee", + "tarball": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.2.tgz", + "integrity": "sha512-pSlUwN4nCaHYWWDzGhcZQ7JrBFi7Nkn026fNTuvyJ1EdsAE3Fs7i6IuRQN+HhE2QslQvuJT41wUlkFFKL32PKQ==", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEUCIEN3Uc+l0CYohv83l5SXOU+AyibGChTemWdh69z1ypdcAiEAwcncVUWTjM6eH49mE7uZcKhIFf4zPQ/ezAPxvuPI+Pw=" + } + ] + } + }, + "0.4.3": { + "name": "http-parser-js", + "version": "0.4.3", + "dist": { + "shasum": "89da65699a7f5eacd57d4ff93f0d104b1a960046", + "tarball": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.3.tgz", + "integrity": "sha512-h6JH0SMk+EN2km8zN3ZV/yCx7pwAsVAMo9OGjVJhhmD63HIgEDlUPxhXwDL0QWGcgUCclInwy3fnHkaoQbpCeg==", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEUCICuWZdqbWOYMMlrlcn1143v0Zn8KqsuBcxidnCZE1VVhAiEAz9mtWLcsX8E39nwHsyMFeao9UI7Wt4K9MMNvr360V20=" + } + ] + } + }, + "0.4.4": { + "name": "http-parser-js", + "version": "0.4.4", + "dist": { + "shasum": "c1273cf9897ac2caccc4779959780aa903de41a4", + "tarball": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.4.tgz", + "integrity": "sha512-SO7X60M8KyoCVswcSpcE7aY9h/+IsvDc+zKOfGafs2DDp7VstvJ7WmgU5DcAo/AdkrizEciGAn36Ee6nQlBe3g==", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEUCIQDPw1U9uE0AeBGqb6bREBXnuImNLnwkftmER9e5iFolLQIgQXcSAk6x/Ph6Pa+tOQZorh/IaL++f5JLUJG2tvT3Wj8=" + } + ] + } + }, + "0.4.5": { + "name": "http-parser-js", + "version": "0.4.5", + "dist": { + "integrity": "sha512-sYaqbMBf8hoS6OZBwMygxdLD3TsWgzheP55nkQ7GiR7gsn8x+2oTMCoJSAQmNm3obzOjJYT6tdTz1XcYjKyUqg==", + "shasum": "a3ecf39a667481a38ca60882ab57a2db578b9970", + "tarball": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.5.tgz", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEUCICC1tytZnPj5tJEOqwaDglvmXZAV1cbF+EuwcKsoRZgmAiEAsxd82qsoQyHPAWTZVewkIkIL87Vy0unhIQc349G+fUU=" + } + ] + } + }, + "0.4.6": { + "name": "http-parser-js", + "version": "0.4.6", + "dist": { + "shasum": "195273f58704c452d671076be201329dd341dc55", + "tarball": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.6.tgz", + "integrity": "sha512-YgMNpDj4EEyCxfghswDfXdUqgnXjuYZhMy2vMtn9x1X5BykwPN0xU5EbTqbtqAWe7XQCK8mfPvr+Li+xcG+5Hw==", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEQCIBzcW+ZpljnbnLX/N2A+SKdLv8zg5kWED/tjAN/lKCliAiBtAo3Xyb6Lb6zDhPK1DZJO4uuiiYrbLQKMwivohpRxNA==" + } + ] + } + }, + "0.4.7": { + "name": "http-parser-js", + "version": "0.4.7", + "dist": { + "shasum": "1cecc9c4ce845c0288224d8844854c1ef08c9ad7", + "tarball": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.7.tgz", + "integrity": "sha512-FVvV9FhabRz56S+4EeGev20Ius5Cbdnz7FKQcknF/nVzJTgE4uU/GR+6+mB989c1kUHL9/IfdAlpGuKDitHkyA==", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEUCIDlCHdVn4Q2vzm/AGCBc344+5kwkwytCvLq2QzbhRFS+AiEA4iMpNnEd5eXCBcHJOGICYJ9gIivzy3OEcMDoduG1BbE=" + } + ] + } + }, + "0.4.8": { + "name": "http-parser-js", + "version": "0.4.8", + "dist": { + "integrity": "sha512-jmHp99g6/fLx0pRNJqzsQgjsclCHAY7NhIeA3/U+bsGNvgbvUCQFQY9m5AYpqpAxY/2VcikfbKpjQozSTiz0jA==", + "shasum": "763f75c4b771a0bb44653b07070bff6ca7bc5561", + "tarball": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.8.tgz", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEYCIQDQ3ytPXgQXXK8oo1M6nF6u86KANmk/4NVYUWKHc8+mHwIhANbjnPDQdmcQy42eT4HBDzQin1NRkTIAZT6cHManJOEe" + } + ] + } + }, + "0.4.9": { + "name": "http-parser-js", + "version": "0.4.9", + "dist": { + "shasum": "ea1a04fb64adff0242e9974f297dd4c3cad271e1", + "tarball": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.9.tgz", + "integrity": "sha512-gmzoCd68gAuhyr4mOLSm4loH3Pv9fn0+YL7lItcK4BbGaxc9g+lQ7As4LhU8ZMqaPcSt4nSquIaUVbcXF/adqw==", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEUCIQD7nfxRWCmJcCYpEYLXVGpQs9XmUxFBCZqCOLDrH3OlSwIgCDoW43FGw/P/rMDXqdDPSM9GG+vWDgsb1qgZ8eXP/cs=" + } + ] + } + }, + "0.4.10": { + "name": "http-parser-js", + "version": "0.4.10", + "dist": { + "shasum": "92c9c1374c35085f75db359ec56cc257cbb93fa4", + "tarball": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.10.tgz", + "integrity": "sha512-ln7+HeZl3lL3PNRX9Y6ub4i8xcgQ0mO2J//ic97dR7tEXB+6IKAjx8JCCmEkwKiMcR2jidU9xNolz1fEyyf/Jg==", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEUCIGnk2ZQEJUO/OFR7rnJgulLYMLBAxCMy9BFIao7r05lBAiEAxrLUoKnDc8dUZsZCwerxh90OEnwPluikacMlAwVBPZw=" + } + ] + } + }, + "0.4.11": { + "name": "http-parser-js", + "version": "0.4.11", + "dist": { + "integrity": "sha512-QCR5O2AjjMW8Mo4HyI1ctFcv+O99j/0g367V3YoVnrNw5hkDvAWZD0lWGcc+F4yN3V55USPCVix4efb75HxFfA==", + "shasum": "5b720849c650903c27e521633d94696ee95f3529", + "tarball": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.11.tgz", + "fileCount": 5, + "unpackedSize": 19802, + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEUCIQDAWw0nhqwkaM1J4y4pv5La8WnUjV53i06J/4IDM35BVwIgD4RcrYI0tDA/Jgxex5pnJI3YoV3OBrVG7ACzbCGjifU=" + } + ] + } + }, + "0.4.12": { + "name": "http-parser-js", + "version": "0.4.12", + "dist": { + "shasum": "b9cfbf4a2cf26f0fc34b10ca1489a27771e3474f", + "tarball": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.12.tgz", + "fileCount": 5, + "unpackedSize": 19971, + "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa34NmCRA9TVsSAnZWagAA1MkP/joyGEDusAGZ9ijeijw4\ncXqMfBSb++f2Qfs5rkwAbgIEtQS+EhT5ucbt0J4sF3895JDfvr4OZm9kKmRI\npVlUuPiO5n44GHasQt7Ms1IJa+g/+74TLJz+ZSxaOnYzD9mF1ETBqWjAKn1n\nP50dPJboJIG/Txw8QCXXR5bHyqCk9+OLXYcHgW/+fC2ORer1WpA0oqclLzKS\nYpbLWgzK8NrgeSMQJeA3AIhwMIY6bAD4vfsfq2G7HlgYAM1rUWKPcwp34SC4\n5jBMmoGRNXtK/ojlvHk8DPEVsbmz86hxBSTXiUkqAlYBEz0QaynJXjHmSRhR\n2vxmRx9vq802Yv3UV4d47EOetBhLAGHzfkBMZRw9oiv5nqyvEzrC9wrhNjh2\nxomNnwBProasD2nBji2b5dkg/q6KFL0b2k8cHUlEbtloud/arMt1B2y/V/Z5\nKSB+iJINCFEmb6L9dKGAuzGLB+ZkOrNYjcDAQpYiFYfOUOmG0vrf7IZC5mQC\nPrCnYtlMgD/+YPzY6GIUhL1biF9LSAnO42sfyUxgJo6SHjDiWXLF2YyGcBFX\nZEtDNVEh0Q2jtfgtdcz5AKcMAXujLu9/xF0lSzXzUbPB4u/d0VB55nxXNHXF\nCtYtGn1GAdqdHkhdT7hPVZVIikzDjiTznikSUv/F7J3HVIL1NcLnEN4iExnZ\n9wdu\r\n=Go4K\r\n-----END PGP SIGNATURE-----\r\n", + "integrity": "sha512-LtkiEz56UfM3hBaJnGst0+W+FHfweYH0+atbVDqCp/LsfnK1eEiupUEz5aQGi2Xnd4BPxAnZWsSvZmcmjLDSUA==", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEUCIFUZBtY4zhZ7t0N5CQEGihP1ZTHpQ1FAUbCuwCl/k3UtAiEAmj+iaG02jxnQQYsi+Gx0Z/lplBkUA+XYU43p2Erzvrw=" + } + ] + } + }, + "0.4.13": { + "name": "http-parser-js", + "version": "0.4.13", + "dist": { + "shasum": "3bd6d6fde6e3172c9334c3b33b6c193d80fe1137", + "tarball": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.13.tgz", + "fileCount": 5, + "unpackedSize": 20026, + "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbAy4ICRA9TVsSAnZWagAAKwwP/1/o+p0E6VUsA9drTm13\nA7S+W4hfjcVyvZKRT/nJc9P0HBhbuL4gvXrxgAgi/WxFPxJG3TmqEE8YdMiC\n5gPAo7hie27cP+ExOhMGvec2KI/xjAUVqEDMg2xkJTOvjhOSg6j1H+Pzk6dE\n34jXfOB14EEMGhbvGKDsepD0X2MWvw0Vry2l2zaGZ43KLGWDktyha2CseWrf\n4x7GRqMNMP66vl8wv7il9Kugy23dKeqoYyYkntHn34+4AY3SDFw9FwyPE7BG\n8qVuKbf3HjJQGtL+OUrFyB4GgrPVLWvZxvHpCEAMtc8SUXK7tiRWu70A6ZFm\nSKZXGnAwE5oDKnZDFr8f1bKyF0Q5tY1v9WbZH2csSy9MUVv1/+UglxBR7faM\nxDOYNihesCiEnUrFH7Nr5K+Wf1uPU49lbGzfwUTdOSV8s6PcERfjFKQdFQvf\nOB0oxT+gyPHerPSWnB+V7VT9nvpN129G1guLBf7lJmo2+GJzZlyPbp6wLotB\navLPUreTU6LUaaeV00cVXOdyf4pmEnjjHvdeKo/sMMFbx0CF6ATcqUiSPt4Z\nIoBzlbgNbziBXpFoWWDh2q26laPw4j6r3vb1cX33Zu/zUA0qz8v3za8YIP5X\nSXwOzur+KpHWNg19Pf8N9sblBoUUgVNFUlMXnquV0dBnEh2nkqKGxhcP9Img\nluH2\r\n=rCrf\r\n-----END PGP SIGNATURE-----\r\n", + "integrity": "sha512-u8u5ZaG0Tr/VvHlucK2ufMuOp4/5bvwgneXle+y228K5rMbJOlVjThONcaAw3ikAy8b2OO9RfEucdMHFz3UWMA==", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEUCICEaEPEuA5FJxyRbwaG6RD7/dF45p4rS4QrVnWjvAMNqAiEAlC6wazOZL6TYao8c+rahrdgPhAb/hAWReJIW7WGWScc=" + } + ] + } + }, + "0.5.0": { + "name": "http-parser-js", + "version": "0.5.0", + "dist": { + "integrity": "sha512-cZdEF7r4gfRIq7ezX9J0T+kQmJNOub71dWbgAXVHDct80TKP4MCETtZQ31xyv38UwgzkWPYF/Xc0ge55dW9Z9w==", + "shasum": "d65edbede84349d0dc30320815a15d39cc3cbbd8", + "tarball": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.0.tgz", + "fileCount": 5, + "unpackedSize": 20175, + "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbzgvBCRA9TVsSAnZWagAAj1sP/37FZmRI1vb9tnrdtTSY\ngazBAitumsXSdtlob5up1Nk4nBaqgu9RyefuLMsVJRL1z4pP2F4bQrHbtEBt\nJrDtbl6/zS51G17jsye1XHquJmUmB9S47y8lua2AiWOc7zYAaI7vM5FicpcI\nYiXTFdbpUU1gHtDDiSL1j1i5QCiIJKkhzAPkoUL6XLhrRoL9F3HKjeU8rWC6\n2k0A2VtHrr56sA5mgjGIC9Tia9KkF8mELIrB9XximVAVH/s96Tt0tfSbUXqb\nxwoy+NevyB0iW0ISzLys1eASpgr9llOciQv0ljF2XJGyFhDKI4v7j3em9DMe\nVq0k4xnCjio+tbOVSPFlweGeIODt1H2KJJHj9LtRCcdTdGCG2CEg0ywqDBwd\nZogvLkX6crmtrudbrvRT8zBEfBDIyypzgDNF1pXIOqiCvOnncSmh4PmacPWA\ngL7R5iOXFmqHMs1aagg+uE95IgDFtoE5dJW38UazWfzAS3CKMG4TKMQlrdoE\nBhJ4GzFxJKXWxqOfsUUQ9Ch9uhCW3gCaAfOXqasg+jxVp19/hBVd6cD3pG2+\nNeBVXg2CshfucUhVUMHQra4/UIiHpAeYoPO4N6kp2GbmxkrzkLqmes0UG6nV\n7/tCIw+K2vmDCvDQhBV2t6EIVuuB3HX3DkwXrUGBcgrWyYMDG8mtkHMc9kzH\nPF+p\r\n=P4Mn\r\n-----END PGP SIGNATURE-----\r\n", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEQCIC7T0Wvhizzyarc1Bo7kIJTepGzKU9C0O08XOsWBtFuaAiBV4cr9DxB5OuqduxIeF0v0DA8XOLJl4Y7G66Xam0I27w==" + } + ] + } + }, + "0.5.1": { + "name": "http-parser-js", + "version": "0.5.1", + "dist": { + "integrity": "sha512-klJydAEoXHWYRtOoDwtNVIF6xrYCMTHnG8hu8uASFCmj9qNZ9R3kWeZ7NgqLctY9QRkvsNoqOmN6Lw2qZmGgVQ==", + "shasum": "6b197a6226ccb96e52c32e8f0973b5dd923e1ba0", + "tarball": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.1.tgz", + "fileCount": 5, + "unpackedSize": 20254, + "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdA6uXCRA9TVsSAnZWagAABR0P/3tW6B63BvZyW2OKuw+7\n5v7Q8WqR8RdYZ2AlUzZ2W61d/F/u/nHyBPeVGOLY6Iv24Sn/ShgQzr3wHgIU\nREoD4ZSG3DUIeaRFa2yNNMUTK64IDObuojIIl4tmWkuKy2axQSwWrvd9Q91N\n4WXQSob/+n0F9O0kwOvz8QpKr6BN+Er/vREDagLWMZ3gQ/iwOMT5/NmVPYjn\nxr9G05JB2ilkDS2tcibnP5f9BfH9S1989FCH6zLpZZ1MeYpX0aAjsTykABeU\nu6mDDmcNXgP6RUWt3dhjeVPIVH8fOOYPZkGc+BpGPAoYG1w8Y7gZDxVEQwGo\nBATI5e8nTJYLEZMkPFX85kz9ktugFK2Ci+xIs2/xis+WlCbw9qDZphEjRrkj\n2Ptv6NkpYbR/RoJzAtUeb3sAkPQgq5TNvL1hBjYLzMvSciJyOm2GQMt/Yr/a\nv6Xob/78yJZ1WNXbBU+pF/6r0uyUVY25mtpNA8iSfkg/KelKhAuucJFkDmeY\n3NoXCqcUkSkvvArmgYyL9rbJz+bteXI9kroZCXBcfH1q+Rya0kAKn4Inx2Fk\nnsaPulNujdoroO9WTIalEVvnVlQTooTBPsdlAR4YwImclHvJ8Z1wqKOlyk3X\nHlp9JndiSAJXr9uT/r6ObNTbYS4X9sh7rTOwevSWK+c/rVBL0IMFLd6vl3WM\nQqKv\r\n=R5bz\r\n-----END PGP SIGNATURE-----\r\n", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEUCIG7mYj3tcM+mUAdiXa7af9yWJmArA+DEQHQs7cJmOrtYAiEAxiHWXJLemnjwjp7ypxpg8F9pqz7L9LjlelJft0PPSAY=" + } + ] + } + }, + "0.5.2": { + "name": "http-parser-js", + "version": "0.5.2", + "dist": { + "integrity": "sha512-opCO9ASqg5Wy2FNo7A0sxy71yGbbkJJXLdgMK04Tcypw9jr2MgWbyubb0+WdmDmGnFflO7fRbqbaihh/ENDlRQ==", + "shasum": "da2e31d237b393aae72ace43882dd7e270a8ff77", + "tarball": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.2.tgz", + "fileCount": 5, + "unpackedSize": 20832, + "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdvba9CRA9TVsSAnZWagAAdFgP/1YyaFkhzzMYllUyCT3x\n30ik86ymWvn7vvOl6Esv4ahd06KnpPO9/RCTTqGnHSLBa98D2IB+Ub9SynbN\nX6GVbe1XXZQL+r4FFTnr7PPvrN7ehluJq2pAU/xQrkIB6BGzSEy3txQFHmRw\nXHZjcGCA8ja16oXuiofb745NM7qYHvM+w7mF7BFZ5Y4I5GgP4jAdZgLhMuO7\nP9KEl15FTdw2jDO9Sa4ze06Gjx5cq3cOxKegyC/z3GCXJqyt7Z0x+U5cjqbI\nEYEJZxy2B2qf2s+rGiyhPS3mMHpfsxaOi1NffIBrutPwANMp375Z6/SQxgOi\n2L6zCYCDZ9neiL86MgZtbiIXEUmKIGDlkXLgHTYVBc/K03Ya/EjhcuB0n/m8\nmX5kSCM5q6PlcXN3TNZ8gSh8d+3QPzUgo3nan4As5GAcNfCosxBqiqEq4tft\nWucg1oa7Vibf6F5K46D+6HbfI2/kk0yEpGnrHQTdvcGV8dgdAnlhaDWcukHS\n/U1A+PB6XqNK0VdCl2wMmK66tPCMhwLYigJoTe0OrOSdJ9EVxiZGIsU1qlpM\n7RwsMDr2LB6okCXwOJ5CI732sGpkLiV6XpObePmxdgkpTzT1I6VlnB90Plgq\nZUIfF//OZLVFZpKjFzV0HfMNTYB8eAI7qq3NBLbGl45vqjYGC8DkP+D9RkBz\n/Of0\r\n=3GlX\r\n-----END PGP SIGNATURE-----\r\n", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEYCIQDYGg3sgvjTQNJPnkHzbjupwC+t/WiZ0GCvDavr57gOmwIhAIZabc9PB5tvfNUxXlWw2CaxadYuZHm2pzpdNgQYq4SX" + } + ] + } + }, + "0.5.3": { + "name": "http-parser-js", + "version": "0.5.3", + "dist": { + "integrity": "sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==", + "shasum": "01d2709c79d41698bb01d4decc5e9da4e4a033d9", + "tarball": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.3.tgz", + "fileCount": 5, + "unpackedSize": 20985, + "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf76d4CRA9TVsSAnZWagAAFAQP/R0mHU3SQ+Bf58ECVRj6\nQPy3H7QryO66hHfZQjsrxP+kETMg1xWMsPcvonFe1FkQfkbG7etjizMoPTyS\nba4Bjrwi191hwCwwX/UtezbA2C/G6rA0SCVB4EZL+CGSyY1tYKezDd/KmNIb\n85OmNcBkhSF5fEqWM6+Ed0YPIHOZWBffZ4NmMVyPgE4V8LwO3hDMyQq2u34Y\n/8LfMWkhn//IUqGdmRrLon5sxiesv9Fy8ejTwg2CT52/KCkb0Do8cttedP1w\noh39VyChnXXjN35dLJEx00RD9ucuiuAXi0WG3R0FKkVg9dN4IjPwWkZIm6Bc\nXxU47Jbn3mPIjyqjrM72a7Hu7UxnWYYHW19deM7rwNKEoAC6puCSe2eNz7kS\ng7uw7xj/kYHUcutKrMouJH61qNSxxVVZeJi/b1B13YsOP2qiKQzULScYjp1N\nopHQJW15a6vZanDylKFzuTmyXCU5oykQSTpNnUHhR2sHxiBcco26jMnXStvg\nS1+jwZxbf/CLIcFJZW/ZfM2lFXRlC4Y7e3G90J09keZHg1TFAOI73p0TmkZW\nLpBpt48u/aKUZZZCeK78p35SOxvM/RtnYFYpPlw7KAjpYseZAdPnsm5SNhg0\nl++GamrRPlNWOQwk2hTKenJ02cMF+Vu/+yFxi8voK6CjToSGzN8C/pYCdHEj\n7iJN\r\n=VgsK\r\n-----END PGP SIGNATURE-----\r\n", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEUCIBhfQ1xq4y1c7iAflxQCBaql6OX815URyWFjvI4lVdoIAiEA+es7gy7ZvaO9r4TbFn5j/HHprjdCO7qQyQpkAuYZVq4=" + } + ] + } + }, + "0.5.4": { + "name": "http-parser-js", + "version": "0.5.4", + "dist": { + "integrity": "sha512-Qn1yyi10ipcylSSqlTFsj7bhimACWbFm5w5JNMxhLKfcJAeWFBc+/VBv4mu5qlWSKr0cjXqtwM6HISZkESUILA==", + "shasum": "d1f3e45f31973de8393af2c725da5d42919ab2bb", + "tarball": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.4.tgz", + "fileCount": 5, + "unpackedSize": 25540, + "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhoQzZCRA9TVsSAnZWagAAeicQAKGMv3hLESxXZQaTz80v\nqHh3WSx8IAOki6gJKc3utuaHBH66PjoHH8b1shczSBWPwQPazNPKgmVWKHjO\nLugELYbKjuVotBrUoUaPYs0McflmIawMJ8v64xy+qfBfVUcXKq49lxNaQHKY\n4POzq+QwmIfXWmAmK+D3z0i441DuuC3mqaXHl8ORKomJBo7vl3mdnP0uJF2T\ni0f0BbK8CPoWhT+3BnI9xwUVANGkGkJ3olCzZx9x3WqKmO6TnGV/oHTB1PlF\n6A/0X49jfnCLjLpdjDhuN7g6JMsnmCfFysF0lD2IpyTWyt7ya72oL/klD+wi\nV9Tm+/6EyEVp1HRjyOaczPzOOGBKk7RKCVmw0v2xq4cb4IovngnmNsTban1K\n6ZWwd7PfGkgViJu4Ui4SqF8UwXEji8vp152aaKvLexMitx86rYOj7PG/aLmz\nWpZS1FImo74/A3vN3ueIoo78Rxs7M2RuVuujDSNGM0YxGeMkgSpzcREo/Zoh\nYyjOfoCUcHXB1XSGe4wYcE2WP4+kjTcP9+1wwJ9O9QBfAE1g/vj06EPKcw9P\nztN98nZnXBdtZrRq78LH+Opua5l587PW3RKt6Jf5qparVEy7SE20Bw4Lwl+m\n9KqVXVnPIjPhhIcY7mqRJ5qJWz/ucaK0H4ErzYtxlVPnaXkbvC3sK3Ieke3t\nxfvR\r\n=WDPX\r\n-----END PGP SIGNATURE-----\r\n", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEYCIQDmn/NkrWT5oLxEN0u8uPJjq0oLeT9Dl39ohuwsOUBAPgIhAKrhocNDWkv6DDMCRmiTcKYdkUQcCEprmBQDqQZkanwf" + } + ] + } + }, + "0.5.5": { + "name": "http-parser-js", + "version": "0.5.5", + "dist": { + "integrity": "sha512-x+JVEkO2PoM8qqpbPbOL3cqHPwerep7OwzK7Ay+sMQjKzaKCqWvjoXm5tqMP9tXWWTnTzAjIhXg+J99XYuPhPA==", + "shasum": "d7c30d5d3c90d865b4a2e870181f9d6f22ac7ac5", + "tarball": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.5.tgz", + "fileCount": 5, + "unpackedSize": 25368, + "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhoj0ACRA9TVsSAnZWagAA0s8P/3KQQ/7VIGcDkDW/cWYX\n51oR7iqcmZKwI9Xk7cURDyLaEHBaNE7NX/Q+fd0J9KEaez91QLqz+28X0e7M\nkd+BGxgwyfKLS9f5MCHz/MhwfGnU3gFH32dzcdQcC2bE/soZxdEuhi7h5/XK\nBYTrvHP720r3fM5oNmfnN2qjfpHUqrM4vKOHcUxwn6PWHHY1Q/AOmKOB4wk1\nBqdhPQQxAWEShMM7AN9oCN0Oie62woaduGqOX4MhcbdJbc64kpEn1MpuF0Iu\nWGSYacFLPQvkXjIYCEl6qWYxEnHHB0QJmIG/S4fTDzJb+YrCYCAhTNqDWdKb\nu8i6vcZEAXYO/gZr020s+3AVqYhsAm8HpBOltW39fbpeldIT3E06GR29pBiv\ng+HlSoiDel9VphipX7eLU2KNciVK5llHkESMy1bacmUnK9KM6GtCS9R35jeb\nFOy68j6+e02FIyFjwYyPUxHZpDXzgMs3Rug6g3VpDy2XsH4o/9SaDJfW/XNB\naYAVztSVdc2APkw63CbFwcMkD059xVrYjuhpDQBVg2bM+ofR39mrEn9vCEy/\nKK5Uf8rtsBase5K2+pxQXpD89ivsX+4y4zX//ODn/cQmubMjJXTrvYNPplMA\ntQC6d4Xa0CEOc7SPTUWzac6Fx2lPO9cVSnRzNcip1GV/ML2lu+1cnsa9Jg11\nWO1A\r\n=q9yl\r\n-----END PGP SIGNATURE-----\r\n", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEYCIQCQLgs6AJOFrSr9gvYYYTqz8YeESjZMy1fgkvUIdmq4+QIhAPz/rLBb+mBK/xSwRjIp/nh26X8DFCmfS/o2Rs1UPUtS" + } + ] + } + }, + "0.5.6": { + "name": "http-parser-js", + "version": "0.5.6", + "dist": { + "integrity": "sha512-vDlkRPDJn93swjcjqMSaGSPABbIarsr1TLAui/gLDXzV5VsJNdXNzMYDyNBLQkjWQCJ1uizu8T2oDMhmGt0PRA==", + "shasum": "2e02406ab2df8af8a7abfba62e0da01c62b95afd", + "tarball": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.6.tgz", + "fileCount": 5, + "unpackedSize": 25723, + "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiJN8GACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpZAg//WVa+oW1mgIV9WcuR9YChxCu17cReOHJmNIQf0Mmjt3kgaAbl\r\nSZMs5/Jwabg7Xe4NymiIpfV3NvY/QXg4bfL6LR4k17pSkXmU2khr+7U7Y3lh\r\nftTgL6mdzlysS+fMkceF4X2r4OYzJoA5LwRLRg5nn+Gg9EswhxtrBrUOumej\r\nr9wZ6jIfCbJH7pb6T8rppr8rRPJHr+C9uDjtN7MWIJTOn4wLivqLluC2WOPF\r\nsheSmmD9KVMWJTY9OvuAxFMi75KLYd+hBE2OZVnpDkG7+Xp+GxsVO2rinZjJ\r\nfO6eRRat19gxy8eM7rZFD3x/fl5sXF1jkLZTlw9a/YT503Y+MjlBqFjaK6e/\r\n1al/CePrvrQoKtCyKaORNWwy3n4lBzjdbtnq8CceLfrElTiqDeE0M2Z/p/UT\r\nLaBV7lrqrEQ89jQCpG3ZFO3edh2/JQm8uD+X8/AcN97cYrw0w1ZP6JdtKLcw\r\ny7o5Lz9ZGz5y4tKmX5DdXLNrE9qSbz8aNolvIlx2k+sm62U+mDqX9FLJjkM1\r\n51hEcOFKYYzd7L33dj3SGhWePoTHr4xY69qut1VOaGji2gxTWIRDu90oAWoS\r\n6cltsit5aG9J7NEg1fJoctAoGn1wqV0iJwzSvlRrxl4M3jvR9jqNjip5fBp1\r\nMmIJnmCclM00Jznjii58XLDIHu+7oXozLpU=\r\n=G26P\r\n-----END PGP SIGNATURE-----\r\n", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEQCIBLqKF0kXGdQKgh2d0+QOHogNMW1yHFe/TbEbC6TNg1qAiBvSEzR2Jt6YRnhZWKHL38GVcdLbfY8ADAAAMX79bU9fA==" + } + ] + } + }, + "0.5.7": { + "name": "http-parser-js", + "version": "0.5.7", + "dist": { + "integrity": "sha512-8gQM8ZcewlONQLnik2AKzS13euQhaZcu4rK5QBSYOszW0T1upLW9VA2MdWvTvMmRo42HjXp7igFmdROoBCCrfg==", + "shasum": "39bde369fb8a57235121bb69d05f079fa1b598f4", + "tarball": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.7.tgz", + "fileCount": 5, + "unpackedSize": 25744, + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEUCIG+mU1BEtPe1Fy8upfOZY0OiCc56teqSmnrv9MK+BYR5AiEA/Tnk8EOBhd5rh6nL/KvYlGUf2I81uR7XtpIpaLNzK0U=" + } + ], + "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJitF4lACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpNhw//TQemHNy3YaW8+6nSbz3N9TRvqRrg+2rf7Z9JAMFwyIBNM8sI\r\n0w0cLFD7W2w558n+4HldVPRvgF4NPOTktI3i5U5zJrx/Kb/V/4esz7887rgG\r\nGYay4ImB6jkGwFaZAfoacboI8hKSkZloAxKrpBodIaibC7shNJs42EpBurli\r\nJRl4o6mpmuD2sTXnFNRLsFF17jpRwqSuqork3eQGFi++dEU6YSbyrjlGsfSd\r\nO6oxSY8p2vhbt400YcHS44oKVR/FhaxBFlQ+1issvjbWFzkZLNCZQQ4zTUeo\r\ncHOVhKd3j+cEs+KfD+57woNO69IPySjSF6xi0Gj6LDNM13YRtEKeLmgFQCnq\r\nJQeC4iUVhvZtJrn20GXtXq+DQC5ezGpmU//Rjyhras1kpyuLm3waOujP2DCc\r\nrYmENq8Z6WA/upQzdUMY4j2NlDerapvmmUx6eHbV9+z9I91GHIN4sewZle7n\r\neUwKtiTUYGPhk7uWkHmpkcIvj8kokx7r6QL11aIkhVzVik3QBz6stlBGzpjw\r\nD1EQzo4dO7eq3bmWtkzeZLf+YX87/WXlQDo5fVnrZf8xlw/DrALggdiZ5p8f\r\nWMlNYN+gWvbm4LAxq883NqbVwzkwVkHyqfFqMrqW9e9qxMlYxJ3VpRHmzN9I\r\nSAbp7TeQLRXdZYyd2A27XcVuXt/CWLrCcR8=\r\n=YiPE\r\n-----END PGP SIGNATURE-----\r\n" + } + }, + "0.5.8": { + "name": "http-parser-js", + "version": "0.5.8", + "dist": { + "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==", + "shasum": "af23090d9ac4e24573de6f6aecc9d84a48bf20e3", + "tarball": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", + "fileCount": 5, + "unpackedSize": 25812, + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEUCIQDNrmE7zAEhQsfRnOp39ekVYzBGrfOf3ngcffxiUERWNQIgN4CxBKTXKBJBfOtBz/eRfAWHUOomrPZdGF3Gp+qzAg0=" + } + ], + "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiuaf+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr74A//VyzC1Lf2s+2FsCYNCgujbU6p1VA3eiH2sQBaDm4jxVSsWYpg\r\nNzsdCstWeWBuZuxn9U5hghMzK+qWvDGwOXPBY5ulJbo0z29HPuqaTtZlr0JS\r\n649+cKmCc6uP5veM2g9a9DxKBrmxFijabw3lNvmPUpERxWTX4RSKv/BjldDb\r\n9pqrQ+ehu2RUPluWBBBCn0ktpL/ACDFXCxk5CI6to4Rx8jSvX04ty49FBUWH\r\nXeNTuvoJXh3k1m2JK/tWCdi5wO+exYoDGqMBjNBuenM4nXPy1prffpTRy4UK\r\nn8Pc95g7C2Fo2o8QLmudkZNEQBLi8fBW/i6cM9NS6IUPxZT/7T7Gn1pjSqv1\r\nt41GM4EOhu56JK9CG+fsZJYibvmKuKNUMMKFGsIj7gdu8VJnrsAkpnDPd64T\r\n5qPB5Q0wdrnAKhIA7XwrP/9dH2C2C+nUU+QvrQKg/NqISon0OInlLYGib+1u\r\nIOePc+Fm9G0iR/ayiEsSNyxqxEp6kKDtjuRtYX5tDSLE/j8tW29jIE0sFdKW\r\njJ4M7t+tPwiBsU0SqstU4etsZQEsucnVlChBiYjTZl3Lr0Y+6ODQLbEvRyRf\r\n5zfVnEepzFs5uZsPyISqKwcANEI+Nrmc1aIZjlPwMF7VKFhvlBJkedrcthXv\r\np2mHXTkzUGUD6cnrWkc0dFBns6G/bFQt588=\r\n=5FOU\r\n-----END PGP SIGNATURE-----\r\n" + } + } + }, + "modified": "2022-06-27T12:52:14.374Z", + "_cached": false, + "_contentLength": 25358 +}
\ No newline at end of file diff --git a/workspaces/arborist/test/fixtures/registry-mocks/fetch-package.js b/workspaces/arborist/test/fixtures/registry-mocks/fetch-package.js new file mode 100644 index 000000000..41ac5e9e9 --- /dev/null +++ b/workspaces/arborist/test/fixtures/registry-mocks/fetch-package.js @@ -0,0 +1,28 @@ +// fetch a single package's packument, corgi, and specific tarball +const { resolve } = require('path') +const { writeFileSync } = require('fs') +const pacote = require('pacote') +const npa = require('npm-package-arg') + +const dir = resolve(__dirname, 'content') + +const main = async (raw) => { + const spec = npa(raw) + + const packument = await pacote.packument(spec.name, { fullMetadata: true }) + const packumentFile = resolve(dir, spec.name.replace(/^@/, '') + '.json') + writeFileSync(packumentFile, JSON.stringify(packument, 0, 2)) + + const corgi = await pacote.packument(spec.name, {}) + const corgiFile = resolve(dir, spec.name.replace(/^@/, '') + '.min.json') + writeFileSync(corgiFile, JSON.stringify(corgi, 0, 2)) + + if (spec.type === 'version') { + const tarballUrl = packument.versions[spec.fetchSpec].dist.tarball + const path = new URL(tarballUrl).pathname.replace(/^\/@?/, '') + const tarballFile = resolve(dir, path) + await pacote.tarball.file(tarballUrl, tarballFile) + } +} + +main(process.argv[2]) diff --git a/workspaces/arborist/test/place-dep.js b/workspaces/arborist/test/place-dep.js index 418d22884..dfcedcaad 100644 --- a/workspaces/arborist/test/place-dep.js +++ b/workspaces/arborist/test/place-dep.js @@ -1371,6 +1371,81 @@ t.test('placement tests', t => { force: true, }) + runTest('peerOptional can be invalid when peers conflict', { + tree: new Node({ + path, + pkg: { dependencies: { a: '1', b: '2' } }, + children: [{ + pkg: { + name: 'a', + version: '1.0.0', + peerDependencies: { c: '1' }, + }, + }, { + pkg: { + name: 'b', + version: '2.0.0', + peerDependencies: { c: '2' }, + peerDependenciesMeta: { c: { optional: true } }, + }, + }, { + pkg: { + name: 'c', + version: '1.0.0', + }, + }], + }), + dep: new Node({ + pkg: { + name: 'c', + version: '2.0.0', + }, + }), + peerSet: [], + nodeLoc: 'node_modules/b', + }) + + runTest('conflicted optional peer fails when it has a non-peerOptional edgeIn', { + tree: new Node({ + path, + pkg: { dependencies: { a: '1', b: '2', d: '2' } }, + children: [{ + pkg: { + name: 'a', + version: '1.0.0', + peerDependencies: { c: '1' }, + }, + }, { + pkg: { + name: 'b', + version: '2.0.0', + peerDependencies: { c: '2' }, + }, + }, { + pkg: { + name: 'c', + version: '1.0.0', + }, + }, { + pkg: { + name: 'd', + version: '2.0.0', + peerDependencies: { b: '2' }, + peerDependenciesMeta: { b: { optional: true } }, + }, + }], + }), + dep: new Node({ + pkg: { + name: 'c', + version: '2.0.0', + }, + }), + peerSet: [], + nodeLoc: 'node_modules/b', + error: true, + }) + // root -> (c@1||2, a@2) // a@1 -> PEER(b@1) // a@2 -> PEER(b@2) |