diff --git a/lib/arborist/build-ideal-tree.js b/lib/arborist/build-ideal-tree.js index 5fa8023bd..108e2243c 100644 --- a/lib/arborist/build-ideal-tree.js +++ b/lib/arborist/build-ideal-tree.js @@ -1085,14 +1085,22 @@ This is a one-time fix-up, please be patient... let target let canPlace = null + let isSource = false + const source = this[_peerSetSource].get(dep) for (let check = start; check; check = check.resolveParent) { + // we always give the FIRST place we possibly *can* put this a little + // extra prioritization with peer dep overrides and deduping + if (check === source) + isSource = true + // if the current location has a peerDep on it, then we can't place here // this is pretty rare to hit, since we always prefer deduping peers. const checkEdge = check.edgesOut.get(edge.name) if (!check.isTop && checkEdge && checkEdge.peer) continue - const cp = this[_canPlaceDep](dep, check, edge, peerEntryEdge, peerPath) + const cp = this[_canPlaceDep](dep, check, edge, peerEntryEdge, peerPath, isSource) + isSource = false // anything other than a conflict is fine to proceed with if (cp !== CONFLICT) { @@ -1164,7 +1172,7 @@ This is a one-time fix-up, please be patient... const oldDeps = [] for (const [name, edge] of oldChild.edgesOut.entries()) { if (!newDep.edgesOut.has(name) && edge.to) - oldDeps.push(edge.to) + oldDeps.push(...gatherDepSet([edge.to], e => e.to !== edge.to)) } newDep.replace(oldChild) this[_pruneForReplacement](newDep, oldDeps) @@ -1265,14 +1273,17 @@ This is a one-time fix-up, please be patient... // deps that the new node doesn't depend on but the old one did. const invalidDeps = new Set([...node.edgesOut.values()] .filter(e => e.to && !e.valid).map(e => e.to)) - for (const dep of oldDeps) - invalidDeps.add(dep) + for (const dep of oldDeps) { + const set = gatherDepSet([dep], e => e.to !== dep && e.valid) + for (const dep of set) + invalidDeps.add(dep) + } // ignore dependency edges from the node being replaced, but // otherwise filter the set down to just the set with no // dependencies from outside the set, except the node in question. const deps = gatherDepSet(invalidDeps, edge => - edge.from !== node && edge.to !== node) + edge.from !== node && edge.to !== node && edge.valid) // now just delete whatever's left, because it's junk for (const dep of deps) @@ -1299,7 +1310,7 @@ This is a one-time fix-up, please be patient... // checking, because either we're leaving it alone, or it won't work anyway. // When we check peers, we pass along the peerEntryEdge to track the // original edge that caused us to load the family of peer dependencies. - [_canPlaceDep] (dep, target, edge, peerEntryEdge = null, peerPath = []) { + [_canPlaceDep] (dep, target, edge, peerEntryEdge = null, peerPath = [], isSource = false) { /* istanbul ignore next */ debug(() => { if (!dep) @@ -1307,8 +1318,16 @@ This is a one-time fix-up, please be patient... }) const entryEdge = peerEntryEdge || edge const source = this[_peerSetSource].get(dep) - const isSource = target === source - const { isRoot, isWorkspace } = source || {} + isSource = isSource || target === source + // if we're overriding the source, then we care if the *target* is + // ours, even if it wasn't actually the original source, since we + // are depending on something that has a dep that can't go in its own + // folder. for example, a -> b, b -> PEER(a). Even though a is the + // source, b has to be installed up a level, and if the root package + // depends on a, and it has a conflict, it's our problem. So, the root + // (or whatever is bringing in a) becomes the "effective source" for + // the purposes of this calculation. + const { isRoot, isWorkspace } = isSource ? target : source || {} const isMine = isRoot || isWorkspace // Useful testing thingie right here. @@ -1333,7 +1352,7 @@ This is a one-time fix-up, please be patient... const { version: newVer } = dep const tryReplace = curVer && newVer && semver.gte(newVer, curVer) if (tryReplace && dep.canReplace(current)) { - const res = this[_canPlacePeers](dep, target, edge, REPLACE, peerEntryEdge, peerPath) + const res = this[_canPlacePeers](dep, target, edge, REPLACE, peerEntryEdge, peerPath, isSource) /* istanbul ignore else - It's extremely rare that a replaceable * node would be a conflict, if the current one wasn't a conflict, * but it is theoretically possible if peer deps are pinned. In @@ -1353,7 +1372,7 @@ This is a one-time fix-up, please be patient... // a bit harder to be singletons. const preferDedupe = this[_preferDedupe] || edge.peer if (preferDedupe && !tryReplace && dep.canReplace(current)) { - const res = this[_canPlacePeers](dep, target, edge, REPLACE, peerEntryEdge, peerPath) + const res = this[_canPlacePeers](dep, target, edge, REPLACE, peerEntryEdge, peerPath, isSource) /* istanbul ignore else - It's extremely rare that a replaceable * node would be a conflict, if the current one wasn't a conflict, * but it is theoretically possible if peer deps are pinned. In @@ -1421,7 +1440,7 @@ This is a one-time fix-up, please be patient... } } if (canReplace) { - const ret = this[_canPlacePeers](dep, target, edge, REPLACE, peerEntryEdge, peerPath) + const ret = this[_canPlacePeers](dep, target, edge, REPLACE, peerEntryEdge, peerPath, isSource) /* istanbul ignore else - extremely rare that the peer set would * conflict if we can replace the node in question, but theoretically * possible, if peer deps are pinned aggressively. */ @@ -1482,14 +1501,14 @@ This is a one-time fix-up, please be patient... } // no objections! ok to place here - return this[_canPlacePeers](dep, target, edge, OK, peerEntryEdge, peerPath) + return this[_canPlacePeers](dep, target, edge, OK, peerEntryEdge, peerPath, isSource) } // make sure the family of peer deps can live here alongside it. // this doesn't guarantee that THIS solution will be the one we take, // but it does establish that SOME solution exists at this level in // the tree. - [_canPlacePeers] (dep, target, edge, ret, peerEntryEdge, peerPath) { + [_canPlacePeers] (dep, target, edge, ret, peerEntryEdge, peerPath, isSource) { // do not go in cycles when we're resolving a peer group if (!dep.parent || peerEntryEdge && peerPath.includes(dep)) return ret @@ -1501,7 +1520,7 @@ This is a one-time fix-up, please be patient... if (!peerEdge.peer || !peerEdge.to) continue const peer = peerEdge.to - const canPlacePeer = this[_canPlaceDep](peer, target, peerEdge, entryEdge, peerPath) + const canPlacePeer = this[_canPlaceDep](peer, target, peerEdge, entryEdge, peerPath, isSource) if (canPlacePeer !== CONFLICT) continue diff --git a/lib/node.js b/lib/node.js index 5671a033e..e4ba3ac42 100644 --- a/lib/node.js +++ b/lib/node.js @@ -35,6 +35,7 @@ const {normalize} = require('read-package-json-fast') const {getPaths: getBinPaths} = require('bin-links') const npa = require('npm-package-arg') const debug = require('./debug.js') +const gatherDepSet = require('./gather-dep-set.js') const {resolve, relative, dirname, basename} = require('path') const _package = Symbol('_package') @@ -640,8 +641,14 @@ class Node { if (node.name !== this.name) return false + // gather up all the deps of this node and that are only depended + // upon by deps of this node. those ones don't count, since + // they'll be replaced if this node is replaced anyway. + const depSet = gatherDepSet([this], e => e.to !== this && e.valid) + for (const edge of this.edgesIn) { - if (!edge.satisfiedBy(node)) + // only care about edges that don't originate from this node + if (!depSet.has(edge.from) && !edge.satisfiedBy(node)) return false } diff --git a/scripts/reify.js b/scripts/reify.js index a1c021f87..801d637e2 100644 --- a/scripts/reify.js +++ b/scripts/reify.js @@ -15,6 +15,10 @@ process.on('timeEnd', name => { } const res = process.hrtime(timers[name]) delete timers[name] + + if (options.quiet) + return + console.error(name, res[0] * 1e3 + res[1] / 1e6) }) process.on('exit', () => { @@ -104,6 +108,8 @@ process.on('log', (level, ...args) => { if (level === 'warn' && args[0] === 'ERESOLVE') { args[2] = require('util').inspect(args[2], { depth: Infinity }) } + if (options.quiet) + return return console.error(level, ...args) }) diff --git a/tap-snapshots/test-arborist-build-ideal-tree.js-TAP.test.js b/tap-snapshots/test-arborist-build-ideal-tree.js-TAP.test.js index 9d8e79546..b200ba057 100644 --- a/tap-snapshots/test-arborist-build-ideal-tree.js-TAP.test.js +++ b/tap-snapshots/test-arborist-build-ideal-tree.js-TAP.test.js @@ -69992,6 +69992,30320 @@ Node { } ` +exports[`test/arborist/build-ideal-tree.js TAP peer dep override with dep sets being replaced > must match snapshot 1`] = ` +Node { + "children": Map { + "@types/eslint" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/@types/eslint-scope", + "name": "@types/eslint", + "spec": "*", + "type": "prod", + }, + }, + "edgesOut": Map { + "@types/estree" => Edge { + "name": "@types/estree", + "spec": "*", + "to": "node_modules/@types/estree", + "type": "prod", + }, + "@types/json-schema" => Edge { + "name": "@types/json-schema", + "spec": "*", + "to": "node_modules/@types/json-schema", + "type": "prod", + }, + }, + "location": "node_modules/@types/eslint", + "name": "@types/eslint", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.2.4.tgz", + }, + "@types/eslint-scope" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/webpack", + "name": "@types/eslint-scope", + "spec": "^3.7.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "@types/eslint" => Edge { + "name": "@types/eslint", + "spec": "*", + "to": "node_modules/@types/eslint", + "type": "prod", + }, + "@types/estree" => Edge { + "name": "@types/estree", + "spec": "*", + "to": "node_modules/@types/estree", + "type": "prod", + }, + }, + "location": "node_modules/@types/eslint-scope", + "name": "@types/eslint-scope", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.0.tgz", + }, + "@types/estree" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/@types/eslint", + "name": "@types/estree", + "spec": "*", + "type": "prod", + }, + Edge { + "from": "node_modules/@types/eslint-scope", + "name": "@types/estree", + "spec": "*", + "type": "prod", + }, + Edge { + "from": "node_modules/webpack", + "name": "@types/estree", + "spec": "^0.0.45", + "type": "prod", + }, + }, + "location": "node_modules/@types/estree", + "name": "@types/estree", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.45.tgz", + }, + "@types/glob" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/del", + "name": "@types/glob", + "spec": "^7.1.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "@types/minimatch" => Edge { + "name": "@types/minimatch", + "spec": "*", + "to": "node_modules/@types/minimatch", + "type": "prod", + }, + "@types/node" => Edge { + "name": "@types/node", + "spec": "*", + "to": "node_modules/@types/node", + "type": "prod", + }, + }, + "location": "node_modules/@types/glob", + "name": "@types/glob", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz", + }, + "@types/json-schema" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/@types/eslint", + "name": "@types/json-schema", + "spec": "*", + "type": "prod", + }, + Edge { + "from": "node_modules/schema-utils", + "name": "@types/json-schema", + "spec": "^7.0.6", + "type": "prod", + }, + }, + "location": "node_modules/@types/json-schema", + "name": "@types/json-schema", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz", + }, + "@types/minimatch" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/@types/glob", + "name": "@types/minimatch", + "spec": "*", + "type": "prod", + }, + }, + "location": "node_modules/@types/minimatch", + "name": "@types/minimatch", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", + }, + "@types/node" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/@types/glob", + "name": "@types/node", + "spec": "*", + "type": "prod", + }, + Edge { + "from": "node_modules/jest-worker", + "name": "@types/node", + "spec": "*", + "type": "prod", + }, + }, + "location": "node_modules/@types/node", + "name": "@types/node", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.11.8.tgz", + }, + "@webassemblyjs/ast" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/@webassemblyjs/helper-module-context", + "name": "@webassemblyjs/ast", + "spec": "1.9.0", + "type": "prod", + }, + Edge { + "from": "node_modules/@webassemblyjs/helper-wasm-section", + "name": "@webassemblyjs/ast", + "spec": "1.9.0", + "type": "prod", + }, + Edge { + "from": "node_modules/@webassemblyjs/wasm-edit", + "name": "@webassemblyjs/ast", + "spec": "1.9.0", + "type": "prod", + }, + Edge { + "from": "node_modules/@webassemblyjs/wasm-gen", + "name": "@webassemblyjs/ast", + "spec": "1.9.0", + "type": "prod", + }, + Edge { + "from": "node_modules/@webassemblyjs/wasm-opt", + "name": "@webassemblyjs/ast", + "spec": "1.9.0", + "type": "prod", + }, + Edge { + "from": "node_modules/@webassemblyjs/wasm-parser", + "name": "@webassemblyjs/ast", + "spec": "1.9.0", + "type": "prod", + }, + Edge { + "from": "node_modules/@webassemblyjs/wast-parser", + "name": "@webassemblyjs/ast", + "spec": "1.9.0", + "type": "prod", + }, + Edge { + "from": "node_modules/@webassemblyjs/wast-printer", + "name": "@webassemblyjs/ast", + "spec": "1.9.0", + "type": "prod", + }, + Edge { + "from": "node_modules/webpack", + "name": "@webassemblyjs/ast", + "spec": "1.9.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "@webassemblyjs/helper-module-context" => Edge { + "name": "@webassemblyjs/helper-module-context", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/helper-module-context", + "type": "prod", + }, + "@webassemblyjs/helper-wasm-bytecode" => Edge { + "name": "@webassemblyjs/helper-wasm-bytecode", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/helper-wasm-bytecode", + "type": "prod", + }, + "@webassemblyjs/wast-parser" => Edge { + "name": "@webassemblyjs/wast-parser", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/wast-parser", + "type": "prod", + }, + }, + "location": "node_modules/@webassemblyjs/ast", + "name": "@webassemblyjs/ast", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + }, + "@webassemblyjs/floating-point-hex-parser" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", + }, + "@webassemblyjs/helper-api-error" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/@webassemblyjs/wasm-parser", + "name": "@webassemblyjs/helper-api-error", + "spec": "1.9.0", + "type": "prod", + }, + Edge { + "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", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", + }, + "@webassemblyjs/helper-buffer" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/@webassemblyjs/helper-wasm-section", + "name": "@webassemblyjs/helper-buffer", + "spec": "1.9.0", + "type": "prod", + }, + Edge { + "from": "node_modules/@webassemblyjs/wasm-edit", + "name": "@webassemblyjs/helper-buffer", + "spec": "1.9.0", + "type": "prod", + }, + Edge { + "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", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", + }, + "@webassemblyjs/helper-code-frame" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/@webassemblyjs/wast-parser", + "name": "@webassemblyjs/helper-code-frame", + "spec": "1.9.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "@webassemblyjs/wast-printer" => Edge { + "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", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", + }, + "@webassemblyjs/helper-fsm" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", + }, + "@webassemblyjs/helper-module-context" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/@webassemblyjs/ast", + "name": "@webassemblyjs/helper-module-context", + "spec": "1.9.0", + "type": "prod", + }, + Edge { + "from": "node_modules/webpack", + "name": "@webassemblyjs/helper-module-context", + "spec": "1.9.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "@webassemblyjs/ast" => Edge { + "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", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", + }, + "@webassemblyjs/helper-wasm-bytecode" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/@webassemblyjs/ast", + "name": "@webassemblyjs/helper-wasm-bytecode", + "spec": "1.9.0", + "type": "prod", + }, + Edge { + "from": "node_modules/@webassemblyjs/helper-wasm-section", + "name": "@webassemblyjs/helper-wasm-bytecode", + "spec": "1.9.0", + "type": "prod", + }, + Edge { + "from": "node_modules/@webassemblyjs/wasm-edit", + "name": "@webassemblyjs/helper-wasm-bytecode", + "spec": "1.9.0", + "type": "prod", + }, + Edge { + "from": "node_modules/@webassemblyjs/wasm-gen", + "name": "@webassemblyjs/helper-wasm-bytecode", + "spec": "1.9.0", + "type": "prod", + }, + Edge { + "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", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + }, + "@webassemblyjs/helper-wasm-section" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/@webassemblyjs/wasm-edit", + "name": "@webassemblyjs/helper-wasm-section", + "spec": "1.9.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "@webassemblyjs/ast" => Edge { + "name": "@webassemblyjs/ast", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/ast", + "type": "prod", + }, + "@webassemblyjs/helper-buffer" => Edge { + "name": "@webassemblyjs/helper-buffer", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/helper-buffer", + "type": "prod", + }, + "@webassemblyjs/helper-wasm-bytecode" => Edge { + "name": "@webassemblyjs/helper-wasm-bytecode", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/helper-wasm-bytecode", + "type": "prod", + }, + "@webassemblyjs/wasm-gen" => Edge { + "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", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", + }, + "@webassemblyjs/ieee754" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/@webassemblyjs/wasm-gen", + "name": "@webassemblyjs/ieee754", + "spec": "1.9.0", + "type": "prod", + }, + Edge { + "from": "node_modules/@webassemblyjs/wasm-parser", + "name": "@webassemblyjs/ieee754", + "spec": "1.9.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "@xtuc/ieee754" => Edge { + "name": "@xtuc/ieee754", + "spec": "^1.2.0", + "to": "node_modules/@xtuc/ieee754", + "type": "prod", + }, + }, + "location": "node_modules/@webassemblyjs/ieee754", + "name": "@webassemblyjs/ieee754", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", + }, + "@webassemblyjs/leb128" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/@webassemblyjs/wasm-gen", + "name": "@webassemblyjs/leb128", + "spec": "1.9.0", + "type": "prod", + }, + Edge { + "from": "node_modules/@webassemblyjs/wasm-parser", + "name": "@webassemblyjs/leb128", + "spec": "1.9.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "@xtuc/long" => Edge { + "name": "@xtuc/long", + "spec": "4.2.2", + "to": "node_modules/@xtuc/long", + "type": "prod", + }, + }, + "location": "node_modules/@webassemblyjs/leb128", + "name": "@webassemblyjs/leb128", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", + }, + "@webassemblyjs/utf8" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/@webassemblyjs/wasm-gen", + "name": "@webassemblyjs/utf8", + "spec": "1.9.0", + "type": "prod", + }, + Edge { + "from": "node_modules/@webassemblyjs/wasm-parser", + "name": "@webassemblyjs/utf8", + "spec": "1.9.0", + "type": "prod", + }, + }, + "location": "node_modules/@webassemblyjs/utf8", + "name": "@webassemblyjs/utf8", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", + }, + "@webassemblyjs/wasm-edit" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/webpack", + "name": "@webassemblyjs/wasm-edit", + "spec": "1.9.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "@webassemblyjs/ast" => Edge { + "name": "@webassemblyjs/ast", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/ast", + "type": "prod", + }, + "@webassemblyjs/helper-buffer" => Edge { + "name": "@webassemblyjs/helper-buffer", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/helper-buffer", + "type": "prod", + }, + "@webassemblyjs/helper-wasm-bytecode" => Edge { + "name": "@webassemblyjs/helper-wasm-bytecode", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/helper-wasm-bytecode", + "type": "prod", + }, + "@webassemblyjs/helper-wasm-section" => Edge { + "name": "@webassemblyjs/helper-wasm-section", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/helper-wasm-section", + "type": "prod", + }, + "@webassemblyjs/wasm-gen" => Edge { + "name": "@webassemblyjs/wasm-gen", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/wasm-gen", + "type": "prod", + }, + "@webassemblyjs/wasm-opt" => Edge { + "name": "@webassemblyjs/wasm-opt", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/wasm-opt", + "type": "prod", + }, + "@webassemblyjs/wasm-parser" => Edge { + "name": "@webassemblyjs/wasm-parser", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/wasm-parser", + "type": "prod", + }, + "@webassemblyjs/wast-printer" => Edge { + "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", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", + }, + "@webassemblyjs/wasm-gen" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/@webassemblyjs/helper-wasm-section", + "name": "@webassemblyjs/wasm-gen", + "spec": "1.9.0", + "type": "prod", + }, + Edge { + "from": "node_modules/@webassemblyjs/wasm-edit", + "name": "@webassemblyjs/wasm-gen", + "spec": "1.9.0", + "type": "prod", + }, + Edge { + "from": "node_modules/@webassemblyjs/wasm-opt", + "name": "@webassemblyjs/wasm-gen", + "spec": "1.9.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "@webassemblyjs/ast" => Edge { + "name": "@webassemblyjs/ast", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/ast", + "type": "prod", + }, + "@webassemblyjs/helper-wasm-bytecode" => Edge { + "name": "@webassemblyjs/helper-wasm-bytecode", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/helper-wasm-bytecode", + "type": "prod", + }, + "@webassemblyjs/ieee754" => Edge { + "name": "@webassemblyjs/ieee754", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/ieee754", + "type": "prod", + }, + "@webassemblyjs/leb128" => Edge { + "name": "@webassemblyjs/leb128", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/leb128", + "type": "prod", + }, + "@webassemblyjs/utf8" => Edge { + "name": "@webassemblyjs/utf8", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/utf8", + "type": "prod", + }, + }, + "location": "node_modules/@webassemblyjs/wasm-gen", + "name": "@webassemblyjs/wasm-gen", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", + }, + "@webassemblyjs/wasm-opt" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/@webassemblyjs/wasm-edit", + "name": "@webassemblyjs/wasm-opt", + "spec": "1.9.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "@webassemblyjs/ast" => Edge { + "name": "@webassemblyjs/ast", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/ast", + "type": "prod", + }, + "@webassemblyjs/helper-buffer" => Edge { + "name": "@webassemblyjs/helper-buffer", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/helper-buffer", + "type": "prod", + }, + "@webassemblyjs/wasm-gen" => Edge { + "name": "@webassemblyjs/wasm-gen", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/wasm-gen", + "type": "prod", + }, + "@webassemblyjs/wasm-parser" => Edge { + "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", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", + }, + "@webassemblyjs/wasm-parser" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/@webassemblyjs/wasm-edit", + "name": "@webassemblyjs/wasm-parser", + "spec": "1.9.0", + "type": "prod", + }, + Edge { + "from": "node_modules/@webassemblyjs/wasm-opt", + "name": "@webassemblyjs/wasm-parser", + "spec": "1.9.0", + "type": "prod", + }, + Edge { + "from": "node_modules/webpack", + "name": "@webassemblyjs/wasm-parser", + "spec": "1.9.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "@webassemblyjs/ast" => Edge { + "name": "@webassemblyjs/ast", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/ast", + "type": "prod", + }, + "@webassemblyjs/helper-api-error" => Edge { + "name": "@webassemblyjs/helper-api-error", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/helper-api-error", + "type": "prod", + }, + "@webassemblyjs/helper-wasm-bytecode" => Edge { + "name": "@webassemblyjs/helper-wasm-bytecode", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/helper-wasm-bytecode", + "type": "prod", + }, + "@webassemblyjs/ieee754" => Edge { + "name": "@webassemblyjs/ieee754", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/ieee754", + "type": "prod", + }, + "@webassemblyjs/leb128" => Edge { + "name": "@webassemblyjs/leb128", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/leb128", + "type": "prod", + }, + "@webassemblyjs/utf8" => Edge { + "name": "@webassemblyjs/utf8", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/utf8", + "type": "prod", + }, + }, + "location": "node_modules/@webassemblyjs/wasm-parser", + "name": "@webassemblyjs/wasm-parser", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", + }, + "@webassemblyjs/wast-parser" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/@webassemblyjs/ast", + "name": "@webassemblyjs/wast-parser", + "spec": "1.9.0", + "type": "prod", + }, + Edge { + "from": "node_modules/@webassemblyjs/wast-printer", + "name": "@webassemblyjs/wast-parser", + "spec": "1.9.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "@webassemblyjs/ast" => Edge { + "name": "@webassemblyjs/ast", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/ast", + "type": "prod", + }, + "@webassemblyjs/floating-point-hex-parser" => Edge { + "name": "@webassemblyjs/floating-point-hex-parser", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/floating-point-hex-parser", + "type": "prod", + }, + "@webassemblyjs/helper-api-error" => Edge { + "name": "@webassemblyjs/helper-api-error", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/helper-api-error", + "type": "prod", + }, + "@webassemblyjs/helper-code-frame" => Edge { + "name": "@webassemblyjs/helper-code-frame", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/helper-code-frame", + "type": "prod", + }, + "@webassemblyjs/helper-fsm" => Edge { + "name": "@webassemblyjs/helper-fsm", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/helper-fsm", + "type": "prod", + }, + "@xtuc/long" => Edge { + "name": "@xtuc/long", + "spec": "4.2.2", + "to": "node_modules/@xtuc/long", + "type": "prod", + }, + }, + "location": "node_modules/@webassemblyjs/wast-parser", + "name": "@webassemblyjs/wast-parser", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", + }, + "@webassemblyjs/wast-printer" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/@webassemblyjs/helper-code-frame", + "name": "@webassemblyjs/wast-printer", + "spec": "1.9.0", + "type": "prod", + }, + Edge { + "from": "node_modules/@webassemblyjs/wasm-edit", + "name": "@webassemblyjs/wast-printer", + "spec": "1.9.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "@webassemblyjs/ast" => Edge { + "name": "@webassemblyjs/ast", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/ast", + "type": "prod", + }, + "@webassemblyjs/wast-parser" => Edge { + "name": "@webassemblyjs/wast-parser", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/wast-parser", + "type": "prod", + }, + "@xtuc/long" => Edge { + "name": "@xtuc/long", + "spec": "4.2.2", + "to": "node_modules/@xtuc/long", + "type": "prod", + }, + }, + "location": "node_modules/@webassemblyjs/wast-printer", + "name": "@webassemblyjs/wast-printer", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", + }, + "@xtuc/ieee754" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/@webassemblyjs/ieee754", + "name": "@xtuc/ieee754", + "spec": "^1.2.0", + "type": "prod", + }, + }, + "location": "node_modules/@xtuc/ieee754", + "name": "@xtuc/ieee754", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + }, + "@xtuc/long" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/@webassemblyjs/leb128", + "name": "@xtuc/long", + "spec": "4.2.2", + "type": "prod", + }, + Edge { + "from": "node_modules/@webassemblyjs/wast-parser", + "name": "@xtuc/long", + "spec": "4.2.2", + "type": "prod", + }, + Edge { + "from": "node_modules/@webassemblyjs/wast-printer", + "name": "@xtuc/long", + "spec": "4.2.2", + "type": "prod", + }, + }, + "location": "node_modules/@xtuc/long", + "name": "@xtuc/long", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + }, + "accepts" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/compression", + "name": "accepts", + "spec": "~1.3.5", + "type": "prod", + }, + Edge { + "from": "node_modules/express", + "name": "accepts", + "spec": "~1.3.7", + "type": "prod", + }, + Edge { + "from": "node_modules/serve-index", + "name": "accepts", + "spec": "~1.3.4", + "type": "prod", + }, + }, + "edgesOut": Map { + "mime-types" => Edge { + "name": "mime-types", + "spec": "~2.1.24", + "to": "node_modules/mime-types", + "type": "prod", + }, + "negotiator" => Edge { + "name": "negotiator", + "spec": "0.6.2", + "to": "node_modules/negotiator", + "type": "prod", + }, + }, + "location": "node_modules/accepts", + "name": "accepts", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + }, + "acorn" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/webpack", + "name": "acorn", + "spec": "^8.0.4", + "type": "prod", + }, + }, + "location": "node_modules/acorn", + "name": "acorn", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.0.4.tgz", + }, + "ajv" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/ajv-errors", + "name": "ajv", + "spec": ">=5.0.0", + "type": "peer", + }, + Edge { + "from": "node_modules/ajv-keywords", + "name": "ajv", + "spec": "^6.9.1", + "type": "peer", + }, + Edge { + "from": "node_modules/schema-utils", + "name": "ajv", + "spec": "^6.12.5", + "type": "prod", + }, + Edge { + "from": "node_modules/webpack-dev-server/node_modules/schema-utils", + "name": "ajv", + "spec": "^6.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "fast-deep-equal" => Edge { + "name": "fast-deep-equal", + "spec": "^3.1.1", + "to": "node_modules/fast-deep-equal", + "type": "prod", + }, + "fast-json-stable-stringify" => Edge { + "name": "fast-json-stable-stringify", + "spec": "^2.0.0", + "to": "node_modules/fast-json-stable-stringify", + "type": "prod", + }, + "json-schema-traverse" => Edge { + "name": "json-schema-traverse", + "spec": "^0.4.1", + "to": "node_modules/json-schema-traverse", + "type": "prod", + }, + "uri-js" => Edge { + "name": "uri-js", + "spec": "^4.2.2", + "to": "node_modules/uri-js", + "type": "prod", + }, + }, + "location": "node_modules/ajv", + "name": "ajv", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + }, + "ajv-errors" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/webpack-dev-server/node_modules/schema-utils", + "name": "ajv-errors", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "ajv" => Edge { + "name": "ajv", + "spec": ">=5.0.0", + "to": "node_modules/ajv", + "type": "peer", + }, + }, + "location": "node_modules/ajv-errors", + "name": "ajv-errors", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + }, + "ajv-keywords" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/schema-utils", + "name": "ajv-keywords", + "spec": "^3.5.2", + "type": "prod", + }, + Edge { + "from": "node_modules/webpack-dev-server/node_modules/schema-utils", + "name": "ajv-keywords", + "spec": "^3.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "ajv" => Edge { + "name": "ajv", + "spec": "^6.9.1", + "to": "node_modules/ajv", + "type": "peer", + }, + }, + "location": "node_modules/ajv-keywords", + "name": "ajv-keywords", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + }, + "ansi-colors" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/webpack-log", + "name": "ansi-colors", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "location": "node_modules/ansi-colors", + "name": "ansi-colors", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", + }, + "ansi-html" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/webpack-dev-server", + "name": "ansi-html", + "spec": "0.0.7", + "type": "prod", + }, + }, + "location": "node_modules/ansi-html", + "name": "ansi-html", + "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", + }, + "ansi-regex" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/strip-ansi", + "name": "ansi-regex", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/ansi-regex", + "name": "ansi-regex", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + }, + "ansi-styles" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/wrap-ansi", + "name": "ansi-styles", + "spec": "^3.2.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "color-convert" => Edge { + "name": "color-convert", + "spec": "^1.9.0", + "to": "node_modules/color-convert", + "type": "prod", + }, + }, + "location": "node_modules/ansi-styles", + "name": "ansi-styles", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + }, + "anymatch" => Node { + "children": Map { + "normalize-path" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/anymatch", + "name": "normalize-path", + "spec": "^2.1.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "remove-trailing-separator" => Edge { + "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", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + }, + }, + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/chokidar", + "name": "anymatch", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "micromatch" => Edge { + "name": "micromatch", + "spec": "^3.1.4", + "to": "node_modules/micromatch", + "type": "prod", + }, + "normalize-path" => Edge { + "name": "normalize-path", + "spec": "^2.1.1", + "to": "node_modules/anymatch/node_modules/normalize-path", + "type": "prod", + }, + }, + "location": "node_modules/anymatch", + "name": "anymatch", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + }, + "arr-diff" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/micromatch", + "name": "arr-diff", + "spec": "^4.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/nanomatch", + "name": "arr-diff", + "spec": "^4.0.0", + "type": "prod", + }, + }, + "location": "node_modules/arr-diff", + "name": "arr-diff", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + }, + "arr-flatten" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/braces", + "name": "arr-flatten", + "spec": "^1.1.0", + "type": "prod", + }, + }, + "location": "node_modules/arr-flatten", + "name": "arr-flatten", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + }, + "arr-union" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/class-utils", + "name": "arr-union", + "spec": "^3.1.0", + "type": "prod", + }, + Edge { + "from": "node_modules/union-value", + "name": "arr-union", + "spec": "^3.1.0", + "type": "prod", + }, + }, + "location": "node_modules/arr-union", + "name": "arr-union", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + }, + "array-flatten" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/bonjour", + "name": "array-flatten", + "spec": "^2.1.0", + "type": "prod", + }, + }, + "location": "node_modules/array-flatten", + "name": "array-flatten", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + }, + "array-union" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/globby", + "name": "array-union", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "array-uniq" => Edge { + "name": "array-uniq", + "spec": "^1.0.1", + "to": "node_modules/array-uniq", + "type": "prod", + }, + }, + "location": "node_modules/array-union", + "name": "array-union", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + }, + "array-uniq" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/array-union", + "name": "array-uniq", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "location": "node_modules/array-uniq", + "name": "array-uniq", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + }, + "array-unique" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/braces", + "name": "array-unique", + "spec": "^0.3.2", + "type": "prod", + }, + Edge { + "from": "node_modules/extglob", + "name": "array-unique", + "spec": "^0.3.2", + "type": "prod", + }, + Edge { + "from": "node_modules/micromatch", + "name": "array-unique", + "spec": "^0.3.2", + "type": "prod", + }, + Edge { + "from": "node_modules/nanomatch", + "name": "array-unique", + "spec": "^0.3.2", + "type": "prod", + }, + }, + "location": "node_modules/array-unique", + "name": "array-unique", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + }, + "assign-symbols" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/micromatch/node_modules/extend-shallow", + "name": "assign-symbols", + "spec": "^1.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/nanomatch/node_modules/extend-shallow", + "name": "assign-symbols", + "spec": "^1.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/regex-not/node_modules/extend-shallow", + "name": "assign-symbols", + "spec": "^1.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/split-string/node_modules/extend-shallow", + "name": "assign-symbols", + "spec": "^1.0.0", + "type": "prod", + }, + Edge { + "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", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + }, + "async" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/portfinder", + "name": "async", + "spec": "^2.6.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "lodash" => Edge { + "name": "lodash", + "spec": "^4.17.14", + "to": "node_modules/lodash", + "type": "prod", + }, + }, + "location": "node_modules/async", + "name": "async", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + }, + "async-each" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/chokidar", + "name": "async-each", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "location": "node_modules/async-each", + "name": "async-each", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + }, + "async-limiter" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/ws", + "name": "async-limiter", + "spec": "~1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/async-limiter", + "name": "async-limiter", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + }, + "atob" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/source-map-resolve", + "name": "atob", + "spec": "^2.1.2", + "type": "prod", + }, + }, + "location": "node_modules/atob", + "name": "atob", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + }, + "balanced-match" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/brace-expansion", + "name": "balanced-match", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/balanced-match", + "name": "balanced-match", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + }, + "base" => Node { + "children": Map { + "define-property" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/base", + "name": "define-property", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-descriptor" => Edge { + "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", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + }, + }, + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/snapdragon", + "name": "base", + "spec": "^0.11.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "cache-base" => Edge { + "name": "cache-base", + "spec": "^1.0.1", + "to": "node_modules/cache-base", + "type": "prod", + }, + "class-utils" => Edge { + "name": "class-utils", + "spec": "^0.3.5", + "to": "node_modules/class-utils", + "type": "prod", + }, + "component-emitter" => Edge { + "name": "component-emitter", + "spec": "^1.2.1", + "to": "node_modules/component-emitter", + "type": "prod", + }, + "define-property" => Edge { + "name": "define-property", + "spec": "^1.0.0", + "to": "node_modules/base/node_modules/define-property", + "type": "prod", + }, + "isobject" => Edge { + "name": "isobject", + "spec": "^3.0.1", + "to": "node_modules/isobject", + "type": "prod", + }, + "mixin-deep" => Edge { + "name": "mixin-deep", + "spec": "^1.2.0", + "to": "node_modules/mixin-deep", + "type": "prod", + }, + "pascalcase" => Edge { + "name": "pascalcase", + "spec": "^0.1.1", + "to": "node_modules/pascalcase", + "type": "prod", + }, + }, + "location": "node_modules/base", + "name": "base", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + }, + "batch" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/serve-index", + "name": "batch", + "spec": "0.6.1", + "type": "prod", + }, + }, + "location": "node_modules/batch", + "name": "batch", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + }, + "binary-extensions" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/is-binary-path", + "name": "binary-extensions", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/binary-extensions", + "name": "binary-extensions", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + }, + "bindings" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/fsevents", + "name": "bindings", + "spec": "^1.5.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "file-uri-to-path" => Edge { + "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, + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + }, + "body-parser" => Node { + "children": Map { + "bytes" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/body-parser", + "name": "bytes", + "spec": "3.1.0", + "type": "prod", + }, + }, + "location": "node_modules/body-parser/node_modules/bytes", + "name": "bytes", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + }, + "debug" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/body-parser", + "name": "debug", + "spec": "2.6.9", + "type": "prod", + }, + }, + "edgesOut": Map { + "ms" => Edge { + "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", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + }, + "ms" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + }, + }, + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/express", + "name": "body-parser", + "spec": "1.19.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "bytes" => Edge { + "name": "bytes", + "spec": "3.1.0", + "to": "node_modules/body-parser/node_modules/bytes", + "type": "prod", + }, + "content-type" => Edge { + "name": "content-type", + "spec": "~1.0.4", + "to": "node_modules/content-type", + "type": "prod", + }, + "debug" => Edge { + "name": "debug", + "spec": "2.6.9", + "to": "node_modules/body-parser/node_modules/debug", + "type": "prod", + }, + "depd" => Edge { + "name": "depd", + "spec": "~1.1.2", + "to": "node_modules/depd", + "type": "prod", + }, + "http-errors" => Edge { + "name": "http-errors", + "spec": "1.7.2", + "to": "node_modules/http-errors", + "type": "prod", + }, + "iconv-lite" => Edge { + "name": "iconv-lite", + "spec": "0.4.24", + "to": "node_modules/iconv-lite", + "type": "prod", + }, + "on-finished" => Edge { + "name": "on-finished", + "spec": "~2.3.0", + "to": "node_modules/on-finished", + "type": "prod", + }, + "qs" => Edge { + "name": "qs", + "spec": "6.7.0", + "to": "node_modules/qs", + "type": "prod", + }, + "raw-body" => Edge { + "name": "raw-body", + "spec": "2.4.0", + "to": "node_modules/raw-body", + "type": "prod", + }, + "type-is" => Edge { + "name": "type-is", + "spec": "~1.6.17", + "to": "node_modules/type-is", + "type": "prod", + }, + }, + "location": "node_modules/body-parser", + "name": "body-parser", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + }, + "bonjour" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/webpack-dev-server", + "name": "bonjour", + "spec": "^3.5.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "array-flatten" => Edge { + "name": "array-flatten", + "spec": "^2.1.0", + "to": "node_modules/array-flatten", + "type": "prod", + }, + "deep-equal" => Edge { + "name": "deep-equal", + "spec": "^1.0.1", + "to": "node_modules/deep-equal", + "type": "prod", + }, + "dns-equal" => Edge { + "name": "dns-equal", + "spec": "^1.0.0", + "to": "node_modules/dns-equal", + "type": "prod", + }, + "dns-txt" => Edge { + "name": "dns-txt", + "spec": "^2.0.2", + "to": "node_modules/dns-txt", + "type": "prod", + }, + "multicast-dns" => Edge { + "name": "multicast-dns", + "spec": "^6.0.1", + "to": "node_modules/multicast-dns", + "type": "prod", + }, + "multicast-dns-service-types" => Edge { + "name": "multicast-dns-service-types", + "spec": "^1.1.0", + "to": "node_modules/multicast-dns-service-types", + "type": "prod", + }, + }, + "location": "node_modules/bonjour", + "name": "bonjour", + "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", + }, + "brace-expansion" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/minimatch", + "name": "brace-expansion", + "spec": "^1.1.7", + "type": "prod", + }, + }, + "edgesOut": Map { + "balanced-match" => Edge { + "name": "balanced-match", + "spec": "^1.0.0", + "to": "node_modules/balanced-match", + "type": "prod", + }, + "concat-map" => Edge { + "name": "concat-map", + "spec": "0.0.1", + "to": "node_modules/concat-map", + "type": "prod", + }, + }, + "location": "node_modules/brace-expansion", + "name": "brace-expansion", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + }, + "braces" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/chokidar", + "name": "braces", + "spec": "^2.3.2", + "type": "prod", + }, + Edge { + "from": "node_modules/micromatch", + "name": "braces", + "spec": "^2.3.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "arr-flatten" => Edge { + "name": "arr-flatten", + "spec": "^1.1.0", + "to": "node_modules/arr-flatten", + "type": "prod", + }, + "array-unique" => Edge { + "name": "array-unique", + "spec": "^0.3.2", + "to": "node_modules/array-unique", + "type": "prod", + }, + "extend-shallow" => Edge { + "name": "extend-shallow", + "spec": "^2.0.1", + "to": "node_modules/extend-shallow", + "type": "prod", + }, + "fill-range" => Edge { + "name": "fill-range", + "spec": "^4.0.0", + "to": "node_modules/fill-range", + "type": "prod", + }, + "isobject" => Edge { + "name": "isobject", + "spec": "^3.0.1", + "to": "node_modules/isobject", + "type": "prod", + }, + "repeat-element" => Edge { + "name": "repeat-element", + "spec": "^1.1.2", + "to": "node_modules/repeat-element", + "type": "prod", + }, + "snapdragon" => Edge { + "name": "snapdragon", + "spec": "^0.8.1", + "to": "node_modules/snapdragon", + "type": "prod", + }, + "snapdragon-node" => Edge { + "name": "snapdragon-node", + "spec": "^2.0.1", + "to": "node_modules/snapdragon-node", + "type": "prod", + }, + "split-string" => Edge { + "name": "split-string", + "spec": "^3.0.2", + "to": "node_modules/split-string", + "type": "prod", + }, + "to-regex" => Edge { + "name": "to-regex", + "spec": "^3.0.1", + "to": "node_modules/to-regex", + "type": "prod", + }, + }, + "location": "node_modules/braces", + "name": "braces", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + }, + "browserslist" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/webpack", + "name": "browserslist", + "spec": "^4.14.5", + "type": "prod", + }, + }, + "edgesOut": Map { + "caniuse-lite" => Edge { + "name": "caniuse-lite", + "spec": "^1.0.30001135", + "to": "node_modules/caniuse-lite", + "type": "prod", + }, + "electron-to-chromium" => Edge { + "name": "electron-to-chromium", + "spec": "^1.3.571", + "to": "node_modules/electron-to-chromium", + "type": "prod", + }, + "escalade" => Edge { + "name": "escalade", + "spec": "^3.1.0", + "to": "node_modules/escalade", + "type": "prod", + }, + "node-releases" => Edge { + "name": "node-releases", + "spec": "^1.1.61", + "to": "node_modules/node-releases", + "type": "prod", + }, + }, + "location": "node_modules/browserslist", + "name": "browserslist", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.14.5.tgz", + }, + "buffer-from" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/source-map-support", + "name": "buffer-from", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/buffer-from", + "name": "buffer-from", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + }, + "buffer-indexof" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/dns-txt", + "name": "buffer-indexof", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/buffer-indexof", + "name": "buffer-indexof", + "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", + }, + "bytes" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/compression", + "name": "bytes", + "spec": "3.0.0", + "type": "prod", + }, + }, + "location": "node_modules/bytes", + "name": "bytes", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + }, + "cache-base" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/base", + "name": "cache-base", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "collection-visit" => Edge { + "name": "collection-visit", + "spec": "^1.0.0", + "to": "node_modules/collection-visit", + "type": "prod", + }, + "component-emitter" => Edge { + "name": "component-emitter", + "spec": "^1.2.1", + "to": "node_modules/component-emitter", + "type": "prod", + }, + "get-value" => Edge { + "name": "get-value", + "spec": "^2.0.6", + "to": "node_modules/get-value", + "type": "prod", + }, + "has-value" => Edge { + "name": "has-value", + "spec": "^1.0.0", + "to": "node_modules/has-value", + "type": "prod", + }, + "isobject" => Edge { + "name": "isobject", + "spec": "^3.0.1", + "to": "node_modules/isobject", + "type": "prod", + }, + "set-value" => Edge { + "name": "set-value", + "spec": "^2.0.0", + "to": "node_modules/set-value", + "type": "prod", + }, + "to-object-path" => Edge { + "name": "to-object-path", + "spec": "^0.3.0", + "to": "node_modules/to-object-path", + "type": "prod", + }, + "union-value" => Edge { + "name": "union-value", + "spec": "^1.0.0", + "to": "node_modules/union-value", + "type": "prod", + }, + "unset-value" => Edge { + "name": "unset-value", + "spec": "^1.0.0", + "to": "node_modules/unset-value", + "type": "prod", + }, + }, + "location": "node_modules/cache-base", + "name": "cache-base", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + }, + "camelcase" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/yargs-parser", + "name": "camelcase", + "spec": "^5.0.0", + "type": "prod", + }, + }, + "location": "node_modules/camelcase", + "name": "camelcase", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + }, + "caniuse-lite" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/browserslist", + "name": "caniuse-lite", + "spec": "^1.0.30001135", + "type": "prod", + }, + }, + "location": "node_modules/caniuse-lite", + "name": "caniuse-lite", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001148.tgz", + }, + "chokidar" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/webpack-dev-server", + "name": "chokidar", + "spec": "^2.1.8", + "type": "prod", + }, + }, + "edgesOut": Map { + "anymatch" => Edge { + "name": "anymatch", + "spec": "^2.0.0", + "to": "node_modules/anymatch", + "type": "prod", + }, + "async-each" => Edge { + "name": "async-each", + "spec": "^1.0.1", + "to": "node_modules/async-each", + "type": "prod", + }, + "braces" => Edge { + "name": "braces", + "spec": "^2.3.2", + "to": "node_modules/braces", + "type": "prod", + }, + "fsevents" => Edge { + "name": "fsevents", + "spec": "^1.2.7", + "to": "node_modules/fsevents", + "type": "optional", + }, + "glob-parent" => Edge { + "name": "glob-parent", + "spec": "^3.1.0", + "to": "node_modules/glob-parent", + "type": "prod", + }, + "inherits" => Edge { + "name": "inherits", + "spec": "^2.0.3", + "to": "node_modules/inherits", + "type": "prod", + }, + "is-binary-path" => Edge { + "name": "is-binary-path", + "spec": "^1.0.0", + "to": "node_modules/is-binary-path", + "type": "prod", + }, + "is-glob" => Edge { + "name": "is-glob", + "spec": "^4.0.0", + "to": "node_modules/is-glob", + "type": "prod", + }, + "normalize-path" => Edge { + "name": "normalize-path", + "spec": "^3.0.0", + "to": "node_modules/normalize-path", + "type": "prod", + }, + "path-is-absolute" => Edge { + "name": "path-is-absolute", + "spec": "^1.0.0", + "to": "node_modules/path-is-absolute", + "type": "prod", + }, + "readdirp" => Edge { + "name": "readdirp", + "spec": "^2.2.1", + "to": "node_modules/readdirp", + "type": "prod", + }, + "upath" => Edge { + "name": "upath", + "spec": "^1.1.1", + "to": "node_modules/upath", + "type": "prod", + }, + }, + "location": "node_modules/chokidar", + "name": "chokidar", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + }, + "chrome-trace-event" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/webpack", + "name": "chrome-trace-event", + "spec": "^1.0.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "tslib" => Edge { + "name": "tslib", + "spec": "^1.9.0", + "to": "node_modules/tslib", + "type": "prod", + }, + }, + "location": "node_modules/chrome-trace-event", + "name": "chrome-trace-event", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", + }, + "class-utils" => Node { + "children": Map { + "define-property" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/class-utils", + "name": "define-property", + "spec": "^0.2.5", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-descriptor" => Edge { + "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", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + }, + "is-accessor-descriptor" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/class-utils/node_modules/is-descriptor", + "name": "is-accessor-descriptor", + "spec": "^0.1.6", + "type": "prod", + }, + }, + "edgesOut": Map { + "kind-of" => Edge { + "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", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + }, + "is-data-descriptor" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/class-utils/node_modules/is-descriptor", + "name": "is-data-descriptor", + "spec": "^0.1.4", + "type": "prod", + }, + }, + "edgesOut": Map { + "kind-of" => Edge { + "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", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + }, + "is-descriptor" => Node { + "children": Map { + "kind-of" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + }, + }, + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/class-utils/node_modules/define-property", + "name": "is-descriptor", + "spec": "^0.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-accessor-descriptor" => Edge { + "name": "is-accessor-descriptor", + "spec": "^0.1.6", + "to": "node_modules/class-utils/node_modules/is-accessor-descriptor", + "type": "prod", + }, + "is-data-descriptor" => Edge { + "name": "is-data-descriptor", + "spec": "^0.1.4", + "to": "node_modules/class-utils/node_modules/is-data-descriptor", + "type": "prod", + }, + "kind-of" => Edge { + "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", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + }, + }, + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/base", + "name": "class-utils", + "spec": "^0.3.5", + "type": "prod", + }, + }, + "edgesOut": Map { + "arr-union" => Edge { + "name": "arr-union", + "spec": "^3.1.0", + "to": "node_modules/arr-union", + "type": "prod", + }, + "define-property" => Edge { + "name": "define-property", + "spec": "^0.2.5", + "to": "node_modules/class-utils/node_modules/define-property", + "type": "prod", + }, + "isobject" => Edge { + "name": "isobject", + "spec": "^3.0.0", + "to": "node_modules/isobject", + "type": "prod", + }, + "static-extend" => Edge { + "name": "static-extend", + "spec": "^0.1.1", + "to": "node_modules/static-extend", + "type": "prod", + }, + }, + "location": "node_modules/class-utils", + "name": "class-utils", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + }, + "cliui" => Node { + "children": Map { + "ansi-regex" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + }, + "strip-ansi" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/cliui", + "name": "strip-ansi", + "spec": "^5.2.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "ansi-regex" => Edge { + "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", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + }, + }, + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/yargs", + "name": "cliui", + "spec": "^5.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "string-width" => Edge { + "name": "string-width", + "spec": "^3.1.0", + "to": "node_modules/string-width", + "type": "prod", + }, + "strip-ansi" => Edge { + "name": "strip-ansi", + "spec": "^5.2.0", + "to": "node_modules/cliui/node_modules/strip-ansi", + "type": "prod", + }, + "wrap-ansi" => Edge { + "name": "wrap-ansi", + "spec": "^5.1.0", + "to": "node_modules/wrap-ansi", + "type": "prod", + }, + }, + "location": "node_modules/cliui", + "name": "cliui", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + }, + "collection-visit" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/cache-base", + "name": "collection-visit", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "map-visit" => Edge { + "name": "map-visit", + "spec": "^1.0.0", + "to": "node_modules/map-visit", + "type": "prod", + }, + "object-visit" => Edge { + "name": "object-visit", + "spec": "^1.0.0", + "to": "node_modules/object-visit", + "type": "prod", + }, + }, + "location": "node_modules/collection-visit", + "name": "collection-visit", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + }, + "color-convert" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/ansi-styles", + "name": "color-convert", + "spec": "^1.9.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "color-name" => Edge { + "name": "color-name", + "spec": "1.1.3", + "to": "node_modules/color-name", + "type": "prod", + }, + }, + "location": "node_modules/color-convert", + "name": "color-convert", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + }, + "color-name" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/color-convert", + "name": "color-name", + "spec": "1.1.3", + "type": "prod", + }, + }, + "location": "node_modules/color-name", + "name": "color-name", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + }, + "commander" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/terser", + "name": "commander", + "spec": "^2.20.0", + "type": "prod", + }, + }, + "location": "node_modules/commander", + "name": "commander", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + }, + "component-emitter" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/base", + "name": "component-emitter", + "spec": "^1.2.1", + "type": "prod", + }, + Edge { + "from": "node_modules/cache-base", + "name": "component-emitter", + "spec": "^1.2.1", + "type": "prod", + }, + }, + "location": "node_modules/component-emitter", + "name": "component-emitter", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + }, + "compressible" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/compression", + "name": "compressible", + "spec": "~2.0.16", + "type": "prod", + }, + }, + "edgesOut": Map { + "mime-db" => Edge { + "name": "mime-db", + "spec": ">= 1.43.0 < 2", + "to": "node_modules/mime-db", + "type": "prod", + }, + }, + "location": "node_modules/compressible", + "name": "compressible", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + }, + "compression" => Node { + "children": Map { + "debug" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/compression", + "name": "debug", + "spec": "2.6.9", + "type": "prod", + }, + }, + "edgesOut": Map { + "ms" => Edge { + "name": "ms", + "spec": "2.0.0", + "to": "node_modules/compression/node_modules/ms", + "type": "prod", + }, + }, + "location": "node_modules/compression/node_modules/debug", + "name": "debug", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + }, + "ms" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/compression/node_modules/debug", + "name": "ms", + "spec": "2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/compression/node_modules/ms", + "name": "ms", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + }, + "safe-buffer" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/compression", + "name": "safe-buffer", + "spec": "5.1.2", + "type": "prod", + }, + }, + "location": "node_modules/compression/node_modules/safe-buffer", + "name": "safe-buffer", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + }, + }, + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/webpack-dev-server", + "name": "compression", + "spec": "^1.7.4", + "type": "prod", + }, + }, + "edgesOut": Map { + "accepts" => Edge { + "name": "accepts", + "spec": "~1.3.5", + "to": "node_modules/accepts", + "type": "prod", + }, + "bytes" => Edge { + "name": "bytes", + "spec": "3.0.0", + "to": "node_modules/bytes", + "type": "prod", + }, + "compressible" => Edge { + "name": "compressible", + "spec": "~2.0.16", + "to": "node_modules/compressible", + "type": "prod", + }, + "debug" => Edge { + "name": "debug", + "spec": "2.6.9", + "to": "node_modules/compression/node_modules/debug", + "type": "prod", + }, + "on-headers" => Edge { + "name": "on-headers", + "spec": "~1.0.2", + "to": "node_modules/on-headers", + "type": "prod", + }, + "safe-buffer" => Edge { + "name": "safe-buffer", + "spec": "5.1.2", + "to": "node_modules/compression/node_modules/safe-buffer", + "type": "prod", + }, + "vary" => Edge { + "name": "vary", + "spec": "~1.1.2", + "to": "node_modules/vary", + "type": "prod", + }, + }, + "location": "node_modules/compression", + "name": "compression", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + }, + "concat-map" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/brace-expansion", + "name": "concat-map", + "spec": "0.0.1", + "type": "prod", + }, + }, + "location": "node_modules/concat-map", + "name": "concat-map", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + }, + "connect-history-api-fallback" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", + }, + "content-disposition" => Node { + "children": Map { + "safe-buffer" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + }, + }, + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/express", + "name": "content-disposition", + "spec": "0.5.3", + "type": "prod", + }, + }, + "edgesOut": Map { + "safe-buffer" => Edge { + "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", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + }, + "content-type" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/body-parser", + "name": "content-type", + "spec": "~1.0.4", + "type": "prod", + }, + Edge { + "from": "node_modules/express", + "name": "content-type", + "spec": "~1.0.4", + "type": "prod", + }, + }, + "location": "node_modules/content-type", + "name": "content-type", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + }, + "cookie" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/express", + "name": "cookie", + "spec": "0.4.0", + "type": "prod", + }, + }, + "location": "node_modules/cookie", + "name": "cookie", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + }, + "cookie-signature" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/express", + "name": "cookie-signature", + "spec": "1.0.6", + "type": "prod", + }, + }, + "location": "node_modules/cookie-signature", + "name": "cookie-signature", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + }, + "copy-descriptor" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/object-copy", + "name": "copy-descriptor", + "spec": "^0.1.0", + "type": "prod", + }, + }, + "location": "node_modules/copy-descriptor", + "name": "copy-descriptor", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + }, + "core-util-is" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + }, + "cross-spawn" => Node { + "children": Map { + "semver" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/cross-spawn", + "name": "semver", + "spec": "^5.5.0", + "type": "prod", + }, + }, + "location": "node_modules/cross-spawn/node_modules/semver", + "name": "semver", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + }, + }, + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/execa", + "name": "cross-spawn", + "spec": "^6.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "nice-try" => Edge { + "name": "nice-try", + "spec": "^1.0.4", + "to": "node_modules/nice-try", + "type": "prod", + }, + "path-key" => Edge { + "name": "path-key", + "spec": "^2.0.1", + "to": "node_modules/path-key", + "type": "prod", + }, + "semver" => Edge { + "name": "semver", + "spec": "^5.5.0", + "to": "node_modules/cross-spawn/node_modules/semver", + "type": "prod", + }, + "shebang-command" => Edge { + "name": "shebang-command", + "spec": "^1.2.0", + "to": "node_modules/shebang-command", + "type": "prod", + }, + "which" => Edge { + "name": "which", + "spec": "^1.2.9", + "to": "node_modules/which", + "type": "prod", + }, + }, + "location": "node_modules/cross-spawn", + "name": "cross-spawn", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + }, + "debug" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/spdy", + "name": "debug", + "spec": "^4.1.0", + "type": "prod", + }, + Edge { + "from": "node_modules/spdy-transport", + "name": "debug", + "spec": "^4.1.0", + "type": "prod", + }, + Edge { + "from": "node_modules/webpack-dev-server", + "name": "debug", + "spec": "^4.1.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "ms" => Edge { + "name": "ms", + "spec": "2.1.2", + "to": "node_modules/ms", + "type": "prod", + }, + }, + "location": "node_modules/debug", + "name": "debug", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", + }, + "decamelize" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/yargs-parser", + "name": "decamelize", + "spec": "^1.2.0", + "type": "prod", + }, + }, + "location": "node_modules/decamelize", + "name": "decamelize", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + }, + "decode-uri-component" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + }, + "deep-equal" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/bonjour", + "name": "deep-equal", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-arguments" => Edge { + "name": "is-arguments", + "spec": "^1.0.4", + "to": "node_modules/is-arguments", + "type": "prod", + }, + "is-date-object" => Edge { + "name": "is-date-object", + "spec": "^1.0.1", + "to": "node_modules/is-date-object", + "type": "prod", + }, + "is-regex" => Edge { + "name": "is-regex", + "spec": "^1.0.4", + "to": "node_modules/is-regex", + "type": "prod", + }, + "object-is" => Edge { + "name": "object-is", + "spec": "^1.0.1", + "to": "node_modules/object-is", + "type": "prod", + }, + "object-keys" => Edge { + "name": "object-keys", + "spec": "^1.1.1", + "to": "node_modules/object-keys", + "type": "prod", + }, + "regexp.prototype.flags" => Edge { + "name": "regexp.prototype.flags", + "spec": "^1.2.0", + "to": "node_modules/regexp.prototype.flags", + "type": "prod", + }, + }, + "location": "node_modules/deep-equal", + "name": "deep-equal", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", + }, + "default-gateway" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/internal-ip", + "name": "default-gateway", + "spec": "^4.2.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "execa" => Edge { + "name": "execa", + "spec": "^1.0.0", + "to": "node_modules/execa", + "type": "prod", + }, + "ip-regex" => Edge { + "name": "ip-regex", + "spec": "^2.1.0", + "to": "node_modules/ip-regex", + "type": "prod", + }, + }, + "location": "node_modules/default-gateway", + "name": "default-gateway", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", + }, + "define-properties" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/object-is", + "name": "define-properties", + "spec": "^1.1.3", + "type": "prod", + }, + Edge { + "from": "node_modules/object.assign", + "name": "define-properties", + "spec": "^1.1.3", + "type": "prod", + }, + Edge { + "from": "node_modules/regexp.prototype.flags", + "name": "define-properties", + "spec": "^1.1.3", + "type": "prod", + }, + Edge { + "from": "node_modules/string.prototype.trimend", + "name": "define-properties", + "spec": "^1.1.3", + "type": "prod", + }, + Edge { + "from": "node_modules/string.prototype.trimstart", + "name": "define-properties", + "spec": "^1.1.3", + "type": "prod", + }, + }, + "edgesOut": Map { + "object-keys" => Edge { + "name": "object-keys", + "spec": "^1.0.12", + "to": "node_modules/object-keys", + "type": "prod", + }, + }, + "location": "node_modules/define-properties", + "name": "define-properties", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + }, + "define-property" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/micromatch", + "name": "define-property", + "spec": "^2.0.2", + "type": "prod", + }, + Edge { + "from": "node_modules/nanomatch", + "name": "define-property", + "spec": "^2.0.2", + "type": "prod", + }, + Edge { + "from": "node_modules/to-regex", + "name": "define-property", + "spec": "^2.0.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-descriptor" => Edge { + "name": "is-descriptor", + "spec": "^1.0.2", + "to": "node_modules/is-descriptor", + "type": "prod", + }, + "isobject" => Edge { + "name": "isobject", + "spec": "^3.0.1", + "to": "node_modules/isobject", + "type": "prod", + }, + }, + "location": "node_modules/define-property", + "name": "define-property", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + }, + "del" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/webpack-dev-server", + "name": "del", + "spec": "^4.1.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "@types/glob" => Edge { + "name": "@types/glob", + "spec": "^7.1.1", + "to": "node_modules/@types/glob", + "type": "prod", + }, + "globby" => Edge { + "name": "globby", + "spec": "^6.1.0", + "to": "node_modules/globby", + "type": "prod", + }, + "is-path-cwd" => Edge { + "name": "is-path-cwd", + "spec": "^2.0.0", + "to": "node_modules/is-path-cwd", + "type": "prod", + }, + "is-path-in-cwd" => Edge { + "name": "is-path-in-cwd", + "spec": "^2.0.0", + "to": "node_modules/is-path-in-cwd", + "type": "prod", + }, + "p-map" => Edge { + "name": "p-map", + "spec": "^2.0.0", + "to": "node_modules/p-map", + "type": "prod", + }, + "pify" => Edge { + "name": "pify", + "spec": "^4.0.1", + "to": "node_modules/pify", + "type": "prod", + }, + "rimraf" => Edge { + "name": "rimraf", + "spec": "^2.6.3", + "to": "node_modules/rimraf", + "type": "prod", + }, + }, + "location": "node_modules/del", + "name": "del", + "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", + }, + "depd" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/body-parser", + "name": "depd", + "spec": "~1.1.2", + "type": "prod", + }, + Edge { + "from": "node_modules/express", + "name": "depd", + "spec": "~1.1.2", + "type": "prod", + }, + Edge { + "from": "node_modules/http-errors", + "name": "depd", + "spec": "~1.1.2", + "type": "prod", + }, + Edge { + "from": "node_modules/send", + "name": "depd", + "spec": "~1.1.2", + "type": "prod", + }, + Edge { + "from": "node_modules/serve-index/node_modules/http-errors", + "name": "depd", + "spec": "~1.1.2", + "type": "prod", + }, + }, + "location": "node_modules/depd", + "name": "depd", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + }, + "destroy" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/send", + "name": "destroy", + "spec": "~1.0.4", + "type": "prod", + }, + }, + "location": "node_modules/destroy", + "name": "destroy", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + }, + "detect-node" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/spdy-transport", + "name": "detect-node", + "spec": "^2.0.4", + "type": "prod", + }, + }, + "location": "node_modules/detect-node", + "name": "detect-node", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", + }, + "dns-equal" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/bonjour", + "name": "dns-equal", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/dns-equal", + "name": "dns-equal", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + }, + "dns-packet" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/multicast-dns", + "name": "dns-packet", + "spec": "^1.3.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "ip" => Edge { + "name": "ip", + "spec": "^1.1.0", + "to": "node_modules/ip", + "type": "prod", + }, + "safe-buffer" => Edge { + "name": "safe-buffer", + "spec": "^5.0.1", + "to": "node_modules/safe-buffer", + "type": "prod", + }, + }, + "location": "node_modules/dns-packet", + "name": "dns-packet", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", + }, + "dns-txt" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/bonjour", + "name": "dns-txt", + "spec": "^2.0.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "buffer-indexof" => Edge { + "name": "buffer-indexof", + "spec": "^1.0.0", + "to": "node_modules/buffer-indexof", + "type": "prod", + }, + }, + "location": "node_modules/dns-txt", + "name": "dns-txt", + "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", + }, + "ee-first" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/on-finished", + "name": "ee-first", + "spec": "1.1.1", + "type": "prod", + }, + }, + "location": "node_modules/ee-first", + "name": "ee-first", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + }, + "electron-to-chromium" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/browserslist", + "name": "electron-to-chromium", + "spec": "^1.3.571", + "type": "prod", + }, + }, + "location": "node_modules/electron-to-chromium", + "name": "electron-to-chromium", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.582.tgz", + }, + "emoji-regex" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/string-width", + "name": "emoji-regex", + "spec": "^7.0.1", + "type": "prod", + }, + }, + "location": "node_modules/emoji-regex", + "name": "emoji-regex", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + }, + "encodeurl" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/express", + "name": "encodeurl", + "spec": "~1.0.2", + "type": "prod", + }, + Edge { + "from": "node_modules/finalhandler", + "name": "encodeurl", + "spec": "~1.0.2", + "type": "prod", + }, + Edge { + "from": "node_modules/send", + "name": "encodeurl", + "spec": "~1.0.2", + "type": "prod", + }, + Edge { + "from": "node_modules/serve-static", + "name": "encodeurl", + "spec": "~1.0.2", + "type": "prod", + }, + }, + "location": "node_modules/encodeurl", + "name": "encodeurl", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + }, + "end-of-stream" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/pump", + "name": "end-of-stream", + "spec": "^1.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "once" => Edge { + "name": "once", + "spec": "^1.4.0", + "to": "node_modules/once", + "type": "prod", + }, + }, + "location": "node_modules/end-of-stream", + "name": "end-of-stream", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + }, + "enhanced-resolve" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/webpack", + "name": "enhanced-resolve", + "spec": "^5.3.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "graceful-fs" => Edge { + "name": "graceful-fs", + "spec": "^4.2.4", + "to": "node_modules/graceful-fs", + "type": "prod", + }, + "tapable" => Edge { + "name": "tapable", + "spec": "^2.0.0", + "to": "node_modules/tapable", + "type": "prod", + }, + }, + "location": "node_modules/enhanced-resolve", + "name": "enhanced-resolve", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.3.1.tgz", + }, + "errno" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/memory-fs", + "name": "errno", + "spec": "^0.1.3", + "type": "prod", + }, + }, + "edgesOut": Map { + "prr" => Edge { + "name": "prr", + "spec": "~1.0.1", + "to": "node_modules/prr", + "type": "prod", + }, + }, + "location": "node_modules/errno", + "name": "errno", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", + }, + "es-abstract" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/object-is", + "name": "es-abstract", + "spec": "^1.18.0-next.1", + "type": "prod", + }, + Edge { + "from": "node_modules/object.assign", + "name": "es-abstract", + "spec": "^1.18.0-next.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "es-to-primitive" => Edge { + "name": "es-to-primitive", + "spec": "^1.2.1", + "to": "node_modules/es-to-primitive", + "type": "prod", + }, + "function-bind" => Edge { + "name": "function-bind", + "spec": "^1.1.1", + "to": "node_modules/function-bind", + "type": "prod", + }, + "has" => Edge { + "name": "has", + "spec": "^1.0.3", + "to": "node_modules/has", + "type": "prod", + }, + "has-symbols" => Edge { + "name": "has-symbols", + "spec": "^1.0.1", + "to": "node_modules/has-symbols", + "type": "prod", + }, + "is-callable" => Edge { + "name": "is-callable", + "spec": "^1.2.2", + "to": "node_modules/is-callable", + "type": "prod", + }, + "is-negative-zero" => Edge { + "name": "is-negative-zero", + "spec": "^2.0.0", + "to": "node_modules/is-negative-zero", + "type": "prod", + }, + "is-regex" => Edge { + "name": "is-regex", + "spec": "^1.1.1", + "to": "node_modules/is-regex", + "type": "prod", + }, + "object-inspect" => Edge { + "name": "object-inspect", + "spec": "^1.8.0", + "to": "node_modules/object-inspect", + "type": "prod", + }, + "object-keys" => Edge { + "name": "object-keys", + "spec": "^1.1.1", + "to": "node_modules/object-keys", + "type": "prod", + }, + "object.assign" => Edge { + "name": "object.assign", + "spec": "^4.1.1", + "to": "node_modules/object.assign", + "type": "prod", + }, + "string.prototype.trimend" => Edge { + "name": "string.prototype.trimend", + "spec": "^1.0.1", + "to": "node_modules/string.prototype.trimend", + "type": "prod", + }, + "string.prototype.trimstart" => Edge { + "name": "string.prototype.trimstart", + "spec": "^1.0.1", + "to": "node_modules/string.prototype.trimstart", + "type": "prod", + }, + }, + "location": "node_modules/es-abstract", + "name": "es-abstract", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", + }, + "es-to-primitive" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/es-abstract", + "name": "es-to-primitive", + "spec": "^1.2.1", + "type": "prod", + }, + Edge { + "from": "node_modules/regexp.prototype.flags/node_modules/es-abstract", + "name": "es-to-primitive", + "spec": "^1.2.1", + "type": "prod", + }, + Edge { + "from": "node_modules/string.prototype.trimend/node_modules/es-abstract", + "name": "es-to-primitive", + "spec": "^1.2.1", + "type": "prod", + }, + Edge { + "from": "node_modules/string.prototype.trimstart/node_modules/es-abstract", + "name": "es-to-primitive", + "spec": "^1.2.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-callable" => Edge { + "name": "is-callable", + "spec": "^1.1.4", + "to": "node_modules/is-callable", + "type": "prod", + }, + "is-date-object" => Edge { + "name": "is-date-object", + "spec": "^1.0.1", + "to": "node_modules/is-date-object", + "type": "prod", + }, + "is-symbol" => Edge { + "name": "is-symbol", + "spec": "^1.0.2", + "to": "node_modules/is-symbol", + "type": "prod", + }, + }, + "location": "node_modules/es-to-primitive", + "name": "es-to-primitive", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + }, + "escalade" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/browserslist", + "name": "escalade", + "spec": "^3.1.0", + "type": "prod", + }, + }, + "location": "node_modules/escalade", + "name": "escalade", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + }, + "escape-html" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/express", + "name": "escape-html", + "spec": "~1.0.3", + "type": "prod", + }, + Edge { + "from": "node_modules/finalhandler", + "name": "escape-html", + "spec": "~1.0.3", + "type": "prod", + }, + Edge { + "from": "node_modules/send", + "name": "escape-html", + "spec": "~1.0.3", + "type": "prod", + }, + Edge { + "from": "node_modules/serve-index", + "name": "escape-html", + "spec": "~1.0.3", + "type": "prod", + }, + Edge { + "from": "node_modules/serve-static", + "name": "escape-html", + "spec": "~1.0.3", + "type": "prod", + }, + }, + "location": "node_modules/escape-html", + "name": "escape-html", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + }, + "eslint-scope" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/webpack", + "name": "eslint-scope", + "spec": "^5.1.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "esrecurse" => Edge { + "name": "esrecurse", + "spec": "^4.3.0", + "to": "node_modules/esrecurse", + "type": "prod", + }, + "estraverse" => Edge { + "name": "estraverse", + "spec": "^4.1.1", + "to": "node_modules/estraverse", + "type": "prod", + }, + }, + "location": "node_modules/eslint-scope", + "name": "eslint-scope", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + }, + "esrecurse" => Node { + "children": Map { + "estraverse" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/esrecurse", + "name": "estraverse", + "spec": "^5.2.0", + "type": "prod", + }, + }, + "location": "node_modules/esrecurse/node_modules/estraverse", + "name": "estraverse", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + }, + }, + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/eslint-scope", + "name": "esrecurse", + "spec": "^4.3.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "estraverse" => Edge { + "name": "estraverse", + "spec": "^5.2.0", + "to": "node_modules/esrecurse/node_modules/estraverse", + "type": "prod", + }, + }, + "location": "node_modules/esrecurse", + "name": "esrecurse", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + }, + "estraverse" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/eslint-scope", + "name": "estraverse", + "spec": "^4.1.1", + "type": "prod", + }, + }, + "location": "node_modules/estraverse", + "name": "estraverse", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + }, + "etag" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/express", + "name": "etag", + "spec": "~1.8.1", + "type": "prod", + }, + Edge { + "from": "node_modules/send", + "name": "etag", + "spec": "~1.8.1", + "type": "prod", + }, + }, + "location": "node_modules/etag", + "name": "etag", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + }, + "eventemitter3" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/http-proxy", + "name": "eventemitter3", + "spec": "^4.0.0", + "type": "prod", + }, + }, + "location": "node_modules/eventemitter3", + "name": "eventemitter3", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + }, + "events" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/webpack", + "name": "events", + "spec": "^3.2.0", + "type": "prod", + }, + }, + "location": "node_modules/events", + "name": "events", + "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz", + }, + "eventsource" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/sockjs-client", + "name": "eventsource", + "spec": "^1.0.7", + "type": "prod", + }, + }, + "edgesOut": Map { + "original" => Edge { + "name": "original", + "spec": "^1.0.0", + "to": "node_modules/original", + "type": "prod", + }, + }, + "location": "node_modules/eventsource", + "name": "eventsource", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz", + }, + "execa" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/default-gateway", + "name": "execa", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "cross-spawn" => Edge { + "name": "cross-spawn", + "spec": "^6.0.0", + "to": "node_modules/cross-spawn", + "type": "prod", + }, + "get-stream" => Edge { + "name": "get-stream", + "spec": "^4.0.0", + "to": "node_modules/get-stream", + "type": "prod", + }, + "is-stream" => Edge { + "name": "is-stream", + "spec": "^1.1.0", + "to": "node_modules/is-stream", + "type": "prod", + }, + "npm-run-path" => Edge { + "name": "npm-run-path", + "spec": "^2.0.0", + "to": "node_modules/npm-run-path", + "type": "prod", + }, + "p-finally" => Edge { + "name": "p-finally", + "spec": "^1.0.0", + "to": "node_modules/p-finally", + "type": "prod", + }, + "signal-exit" => Edge { + "name": "signal-exit", + "spec": "^3.0.0", + "to": "node_modules/signal-exit", + "type": "prod", + }, + "strip-eof" => Edge { + "name": "strip-eof", + "spec": "^1.0.0", + "to": "node_modules/strip-eof", + "type": "prod", + }, + }, + "location": "node_modules/execa", + "name": "execa", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + }, + "expand-brackets" => Node { + "children": Map { + "debug" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/expand-brackets", + "name": "debug", + "spec": "^2.3.3", + "type": "prod", + }, + }, + "edgesOut": Map { + "ms" => Edge { + "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", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + }, + "define-property" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/expand-brackets", + "name": "define-property", + "spec": "^0.2.5", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-descriptor" => Edge { + "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", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + }, + "is-accessor-descriptor" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/expand-brackets/node_modules/is-descriptor", + "name": "is-accessor-descriptor", + "spec": "^0.1.6", + "type": "prod", + }, + }, + "edgesOut": Map { + "kind-of" => Edge { + "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", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + }, + "is-data-descriptor" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/expand-brackets/node_modules/is-descriptor", + "name": "is-data-descriptor", + "spec": "^0.1.4", + "type": "prod", + }, + }, + "edgesOut": Map { + "kind-of" => Edge { + "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", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + }, + "is-descriptor" => Node { + "children": Map { + "kind-of" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + }, + }, + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/expand-brackets/node_modules/define-property", + "name": "is-descriptor", + "spec": "^0.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-accessor-descriptor" => Edge { + "name": "is-accessor-descriptor", + "spec": "^0.1.6", + "to": "node_modules/expand-brackets/node_modules/is-accessor-descriptor", + "type": "prod", + }, + "is-data-descriptor" => Edge { + "name": "is-data-descriptor", + "spec": "^0.1.4", + "to": "node_modules/expand-brackets/node_modules/is-data-descriptor", + "type": "prod", + }, + "kind-of" => Edge { + "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", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + }, + "ms" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + }, + }, + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/extglob", + "name": "expand-brackets", + "spec": "^2.1.4", + "type": "prod", + }, + }, + "edgesOut": Map { + "debug" => Edge { + "name": "debug", + "spec": "^2.3.3", + "to": "node_modules/expand-brackets/node_modules/debug", + "type": "prod", + }, + "define-property" => Edge { + "name": "define-property", + "spec": "^0.2.5", + "to": "node_modules/expand-brackets/node_modules/define-property", + "type": "prod", + }, + "extend-shallow" => Edge { + "name": "extend-shallow", + "spec": "^2.0.1", + "to": "node_modules/extend-shallow", + "type": "prod", + }, + "posix-character-classes" => Edge { + "name": "posix-character-classes", + "spec": "^0.1.0", + "to": "node_modules/posix-character-classes", + "type": "prod", + }, + "regex-not" => Edge { + "name": "regex-not", + "spec": "^1.0.0", + "to": "node_modules/regex-not", + "type": "prod", + }, + "snapdragon" => Edge { + "name": "snapdragon", + "spec": "^0.8.1", + "to": "node_modules/snapdragon", + "type": "prod", + }, + "to-regex" => Edge { + "name": "to-regex", + "spec": "^3.0.1", + "to": "node_modules/to-regex", + "type": "prod", + }, + }, + "location": "node_modules/expand-brackets", + "name": "expand-brackets", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + }, + "express" => Node { + "children": Map { + "array-flatten" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/express", + "name": "array-flatten", + "spec": "1.1.1", + "type": "prod", + }, + }, + "location": "node_modules/express/node_modules/array-flatten", + "name": "array-flatten", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + }, + "debug" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/express", + "name": "debug", + "spec": "2.6.9", + "type": "prod", + }, + }, + "edgesOut": Map { + "ms" => Edge { + "name": "ms", + "spec": "2.0.0", + "to": "node_modules/express/node_modules/ms", + "type": "prod", + }, + }, + "location": "node_modules/express/node_modules/debug", + "name": "debug", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + }, + "ms" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/express/node_modules/debug", + "name": "ms", + "spec": "2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/express/node_modules/ms", + "name": "ms", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + }, + "safe-buffer" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/express", + "name": "safe-buffer", + "spec": "5.1.2", + "type": "prod", + }, + }, + "location": "node_modules/express/node_modules/safe-buffer", + "name": "safe-buffer", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + }, + }, + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/webpack-dev-server", + "name": "express", + "spec": "^4.17.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "accepts" => Edge { + "name": "accepts", + "spec": "~1.3.7", + "to": "node_modules/accepts", + "type": "prod", + }, + "array-flatten" => Edge { + "name": "array-flatten", + "spec": "1.1.1", + "to": "node_modules/express/node_modules/array-flatten", + "type": "prod", + }, + "body-parser" => Edge { + "name": "body-parser", + "spec": "1.19.0", + "to": "node_modules/body-parser", + "type": "prod", + }, + "content-disposition" => Edge { + "name": "content-disposition", + "spec": "0.5.3", + "to": "node_modules/content-disposition", + "type": "prod", + }, + "content-type" => Edge { + "name": "content-type", + "spec": "~1.0.4", + "to": "node_modules/content-type", + "type": "prod", + }, + "cookie" => Edge { + "name": "cookie", + "spec": "0.4.0", + "to": "node_modules/cookie", + "type": "prod", + }, + "cookie-signature" => Edge { + "name": "cookie-signature", + "spec": "1.0.6", + "to": "node_modules/cookie-signature", + "type": "prod", + }, + "debug" => Edge { + "name": "debug", + "spec": "2.6.9", + "to": "node_modules/express/node_modules/debug", + "type": "prod", + }, + "depd" => Edge { + "name": "depd", + "spec": "~1.1.2", + "to": "node_modules/depd", + "type": "prod", + }, + "encodeurl" => Edge { + "name": "encodeurl", + "spec": "~1.0.2", + "to": "node_modules/encodeurl", + "type": "prod", + }, + "escape-html" => Edge { + "name": "escape-html", + "spec": "~1.0.3", + "to": "node_modules/escape-html", + "type": "prod", + }, + "etag" => Edge { + "name": "etag", + "spec": "~1.8.1", + "to": "node_modules/etag", + "type": "prod", + }, + "finalhandler" => Edge { + "name": "finalhandler", + "spec": "~1.1.2", + "to": "node_modules/finalhandler", + "type": "prod", + }, + "fresh" => Edge { + "name": "fresh", + "spec": "0.5.2", + "to": "node_modules/fresh", + "type": "prod", + }, + "merge-descriptors" => Edge { + "name": "merge-descriptors", + "spec": "1.0.1", + "to": "node_modules/merge-descriptors", + "type": "prod", + }, + "methods" => Edge { + "name": "methods", + "spec": "~1.1.2", + "to": "node_modules/methods", + "type": "prod", + }, + "on-finished" => Edge { + "name": "on-finished", + "spec": "~2.3.0", + "to": "node_modules/on-finished", + "type": "prod", + }, + "parseurl" => Edge { + "name": "parseurl", + "spec": "~1.3.3", + "to": "node_modules/parseurl", + "type": "prod", + }, + "path-to-regexp" => Edge { + "name": "path-to-regexp", + "spec": "0.1.7", + "to": "node_modules/path-to-regexp", + "type": "prod", + }, + "proxy-addr" => Edge { + "name": "proxy-addr", + "spec": "~2.0.5", + "to": "node_modules/proxy-addr", + "type": "prod", + }, + "qs" => Edge { + "name": "qs", + "spec": "6.7.0", + "to": "node_modules/qs", + "type": "prod", + }, + "range-parser" => Edge { + "name": "range-parser", + "spec": "~1.2.1", + "to": "node_modules/range-parser", + "type": "prod", + }, + "safe-buffer" => Edge { + "name": "safe-buffer", + "spec": "5.1.2", + "to": "node_modules/express/node_modules/safe-buffer", + "type": "prod", + }, + "send" => Edge { + "name": "send", + "spec": "0.17.1", + "to": "node_modules/send", + "type": "prod", + }, + "serve-static" => Edge { + "name": "serve-static", + "spec": "1.14.1", + "to": "node_modules/serve-static", + "type": "prod", + }, + "setprototypeof" => Edge { + "name": "setprototypeof", + "spec": "1.1.1", + "to": "node_modules/setprototypeof", + "type": "prod", + }, + "statuses" => Edge { + "name": "statuses", + "spec": "~1.5.0", + "to": "node_modules/statuses", + "type": "prod", + }, + "type-is" => Edge { + "name": "type-is", + "spec": "~1.6.18", + "to": "node_modules/type-is", + "type": "prod", + }, + "utils-merge" => Edge { + "name": "utils-merge", + "spec": "1.0.1", + "to": "node_modules/utils-merge", + "type": "prod", + }, + "vary" => Edge { + "name": "vary", + "spec": "~1.1.2", + "to": "node_modules/vary", + "type": "prod", + }, + }, + "location": "node_modules/express", + "name": "express", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + }, + "extend-shallow" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/braces", + "name": "extend-shallow", + "spec": "^2.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/expand-brackets", + "name": "extend-shallow", + "spec": "^2.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/extglob", + "name": "extend-shallow", + "spec": "^2.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/fill-range", + "name": "extend-shallow", + "spec": "^2.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/set-value", + "name": "extend-shallow", + "spec": "^2.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/snapdragon", + "name": "extend-shallow", + "spec": "^2.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-extendable" => Edge { + "name": "is-extendable", + "spec": "^0.1.0", + "to": "node_modules/is-extendable", + "type": "prod", + }, + }, + "location": "node_modules/extend-shallow", + "name": "extend-shallow", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + }, + "extglob" => Node { + "children": Map { + "define-property" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/extglob", + "name": "define-property", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-descriptor" => Edge { + "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", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + }, + }, + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/micromatch", + "name": "extglob", + "spec": "^2.0.4", + "type": "prod", + }, + }, + "edgesOut": Map { + "array-unique" => Edge { + "name": "array-unique", + "spec": "^0.3.2", + "to": "node_modules/array-unique", + "type": "prod", + }, + "define-property" => Edge { + "name": "define-property", + "spec": "^1.0.0", + "to": "node_modules/extglob/node_modules/define-property", + "type": "prod", + }, + "expand-brackets" => Edge { + "name": "expand-brackets", + "spec": "^2.1.4", + "to": "node_modules/expand-brackets", + "type": "prod", + }, + "extend-shallow" => Edge { + "name": "extend-shallow", + "spec": "^2.0.1", + "to": "node_modules/extend-shallow", + "type": "prod", + }, + "fragment-cache" => Edge { + "name": "fragment-cache", + "spec": "^0.2.1", + "to": "node_modules/fragment-cache", + "type": "prod", + }, + "regex-not" => Edge { + "name": "regex-not", + "spec": "^1.0.0", + "to": "node_modules/regex-not", + "type": "prod", + }, + "snapdragon" => Edge { + "name": "snapdragon", + "spec": "^0.8.1", + "to": "node_modules/snapdragon", + "type": "prod", + }, + "to-regex" => Edge { + "name": "to-regex", + "spec": "^3.0.1", + "to": "node_modules/to-regex", + "type": "prod", + }, + }, + "location": "node_modules/extglob", + "name": "extglob", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + }, + "fast-deep-equal" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/ajv", + "name": "fast-deep-equal", + "spec": "^3.1.1", + "type": "prod", + }, + }, + "location": "node_modules/fast-deep-equal", + "name": "fast-deep-equal", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + }, + "fast-json-stable-stringify" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + }, + "faye-websocket" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/sockjs", + "name": "faye-websocket", + "spec": "^0.10.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "websocket-driver" => Edge { + "name": "websocket-driver", + "spec": ">=0.5.1", + "to": "node_modules/websocket-driver", + "type": "prod", + }, + }, + "location": "node_modules/faye-websocket", + "name": "faye-websocket", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", + }, + "file-uri-to-path" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "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, + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + }, + "fill-range" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/braces", + "name": "fill-range", + "spec": "^4.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "extend-shallow" => Edge { + "name": "extend-shallow", + "spec": "^2.0.1", + "to": "node_modules/extend-shallow", + "type": "prod", + }, + "is-number" => Edge { + "name": "is-number", + "spec": "^3.0.0", + "to": "node_modules/is-number", + "type": "prod", + }, + "repeat-string" => Edge { + "name": "repeat-string", + "spec": "^1.6.1", + "to": "node_modules/repeat-string", + "type": "prod", + }, + "to-regex-range" => Edge { + "name": "to-regex-range", + "spec": "^2.1.0", + "to": "node_modules/to-regex-range", + "type": "prod", + }, + }, + "location": "node_modules/fill-range", + "name": "fill-range", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + }, + "finalhandler" => Node { + "children": Map { + "debug" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/finalhandler", + "name": "debug", + "spec": "2.6.9", + "type": "prod", + }, + }, + "edgesOut": Map { + "ms" => Edge { + "name": "ms", + "spec": "2.0.0", + "to": "node_modules/finalhandler/node_modules/ms", + "type": "prod", + }, + }, + "location": "node_modules/finalhandler/node_modules/debug", + "name": "debug", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + }, + "ms" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/finalhandler/node_modules/debug", + "name": "ms", + "spec": "2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/finalhandler/node_modules/ms", + "name": "ms", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + }, + }, + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/express", + "name": "finalhandler", + "spec": "~1.1.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "debug" => Edge { + "name": "debug", + "spec": "2.6.9", + "to": "node_modules/finalhandler/node_modules/debug", + "type": "prod", + }, + "encodeurl" => Edge { + "name": "encodeurl", + "spec": "~1.0.2", + "to": "node_modules/encodeurl", + "type": "prod", + }, + "escape-html" => Edge { + "name": "escape-html", + "spec": "~1.0.3", + "to": "node_modules/escape-html", + "type": "prod", + }, + "on-finished" => Edge { + "name": "on-finished", + "spec": "~2.3.0", + "to": "node_modules/on-finished", + "type": "prod", + }, + "parseurl" => Edge { + "name": "parseurl", + "spec": "~1.3.3", + "to": "node_modules/parseurl", + "type": "prod", + }, + "statuses" => Edge { + "name": "statuses", + "spec": "~1.5.0", + "to": "node_modules/statuses", + "type": "prod", + }, + "unpipe" => Edge { + "name": "unpipe", + "spec": "~1.0.0", + "to": "node_modules/unpipe", + "type": "prod", + }, + }, + "location": "node_modules/finalhandler", + "name": "finalhandler", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + }, + "find-up" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/pkg-dir", + "name": "find-up", + "spec": "^4.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "locate-path" => Edge { + "name": "locate-path", + "spec": "^5.0.0", + "to": "node_modules/locate-path", + "type": "prod", + }, + "path-exists" => Edge { + "name": "path-exists", + "spec": "^4.0.0", + "to": "node_modules/path-exists", + "type": "prod", + }, + }, + "location": "node_modules/find-up", + "name": "find-up", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + }, + "follow-redirects" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/http-proxy", + "name": "follow-redirects", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/follow-redirects", + "name": "follow-redirects", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.0.tgz", + }, + "for-in" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/mixin-deep", + "name": "for-in", + "spec": "^1.0.2", + "type": "prod", + }, + }, + "location": "node_modules/for-in", + "name": "for-in", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + }, + "forwarded" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/proxy-addr", + "name": "forwarded", + "spec": "~0.1.2", + "type": "prod", + }, + }, + "location": "node_modules/forwarded", + "name": "forwarded", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + }, + "fragment-cache" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/extglob", + "name": "fragment-cache", + "spec": "^0.2.1", + "type": "prod", + }, + Edge { + "from": "node_modules/micromatch", + "name": "fragment-cache", + "spec": "^0.2.1", + "type": "prod", + }, + Edge { + "from": "node_modules/nanomatch", + "name": "fragment-cache", + "spec": "^0.2.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "map-cache" => Edge { + "name": "map-cache", + "spec": "^0.2.2", + "to": "node_modules/map-cache", + "type": "prod", + }, + }, + "location": "node_modules/fragment-cache", + "name": "fragment-cache", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + }, + "fresh" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/express", + "name": "fresh", + "spec": "0.5.2", + "type": "prod", + }, + Edge { + "from": "node_modules/send", + "name": "fresh", + "spec": "0.5.2", + "type": "prod", + }, + }, + "location": "node_modules/fresh", + "name": "fresh", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + }, + "fs.realpath" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/glob", + "name": "fs.realpath", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/fs.realpath", + "name": "fs.realpath", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + }, + "fsevents" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/chokidar", + "name": "fsevents", + "spec": "^1.2.7", + "type": "optional", + }, + }, + "edgesOut": Map { + "bindings" => Edge { + "name": "bindings", + "spec": "^1.5.0", + "to": "node_modules/bindings", + "type": "prod", + }, + "nan" => Edge { + "name": "nan", + "spec": "^2.12.1", + "to": "node_modules/nan", + "type": "prod", + }, + }, + "location": "node_modules/fsevents", + "name": "fsevents", + "optional": true, + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + }, + "function-bind" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/es-abstract", + "name": "function-bind", + "spec": "^1.1.1", + "type": "prod", + }, + Edge { + "from": "node_modules/has", + "name": "function-bind", + "spec": "^1.1.1", + "type": "prod", + }, + Edge { + "from": "node_modules/regexp.prototype.flags/node_modules/es-abstract", + "name": "function-bind", + "spec": "^1.1.1", + "type": "prod", + }, + Edge { + "from": "node_modules/string.prototype.trimend/node_modules/es-abstract", + "name": "function-bind", + "spec": "^1.1.1", + "type": "prod", + }, + Edge { + "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", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + }, + "get-caller-file" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/yargs", + "name": "get-caller-file", + "spec": "^2.0.1", + "type": "prod", + }, + }, + "location": "node_modules/get-caller-file", + "name": "get-caller-file", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + }, + "get-stream" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/execa", + "name": "get-stream", + "spec": "^4.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "pump" => Edge { + "name": "pump", + "spec": "^3.0.0", + "to": "node_modules/pump", + "type": "prod", + }, + }, + "location": "node_modules/get-stream", + "name": "get-stream", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + }, + "get-value" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/cache-base", + "name": "get-value", + "spec": "^2.0.6", + "type": "prod", + }, + Edge { + "from": "node_modules/has-value", + "name": "get-value", + "spec": "^2.0.6", + "type": "prod", + }, + Edge { + "from": "node_modules/union-value", + "name": "get-value", + "spec": "^2.0.6", + "type": "prod", + }, + Edge { + "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", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + }, + "glob" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/globby", + "name": "glob", + "spec": "^7.0.3", + "type": "prod", + }, + Edge { + "from": "node_modules/rimraf", + "name": "glob", + "spec": "^7.1.3", + "type": "prod", + }, + }, + "edgesOut": Map { + "fs.realpath" => Edge { + "name": "fs.realpath", + "spec": "^1.0.0", + "to": "node_modules/fs.realpath", + "type": "prod", + }, + "inflight" => Edge { + "name": "inflight", + "spec": "^1.0.4", + "to": "node_modules/inflight", + "type": "prod", + }, + "inherits" => Edge { + "name": "inherits", + "spec": "2", + "to": "node_modules/inherits", + "type": "prod", + }, + "minimatch" => Edge { + "name": "minimatch", + "spec": "^3.0.4", + "to": "node_modules/minimatch", + "type": "prod", + }, + "once" => Edge { + "name": "once", + "spec": "^1.3.0", + "to": "node_modules/once", + "type": "prod", + }, + "path-is-absolute" => Edge { + "name": "path-is-absolute", + "spec": "^1.0.0", + "to": "node_modules/path-is-absolute", + "type": "prod", + }, + }, + "location": "node_modules/glob", + "name": "glob", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + }, + "glob-parent" => Node { + "children": Map { + "is-glob" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/glob-parent", + "name": "is-glob", + "spec": "^3.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-extglob" => Edge { + "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", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + }, + }, + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/chokidar", + "name": "glob-parent", + "spec": "^3.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-glob" => Edge { + "name": "is-glob", + "spec": "^3.1.0", + "to": "node_modules/glob-parent/node_modules/is-glob", + "type": "prod", + }, + "path-dirname" => Edge { + "name": "path-dirname", + "spec": "^1.0.0", + "to": "node_modules/path-dirname", + "type": "prod", + }, + }, + "location": "node_modules/glob-parent", + "name": "glob-parent", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + }, + "glob-to-regexp" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/watchpack", + "name": "glob-to-regexp", + "spec": "^0.4.1", + "type": "prod", + }, + Edge { + "from": "node_modules/webpack", + "name": "glob-to-regexp", + "spec": "^0.4.1", + "type": "prod", + }, + }, + "location": "node_modules/glob-to-regexp", + "name": "glob-to-regexp", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + }, + "globby" => Node { + "children": Map { + "pify" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/globby", + "name": "pify", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/globby/node_modules/pify", + "name": "pify", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + }, + }, + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/del", + "name": "globby", + "spec": "^6.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "array-union" => Edge { + "name": "array-union", + "spec": "^1.0.1", + "to": "node_modules/array-union", + "type": "prod", + }, + "glob" => Edge { + "name": "glob", + "spec": "^7.0.3", + "to": "node_modules/glob", + "type": "prod", + }, + "object-assign" => Edge { + "name": "object-assign", + "spec": "^4.0.1", + "to": "node_modules/object-assign", + "type": "prod", + }, + "pify" => Edge { + "name": "pify", + "spec": "^2.0.0", + "to": "node_modules/globby/node_modules/pify", + "type": "prod", + }, + "pinkie-promise" => Edge { + "name": "pinkie-promise", + "spec": "^2.0.0", + "to": "node_modules/pinkie-promise", + "type": "prod", + }, + }, + "location": "node_modules/globby", + "name": "globby", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + }, + "graceful-fs" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/enhanced-resolve", + "name": "graceful-fs", + "spec": "^4.2.4", + "type": "prod", + }, + Edge { + "from": "node_modules/readdirp", + "name": "graceful-fs", + "spec": "^4.1.11", + "type": "prod", + }, + Edge { + "from": "node_modules/watchpack", + "name": "graceful-fs", + "spec": "^4.1.2", + "type": "prod", + }, + Edge { + "from": "node_modules/webpack", + "name": "graceful-fs", + "spec": "^4.2.4", + "type": "prod", + }, + }, + "location": "node_modules/graceful-fs", + "name": "graceful-fs", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + }, + "handle-thing" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/spdy", + "name": "handle-thing", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/handle-thing", + "name": "handle-thing", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + }, + "has" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/es-abstract", + "name": "has", + "spec": "^1.0.3", + "type": "prod", + }, + Edge { + "from": "node_modules/regexp.prototype.flags/node_modules/es-abstract", + "name": "has", + "spec": "^1.0.3", + "type": "prod", + }, + Edge { + "from": "node_modules/string.prototype.trimend/node_modules/es-abstract", + "name": "has", + "spec": "^1.0.3", + "type": "prod", + }, + Edge { + "from": "node_modules/string.prototype.trimstart/node_modules/es-abstract", + "name": "has", + "spec": "^1.0.3", + "type": "prod", + }, + }, + "edgesOut": Map { + "function-bind" => Edge { + "name": "function-bind", + "spec": "^1.1.1", + "to": "node_modules/function-bind", + "type": "prod", + }, + }, + "location": "node_modules/has", + "name": "has", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + }, + "has-flag" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/supports-color", + "name": "has-flag", + "spec": "^4.0.0", + "type": "prod", + }, + }, + "location": "node_modules/has-flag", + "name": "has-flag", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + }, + "has-symbols" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/es-abstract", + "name": "has-symbols", + "spec": "^1.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/is-regex", + "name": "has-symbols", + "spec": "^1.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/is-symbol", + "name": "has-symbols", + "spec": "^1.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/object.assign", + "name": "has-symbols", + "spec": "^1.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/regexp.prototype.flags/node_modules/es-abstract", + "name": "has-symbols", + "spec": "^1.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/string.prototype.trimend/node_modules/es-abstract", + "name": "has-symbols", + "spec": "^1.0.1", + "type": "prod", + }, + Edge { + "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", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + }, + "has-value" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/cache-base", + "name": "has-value", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "get-value" => Edge { + "name": "get-value", + "spec": "^2.0.6", + "to": "node_modules/get-value", + "type": "prod", + }, + "has-values" => Edge { + "name": "has-values", + "spec": "^1.0.0", + "to": "node_modules/has-values", + "type": "prod", + }, + "isobject" => Edge { + "name": "isobject", + "spec": "^3.0.0", + "to": "node_modules/isobject", + "type": "prod", + }, + }, + "location": "node_modules/has-value", + "name": "has-value", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + }, + "has-values" => Node { + "children": Map { + "kind-of" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/has-values", + "name": "kind-of", + "spec": "^4.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-buffer" => Edge { + "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", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + }, + }, + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/has-value", + "name": "has-values", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-number" => Edge { + "name": "is-number", + "spec": "^3.0.0", + "to": "node_modules/is-number", + "type": "prod", + }, + "kind-of" => Edge { + "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", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + }, + "hpack.js" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/spdy-transport", + "name": "hpack.js", + "spec": "^2.1.6", + "type": "prod", + }, + }, + "edgesOut": Map { + "inherits" => Edge { + "name": "inherits", + "spec": "^2.0.1", + "to": "node_modules/inherits", + "type": "prod", + }, + "obuf" => Edge { + "name": "obuf", + "spec": "^1.0.0", + "to": "node_modules/obuf", + "type": "prod", + }, + "readable-stream" => Edge { + "name": "readable-stream", + "spec": "^2.0.1", + "to": "node_modules/readable-stream", + "type": "prod", + }, + "wbuf" => Edge { + "name": "wbuf", + "spec": "^1.1.0", + "to": "node_modules/wbuf", + "type": "prod", + }, + }, + "location": "node_modules/hpack.js", + "name": "hpack.js", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + }, + "html-entities" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/webpack-dev-server", + "name": "html-entities", + "spec": "^1.3.1", + "type": "prod", + }, + }, + "location": "node_modules/html-entities", + "name": "html-entities", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.3.1.tgz", + }, + "http-deceiver" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/spdy", + "name": "http-deceiver", + "spec": "^1.2.7", + "type": "prod", + }, + }, + "location": "node_modules/http-deceiver", + "name": "http-deceiver", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + }, + "http-errors" => Node { + "children": Map { + "inherits" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/http-errors", + "name": "inherits", + "spec": "2.0.3", + "type": "prod", + }, + }, + "location": "node_modules/http-errors/node_modules/inherits", + "name": "inherits", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + }, + }, + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/body-parser", + "name": "http-errors", + "spec": "1.7.2", + "type": "prod", + }, + Edge { + "from": "node_modules/raw-body", + "name": "http-errors", + "spec": "1.7.2", + "type": "prod", + }, + Edge { + "from": "node_modules/send", + "name": "http-errors", + "spec": "~1.7.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "depd" => Edge { + "name": "depd", + "spec": "~1.1.2", + "to": "node_modules/depd", + "type": "prod", + }, + "inherits" => Edge { + "name": "inherits", + "spec": "2.0.3", + "to": "node_modules/http-errors/node_modules/inherits", + "type": "prod", + }, + "setprototypeof" => Edge { + "name": "setprototypeof", + "spec": "1.1.1", + "to": "node_modules/setprototypeof", + "type": "prod", + }, + "statuses" => Edge { + "name": "statuses", + "spec": ">= 1.5.0 < 2", + "to": "node_modules/statuses", + "type": "prod", + }, + "toidentifier" => Edge { + "name": "toidentifier", + "spec": "1.0.0", + "to": "node_modules/toidentifier", + "type": "prod", + }, + }, + "location": "node_modules/http-errors", + "name": "http-errors", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + }, + "http-proxy" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/http-proxy-middleware", + "name": "http-proxy", + "spec": "^1.17.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "eventemitter3" => Edge { + "name": "eventemitter3", + "spec": "^4.0.0", + "to": "node_modules/eventemitter3", + "type": "prod", + }, + "follow-redirects" => Edge { + "name": "follow-redirects", + "spec": "^1.0.0", + "to": "node_modules/follow-redirects", + "type": "prod", + }, + "requires-port" => Edge { + "name": "requires-port", + "spec": "^1.0.0", + "to": "node_modules/requires-port", + "type": "prod", + }, + }, + "location": "node_modules/http-proxy", + "name": "http-proxy", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + }, + "http-proxy-middleware" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/webpack-dev-server", + "name": "http-proxy-middleware", + "spec": "0.19.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "http-proxy" => Edge { + "name": "http-proxy", + "spec": "^1.17.0", + "to": "node_modules/http-proxy", + "type": "prod", + }, + "is-glob" => Edge { + "name": "is-glob", + "spec": "^4.0.0", + "to": "node_modules/is-glob", + "type": "prod", + }, + "lodash" => Edge { + "name": "lodash", + "spec": "^4.17.11", + "to": "node_modules/lodash", + "type": "prod", + }, + "micromatch" => Edge { + "name": "micromatch", + "spec": "^3.1.10", + "to": "node_modules/micromatch", + "type": "prod", + }, + }, + "location": "node_modules/http-proxy-middleware", + "name": "http-proxy-middleware", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", + }, + "iconv-lite" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/body-parser", + "name": "iconv-lite", + "spec": "0.4.24", + "type": "prod", + }, + Edge { + "from": "node_modules/raw-body", + "name": "iconv-lite", + "spec": "0.4.24", + "type": "prod", + }, + }, + "edgesOut": Map { + "safer-buffer" => Edge { + "name": "safer-buffer", + "spec": ">= 2.1.2 < 3", + "to": "node_modules/safer-buffer", + "type": "prod", + }, + }, + "location": "node_modules/iconv-lite", + "name": "iconv-lite", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + }, + "import-local" => Node { + "children": Map { + "find-up" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/import-local/node_modules/pkg-dir", + "name": "find-up", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "locate-path" => Edge { + "name": "locate-path", + "spec": "^3.0.0", + "to": "node_modules/import-local/node_modules/locate-path", + "type": "prod", + }, + }, + "location": "node_modules/import-local/node_modules/find-up", + "name": "find-up", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + }, + "locate-path" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/import-local/node_modules/find-up", + "name": "locate-path", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "p-locate" => Edge { + "name": "p-locate", + "spec": "^3.0.0", + "to": "node_modules/import-local/node_modules/p-locate", + "type": "prod", + }, + "path-exists" => Edge { + "name": "path-exists", + "spec": "^3.0.0", + "to": "node_modules/import-local/node_modules/path-exists", + "type": "prod", + }, + }, + "location": "node_modules/import-local/node_modules/locate-path", + "name": "locate-path", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + }, + "p-locate" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/import-local/node_modules/locate-path", + "name": "p-locate", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "p-limit" => Edge { + "name": "p-limit", + "spec": "^2.0.0", + "to": "node_modules/p-limit", + "type": "prod", + }, + }, + "location": "node_modules/import-local/node_modules/p-locate", + "name": "p-locate", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + }, + "path-exists" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/import-local/node_modules/locate-path", + "name": "path-exists", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "location": "node_modules/import-local/node_modules/path-exists", + "name": "path-exists", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + }, + "pkg-dir" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/import-local", + "name": "pkg-dir", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "find-up" => Edge { + "name": "find-up", + "spec": "^3.0.0", + "to": "node_modules/import-local/node_modules/find-up", + "type": "prod", + }, + }, + "location": "node_modules/import-local/node_modules/pkg-dir", + "name": "pkg-dir", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + }, + }, + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/webpack-dev-server", + "name": "import-local", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "pkg-dir" => Edge { + "name": "pkg-dir", + "spec": "^3.0.0", + "to": "node_modules/import-local/node_modules/pkg-dir", + "type": "prod", + }, + "resolve-cwd" => Edge { + "name": "resolve-cwd", + "spec": "^2.0.0", + "to": "node_modules/resolve-cwd", + "type": "prod", + }, + }, + "location": "node_modules/import-local", + "name": "import-local", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", + }, + "inflight" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/glob", + "name": "inflight", + "spec": "^1.0.4", + "type": "prod", + }, + }, + "edgesOut": Map { + "once" => Edge { + "name": "once", + "spec": "^1.3.0", + "to": "node_modules/once", + "type": "prod", + }, + "wrappy" => Edge { + "name": "wrappy", + "spec": "1", + "to": "node_modules/wrappy", + "type": "prod", + }, + }, + "location": "node_modules/inflight", + "name": "inflight", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + }, + "inherits" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/chokidar", + "name": "inherits", + "spec": "^2.0.3", + "type": "prod", + }, + Edge { + "from": "node_modules/glob", + "name": "inherits", + "spec": "2", + "type": "prod", + }, + Edge { + "from": "node_modules/hpack.js", + "name": "inherits", + "spec": "^2.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/readable-stream", + "name": "inherits", + "spec": "~2.0.3", + "type": "prod", + }, + Edge { + "from": "node_modules/sockjs-client", + "name": "inherits", + "spec": "^2.0.3", + "type": "prod", + }, + Edge { + "from": "node_modules/spdy-transport/node_modules/readable-stream", + "name": "inherits", + "spec": "^2.0.3", + "type": "prod", + }, + }, + "location": "node_modules/inherits", + "name": "inherits", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + }, + "internal-ip" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/webpack-dev-server", + "name": "internal-ip", + "spec": "^4.3.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "default-gateway" => Edge { + "name": "default-gateway", + "spec": "^4.2.0", + "to": "node_modules/default-gateway", + "type": "prod", + }, + "ipaddr.js" => Edge { + "name": "ipaddr.js", + "spec": "^1.9.0", + "to": "node_modules/ipaddr.js", + "type": "prod", + }, + }, + "location": "node_modules/internal-ip", + "name": "internal-ip", + "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", + }, + "ip" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/dns-packet", + "name": "ip", + "spec": "^1.1.0", + "type": "prod", + }, + Edge { + "from": "node_modules/webpack-dev-server", + "name": "ip", + "spec": "^1.1.5", + "type": "prod", + }, + }, + "location": "node_modules/ip", + "name": "ip", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + }, + "ip-regex" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/default-gateway", + "name": "ip-regex", + "spec": "^2.1.0", + "type": "prod", + }, + }, + "location": "node_modules/ip-regex", + "name": "ip-regex", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + }, + "ipaddr.js" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/internal-ip", + "name": "ipaddr.js", + "spec": "^1.9.0", + "type": "prod", + }, + Edge { + "from": "node_modules/proxy-addr", + "name": "ipaddr.js", + "spec": "1.9.1", + "type": "prod", + }, + }, + "location": "node_modules/ipaddr.js", + "name": "ipaddr.js", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + }, + "is-absolute-url" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", + }, + "is-accessor-descriptor" => Node { + "children": Map { + "kind-of" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + }, + }, + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/is-descriptor", + "name": "is-accessor-descriptor", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "kind-of" => Edge { + "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", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + }, + "is-arguments" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/deep-equal", + "name": "is-arguments", + "spec": "^1.0.4", + "type": "prod", + }, + }, + "location": "node_modules/is-arguments", + "name": "is-arguments", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz", + }, + "is-binary-path" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/chokidar", + "name": "is-binary-path", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "binary-extensions" => Edge { + "name": "binary-extensions", + "spec": "^1.0.0", + "to": "node_modules/binary-extensions", + "type": "prod", + }, + }, + "location": "node_modules/is-binary-path", + "name": "is-binary-path", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + }, + "is-buffer" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/has-values/node_modules/kind-of", + "name": "is-buffer", + "spec": "^1.1.5", + "type": "prod", + }, + Edge { + "from": "node_modules/kind-of", + "name": "is-buffer", + "spec": "^1.1.5", + "type": "prod", + }, + }, + "location": "node_modules/is-buffer", + "name": "is-buffer", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + }, + "is-callable" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/es-abstract", + "name": "is-callable", + "spec": "^1.2.2", + "type": "prod", + }, + Edge { + "from": "node_modules/es-to-primitive", + "name": "is-callable", + "spec": "^1.1.4", + "type": "prod", + }, + Edge { + "from": "node_modules/regexp.prototype.flags/node_modules/es-abstract", + "name": "is-callable", + "spec": "^1.2.2", + "type": "prod", + }, + Edge { + "from": "node_modules/string.prototype.trimend/node_modules/es-abstract", + "name": "is-callable", + "spec": "^1.2.2", + "type": "prod", + }, + Edge { + "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", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", + }, + "is-data-descriptor" => Node { + "children": Map { + "kind-of" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + }, + }, + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/is-descriptor", + "name": "is-data-descriptor", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "kind-of" => Edge { + "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", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + }, + "is-date-object" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/deep-equal", + "name": "is-date-object", + "spec": "^1.0.1", + "type": "prod", + }, + Edge { + "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", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", + }, + "is-descriptor" => Node { + "children": Map { + "kind-of" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + }, + }, + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/base/node_modules/define-property", + "name": "is-descriptor", + "spec": "^1.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/define-property", + "name": "is-descriptor", + "spec": "^1.0.2", + "type": "prod", + }, + Edge { + "from": "node_modules/extglob/node_modules/define-property", + "name": "is-descriptor", + "spec": "^1.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/snapdragon-node/node_modules/define-property", + "name": "is-descriptor", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-accessor-descriptor" => Edge { + "name": "is-accessor-descriptor", + "spec": "^1.0.0", + "to": "node_modules/is-accessor-descriptor", + "type": "prod", + }, + "is-data-descriptor" => Edge { + "name": "is-data-descriptor", + "spec": "^1.0.0", + "to": "node_modules/is-data-descriptor", + "type": "prod", + }, + "kind-of" => Edge { + "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", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + }, + "is-extendable" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/extend-shallow", + "name": "is-extendable", + "spec": "^0.1.0", + "type": "prod", + }, + Edge { + "from": "node_modules/set-value", + "name": "is-extendable", + "spec": "^0.1.1", + "type": "prod", + }, + Edge { + "from": "node_modules/union-value", + "name": "is-extendable", + "spec": "^0.1.1", + "type": "prod", + }, + }, + "location": "node_modules/is-extendable", + "name": "is-extendable", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + }, + "is-extglob" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/glob-parent/node_modules/is-glob", + "name": "is-extglob", + "spec": "^2.1.0", + "type": "prod", + }, + Edge { + "from": "node_modules/is-glob", + "name": "is-extglob", + "spec": "^2.1.1", + "type": "prod", + }, + }, + "location": "node_modules/is-extglob", + "name": "is-extglob", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + }, + "is-fullwidth-code-point" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + }, + "is-glob" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/chokidar", + "name": "is-glob", + "spec": "^4.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/http-proxy-middleware", + "name": "is-glob", + "spec": "^4.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-extglob" => Edge { + "name": "is-extglob", + "spec": "^2.1.1", + "to": "node_modules/is-extglob", + "type": "prod", + }, + }, + "location": "node_modules/is-glob", + "name": "is-glob", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + }, + "is-negative-zero" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.0.tgz", + }, + "is-number" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/fill-range", + "name": "is-number", + "spec": "^3.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/has-values", + "name": "is-number", + "spec": "^3.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/to-regex-range", + "name": "is-number", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "kind-of" => Edge { + "name": "kind-of", + "spec": "^3.0.2", + "to": "node_modules/kind-of", + "type": "prod", + }, + }, + "location": "node_modules/is-number", + "name": "is-number", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + }, + "is-path-cwd" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/del", + "name": "is-path-cwd", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/is-path-cwd", + "name": "is-path-cwd", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + }, + "is-path-in-cwd" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/del", + "name": "is-path-in-cwd", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-path-inside" => Edge { + "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", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", + }, + "is-path-inside" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/is-path-in-cwd", + "name": "is-path-inside", + "spec": "^2.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "path-is-inside" => Edge { + "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", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", + }, + "is-plain-object" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/micromatch/node_modules/is-extendable", + "name": "is-plain-object", + "spec": "^2.0.4", + "type": "prod", + }, + Edge { + "from": "node_modules/mixin-deep/node_modules/is-extendable", + "name": "is-plain-object", + "spec": "^2.0.4", + "type": "prod", + }, + Edge { + "from": "node_modules/nanomatch/node_modules/is-extendable", + "name": "is-plain-object", + "spec": "^2.0.4", + "type": "prod", + }, + Edge { + "from": "node_modules/regex-not/node_modules/is-extendable", + "name": "is-plain-object", + "spec": "^2.0.4", + "type": "prod", + }, + Edge { + "from": "node_modules/set-value", + "name": "is-plain-object", + "spec": "^2.0.3", + "type": "prod", + }, + Edge { + "from": "node_modules/split-string/node_modules/is-extendable", + "name": "is-plain-object", + "spec": "^2.0.4", + "type": "prod", + }, + Edge { + "from": "node_modules/to-regex/node_modules/is-extendable", + "name": "is-plain-object", + "spec": "^2.0.4", + "type": "prod", + }, + }, + "edgesOut": Map { + "isobject" => Edge { + "name": "isobject", + "spec": "^3.0.1", + "to": "node_modules/isobject", + "type": "prod", + }, + }, + "location": "node_modules/is-plain-object", + "name": "is-plain-object", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + }, + "is-regex" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/deep-equal", + "name": "is-regex", + "spec": "^1.0.4", + "type": "prod", + }, + Edge { + "from": "node_modules/es-abstract", + "name": "is-regex", + "spec": "^1.1.1", + "type": "prod", + }, + Edge { + "from": "node_modules/regexp.prototype.flags/node_modules/es-abstract", + "name": "is-regex", + "spec": "^1.1.1", + "type": "prod", + }, + Edge { + "from": "node_modules/string.prototype.trimend/node_modules/es-abstract", + "name": "is-regex", + "spec": "^1.1.1", + "type": "prod", + }, + Edge { + "from": "node_modules/string.prototype.trimstart/node_modules/es-abstract", + "name": "is-regex", + "spec": "^1.1.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "has-symbols" => Edge { + "name": "has-symbols", + "spec": "^1.0.1", + "to": "node_modules/has-symbols", + "type": "prod", + }, + }, + "location": "node_modules/is-regex", + "name": "is-regex", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", + }, + "is-stream" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/execa", + "name": "is-stream", + "spec": "^1.1.0", + "type": "prod", + }, + }, + "location": "node_modules/is-stream", + "name": "is-stream", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + }, + "is-symbol" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/es-to-primitive", + "name": "is-symbol", + "spec": "^1.0.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "has-symbols" => Edge { + "name": "has-symbols", + "spec": "^1.0.1", + "to": "node_modules/has-symbols", + "type": "prod", + }, + }, + "location": "node_modules/is-symbol", + "name": "is-symbol", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", + }, + "is-windows" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/nanomatch", + "name": "is-windows", + "spec": "^1.0.2", + "type": "prod", + }, + }, + "location": "node_modules/is-windows", + "name": "is-windows", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + }, + "is-wsl" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/opn", + "name": "is-wsl", + "spec": "^1.1.0", + "type": "prod", + }, + }, + "location": "node_modules/is-wsl", + "name": "is-wsl", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + }, + "isarray" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/readable-stream", + "name": "isarray", + "spec": "~1.0.0", + "type": "prod", + }, + Edge { + "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", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + }, + "isexe" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/which", + "name": "isexe", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/isexe", + "name": "isexe", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + }, + "isobject" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/base", + "name": "isobject", + "spec": "^3.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/braces", + "name": "isobject", + "spec": "^3.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/cache-base", + "name": "isobject", + "spec": "^3.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/class-utils", + "name": "isobject", + "spec": "^3.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/define-property", + "name": "isobject", + "spec": "^3.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/has-value", + "name": "isobject", + "spec": "^3.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/is-plain-object", + "name": "isobject", + "spec": "^3.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/object-visit", + "name": "isobject", + "spec": "^3.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/object.pick", + "name": "isobject", + "spec": "^3.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/snapdragon-node", + "name": "isobject", + "spec": "^3.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/unset-value", + "name": "isobject", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "location": "node_modules/isobject", + "name": "isobject", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + }, + "jest-worker" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/terser-webpack-plugin", + "name": "jest-worker", + "spec": "^26.6.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "@types/node" => Edge { + "name": "@types/node", + "spec": "*", + "to": "node_modules/@types/node", + "type": "prod", + }, + "merge-stream" => Edge { + "name": "merge-stream", + "spec": "^2.0.0", + "to": "node_modules/merge-stream", + "type": "prod", + }, + "supports-color" => Edge { + "name": "supports-color", + "spec": "^7.0.0", + "to": "node_modules/supports-color", + "type": "prod", + }, + }, + "location": "node_modules/jest-worker", + "name": "jest-worker", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + }, + "json-parse-better-errors" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + }, + "json-schema-traverse" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/ajv", + "name": "json-schema-traverse", + "spec": "^0.4.1", + "type": "prod", + }, + }, + "location": "node_modules/json-schema-traverse", + "name": "json-schema-traverse", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + }, + "json3" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/sockjs-client", + "name": "json3", + "spec": "^3.3.2", + "type": "prod", + }, + }, + "location": "node_modules/json3", + "name": "json3", + "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz", + }, + "killable" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/webpack-dev-server", + "name": "killable", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "location": "node_modules/killable", + "name": "killable", + "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", + }, + "kind-of" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/class-utils/node_modules/is-accessor-descriptor", + "name": "kind-of", + "spec": "^3.0.2", + "type": "prod", + }, + Edge { + "from": "node_modules/class-utils/node_modules/is-data-descriptor", + "name": "kind-of", + "spec": "^3.0.2", + "type": "prod", + }, + Edge { + "from": "node_modules/expand-brackets/node_modules/is-accessor-descriptor", + "name": "kind-of", + "spec": "^3.0.2", + "type": "prod", + }, + Edge { + "from": "node_modules/expand-brackets/node_modules/is-data-descriptor", + "name": "kind-of", + "spec": "^3.0.2", + "type": "prod", + }, + Edge { + "from": "node_modules/is-number", + "name": "kind-of", + "spec": "^3.0.2", + "type": "prod", + }, + Edge { + "from": "node_modules/object-copy", + "name": "kind-of", + "spec": "^3.0.3", + "type": "prod", + }, + Edge { + "from": "node_modules/object-copy/node_modules/is-accessor-descriptor", + "name": "kind-of", + "spec": "^3.0.2", + "type": "prod", + }, + Edge { + "from": "node_modules/object-copy/node_modules/is-data-descriptor", + "name": "kind-of", + "spec": "^3.0.2", + "type": "prod", + }, + Edge { + "from": "node_modules/snapdragon-util", + "name": "kind-of", + "spec": "^3.2.0", + "type": "prod", + }, + Edge { + "from": "node_modules/snapdragon/node_modules/is-accessor-descriptor", + "name": "kind-of", + "spec": "^3.0.2", + "type": "prod", + }, + Edge { + "from": "node_modules/snapdragon/node_modules/is-data-descriptor", + "name": "kind-of", + "spec": "^3.0.2", + "type": "prod", + }, + Edge { + "from": "node_modules/static-extend/node_modules/is-accessor-descriptor", + "name": "kind-of", + "spec": "^3.0.2", + "type": "prod", + }, + Edge { + "from": "node_modules/static-extend/node_modules/is-data-descriptor", + "name": "kind-of", + "spec": "^3.0.2", + "type": "prod", + }, + Edge { + "from": "node_modules/to-object-path", + "name": "kind-of", + "spec": "^3.0.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-buffer" => Edge { + "name": "is-buffer", + "spec": "^1.1.5", + "to": "node_modules/is-buffer", + "type": "prod", + }, + }, + "location": "node_modules/kind-of", + "name": "kind-of", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + }, + "loader-runner" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/webpack", + "name": "loader-runner", + "spec": "^4.1.0", + "type": "prod", + }, + }, + "location": "node_modules/loader-runner", + "name": "loader-runner", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.1.0.tgz", + }, + "locate-path" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/find-up", + "name": "locate-path", + "spec": "^5.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "p-locate" => Edge { + "name": "p-locate", + "spec": "^4.1.0", + "to": "node_modules/p-locate", + "type": "prod", + }, + }, + "location": "node_modules/locate-path", + "name": "locate-path", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + }, + "lodash" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/async", + "name": "lodash", + "spec": "^4.17.14", + "type": "prod", + }, + Edge { + "from": "node_modules/http-proxy-middleware", + "name": "lodash", + "spec": "^4.17.11", + "type": "prod", + }, + }, + "location": "node_modules/lodash", + "name": "lodash", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + }, + "loglevel" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/webpack-dev-server", + "name": "loglevel", + "spec": "^1.6.8", + "type": "prod", + }, + }, + "location": "node_modules/loglevel", + "name": "loglevel", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.7.0.tgz", + }, + "map-cache" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/fragment-cache", + "name": "map-cache", + "spec": "^0.2.2", + "type": "prod", + }, + Edge { + "from": "node_modules/snapdragon", + "name": "map-cache", + "spec": "^0.2.2", + "type": "prod", + }, + }, + "location": "node_modules/map-cache", + "name": "map-cache", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + }, + "map-visit" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/collection-visit", + "name": "map-visit", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "object-visit" => Edge { + "name": "object-visit", + "spec": "^1.0.0", + "to": "node_modules/object-visit", + "type": "prod", + }, + }, + "location": "node_modules/map-visit", + "name": "map-visit", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + }, + "media-typer" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/type-is", + "name": "media-typer", + "spec": "0.3.0", + "type": "prod", + }, + }, + "location": "node_modules/media-typer", + "name": "media-typer", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + }, + "memory-fs" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/webpack-dev-server/node_modules/webpack-dev-middleware", + "name": "memory-fs", + "spec": "^0.4.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "errno" => Edge { + "name": "errno", + "spec": "^0.1.3", + "to": "node_modules/errno", + "type": "prod", + }, + "readable-stream" => Edge { + "name": "readable-stream", + "spec": "^2.0.1", + "to": "node_modules/readable-stream", + "type": "prod", + }, + }, + "location": "node_modules/memory-fs", + "name": "memory-fs", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + }, + "merge-descriptors" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/express", + "name": "merge-descriptors", + "spec": "1.0.1", + "type": "prod", + }, + }, + "location": "node_modules/merge-descriptors", + "name": "merge-descriptors", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + }, + "merge-stream" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/jest-worker", + "name": "merge-stream", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/merge-stream", + "name": "merge-stream", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + }, + "methods" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/express", + "name": "methods", + "spec": "~1.1.2", + "type": "prod", + }, + }, + "location": "node_modules/methods", + "name": "methods", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + }, + "micromatch" => Node { + "children": Map { + "extend-shallow" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/micromatch", + "name": "extend-shallow", + "spec": "^3.0.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "assign-symbols" => Edge { + "name": "assign-symbols", + "spec": "^1.0.0", + "to": "node_modules/assign-symbols", + "type": "prod", + }, + "is-extendable" => Edge { + "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", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + }, + "is-extendable" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/micromatch/node_modules/extend-shallow", + "name": "is-extendable", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-plain-object" => Edge { + "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", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + }, + "kind-of" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/micromatch", + "name": "kind-of", + "spec": "^6.0.2", + "type": "prod", + }, + }, + "location": "node_modules/micromatch/node_modules/kind-of", + "name": "kind-of", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + }, + }, + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/anymatch", + "name": "micromatch", + "spec": "^3.1.4", + "type": "prod", + }, + Edge { + "from": "node_modules/http-proxy-middleware", + "name": "micromatch", + "spec": "^3.1.10", + "type": "prod", + }, + Edge { + "from": "node_modules/readdirp", + "name": "micromatch", + "spec": "^3.1.10", + "type": "prod", + }, + }, + "edgesOut": Map { + "arr-diff" => Edge { + "name": "arr-diff", + "spec": "^4.0.0", + "to": "node_modules/arr-diff", + "type": "prod", + }, + "array-unique" => Edge { + "name": "array-unique", + "spec": "^0.3.2", + "to": "node_modules/array-unique", + "type": "prod", + }, + "braces" => Edge { + "name": "braces", + "spec": "^2.3.1", + "to": "node_modules/braces", + "type": "prod", + }, + "define-property" => Edge { + "name": "define-property", + "spec": "^2.0.2", + "to": "node_modules/define-property", + "type": "prod", + }, + "extend-shallow" => Edge { + "name": "extend-shallow", + "spec": "^3.0.2", + "to": "node_modules/micromatch/node_modules/extend-shallow", + "type": "prod", + }, + "extglob" => Edge { + "name": "extglob", + "spec": "^2.0.4", + "to": "node_modules/extglob", + "type": "prod", + }, + "fragment-cache" => Edge { + "name": "fragment-cache", + "spec": "^0.2.1", + "to": "node_modules/fragment-cache", + "type": "prod", + }, + "kind-of" => Edge { + "name": "kind-of", + "spec": "^6.0.2", + "to": "node_modules/micromatch/node_modules/kind-of", + "type": "prod", + }, + "nanomatch" => Edge { + "name": "nanomatch", + "spec": "^1.2.9", + "to": "node_modules/nanomatch", + "type": "prod", + }, + "object.pick" => Edge { + "name": "object.pick", + "spec": "^1.3.0", + "to": "node_modules/object.pick", + "type": "prod", + }, + "regex-not" => Edge { + "name": "regex-not", + "spec": "^1.0.0", + "to": "node_modules/regex-not", + "type": "prod", + }, + "snapdragon" => Edge { + "name": "snapdragon", + "spec": "^0.8.1", + "to": "node_modules/snapdragon", + "type": "prod", + }, + "to-regex" => Edge { + "name": "to-regex", + "spec": "^3.0.2", + "to": "node_modules/to-regex", + "type": "prod", + }, + }, + "location": "node_modules/micromatch", + "name": "micromatch", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + }, + "mime" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/send", + "name": "mime", + "spec": "1.6.0", + "type": "prod", + }, + }, + "location": "node_modules/mime", + "name": "mime", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + }, + "mime-db" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/compressible", + "name": "mime-db", + "spec": ">= 1.43.0 < 2", + "type": "prod", + }, + Edge { + "from": "node_modules/mime-types", + "name": "mime-db", + "spec": "1.44.0", + "type": "prod", + }, + }, + "location": "node_modules/mime-db", + "name": "mime-db", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", + }, + "mime-types" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/accepts", + "name": "mime-types", + "spec": "~2.1.24", + "type": "prod", + }, + Edge { + "from": "node_modules/serve-index", + "name": "mime-types", + "spec": "~2.1.17", + "type": "prod", + }, + Edge { + "from": "node_modules/type-is", + "name": "mime-types", + "spec": "~2.1.24", + "type": "prod", + }, + Edge { + "from": "node_modules/webpack", + "name": "mime-types", + "spec": "^2.1.27", + "type": "prod", + }, + }, + "edgesOut": Map { + "mime-db" => Edge { + "name": "mime-db", + "spec": "1.44.0", + "to": "node_modules/mime-db", + "type": "prod", + }, + }, + "location": "node_modules/mime-types", + "name": "mime-types", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", + }, + "minimalistic-assert" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/wbuf", + "name": "minimalistic-assert", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/minimalistic-assert", + "name": "minimalistic-assert", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + }, + "minimatch" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/glob", + "name": "minimatch", + "spec": "^3.0.4", + "type": "prod", + }, + }, + "edgesOut": Map { + "brace-expansion" => Edge { + "name": "brace-expansion", + "spec": "^1.1.7", + "to": "node_modules/brace-expansion", + "type": "prod", + }, + }, + "location": "node_modules/minimatch", + "name": "minimatch", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + }, + "minimist" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/mkdirp", + "name": "minimist", + "spec": "^1.2.5", + "type": "prod", + }, + }, + "location": "node_modules/minimist", + "name": "minimist", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + }, + "mixin-deep" => Node { + "children": Map { + "is-extendable" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/mixin-deep", + "name": "is-extendable", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-plain-object" => Edge { + "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", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + }, + }, + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/base", + "name": "mixin-deep", + "spec": "^1.2.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "for-in" => Edge { + "name": "for-in", + "spec": "^1.0.2", + "to": "node_modules/for-in", + "type": "prod", + }, + "is-extendable" => Edge { + "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", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + }, + "mkdirp" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/portfinder", + "name": "mkdirp", + "spec": "^0.5.5", + "type": "prod", + }, + Edge { + "from": "node_modules/webpack-dev-server/node_modules/webpack-dev-middleware", + "name": "mkdirp", + "spec": "^0.5.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "minimist" => Edge { + "name": "minimist", + "spec": "^1.2.5", + "to": "node_modules/minimist", + "type": "prod", + }, + }, + "location": "node_modules/mkdirp", + "name": "mkdirp", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + }, + "ms" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/debug", + "name": "ms", + "spec": "2.1.2", + "type": "prod", + }, + Edge { + "from": "node_modules/portfinder/node_modules/debug", + "name": "ms", + "spec": "^2.1.1", + "type": "prod", + }, + Edge { + "from": "node_modules/sockjs-client/node_modules/debug", + "name": "ms", + "spec": "^2.1.1", + "type": "prod", + }, + }, + "location": "node_modules/ms", + "name": "ms", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + }, + "multicast-dns" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/bonjour", + "name": "multicast-dns", + "spec": "^6.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "dns-packet" => Edge { + "name": "dns-packet", + "spec": "^1.3.1", + "to": "node_modules/dns-packet", + "type": "prod", + }, + "thunky" => Edge { + "name": "thunky", + "spec": "^1.0.2", + "to": "node_modules/thunky", + "type": "prod", + }, + }, + "location": "node_modules/multicast-dns", + "name": "multicast-dns", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", + }, + "multicast-dns-service-types" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", + }, + "nan" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/fsevents", + "name": "nan", + "spec": "^2.12.1", + "type": "prod", + }, + }, + "location": "node_modules/nan", + "name": "nan", + "optional": true, + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", + }, + "nanomatch" => Node { + "children": Map { + "extend-shallow" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/nanomatch", + "name": "extend-shallow", + "spec": "^3.0.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "assign-symbols" => Edge { + "name": "assign-symbols", + "spec": "^1.0.0", + "to": "node_modules/assign-symbols", + "type": "prod", + }, + "is-extendable" => Edge { + "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", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + }, + "is-extendable" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/nanomatch/node_modules/extend-shallow", + "name": "is-extendable", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-plain-object" => Edge { + "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", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + }, + "kind-of" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/nanomatch", + "name": "kind-of", + "spec": "^6.0.2", + "type": "prod", + }, + }, + "location": "node_modules/nanomatch/node_modules/kind-of", + "name": "kind-of", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + }, + }, + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/micromatch", + "name": "nanomatch", + "spec": "^1.2.9", + "type": "prod", + }, + }, + "edgesOut": Map { + "arr-diff" => Edge { + "name": "arr-diff", + "spec": "^4.0.0", + "to": "node_modules/arr-diff", + "type": "prod", + }, + "array-unique" => Edge { + "name": "array-unique", + "spec": "^0.3.2", + "to": "node_modules/array-unique", + "type": "prod", + }, + "define-property" => Edge { + "name": "define-property", + "spec": "^2.0.2", + "to": "node_modules/define-property", + "type": "prod", + }, + "extend-shallow" => Edge { + "name": "extend-shallow", + "spec": "^3.0.2", + "to": "node_modules/nanomatch/node_modules/extend-shallow", + "type": "prod", + }, + "fragment-cache" => Edge { + "name": "fragment-cache", + "spec": "^0.2.1", + "to": "node_modules/fragment-cache", + "type": "prod", + }, + "is-windows" => Edge { + "name": "is-windows", + "spec": "^1.0.2", + "to": "node_modules/is-windows", + "type": "prod", + }, + "kind-of" => Edge { + "name": "kind-of", + "spec": "^6.0.2", + "to": "node_modules/nanomatch/node_modules/kind-of", + "type": "prod", + }, + "object.pick" => Edge { + "name": "object.pick", + "spec": "^1.3.0", + "to": "node_modules/object.pick", + "type": "prod", + }, + "regex-not" => Edge { + "name": "regex-not", + "spec": "^1.0.0", + "to": "node_modules/regex-not", + "type": "prod", + }, + "snapdragon" => Edge { + "name": "snapdragon", + "spec": "^0.8.1", + "to": "node_modules/snapdragon", + "type": "prod", + }, + "to-regex" => Edge { + "name": "to-regex", + "spec": "^3.0.1", + "to": "node_modules/to-regex", + "type": "prod", + }, + }, + "location": "node_modules/nanomatch", + "name": "nanomatch", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + }, + "negotiator" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/accepts", + "name": "negotiator", + "spec": "0.6.2", + "type": "prod", + }, + }, + "location": "node_modules/negotiator", + "name": "negotiator", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + }, + "neo-async" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/webpack", + "name": "neo-async", + "spec": "^2.6.2", + "type": "prod", + }, + }, + "location": "node_modules/neo-async", + "name": "neo-async", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + }, + "nice-try" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/cross-spawn", + "name": "nice-try", + "spec": "^1.0.4", + "type": "prod", + }, + }, + "location": "node_modules/nice-try", + "name": "nice-try", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + }, + "node-forge" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/selfsigned", + "name": "node-forge", + "spec": "^0.10.0", + "type": "prod", + }, + }, + "location": "node_modules/node-forge", + "name": "node-forge", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", + }, + "node-releases" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/browserslist", + "name": "node-releases", + "spec": "^1.1.61", + "type": "prod", + }, + }, + "location": "node_modules/node-releases", + "name": "node-releases", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.63.tgz", + }, + "normalize-path" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/chokidar", + "name": "normalize-path", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "location": "node_modules/normalize-path", + "name": "normalize-path", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + }, + "npm-run-path" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/execa", + "name": "npm-run-path", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "path-key" => Edge { + "name": "path-key", + "spec": "^2.0.0", + "to": "node_modules/path-key", + "type": "prod", + }, + }, + "location": "node_modules/npm-run-path", + "name": "npm-run-path", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + }, + "object-assign" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/globby", + "name": "object-assign", + "spec": "^4.0.1", + "type": "prod", + }, + }, + "location": "node_modules/object-assign", + "name": "object-assign", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + }, + "object-copy" => Node { + "children": Map { + "define-property" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/object-copy", + "name": "define-property", + "spec": "^0.2.5", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-descriptor" => Edge { + "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", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + }, + "is-accessor-descriptor" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/object-copy/node_modules/is-descriptor", + "name": "is-accessor-descriptor", + "spec": "^0.1.6", + "type": "prod", + }, + }, + "edgesOut": Map { + "kind-of" => Edge { + "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", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + }, + "is-data-descriptor" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/object-copy/node_modules/is-descriptor", + "name": "is-data-descriptor", + "spec": "^0.1.4", + "type": "prod", + }, + }, + "edgesOut": Map { + "kind-of" => Edge { + "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", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + }, + "is-descriptor" => Node { + "children": Map { + "kind-of" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + }, + }, + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/object-copy/node_modules/define-property", + "name": "is-descriptor", + "spec": "^0.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-accessor-descriptor" => Edge { + "name": "is-accessor-descriptor", + "spec": "^0.1.6", + "to": "node_modules/object-copy/node_modules/is-accessor-descriptor", + "type": "prod", + }, + "is-data-descriptor" => Edge { + "name": "is-data-descriptor", + "spec": "^0.1.4", + "to": "node_modules/object-copy/node_modules/is-data-descriptor", + "type": "prod", + }, + "kind-of" => Edge { + "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", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + }, + }, + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/static-extend", + "name": "object-copy", + "spec": "^0.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "copy-descriptor" => Edge { + "name": "copy-descriptor", + "spec": "^0.1.0", + "to": "node_modules/copy-descriptor", + "type": "prod", + }, + "define-property" => Edge { + "name": "define-property", + "spec": "^0.2.5", + "to": "node_modules/object-copy/node_modules/define-property", + "type": "prod", + }, + "kind-of" => Edge { + "name": "kind-of", + "spec": "^3.0.3", + "to": "node_modules/kind-of", + "type": "prod", + }, + }, + "location": "node_modules/object-copy", + "name": "object-copy", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + }, + "object-inspect" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/es-abstract", + "name": "object-inspect", + "spec": "^1.8.0", + "type": "prod", + }, + Edge { + "from": "node_modules/regexp.prototype.flags/node_modules/es-abstract", + "name": "object-inspect", + "spec": "^1.8.0", + "type": "prod", + }, + Edge { + "from": "node_modules/string.prototype.trimend/node_modules/es-abstract", + "name": "object-inspect", + "spec": "^1.8.0", + "type": "prod", + }, + Edge { + "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", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", + }, + "object-is" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/deep-equal", + "name": "object-is", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "define-properties" => Edge { + "name": "define-properties", + "spec": "^1.1.3", + "to": "node_modules/define-properties", + "type": "prod", + }, + "es-abstract" => Edge { + "name": "es-abstract", + "spec": "^1.18.0-next.1", + "to": "node_modules/es-abstract", + "type": "prod", + }, + }, + "location": "node_modules/object-is", + "name": "object-is", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.3.tgz", + }, + "object-keys" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/deep-equal", + "name": "object-keys", + "spec": "^1.1.1", + "type": "prod", + }, + Edge { + "from": "node_modules/define-properties", + "name": "object-keys", + "spec": "^1.0.12", + "type": "prod", + }, + Edge { + "from": "node_modules/es-abstract", + "name": "object-keys", + "spec": "^1.1.1", + "type": "prod", + }, + Edge { + "from": "node_modules/object.assign", + "name": "object-keys", + "spec": "^1.1.1", + "type": "prod", + }, + Edge { + "from": "node_modules/regexp.prototype.flags/node_modules/es-abstract", + "name": "object-keys", + "spec": "^1.1.1", + "type": "prod", + }, + Edge { + "from": "node_modules/string.prototype.trimend/node_modules/es-abstract", + "name": "object-keys", + "spec": "^1.1.1", + "type": "prod", + }, + Edge { + "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", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + }, + "object-visit" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/collection-visit", + "name": "object-visit", + "spec": "^1.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/map-visit", + "name": "object-visit", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "isobject" => Edge { + "name": "isobject", + "spec": "^3.0.0", + "to": "node_modules/isobject", + "type": "prod", + }, + }, + "location": "node_modules/object-visit", + "name": "object-visit", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + }, + "object.assign" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/es-abstract", + "name": "object.assign", + "spec": "^4.1.1", + "type": "prod", + }, + Edge { + "from": "node_modules/regexp.prototype.flags/node_modules/es-abstract", + "name": "object.assign", + "spec": "^4.1.1", + "type": "prod", + }, + Edge { + "from": "node_modules/string.prototype.trimend/node_modules/es-abstract", + "name": "object.assign", + "spec": "^4.1.1", + "type": "prod", + }, + Edge { + "from": "node_modules/string.prototype.trimstart/node_modules/es-abstract", + "name": "object.assign", + "spec": "^4.1.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "define-properties" => Edge { + "name": "define-properties", + "spec": "^1.1.3", + "to": "node_modules/define-properties", + "type": "prod", + }, + "es-abstract" => Edge { + "name": "es-abstract", + "spec": "^1.18.0-next.0", + "to": "node_modules/es-abstract", + "type": "prod", + }, + "has-symbols" => Edge { + "name": "has-symbols", + "spec": "^1.0.1", + "to": "node_modules/has-symbols", + "type": "prod", + }, + "object-keys" => Edge { + "name": "object-keys", + "spec": "^1.1.1", + "to": "node_modules/object-keys", + "type": "prod", + }, + }, + "location": "node_modules/object.assign", + "name": "object.assign", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.1.tgz", + }, + "object.pick" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/micromatch", + "name": "object.pick", + "spec": "^1.3.0", + "type": "prod", + }, + Edge { + "from": "node_modules/nanomatch", + "name": "object.pick", + "spec": "^1.3.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "isobject" => Edge { + "name": "isobject", + "spec": "^3.0.1", + "to": "node_modules/isobject", + "type": "prod", + }, + }, + "location": "node_modules/object.pick", + "name": "object.pick", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + }, + "obuf" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/hpack.js", + "name": "obuf", + "spec": "^1.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/spdy-transport", + "name": "obuf", + "spec": "^1.1.2", + "type": "prod", + }, + }, + "location": "node_modules/obuf", + "name": "obuf", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + }, + "on-finished" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/body-parser", + "name": "on-finished", + "spec": "~2.3.0", + "type": "prod", + }, + Edge { + "from": "node_modules/express", + "name": "on-finished", + "spec": "~2.3.0", + "type": "prod", + }, + Edge { + "from": "node_modules/finalhandler", + "name": "on-finished", + "spec": "~2.3.0", + "type": "prod", + }, + Edge { + "from": "node_modules/send", + "name": "on-finished", + "spec": "~2.3.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "ee-first" => Edge { + "name": "ee-first", + "spec": "1.1.1", + "to": "node_modules/ee-first", + "type": "prod", + }, + }, + "location": "node_modules/on-finished", + "name": "on-finished", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + }, + "on-headers" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/compression", + "name": "on-headers", + "spec": "~1.0.2", + "type": "prod", + }, + }, + "location": "node_modules/on-headers", + "name": "on-headers", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + }, + "once" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/end-of-stream", + "name": "once", + "spec": "^1.4.0", + "type": "prod", + }, + Edge { + "from": "node_modules/glob", + "name": "once", + "spec": "^1.3.0", + "type": "prod", + }, + Edge { + "from": "node_modules/inflight", + "name": "once", + "spec": "^1.3.0", + "type": "prod", + }, + Edge { + "from": "node_modules/pump", + "name": "once", + "spec": "^1.3.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "wrappy" => Edge { + "name": "wrappy", + "spec": "1", + "to": "node_modules/wrappy", + "type": "prod", + }, + }, + "location": "node_modules/once", + "name": "once", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + }, + "opn" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/webpack-dev-server", + "name": "opn", + "spec": "^5.5.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-wsl" => Edge { + "name": "is-wsl", + "spec": "^1.1.0", + "to": "node_modules/is-wsl", + "type": "prod", + }, + }, + "location": "node_modules/opn", + "name": "opn", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", + }, + "original" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/eventsource", + "name": "original", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "url-parse" => Edge { + "name": "url-parse", + "spec": "^1.4.3", + "to": "node_modules/url-parse", + "type": "prod", + }, + }, + "location": "node_modules/original", + "name": "original", + "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", + }, + "p-finally" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/execa", + "name": "p-finally", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/p-finally", + "name": "p-finally", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + }, + "p-limit" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/import-local/node_modules/p-locate", + "name": "p-limit", + "spec": "^2.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/p-locate", + "name": "p-limit", + "spec": "^2.2.0", + "type": "prod", + }, + Edge { + "from": "node_modules/yargs/node_modules/p-locate", + "name": "p-limit", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "p-try" => Edge { + "name": "p-try", + "spec": "^2.0.0", + "to": "node_modules/p-try", + "type": "prod", + }, + }, + "location": "node_modules/p-limit", + "name": "p-limit", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + }, + "p-locate" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/locate-path", + "name": "p-locate", + "spec": "^4.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "p-limit" => Edge { + "name": "p-limit", + "spec": "^2.2.0", + "to": "node_modules/p-limit", + "type": "prod", + }, + }, + "location": "node_modules/p-locate", + "name": "p-locate", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + }, + "p-map" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/del", + "name": "p-map", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/p-map", + "name": "p-map", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", + }, + "p-retry" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/webpack-dev-server", + "name": "p-retry", + "spec": "^3.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "retry" => Edge { + "name": "retry", + "spec": "^0.12.0", + "to": "node_modules/retry", + "type": "prod", + }, + }, + "location": "node_modules/p-retry", + "name": "p-retry", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz", + }, + "p-try" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/p-limit", + "name": "p-try", + "spec": "^2.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/terser-webpack-plugin/node_modules/p-limit", + "name": "p-try", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/p-try", + "name": "p-try", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + }, + "parseurl" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/express", + "name": "parseurl", + "spec": "~1.3.3", + "type": "prod", + }, + Edge { + "from": "node_modules/finalhandler", + "name": "parseurl", + "spec": "~1.3.3", + "type": "prod", + }, + Edge { + "from": "node_modules/serve-index", + "name": "parseurl", + "spec": "~1.3.2", + "type": "prod", + }, + Edge { + "from": "node_modules/serve-static", + "name": "parseurl", + "spec": "~1.3.3", + "type": "prod", + }, + }, + "location": "node_modules/parseurl", + "name": "parseurl", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + }, + "pascalcase" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/base", + "name": "pascalcase", + "spec": "^0.1.1", + "type": "prod", + }, + }, + "location": "node_modules/pascalcase", + "name": "pascalcase", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + }, + "path-dirname" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/glob-parent", + "name": "path-dirname", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/path-dirname", + "name": "path-dirname", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + }, + "path-exists" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/find-up", + "name": "path-exists", + "spec": "^4.0.0", + "type": "prod", + }, + }, + "location": "node_modules/path-exists", + "name": "path-exists", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + }, + "path-is-absolute" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/chokidar", + "name": "path-is-absolute", + "spec": "^1.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/glob", + "name": "path-is-absolute", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/path-is-absolute", + "name": "path-is-absolute", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + }, + "path-is-inside" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + }, + "path-key" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/cross-spawn", + "name": "path-key", + "spec": "^2.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/npm-run-path", + "name": "path-key", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/path-key", + "name": "path-key", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + }, + "path-to-regexp" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/express", + "name": "path-to-regexp", + "spec": "0.1.7", + "type": "prod", + }, + }, + "location": "node_modules/path-to-regexp", + "name": "path-to-regexp", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + }, + "pify" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/del", + "name": "pify", + "spec": "^4.0.1", + "type": "prod", + }, + }, + "location": "node_modules/pify", + "name": "pify", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + }, + "pinkie" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/pinkie-promise", + "name": "pinkie", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/pinkie", + "name": "pinkie", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + }, + "pinkie-promise" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/globby", + "name": "pinkie-promise", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "pinkie" => Edge { + "name": "pinkie", + "spec": "^2.0.0", + "to": "node_modules/pinkie", + "type": "prod", + }, + }, + "location": "node_modules/pinkie-promise", + "name": "pinkie-promise", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + }, + "pkg-dir" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/webpack", + "name": "pkg-dir", + "spec": "^4.2.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "find-up" => Edge { + "name": "find-up", + "spec": "^4.0.0", + "to": "node_modules/find-up", + "type": "prod", + }, + }, + "location": "node_modules/pkg-dir", + "name": "pkg-dir", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + }, + "portfinder" => Node { + "children": Map { + "debug" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/portfinder", + "name": "debug", + "spec": "^3.1.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "ms" => Edge { + "name": "ms", + "spec": "^2.1.1", + "to": "node_modules/ms", + "type": "prod", + }, + }, + "location": "node_modules/portfinder/node_modules/debug", + "name": "debug", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + }, + }, + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/webpack-dev-server", + "name": "portfinder", + "spec": "^1.0.26", + "type": "prod", + }, + }, + "edgesOut": Map { + "async" => Edge { + "name": "async", + "spec": "^2.6.2", + "to": "node_modules/async", + "type": "prod", + }, + "debug" => Edge { + "name": "debug", + "spec": "^3.1.1", + "to": "node_modules/portfinder/node_modules/debug", + "type": "prod", + }, + "mkdirp" => Edge { + "name": "mkdirp", + "spec": "^0.5.5", + "to": "node_modules/mkdirp", + "type": "prod", + }, + }, + "location": "node_modules/portfinder", + "name": "portfinder", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", + }, + "posix-character-classes" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + }, + "process-nextick-args" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + }, + "proxy-addr" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/express", + "name": "proxy-addr", + "spec": "~2.0.5", + "type": "prod", + }, + }, + "edgesOut": Map { + "forwarded" => Edge { + "name": "forwarded", + "spec": "~0.1.2", + "to": "node_modules/forwarded", + "type": "prod", + }, + "ipaddr.js" => Edge { + "name": "ipaddr.js", + "spec": "1.9.1", + "to": "node_modules/ipaddr.js", + "type": "prod", + }, + }, + "location": "node_modules/proxy-addr", + "name": "proxy-addr", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", + }, + "prr" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/errno", + "name": "prr", + "spec": "~1.0.1", + "type": "prod", + }, + }, + "location": "node_modules/prr", + "name": "prr", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + }, + "pump" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/get-stream", + "name": "pump", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "end-of-stream" => Edge { + "name": "end-of-stream", + "spec": "^1.1.0", + "to": "node_modules/end-of-stream", + "type": "prod", + }, + "once" => Edge { + "name": "once", + "spec": "^1.3.1", + "to": "node_modules/once", + "type": "prod", + }, + }, + "location": "node_modules/pump", + "name": "pump", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + }, + "punycode" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/uri-js", + "name": "punycode", + "spec": "^2.1.0", + "type": "prod", + }, + }, + "location": "node_modules/punycode", + "name": "punycode", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + }, + "qs" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/body-parser", + "name": "qs", + "spec": "6.7.0", + "type": "prod", + }, + Edge { + "from": "node_modules/express", + "name": "qs", + "spec": "6.7.0", + "type": "prod", + }, + }, + "location": "node_modules/qs", + "name": "qs", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + }, + "querystring" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/url", + "name": "querystring", + "spec": "0.2.0", + "type": "prod", + }, + }, + "location": "node_modules/querystring", + "name": "querystring", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + }, + "querystringify" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/url-parse", + "name": "querystringify", + "spec": "^2.1.1", + "type": "prod", + }, + }, + "location": "node_modules/querystringify", + "name": "querystringify", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + }, + "randombytes" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/serialize-javascript", + "name": "randombytes", + "spec": "^2.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "safe-buffer" => Edge { + "name": "safe-buffer", + "spec": "^5.1.0", + "to": "node_modules/safe-buffer", + "type": "prod", + }, + }, + "location": "node_modules/randombytes", + "name": "randombytes", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + }, + "range-parser" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/express", + "name": "range-parser", + "spec": "~1.2.1", + "type": "prod", + }, + Edge { + "from": "node_modules/send", + "name": "range-parser", + "spec": "~1.2.1", + "type": "prod", + }, + Edge { + "from": "node_modules/webpack-dev-server/node_modules/webpack-dev-middleware", + "name": "range-parser", + "spec": "^1.2.1", + "type": "prod", + }, + }, + "location": "node_modules/range-parser", + "name": "range-parser", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + }, + "raw-body" => Node { + "children": Map { + "bytes" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/raw-body", + "name": "bytes", + "spec": "3.1.0", + "type": "prod", + }, + }, + "location": "node_modules/raw-body/node_modules/bytes", + "name": "bytes", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + }, + }, + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/body-parser", + "name": "raw-body", + "spec": "2.4.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "bytes" => Edge { + "name": "bytes", + "spec": "3.1.0", + "to": "node_modules/raw-body/node_modules/bytes", + "type": "prod", + }, + "http-errors" => Edge { + "name": "http-errors", + "spec": "1.7.2", + "to": "node_modules/http-errors", + "type": "prod", + }, + "iconv-lite" => Edge { + "name": "iconv-lite", + "spec": "0.4.24", + "to": "node_modules/iconv-lite", + "type": "prod", + }, + "unpipe" => Edge { + "name": "unpipe", + "spec": "1.0.0", + "to": "node_modules/unpipe", + "type": "prod", + }, + }, + "location": "node_modules/raw-body", + "name": "raw-body", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", + }, + "readable-stream" => Node { + "children": Map { + "safe-buffer" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + }, + }, + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/hpack.js", + "name": "readable-stream", + "spec": "^2.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/memory-fs", + "name": "readable-stream", + "spec": "^2.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/readdirp", + "name": "readable-stream", + "spec": "^2.0.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "core-util-is" => Edge { + "name": "core-util-is", + "spec": "~1.0.0", + "to": "node_modules/core-util-is", + "type": "prod", + }, + "inherits" => Edge { + "name": "inherits", + "spec": "~2.0.3", + "to": "node_modules/inherits", + "type": "prod", + }, + "isarray" => Edge { + "name": "isarray", + "spec": "~1.0.0", + "to": "node_modules/isarray", + "type": "prod", + }, + "process-nextick-args" => Edge { + "name": "process-nextick-args", + "spec": "~2.0.0", + "to": "node_modules/process-nextick-args", + "type": "prod", + }, + "safe-buffer" => Edge { + "name": "safe-buffer", + "spec": "~5.1.1", + "to": "node_modules/readable-stream/node_modules/safe-buffer", + "type": "prod", + }, + "string_decoder" => Edge { + "name": "string_decoder", + "spec": "~1.1.1", + "to": "node_modules/string_decoder", + "type": "prod", + }, + "util-deprecate" => Edge { + "name": "util-deprecate", + "spec": "~1.0.1", + "to": "node_modules/util-deprecate", + "type": "prod", + }, + }, + "location": "node_modules/readable-stream", + "name": "readable-stream", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + }, + "readdirp" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/chokidar", + "name": "readdirp", + "spec": "^2.2.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "graceful-fs" => Edge { + "name": "graceful-fs", + "spec": "^4.1.11", + "to": "node_modules/graceful-fs", + "type": "prod", + }, + "micromatch" => Edge { + "name": "micromatch", + "spec": "^3.1.10", + "to": "node_modules/micromatch", + "type": "prod", + }, + "readable-stream" => Edge { + "name": "readable-stream", + "spec": "^2.0.2", + "to": "node_modules/readable-stream", + "type": "prod", + }, + }, + "location": "node_modules/readdirp", + "name": "readdirp", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + }, + "regex-not" => Node { + "children": Map { + "extend-shallow" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/regex-not", + "name": "extend-shallow", + "spec": "^3.0.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "assign-symbols" => Edge { + "name": "assign-symbols", + "spec": "^1.0.0", + "to": "node_modules/assign-symbols", + "type": "prod", + }, + "is-extendable" => Edge { + "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", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + }, + "is-extendable" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/regex-not/node_modules/extend-shallow", + "name": "is-extendable", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-plain-object" => Edge { + "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", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + }, + }, + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/expand-brackets", + "name": "regex-not", + "spec": "^1.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/extglob", + "name": "regex-not", + "spec": "^1.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/micromatch", + "name": "regex-not", + "spec": "^1.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/nanomatch", + "name": "regex-not", + "spec": "^1.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/to-regex", + "name": "regex-not", + "spec": "^1.0.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "extend-shallow" => Edge { + "name": "extend-shallow", + "spec": "^3.0.2", + "to": "node_modules/regex-not/node_modules/extend-shallow", + "type": "prod", + }, + "safe-regex" => Edge { + "name": "safe-regex", + "spec": "^1.1.0", + "to": "node_modules/safe-regex", + "type": "prod", + }, + }, + "location": "node_modules/regex-not", + "name": "regex-not", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + }, + "regexp.prototype.flags" => Node { + "children": Map { + "es-abstract" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/regexp.prototype.flags", + "name": "es-abstract", + "spec": "^1.17.0-next.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "es-to-primitive" => Edge { + "name": "es-to-primitive", + "spec": "^1.2.1", + "to": "node_modules/es-to-primitive", + "type": "prod", + }, + "function-bind" => Edge { + "name": "function-bind", + "spec": "^1.1.1", + "to": "node_modules/function-bind", + "type": "prod", + }, + "has" => Edge { + "name": "has", + "spec": "^1.0.3", + "to": "node_modules/has", + "type": "prod", + }, + "has-symbols" => Edge { + "name": "has-symbols", + "spec": "^1.0.1", + "to": "node_modules/has-symbols", + "type": "prod", + }, + "is-callable" => Edge { + "name": "is-callable", + "spec": "^1.2.2", + "to": "node_modules/is-callable", + "type": "prod", + }, + "is-regex" => Edge { + "name": "is-regex", + "spec": "^1.1.1", + "to": "node_modules/is-regex", + "type": "prod", + }, + "object-inspect" => Edge { + "name": "object-inspect", + "spec": "^1.8.0", + "to": "node_modules/object-inspect", + "type": "prod", + }, + "object-keys" => Edge { + "name": "object-keys", + "spec": "^1.1.1", + "to": "node_modules/object-keys", + "type": "prod", + }, + "object.assign" => Edge { + "name": "object.assign", + "spec": "^4.1.1", + "to": "node_modules/object.assign", + "type": "prod", + }, + "string.prototype.trimend" => Edge { + "name": "string.prototype.trimend", + "spec": "^1.0.1", + "to": "node_modules/string.prototype.trimend", + "type": "prod", + }, + "string.prototype.trimstart" => Edge { + "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", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", + }, + }, + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/deep-equal", + "name": "regexp.prototype.flags", + "spec": "^1.2.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "define-properties" => Edge { + "name": "define-properties", + "spec": "^1.1.3", + "to": "node_modules/define-properties", + "type": "prod", + }, + "es-abstract" => Edge { + "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", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz", + }, + "remove-trailing-separator" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + }, + "repeat-element" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/braces", + "name": "repeat-element", + "spec": "^1.1.2", + "type": "prod", + }, + }, + "location": "node_modules/repeat-element", + "name": "repeat-element", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + }, + "repeat-string" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/fill-range", + "name": "repeat-string", + "spec": "^1.6.1", + "type": "prod", + }, + Edge { + "from": "node_modules/to-regex-range", + "name": "repeat-string", + "spec": "^1.6.1", + "type": "prod", + }, + }, + "location": "node_modules/repeat-string", + "name": "repeat-string", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + }, + "require-directory" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/yargs", + "name": "require-directory", + "spec": "^2.1.1", + "type": "prod", + }, + }, + "location": "node_modules/require-directory", + "name": "require-directory", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + }, + "require-main-filename" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/yargs", + "name": "require-main-filename", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/require-main-filename", + "name": "require-main-filename", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + }, + "requires-port" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/http-proxy", + "name": "requires-port", + "spec": "^1.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/url-parse", + "name": "requires-port", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/requires-port", + "name": "requires-port", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + }, + "resolve-cwd" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/import-local", + "name": "resolve-cwd", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "resolve-from" => Edge { + "name": "resolve-from", + "spec": "^3.0.0", + "to": "node_modules/resolve-from", + "type": "prod", + }, + }, + "location": "node_modules/resolve-cwd", + "name": "resolve-cwd", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + }, + "resolve-from" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/resolve-cwd", + "name": "resolve-from", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "location": "node_modules/resolve-from", + "name": "resolve-from", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + }, + "resolve-url" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/source-map-resolve", + "name": "resolve-url", + "spec": "^0.2.1", + "type": "prod", + }, + }, + "location": "node_modules/resolve-url", + "name": "resolve-url", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + }, + "ret" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/safe-regex", + "name": "ret", + "spec": "~0.1.10", + "type": "prod", + }, + }, + "location": "node_modules/ret", + "name": "ret", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + }, + "retry" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/p-retry", + "name": "retry", + "spec": "^0.12.0", + "type": "prod", + }, + }, + "location": "node_modules/retry", + "name": "retry", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + }, + "rimraf" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/del", + "name": "rimraf", + "spec": "^2.6.3", + "type": "prod", + }, + }, + "edgesOut": Map { + "glob" => Edge { + "name": "glob", + "spec": "^7.1.3", + "to": "node_modules/glob", + "type": "prod", + }, + }, + "location": "node_modules/rimraf", + "name": "rimraf", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + }, + "safe-buffer" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/dns-packet", + "name": "safe-buffer", + "spec": "^5.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/randombytes", + "name": "safe-buffer", + "spec": "^5.1.0", + "type": "prod", + }, + }, + "location": "node_modules/safe-buffer", + "name": "safe-buffer", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + }, + "safe-regex" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/regex-not", + "name": "safe-regex", + "spec": "^1.1.0", + "type": "prod", + }, + Edge { + "from": "node_modules/to-regex", + "name": "safe-regex", + "spec": "^1.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "ret" => Edge { + "name": "ret", + "spec": "~0.1.10", + "to": "node_modules/ret", + "type": "prod", + }, + }, + "location": "node_modules/safe-regex", + "name": "safe-regex", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + }, + "safer-buffer" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/iconv-lite", + "name": "safer-buffer", + "spec": ">= 2.1.2 < 3", + "type": "prod", + }, + }, + "location": "node_modules/safer-buffer", + "name": "safer-buffer", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + }, + "schema-utils" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/terser-webpack-plugin", + "name": "schema-utils", + "spec": "^3.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/webpack", + "name": "schema-utils", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "@types/json-schema" => Edge { + "name": "@types/json-schema", + "spec": "^7.0.6", + "to": "node_modules/@types/json-schema", + "type": "prod", + }, + "ajv" => Edge { + "name": "ajv", + "spec": "^6.12.5", + "to": "node_modules/ajv", + "type": "prod", + }, + "ajv-keywords" => Edge { + "name": "ajv-keywords", + "spec": "^3.5.2", + "to": "node_modules/ajv-keywords", + "type": "prod", + }, + }, + "location": "node_modules/schema-utils", + "name": "schema-utils", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", + }, + "select-hose" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/spdy", + "name": "select-hose", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/select-hose", + "name": "select-hose", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + }, + "selfsigned" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/webpack-dev-server", + "name": "selfsigned", + "spec": "^1.10.7", + "type": "prod", + }, + }, + "edgesOut": Map { + "node-forge" => Edge { + "name": "node-forge", + "spec": "^0.10.0", + "to": "node_modules/node-forge", + "type": "prod", + }, + }, + "location": "node_modules/selfsigned", + "name": "selfsigned", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.8.tgz", + }, + "semver" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/webpack-dev-server", + "name": "semver", + "spec": "^6.3.0", + "type": "prod", + }, + }, + "location": "node_modules/semver", + "name": "semver", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + }, + "send" => Node { + "children": Map { + "debug" => Node { + "children": Map { + "ms" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + }, + }, + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/send", + "name": "debug", + "spec": "2.6.9", + "type": "prod", + }, + }, + "edgesOut": Map { + "ms" => Edge { + "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", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + }, + "ms" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/send", + "name": "ms", + "spec": "2.1.1", + "type": "prod", + }, + }, + "location": "node_modules/send/node_modules/ms", + "name": "ms", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + }, + }, + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/express", + "name": "send", + "spec": "0.17.1", + "type": "prod", + }, + Edge { + "from": "node_modules/serve-static", + "name": "send", + "spec": "0.17.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "debug" => Edge { + "name": "debug", + "spec": "2.6.9", + "to": "node_modules/send/node_modules/debug", + "type": "prod", + }, + "depd" => Edge { + "name": "depd", + "spec": "~1.1.2", + "to": "node_modules/depd", + "type": "prod", + }, + "destroy" => Edge { + "name": "destroy", + "spec": "~1.0.4", + "to": "node_modules/destroy", + "type": "prod", + }, + "encodeurl" => Edge { + "name": "encodeurl", + "spec": "~1.0.2", + "to": "node_modules/encodeurl", + "type": "prod", + }, + "escape-html" => Edge { + "name": "escape-html", + "spec": "~1.0.3", + "to": "node_modules/escape-html", + "type": "prod", + }, + "etag" => Edge { + "name": "etag", + "spec": "~1.8.1", + "to": "node_modules/etag", + "type": "prod", + }, + "fresh" => Edge { + "name": "fresh", + "spec": "0.5.2", + "to": "node_modules/fresh", + "type": "prod", + }, + "http-errors" => Edge { + "name": "http-errors", + "spec": "~1.7.2", + "to": "node_modules/http-errors", + "type": "prod", + }, + "mime" => Edge { + "name": "mime", + "spec": "1.6.0", + "to": "node_modules/mime", + "type": "prod", + }, + "ms" => Edge { + "name": "ms", + "spec": "2.1.1", + "to": "node_modules/send/node_modules/ms", + "type": "prod", + }, + "on-finished" => Edge { + "name": "on-finished", + "spec": "~2.3.0", + "to": "node_modules/on-finished", + "type": "prod", + }, + "range-parser" => Edge { + "name": "range-parser", + "spec": "~1.2.1", + "to": "node_modules/range-parser", + "type": "prod", + }, + "statuses" => Edge { + "name": "statuses", + "spec": "~1.5.0", + "to": "node_modules/statuses", + "type": "prod", + }, + }, + "location": "node_modules/send", + "name": "send", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + }, + "serialize-javascript" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/terser-webpack-plugin", + "name": "serialize-javascript", + "spec": "^5.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "randombytes" => Edge { + "name": "randombytes", + "spec": "^2.1.0", + "to": "node_modules/randombytes", + "type": "prod", + }, + }, + "location": "node_modules/serialize-javascript", + "name": "serialize-javascript", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", + }, + "serve-index" => Node { + "children": Map { + "debug" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/serve-index", + "name": "debug", + "spec": "2.6.9", + "type": "prod", + }, + }, + "edgesOut": Map { + "ms" => Edge { + "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", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + }, + "http-errors" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/serve-index", + "name": "http-errors", + "spec": "~1.6.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "depd" => Edge { + "name": "depd", + "spec": "~1.1.2", + "to": "node_modules/depd", + "type": "prod", + }, + "inherits" => Edge { + "name": "inherits", + "spec": "2.0.3", + "to": "node_modules/serve-index/node_modules/inherits", + "type": "prod", + }, + "setprototypeof" => Edge { + "name": "setprototypeof", + "spec": "1.1.0", + "to": "node_modules/serve-index/node_modules/setprototypeof", + "type": "prod", + }, + "statuses" => Edge { + "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", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + }, + "inherits" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + }, + "ms" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + }, + "setprototypeof" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + }, + }, + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/webpack-dev-server", + "name": "serve-index", + "spec": "^1.9.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "accepts" => Edge { + "name": "accepts", + "spec": "~1.3.4", + "to": "node_modules/accepts", + "type": "prod", + }, + "batch" => Edge { + "name": "batch", + "spec": "0.6.1", + "to": "node_modules/batch", + "type": "prod", + }, + "debug" => Edge { + "name": "debug", + "spec": "2.6.9", + "to": "node_modules/serve-index/node_modules/debug", + "type": "prod", + }, + "escape-html" => Edge { + "name": "escape-html", + "spec": "~1.0.3", + "to": "node_modules/escape-html", + "type": "prod", + }, + "http-errors" => Edge { + "name": "http-errors", + "spec": "~1.6.2", + "to": "node_modules/serve-index/node_modules/http-errors", + "type": "prod", + }, + "mime-types" => Edge { + "name": "mime-types", + "spec": "~2.1.17", + "to": "node_modules/mime-types", + "type": "prod", + }, + "parseurl" => Edge { + "name": "parseurl", + "spec": "~1.3.2", + "to": "node_modules/parseurl", + "type": "prod", + }, + }, + "location": "node_modules/serve-index", + "name": "serve-index", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + }, + "serve-static" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/express", + "name": "serve-static", + "spec": "1.14.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "encodeurl" => Edge { + "name": "encodeurl", + "spec": "~1.0.2", + "to": "node_modules/encodeurl", + "type": "prod", + }, + "escape-html" => Edge { + "name": "escape-html", + "spec": "~1.0.3", + "to": "node_modules/escape-html", + "type": "prod", + }, + "parseurl" => Edge { + "name": "parseurl", + "spec": "~1.3.3", + "to": "node_modules/parseurl", + "type": "prod", + }, + "send" => Edge { + "name": "send", + "spec": "0.17.1", + "to": "node_modules/send", + "type": "prod", + }, + }, + "location": "node_modules/serve-static", + "name": "serve-static", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + }, + "set-blocking" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/yargs", + "name": "set-blocking", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/set-blocking", + "name": "set-blocking", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + }, + "set-value" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/cache-base", + "name": "set-value", + "spec": "^2.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/union-value", + "name": "set-value", + "spec": "^2.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "extend-shallow" => Edge { + "name": "extend-shallow", + "spec": "^2.0.1", + "to": "node_modules/extend-shallow", + "type": "prod", + }, + "is-extendable" => Edge { + "name": "is-extendable", + "spec": "^0.1.1", + "to": "node_modules/is-extendable", + "type": "prod", + }, + "is-plain-object" => Edge { + "name": "is-plain-object", + "spec": "^2.0.3", + "to": "node_modules/is-plain-object", + "type": "prod", + }, + "split-string" => Edge { + "name": "split-string", + "spec": "^3.0.1", + "to": "node_modules/split-string", + "type": "prod", + }, + }, + "location": "node_modules/set-value", + "name": "set-value", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + }, + "setprototypeof" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/express", + "name": "setprototypeof", + "spec": "1.1.1", + "type": "prod", + }, + Edge { + "from": "node_modules/http-errors", + "name": "setprototypeof", + "spec": "1.1.1", + "type": "prod", + }, + }, + "location": "node_modules/setprototypeof", + "name": "setprototypeof", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + }, + "shebang-command" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/cross-spawn", + "name": "shebang-command", + "spec": "^1.2.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "shebang-regex" => Edge { + "name": "shebang-regex", + "spec": "^1.0.0", + "to": "node_modules/shebang-regex", + "type": "prod", + }, + }, + "location": "node_modules/shebang-command", + "name": "shebang-command", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + }, + "shebang-regex" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/shebang-command", + "name": "shebang-regex", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/shebang-regex", + "name": "shebang-regex", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + }, + "signal-exit" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/execa", + "name": "signal-exit", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "location": "node_modules/signal-exit", + "name": "signal-exit", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + }, + "snapdragon" => Node { + "children": Map { + "debug" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/snapdragon", + "name": "debug", + "spec": "^2.2.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "ms" => Edge { + "name": "ms", + "spec": "2.0.0", + "to": "node_modules/snapdragon/node_modules/ms", + "type": "prod", + }, + }, + "location": "node_modules/snapdragon/node_modules/debug", + "name": "debug", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + }, + "define-property" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/snapdragon", + "name": "define-property", + "spec": "^0.2.5", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-descriptor" => Edge { + "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", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + }, + "is-accessor-descriptor" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/snapdragon/node_modules/is-descriptor", + "name": "is-accessor-descriptor", + "spec": "^0.1.6", + "type": "prod", + }, + }, + "edgesOut": Map { + "kind-of" => Edge { + "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", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + }, + "is-data-descriptor" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/snapdragon/node_modules/is-descriptor", + "name": "is-data-descriptor", + "spec": "^0.1.4", + "type": "prod", + }, + }, + "edgesOut": Map { + "kind-of" => Edge { + "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", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + }, + "is-descriptor" => Node { + "children": Map { + "kind-of" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + }, + }, + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/snapdragon/node_modules/define-property", + "name": "is-descriptor", + "spec": "^0.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-accessor-descriptor" => Edge { + "name": "is-accessor-descriptor", + "spec": "^0.1.6", + "to": "node_modules/snapdragon/node_modules/is-accessor-descriptor", + "type": "prod", + }, + "is-data-descriptor" => Edge { + "name": "is-data-descriptor", + "spec": "^0.1.4", + "to": "node_modules/snapdragon/node_modules/is-data-descriptor", + "type": "prod", + }, + "kind-of" => Edge { + "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", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + }, + "ms" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/snapdragon/node_modules/debug", + "name": "ms", + "spec": "2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/snapdragon/node_modules/ms", + "name": "ms", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + }, + "source-map" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/snapdragon", + "name": "source-map", + "spec": "^0.5.6", + "type": "prod", + }, + }, + "location": "node_modules/snapdragon/node_modules/source-map", + "name": "source-map", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + }, + }, + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/braces", + "name": "snapdragon", + "spec": "^0.8.1", + "type": "prod", + }, + Edge { + "from": "node_modules/expand-brackets", + "name": "snapdragon", + "spec": "^0.8.1", + "type": "prod", + }, + Edge { + "from": "node_modules/extglob", + "name": "snapdragon", + "spec": "^0.8.1", + "type": "prod", + }, + Edge { + "from": "node_modules/micromatch", + "name": "snapdragon", + "spec": "^0.8.1", + "type": "prod", + }, + Edge { + "from": "node_modules/nanomatch", + "name": "snapdragon", + "spec": "^0.8.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "base" => Edge { + "name": "base", + "spec": "^0.11.1", + "to": "node_modules/base", + "type": "prod", + }, + "debug" => Edge { + "name": "debug", + "spec": "^2.2.0", + "to": "node_modules/snapdragon/node_modules/debug", + "type": "prod", + }, + "define-property" => Edge { + "name": "define-property", + "spec": "^0.2.5", + "to": "node_modules/snapdragon/node_modules/define-property", + "type": "prod", + }, + "extend-shallow" => Edge { + "name": "extend-shallow", + "spec": "^2.0.1", + "to": "node_modules/extend-shallow", + "type": "prod", + }, + "map-cache" => Edge { + "name": "map-cache", + "spec": "^0.2.2", + "to": "node_modules/map-cache", + "type": "prod", + }, + "source-map" => Edge { + "name": "source-map", + "spec": "^0.5.6", + "to": "node_modules/snapdragon/node_modules/source-map", + "type": "prod", + }, + "source-map-resolve" => Edge { + "name": "source-map-resolve", + "spec": "^0.5.0", + "to": "node_modules/source-map-resolve", + "type": "prod", + }, + "use" => Edge { + "name": "use", + "spec": "^3.1.0", + "to": "node_modules/use", + "type": "prod", + }, + }, + "location": "node_modules/snapdragon", + "name": "snapdragon", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + }, + "snapdragon-node" => Node { + "children": Map { + "define-property" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/snapdragon-node", + "name": "define-property", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-descriptor" => Edge { + "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", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + }, + }, + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/braces", + "name": "snapdragon-node", + "spec": "^2.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "define-property" => Edge { + "name": "define-property", + "spec": "^1.0.0", + "to": "node_modules/snapdragon-node/node_modules/define-property", + "type": "prod", + }, + "isobject" => Edge { + "name": "isobject", + "spec": "^3.0.0", + "to": "node_modules/isobject", + "type": "prod", + }, + "snapdragon-util" => Edge { + "name": "snapdragon-util", + "spec": "^3.0.1", + "to": "node_modules/snapdragon-util", + "type": "prod", + }, + }, + "location": "node_modules/snapdragon-node", + "name": "snapdragon-node", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + }, + "snapdragon-util" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/snapdragon-node", + "name": "snapdragon-util", + "spec": "^3.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "kind-of" => Edge { + "name": "kind-of", + "spec": "^3.2.0", + "to": "node_modules/kind-of", + "type": "prod", + }, + }, + "location": "node_modules/snapdragon-util", + "name": "snapdragon-util", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + }, + "sockjs" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/webpack-dev-server", + "name": "sockjs", + "spec": "0.3.20", + "type": "prod", + }, + }, + "edgesOut": Map { + "faye-websocket" => Edge { + "name": "faye-websocket", + "spec": "^0.10.0", + "to": "node_modules/faye-websocket", + "type": "prod", + }, + "uuid" => Edge { + "name": "uuid", + "spec": "^3.4.0", + "to": "node_modules/uuid", + "type": "prod", + }, + "websocket-driver" => Edge { + "name": "websocket-driver", + "spec": "0.6.5", + "to": "node_modules/websocket-driver", + "type": "prod", + }, + }, + "location": "node_modules/sockjs", + "name": "sockjs", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.20.tgz", + }, + "sockjs-client" => Node { + "children": Map { + "debug" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/sockjs-client", + "name": "debug", + "spec": "^3.2.5", + "type": "prod", + }, + }, + "edgesOut": Map { + "ms" => Edge { + "name": "ms", + "spec": "^2.1.1", + "to": "node_modules/ms", + "type": "prod", + }, + }, + "location": "node_modules/sockjs-client/node_modules/debug", + "name": "debug", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + }, + "faye-websocket" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/sockjs-client", + "name": "faye-websocket", + "spec": "~0.11.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "websocket-driver" => Edge { + "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", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", + }, + }, + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/webpack-dev-server", + "name": "sockjs-client", + "spec": "1.4.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "debug" => Edge { + "name": "debug", + "spec": "^3.2.5", + "to": "node_modules/sockjs-client/node_modules/debug", + "type": "prod", + }, + "eventsource" => Edge { + "name": "eventsource", + "spec": "^1.0.7", + "to": "node_modules/eventsource", + "type": "prod", + }, + "faye-websocket" => Edge { + "name": "faye-websocket", + "spec": "~0.11.1", + "to": "node_modules/sockjs-client/node_modules/faye-websocket", + "type": "prod", + }, + "inherits" => Edge { + "name": "inherits", + "spec": "^2.0.3", + "to": "node_modules/inherits", + "type": "prod", + }, + "json3" => Edge { + "name": "json3", + "spec": "^3.3.2", + "to": "node_modules/json3", + "type": "prod", + }, + "url-parse" => Edge { + "name": "url-parse", + "spec": "^1.4.3", + "to": "node_modules/url-parse", + "type": "prod", + }, + }, + "location": "node_modules/sockjs-client", + "name": "sockjs-client", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.4.0.tgz", + }, + "source-list-map" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/webpack-sources", + "name": "source-list-map", + "spec": "^2.0.1", + "type": "prod", + }, + }, + "location": "node_modules/source-list-map", + "name": "source-list-map", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + }, + "source-map" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/source-map-support", + "name": "source-map", + "spec": "^0.6.0", + "type": "prod", + }, + Edge { + "from": "node_modules/terser-webpack-plugin", + "name": "source-map", + "spec": "^0.6.1", + "type": "prod", + }, + Edge { + "from": "node_modules/webpack-sources", + "name": "source-map", + "spec": "^0.6.1", + "type": "prod", + }, + }, + "location": "node_modules/source-map", + "name": "source-map", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + }, + "source-map-resolve" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/snapdragon", + "name": "source-map-resolve", + "spec": "^0.5.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "atob" => Edge { + "name": "atob", + "spec": "^2.1.2", + "to": "node_modules/atob", + "type": "prod", + }, + "decode-uri-component" => Edge { + "name": "decode-uri-component", + "spec": "^0.2.0", + "to": "node_modules/decode-uri-component", + "type": "prod", + }, + "resolve-url" => Edge { + "name": "resolve-url", + "spec": "^0.2.1", + "to": "node_modules/resolve-url", + "type": "prod", + }, + "source-map-url" => Edge { + "name": "source-map-url", + "spec": "^0.4.0", + "to": "node_modules/source-map-url", + "type": "prod", + }, + "urix" => Edge { + "name": "urix", + "spec": "^0.1.0", + "to": "node_modules/urix", + "type": "prod", + }, + }, + "location": "node_modules/source-map-resolve", + "name": "source-map-resolve", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + }, + "source-map-support" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/terser", + "name": "source-map-support", + "spec": "~0.5.19", + "type": "prod", + }, + }, + "edgesOut": Map { + "buffer-from" => Edge { + "name": "buffer-from", + "spec": "^1.0.0", + "to": "node_modules/buffer-from", + "type": "prod", + }, + "source-map" => Edge { + "name": "source-map", + "spec": "^0.6.0", + "to": "node_modules/source-map", + "type": "prod", + }, + }, + "location": "node_modules/source-map-support", + "name": "source-map-support", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + }, + "source-map-url" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + }, + "spdy" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/webpack-dev-server", + "name": "spdy", + "spec": "^4.0.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "debug" => Edge { + "name": "debug", + "spec": "^4.1.0", + "to": "node_modules/debug", + "type": "prod", + }, + "handle-thing" => Edge { + "name": "handle-thing", + "spec": "^2.0.0", + "to": "node_modules/handle-thing", + "type": "prod", + }, + "http-deceiver" => Edge { + "name": "http-deceiver", + "spec": "^1.2.7", + "to": "node_modules/http-deceiver", + "type": "prod", + }, + "select-hose" => Edge { + "name": "select-hose", + "spec": "^2.0.0", + "to": "node_modules/select-hose", + "type": "prod", + }, + "spdy-transport" => Edge { + "name": "spdy-transport", + "spec": "^3.0.0", + "to": "node_modules/spdy-transport", + "type": "prod", + }, + }, + "location": "node_modules/spdy", + "name": "spdy", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + }, + "spdy-transport" => Node { + "children": Map { + "readable-stream" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/spdy-transport", + "name": "readable-stream", + "spec": "^3.0.6", + "type": "prod", + }, + }, + "edgesOut": Map { + "inherits" => Edge { + "name": "inherits", + "spec": "^2.0.3", + "to": "node_modules/inherits", + "type": "prod", + }, + "string_decoder" => Edge { + "name": "string_decoder", + "spec": "^1.1.1", + "to": "node_modules/string_decoder", + "type": "prod", + }, + "util-deprecate" => Edge { + "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", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + }, + }, + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/spdy", + "name": "spdy-transport", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "debug" => Edge { + "name": "debug", + "spec": "^4.1.0", + "to": "node_modules/debug", + "type": "prod", + }, + "detect-node" => Edge { + "name": "detect-node", + "spec": "^2.0.4", + "to": "node_modules/detect-node", + "type": "prod", + }, + "hpack.js" => Edge { + "name": "hpack.js", + "spec": "^2.1.6", + "to": "node_modules/hpack.js", + "type": "prod", + }, + "obuf" => Edge { + "name": "obuf", + "spec": "^1.1.2", + "to": "node_modules/obuf", + "type": "prod", + }, + "readable-stream" => Edge { + "name": "readable-stream", + "spec": "^3.0.6", + "to": "node_modules/spdy-transport/node_modules/readable-stream", + "type": "prod", + }, + "wbuf" => Edge { + "name": "wbuf", + "spec": "^1.7.3", + "to": "node_modules/wbuf", + "type": "prod", + }, + }, + "location": "node_modules/spdy-transport", + "name": "spdy-transport", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + }, + "split-string" => Node { + "children": Map { + "extend-shallow" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/split-string", + "name": "extend-shallow", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "assign-symbols" => Edge { + "name": "assign-symbols", + "spec": "^1.0.0", + "to": "node_modules/assign-symbols", + "type": "prod", + }, + "is-extendable" => Edge { + "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", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + }, + "is-extendable" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/split-string/node_modules/extend-shallow", + "name": "is-extendable", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-plain-object" => Edge { + "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", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + }, + }, + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/braces", + "name": "split-string", + "spec": "^3.0.2", + "type": "prod", + }, + Edge { + "from": "node_modules/set-value", + "name": "split-string", + "spec": "^3.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "extend-shallow" => Edge { + "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", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + }, + "static-extend" => Node { + "children": Map { + "define-property" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/static-extend", + "name": "define-property", + "spec": "^0.2.5", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-descriptor" => Edge { + "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", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + }, + "is-accessor-descriptor" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/static-extend/node_modules/is-descriptor", + "name": "is-accessor-descriptor", + "spec": "^0.1.6", + "type": "prod", + }, + }, + "edgesOut": Map { + "kind-of" => Edge { + "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", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + }, + "is-data-descriptor" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/static-extend/node_modules/is-descriptor", + "name": "is-data-descriptor", + "spec": "^0.1.4", + "type": "prod", + }, + }, + "edgesOut": Map { + "kind-of" => Edge { + "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", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + }, + "is-descriptor" => Node { + "children": Map { + "kind-of" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + }, + }, + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/static-extend/node_modules/define-property", + "name": "is-descriptor", + "spec": "^0.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-accessor-descriptor" => Edge { + "name": "is-accessor-descriptor", + "spec": "^0.1.6", + "to": "node_modules/static-extend/node_modules/is-accessor-descriptor", + "type": "prod", + }, + "is-data-descriptor" => Edge { + "name": "is-data-descriptor", + "spec": "^0.1.4", + "to": "node_modules/static-extend/node_modules/is-data-descriptor", + "type": "prod", + }, + "kind-of" => Edge { + "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", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + }, + }, + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/class-utils", + "name": "static-extend", + "spec": "^0.1.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "define-property" => Edge { + "name": "define-property", + "spec": "^0.2.5", + "to": "node_modules/static-extend/node_modules/define-property", + "type": "prod", + }, + "object-copy" => Edge { + "name": "object-copy", + "spec": "^0.1.0", + "to": "node_modules/object-copy", + "type": "prod", + }, + }, + "location": "node_modules/static-extend", + "name": "static-extend", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + }, + "statuses" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/express", + "name": "statuses", + "spec": "~1.5.0", + "type": "prod", + }, + Edge { + "from": "node_modules/finalhandler", + "name": "statuses", + "spec": "~1.5.0", + "type": "prod", + }, + Edge { + "from": "node_modules/http-errors", + "name": "statuses", + "spec": ">= 1.5.0 < 2", + "type": "prod", + }, + Edge { + "from": "node_modules/send", + "name": "statuses", + "spec": "~1.5.0", + "type": "prod", + }, + Edge { + "from": "node_modules/serve-index/node_modules/http-errors", + "name": "statuses", + "spec": ">= 1.4.0 < 2", + "type": "prod", + }, + }, + "location": "node_modules/statuses", + "name": "statuses", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + }, + "string_decoder" => Node { + "children": Map { + "safe-buffer" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + }, + }, + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/readable-stream", + "name": "string_decoder", + "spec": "~1.1.1", + "type": "prod", + }, + Edge { + "from": "node_modules/spdy-transport/node_modules/readable-stream", + "name": "string_decoder", + "spec": "^1.1.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "safe-buffer" => Edge { + "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", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + }, + "string-width" => Node { + "children": Map { + "ansi-regex" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + }, + "strip-ansi" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/string-width", + "name": "strip-ansi", + "spec": "^5.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "ansi-regex" => Edge { + "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", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + }, + }, + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/cliui", + "name": "string-width", + "spec": "^3.1.0", + "type": "prod", + }, + Edge { + "from": "node_modules/wrap-ansi", + "name": "string-width", + "spec": "^3.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/yargs", + "name": "string-width", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "emoji-regex" => Edge { + "name": "emoji-regex", + "spec": "^7.0.1", + "to": "node_modules/emoji-regex", + "type": "prod", + }, + "is-fullwidth-code-point" => Edge { + "name": "is-fullwidth-code-point", + "spec": "^2.0.0", + "to": "node_modules/is-fullwidth-code-point", + "type": "prod", + }, + "strip-ansi" => Edge { + "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", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + }, + "string.prototype.trimend" => Node { + "children": Map { + "es-abstract" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/string.prototype.trimend", + "name": "es-abstract", + "spec": "^1.17.5", + "type": "prod", + }, + }, + "edgesOut": Map { + "es-to-primitive" => Edge { + "name": "es-to-primitive", + "spec": "^1.2.1", + "to": "node_modules/es-to-primitive", + "type": "prod", + }, + "function-bind" => Edge { + "name": "function-bind", + "spec": "^1.1.1", + "to": "node_modules/function-bind", + "type": "prod", + }, + "has" => Edge { + "name": "has", + "spec": "^1.0.3", + "to": "node_modules/has", + "type": "prod", + }, + "has-symbols" => Edge { + "name": "has-symbols", + "spec": "^1.0.1", + "to": "node_modules/has-symbols", + "type": "prod", + }, + "is-callable" => Edge { + "name": "is-callable", + "spec": "^1.2.2", + "to": "node_modules/is-callable", + "type": "prod", + }, + "is-regex" => Edge { + "name": "is-regex", + "spec": "^1.1.1", + "to": "node_modules/is-regex", + "type": "prod", + }, + "object-inspect" => Edge { + "name": "object-inspect", + "spec": "^1.8.0", + "to": "node_modules/object-inspect", + "type": "prod", + }, + "object-keys" => Edge { + "name": "object-keys", + "spec": "^1.1.1", + "to": "node_modules/object-keys", + "type": "prod", + }, + "object.assign" => Edge { + "name": "object.assign", + "spec": "^4.1.1", + "to": "node_modules/object.assign", + "type": "prod", + }, + "string.prototype.trimend" => Edge { + "name": "string.prototype.trimend", + "spec": "^1.0.1", + "to": "node_modules/string.prototype.trimend", + "type": "prod", + }, + "string.prototype.trimstart" => Edge { + "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", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", + }, + }, + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/es-abstract", + "name": "string.prototype.trimend", + "spec": "^1.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/regexp.prototype.flags/node_modules/es-abstract", + "name": "string.prototype.trimend", + "spec": "^1.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/string.prototype.trimend/node_modules/es-abstract", + "name": "string.prototype.trimend", + "spec": "^1.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/string.prototype.trimstart/node_modules/es-abstract", + "name": "string.prototype.trimend", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "define-properties" => Edge { + "name": "define-properties", + "spec": "^1.1.3", + "to": "node_modules/define-properties", + "type": "prod", + }, + "es-abstract" => Edge { + "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", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz", + }, + "string.prototype.trimstart" => Node { + "children": Map { + "es-abstract" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/string.prototype.trimstart", + "name": "es-abstract", + "spec": "^1.17.5", + "type": "prod", + }, + }, + "edgesOut": Map { + "es-to-primitive" => Edge { + "name": "es-to-primitive", + "spec": "^1.2.1", + "to": "node_modules/es-to-primitive", + "type": "prod", + }, + "function-bind" => Edge { + "name": "function-bind", + "spec": "^1.1.1", + "to": "node_modules/function-bind", + "type": "prod", + }, + "has" => Edge { + "name": "has", + "spec": "^1.0.3", + "to": "node_modules/has", + "type": "prod", + }, + "has-symbols" => Edge { + "name": "has-symbols", + "spec": "^1.0.1", + "to": "node_modules/has-symbols", + "type": "prod", + }, + "is-callable" => Edge { + "name": "is-callable", + "spec": "^1.2.2", + "to": "node_modules/is-callable", + "type": "prod", + }, + "is-regex" => Edge { + "name": "is-regex", + "spec": "^1.1.1", + "to": "node_modules/is-regex", + "type": "prod", + }, + "object-inspect" => Edge { + "name": "object-inspect", + "spec": "^1.8.0", + "to": "node_modules/object-inspect", + "type": "prod", + }, + "object-keys" => Edge { + "name": "object-keys", + "spec": "^1.1.1", + "to": "node_modules/object-keys", + "type": "prod", + }, + "object.assign" => Edge { + "name": "object.assign", + "spec": "^4.1.1", + "to": "node_modules/object.assign", + "type": "prod", + }, + "string.prototype.trimend" => Edge { + "name": "string.prototype.trimend", + "spec": "^1.0.1", + "to": "node_modules/string.prototype.trimend", + "type": "prod", + }, + "string.prototype.trimstart" => Edge { + "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", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", + }, + }, + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/es-abstract", + "name": "string.prototype.trimstart", + "spec": "^1.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/regexp.prototype.flags/node_modules/es-abstract", + "name": "string.prototype.trimstart", + "spec": "^1.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/string.prototype.trimend/node_modules/es-abstract", + "name": "string.prototype.trimstart", + "spec": "^1.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/string.prototype.trimstart/node_modules/es-abstract", + "name": "string.prototype.trimstart", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "define-properties" => Edge { + "name": "define-properties", + "spec": "^1.1.3", + "to": "node_modules/define-properties", + "type": "prod", + }, + "es-abstract" => Edge { + "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", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz", + }, + "strip-ansi" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/webpack-dev-server", + "name": "strip-ansi", + "spec": "^3.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "ansi-regex" => Edge { + "name": "ansi-regex", + "spec": "^2.0.0", + "to": "node_modules/ansi-regex", + "type": "prod", + }, + }, + "location": "node_modules/strip-ansi", + "name": "strip-ansi", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + }, + "strip-eof" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/execa", + "name": "strip-eof", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/strip-eof", + "name": "strip-eof", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + }, + "supports-color" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/jest-worker", + "name": "supports-color", + "spec": "^7.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "has-flag" => Edge { + "name": "has-flag", + "spec": "^4.0.0", + "to": "node_modules/has-flag", + "type": "prod", + }, + }, + "location": "node_modules/supports-color", + "name": "supports-color", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + }, + "tapable" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/enhanced-resolve", + "name": "tapable", + "spec": "^2.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/webpack", + "name": "tapable", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/tapable", + "name": "tapable", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.0.0.tgz", + }, + "terser" => Node { + "children": Map { + "source-map" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/terser", + "name": "source-map", + "spec": "~0.7.2", + "type": "prod", + }, + }, + "location": "node_modules/terser/node_modules/source-map", + "name": "source-map", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + }, + }, + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/terser-webpack-plugin", + "name": "terser", + "spec": "^5.3.8", + "type": "prod", + }, + }, + "edgesOut": Map { + "commander" => Edge { + "name": "commander", + "spec": "^2.20.0", + "to": "node_modules/commander", + "type": "prod", + }, + "source-map" => Edge { + "name": "source-map", + "spec": "~0.7.2", + "to": "node_modules/terser/node_modules/source-map", + "type": "prod", + }, + "source-map-support" => Edge { + "name": "source-map-support", + "spec": "~0.5.19", + "to": "node_modules/source-map-support", + "type": "prod", + }, + }, + "location": "node_modules/terser", + "name": "terser", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.3.8.tgz", + }, + "terser-webpack-plugin" => Node { + "children": Map { + "p-limit" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/terser-webpack-plugin", + "name": "p-limit", + "spec": "^3.0.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "p-try" => Edge { + "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", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.0.2.tgz", + }, + }, + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/webpack", + "name": "terser-webpack-plugin", + "spec": "^5.0.3", + "type": "prod", + }, + }, + "edgesOut": Map { + "jest-worker" => Edge { + "name": "jest-worker", + "spec": "^26.6.1", + "to": "node_modules/jest-worker", + "type": "prod", + }, + "p-limit" => Edge { + "name": "p-limit", + "spec": "^3.0.2", + "to": "node_modules/terser-webpack-plugin/node_modules/p-limit", + "type": "prod", + }, + "schema-utils" => Edge { + "name": "schema-utils", + "spec": "^3.0.0", + "to": "node_modules/schema-utils", + "type": "prod", + }, + "serialize-javascript" => Edge { + "name": "serialize-javascript", + "spec": "^5.0.1", + "to": "node_modules/serialize-javascript", + "type": "prod", + }, + "source-map" => Edge { + "name": "source-map", + "spec": "^0.6.1", + "to": "node_modules/source-map", + "type": "prod", + }, + "terser" => Edge { + "name": "terser", + "spec": "^5.3.8", + "to": "node_modules/terser", + "type": "prod", + }, + "webpack" => Edge { + "name": "webpack", + "spec": "^5.1.0", + "to": "node_modules/webpack", + "type": "peer", + }, + }, + "location": "node_modules/terser-webpack-plugin", + "name": "terser-webpack-plugin", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.0.3.tgz", + }, + "thunky" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/multicast-dns", + "name": "thunky", + "spec": "^1.0.2", + "type": "prod", + }, + }, + "location": "node_modules/thunky", + "name": "thunky", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + }, + "to-object-path" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/cache-base", + "name": "to-object-path", + "spec": "^0.3.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "kind-of" => Edge { + "name": "kind-of", + "spec": "^3.0.2", + "to": "node_modules/kind-of", + "type": "prod", + }, + }, + "location": "node_modules/to-object-path", + "name": "to-object-path", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + }, + "to-regex" => Node { + "children": Map { + "extend-shallow" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/to-regex", + "name": "extend-shallow", + "spec": "^3.0.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "assign-symbols" => Edge { + "name": "assign-symbols", + "spec": "^1.0.0", + "to": "node_modules/assign-symbols", + "type": "prod", + }, + "is-extendable" => Edge { + "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", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + }, + "is-extendable" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/to-regex/node_modules/extend-shallow", + "name": "is-extendable", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-plain-object" => Edge { + "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", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + }, + }, + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/braces", + "name": "to-regex", + "spec": "^3.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/expand-brackets", + "name": "to-regex", + "spec": "^3.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/extglob", + "name": "to-regex", + "spec": "^3.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/micromatch", + "name": "to-regex", + "spec": "^3.0.2", + "type": "prod", + }, + Edge { + "from": "node_modules/nanomatch", + "name": "to-regex", + "spec": "^3.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "define-property" => Edge { + "name": "define-property", + "spec": "^2.0.2", + "to": "node_modules/define-property", + "type": "prod", + }, + "extend-shallow" => Edge { + "name": "extend-shallow", + "spec": "^3.0.2", + "to": "node_modules/to-regex/node_modules/extend-shallow", + "type": "prod", + }, + "regex-not" => Edge { + "name": "regex-not", + "spec": "^1.0.2", + "to": "node_modules/regex-not", + "type": "prod", + }, + "safe-regex" => Edge { + "name": "safe-regex", + "spec": "^1.1.0", + "to": "node_modules/safe-regex", + "type": "prod", + }, + }, + "location": "node_modules/to-regex", + "name": "to-regex", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + }, + "to-regex-range" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/fill-range", + "name": "to-regex-range", + "spec": "^2.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-number" => Edge { + "name": "is-number", + "spec": "^3.0.0", + "to": "node_modules/is-number", + "type": "prod", + }, + "repeat-string" => Edge { + "name": "repeat-string", + "spec": "^1.6.1", + "to": "node_modules/repeat-string", + "type": "prod", + }, + }, + "location": "node_modules/to-regex-range", + "name": "to-regex-range", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + }, + "toidentifier" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/http-errors", + "name": "toidentifier", + "spec": "1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/toidentifier", + "name": "toidentifier", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + }, + "tslib" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/chrome-trace-event", + "name": "tslib", + "spec": "^1.9.0", + "type": "prod", + }, + }, + "location": "node_modules/tslib", + "name": "tslib", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + }, + "type-is" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/body-parser", + "name": "type-is", + "spec": "~1.6.17", + "type": "prod", + }, + Edge { + "from": "node_modules/express", + "name": "type-is", + "spec": "~1.6.18", + "type": "prod", + }, + }, + "edgesOut": Map { + "media-typer" => Edge { + "name": "media-typer", + "spec": "0.3.0", + "to": "node_modules/media-typer", + "type": "prod", + }, + "mime-types" => Edge { + "name": "mime-types", + "spec": "~2.1.24", + "to": "node_modules/mime-types", + "type": "prod", + }, + }, + "location": "node_modules/type-is", + "name": "type-is", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + }, + "union-value" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/cache-base", + "name": "union-value", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "arr-union" => Edge { + "name": "arr-union", + "spec": "^3.1.0", + "to": "node_modules/arr-union", + "type": "prod", + }, + "get-value" => Edge { + "name": "get-value", + "spec": "^2.0.6", + "to": "node_modules/get-value", + "type": "prod", + }, + "is-extendable" => Edge { + "name": "is-extendable", + "spec": "^0.1.1", + "to": "node_modules/is-extendable", + "type": "prod", + }, + "set-value" => Edge { + "name": "set-value", + "spec": "^2.0.1", + "to": "node_modules/set-value", + "type": "prod", + }, + }, + "location": "node_modules/union-value", + "name": "union-value", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + }, + "unpipe" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/finalhandler", + "name": "unpipe", + "spec": "~1.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/raw-body", + "name": "unpipe", + "spec": "1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/unpipe", + "name": "unpipe", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + }, + "unset-value" => Node { + "children": Map { + "has-value" => Node { + "children": Map { + "isobject" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/unset-value/node_modules/has-value", + "name": "isobject", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "isarray" => Edge { + "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", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + }, + }, + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/unset-value", + "name": "has-value", + "spec": "^0.3.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "get-value" => Edge { + "name": "get-value", + "spec": "^2.0.3", + "to": "node_modules/get-value", + "type": "prod", + }, + "has-values" => Edge { + "name": "has-values", + "spec": "^0.1.4", + "to": "node_modules/unset-value/node_modules/has-values", + "type": "prod", + }, + "isobject" => Edge { + "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", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + }, + "has-values" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + }, + }, + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/cache-base", + "name": "unset-value", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "has-value" => Edge { + "name": "has-value", + "spec": "^0.3.1", + "to": "node_modules/unset-value/node_modules/has-value", + "type": "prod", + }, + "isobject" => Edge { + "name": "isobject", + "spec": "^3.0.0", + "to": "node_modules/isobject", + "type": "prod", + }, + }, + "location": "node_modules/unset-value", + "name": "unset-value", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + }, + "upath" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/chokidar", + "name": "upath", + "spec": "^1.1.1", + "type": "prod", + }, + }, + "location": "node_modules/upath", + "name": "upath", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + }, + "uri-js" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/ajv", + "name": "uri-js", + "spec": "^4.2.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "punycode" => Edge { + "name": "punycode", + "spec": "^2.1.0", + "to": "node_modules/punycode", + "type": "prod", + }, + }, + "location": "node_modules/uri-js", + "name": "uri-js", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz", + }, + "urix" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/source-map-resolve", + "name": "urix", + "spec": "^0.1.0", + "type": "prod", + }, + }, + "location": "node_modules/urix", + "name": "urix", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + }, + "url" => Node { + "children": Map { + "punycode" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/url", + "name": "punycode", + "spec": "1.3.2", + "type": "prod", + }, + }, + "location": "node_modules/url/node_modules/punycode", + "name": "punycode", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + }, + }, + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/webpack-dev-server", + "name": "url", + "spec": "^0.11.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "punycode" => Edge { + "name": "punycode", + "spec": "1.3.2", + "to": "node_modules/url/node_modules/punycode", + "type": "prod", + }, + "querystring" => Edge { + "name": "querystring", + "spec": "0.2.0", + "to": "node_modules/querystring", + "type": "prod", + }, + }, + "location": "node_modules/url", + "name": "url", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + }, + "url-parse" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/original", + "name": "url-parse", + "spec": "^1.4.3", + "type": "prod", + }, + Edge { + "from": "node_modules/sockjs-client", + "name": "url-parse", + "spec": "^1.4.3", + "type": "prod", + }, + }, + "edgesOut": Map { + "querystringify" => Edge { + "name": "querystringify", + "spec": "^2.1.1", + "to": "node_modules/querystringify", + "type": "prod", + }, + "requires-port" => Edge { + "name": "requires-port", + "spec": "^1.0.0", + "to": "node_modules/requires-port", + "type": "prod", + }, + }, + "location": "node_modules/url-parse", + "name": "url-parse", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz", + }, + "use" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/snapdragon", + "name": "use", + "spec": "^3.1.0", + "type": "prod", + }, + }, + "location": "node_modules/use", + "name": "use", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + }, + "util-deprecate" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/readable-stream", + "name": "util-deprecate", + "spec": "~1.0.1", + "type": "prod", + }, + Edge { + "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", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + }, + "utils-merge" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/express", + "name": "utils-merge", + "spec": "1.0.1", + "type": "prod", + }, + }, + "location": "node_modules/utils-merge", + "name": "utils-merge", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + }, + "uuid" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/sockjs", + "name": "uuid", + "spec": "^3.4.0", + "type": "prod", + }, + Edge { + "from": "node_modules/webpack-log", + "name": "uuid", + "spec": "^3.3.2", + "type": "prod", + }, + }, + "location": "node_modules/uuid", + "name": "uuid", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + }, + "vary" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/compression", + "name": "vary", + "spec": "~1.1.2", + "type": "prod", + }, + Edge { + "from": "node_modules/express", + "name": "vary", + "spec": "~1.1.2", + "type": "prod", + }, + }, + "location": "node_modules/vary", + "name": "vary", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + }, + "watchpack" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/webpack", + "name": "watchpack", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "glob-to-regexp" => Edge { + "name": "glob-to-regexp", + "spec": "^0.4.1", + "to": "node_modules/glob-to-regexp", + "type": "prod", + }, + "graceful-fs" => Edge { + "name": "graceful-fs", + "spec": "^4.1.2", + "to": "node_modules/graceful-fs", + "type": "prod", + }, + }, + "location": "node_modules/watchpack", + "name": "watchpack", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.0.1.tgz", + }, + "wbuf" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/hpack.js", + "name": "wbuf", + "spec": "^1.1.0", + "type": "prod", + }, + Edge { + "from": "node_modules/spdy-transport", + "name": "wbuf", + "spec": "^1.7.3", + "type": "prod", + }, + }, + "edgesOut": Map { + "minimalistic-assert" => Edge { + "name": "minimalistic-assert", + "spec": "^1.0.0", + "to": "node_modules/minimalistic-assert", + "type": "prod", + }, + }, + "location": "node_modules/wbuf", + "name": "wbuf", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + }, + "webpack" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "", + "name": "webpack", + "spec": "^5.0.0", + "type": "dev", + }, + Edge { + "from": "node_modules/terser-webpack-plugin", + "name": "webpack", + "spec": "^5.1.0", + "type": "peer", + }, + Edge { + "from": "node_modules/webpack-dev-server", + "name": "webpack", + "spec": "^4.0.0 || ^5.0.0", + "type": "peer", + }, + Edge { + "error": "INVALID", + "from": "node_modules/webpack-dev-server/node_modules/webpack-dev-middleware", + "name": "webpack", + "spec": "^4.0.0", + "type": "peer", + }, + }, + "edgesOut": Map { + "@types/eslint-scope" => Edge { + "name": "@types/eslint-scope", + "spec": "^3.7.0", + "to": "node_modules/@types/eslint-scope", + "type": "prod", + }, + "@types/estree" => Edge { + "name": "@types/estree", + "spec": "^0.0.45", + "to": "node_modules/@types/estree", + "type": "prod", + }, + "@webassemblyjs/ast" => Edge { + "name": "@webassemblyjs/ast", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/ast", + "type": "prod", + }, + "@webassemblyjs/helper-module-context" => Edge { + "name": "@webassemblyjs/helper-module-context", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/helper-module-context", + "type": "prod", + }, + "@webassemblyjs/wasm-edit" => Edge { + "name": "@webassemblyjs/wasm-edit", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/wasm-edit", + "type": "prod", + }, + "@webassemblyjs/wasm-parser" => Edge { + "name": "@webassemblyjs/wasm-parser", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/wasm-parser", + "type": "prod", + }, + "acorn" => Edge { + "name": "acorn", + "spec": "^8.0.4", + "to": "node_modules/acorn", + "type": "prod", + }, + "browserslist" => Edge { + "name": "browserslist", + "spec": "^4.14.5", + "to": "node_modules/browserslist", + "type": "prod", + }, + "chrome-trace-event" => Edge { + "name": "chrome-trace-event", + "spec": "^1.0.2", + "to": "node_modules/chrome-trace-event", + "type": "prod", + }, + "enhanced-resolve" => Edge { + "name": "enhanced-resolve", + "spec": "^5.3.1", + "to": "node_modules/enhanced-resolve", + "type": "prod", + }, + "eslint-scope" => Edge { + "name": "eslint-scope", + "spec": "^5.1.1", + "to": "node_modules/eslint-scope", + "type": "prod", + }, + "events" => Edge { + "name": "events", + "spec": "^3.2.0", + "to": "node_modules/events", + "type": "prod", + }, + "glob-to-regexp" => Edge { + "name": "glob-to-regexp", + "spec": "^0.4.1", + "to": "node_modules/glob-to-regexp", + "type": "prod", + }, + "graceful-fs" => Edge { + "name": "graceful-fs", + "spec": "^4.2.4", + "to": "node_modules/graceful-fs", + "type": "prod", + }, + "json-parse-better-errors" => Edge { + "name": "json-parse-better-errors", + "spec": "^1.0.2", + "to": "node_modules/json-parse-better-errors", + "type": "prod", + }, + "loader-runner" => Edge { + "name": "loader-runner", + "spec": "^4.1.0", + "to": "node_modules/loader-runner", + "type": "prod", + }, + "mime-types" => Edge { + "name": "mime-types", + "spec": "^2.1.27", + "to": "node_modules/mime-types", + "type": "prod", + }, + "neo-async" => Edge { + "name": "neo-async", + "spec": "^2.6.2", + "to": "node_modules/neo-async", + "type": "prod", + }, + "pkg-dir" => Edge { + "name": "pkg-dir", + "spec": "^4.2.0", + "to": "node_modules/pkg-dir", + "type": "prod", + }, + "schema-utils" => Edge { + "name": "schema-utils", + "spec": "^3.0.0", + "to": "node_modules/schema-utils", + "type": "prod", + }, + "tapable" => Edge { + "name": "tapable", + "spec": "^2.0.0", + "to": "node_modules/tapable", + "type": "prod", + }, + "terser-webpack-plugin" => Edge { + "name": "terser-webpack-plugin", + "spec": "^5.0.3", + "to": "node_modules/terser-webpack-plugin", + "type": "prod", + }, + "watchpack" => Edge { + "name": "watchpack", + "spec": "^2.0.0", + "to": "node_modules/watchpack", + "type": "prod", + }, + "webpack-sources" => Edge { + "name": "webpack-sources", + "spec": "^2.1.1", + "to": "node_modules/webpack-sources", + "type": "prod", + }, + }, + "location": "node_modules/webpack", + "name": "webpack", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.3.2.tgz", + }, + "webpack-dev-server" => Node { + "children": Map { + "has-flag" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + }, + "mime" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/webpack-dev-server/node_modules/webpack-dev-middleware", + "name": "mime", + "spec": "^2.4.4", + "type": "prod", + }, + }, + "location": "node_modules/webpack-dev-server/node_modules/mime", + "name": "mime", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz", + }, + "schema-utils" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/webpack-dev-server", + "name": "schema-utils", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "ajv" => Edge { + "name": "ajv", + "spec": "^6.1.0", + "to": "node_modules/ajv", + "type": "prod", + }, + "ajv-errors" => Edge { + "name": "ajv-errors", + "spec": "^1.0.0", + "to": "node_modules/ajv-errors", + "type": "prod", + }, + "ajv-keywords" => Edge { + "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", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + }, + "supports-color" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/webpack-dev-server", + "name": "supports-color", + "spec": "^6.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "has-flag" => Edge { + "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", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + }, + "webpack-dev-middleware" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/webpack-dev-server", + "name": "webpack-dev-middleware", + "spec": "^3.7.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "memory-fs" => Edge { + "name": "memory-fs", + "spec": "^0.4.1", + "to": "node_modules/memory-fs", + "type": "prod", + }, + "mime" => Edge { + "name": "mime", + "spec": "^2.4.4", + "to": "node_modules/webpack-dev-server/node_modules/mime", + "type": "prod", + }, + "mkdirp" => Edge { + "name": "mkdirp", + "spec": "^0.5.1", + "to": "node_modules/mkdirp", + "type": "prod", + }, + "range-parser" => Edge { + "name": "range-parser", + "spec": "^1.2.1", + "to": "node_modules/range-parser", + "type": "prod", + }, + "webpack" => Edge { + "error": "INVALID", + "name": "webpack", + "spec": "^4.0.0", + "to": "node_modules/webpack", + "type": "peer", + }, + "webpack-log" => Edge { + "name": "webpack-log", + "spec": "^2.0.0", + "to": "node_modules/webpack-log", + "type": "prod", + }, + }, + "location": "node_modules/webpack-dev-server/node_modules/webpack-dev-middleware", + "name": "webpack-dev-middleware", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz", + }, + }, + "dev": true, + "edgesIn": Set { + Edge { + "from": "", + "name": "webpack-dev-server", + "spec": "^3.11.0", + "type": "dev", + }, + }, + "edgesOut": Map { + "ansi-html" => Edge { + "name": "ansi-html", + "spec": "0.0.7", + "to": "node_modules/ansi-html", + "type": "prod", + }, + "bonjour" => Edge { + "name": "bonjour", + "spec": "^3.5.0", + "to": "node_modules/bonjour", + "type": "prod", + }, + "chokidar" => Edge { + "name": "chokidar", + "spec": "^2.1.8", + "to": "node_modules/chokidar", + "type": "prod", + }, + "compression" => Edge { + "name": "compression", + "spec": "^1.7.4", + "to": "node_modules/compression", + "type": "prod", + }, + "connect-history-api-fallback" => Edge { + "name": "connect-history-api-fallback", + "spec": "^1.6.0", + "to": "node_modules/connect-history-api-fallback", + "type": "prod", + }, + "debug" => Edge { + "name": "debug", + "spec": "^4.1.1", + "to": "node_modules/debug", + "type": "prod", + }, + "del" => Edge { + "name": "del", + "spec": "^4.1.1", + "to": "node_modules/del", + "type": "prod", + }, + "express" => Edge { + "name": "express", + "spec": "^4.17.1", + "to": "node_modules/express", + "type": "prod", + }, + "html-entities" => Edge { + "name": "html-entities", + "spec": "^1.3.1", + "to": "node_modules/html-entities", + "type": "prod", + }, + "http-proxy-middleware" => Edge { + "name": "http-proxy-middleware", + "spec": "0.19.1", + "to": "node_modules/http-proxy-middleware", + "type": "prod", + }, + "import-local" => Edge { + "name": "import-local", + "spec": "^2.0.0", + "to": "node_modules/import-local", + "type": "prod", + }, + "internal-ip" => Edge { + "name": "internal-ip", + "spec": "^4.3.0", + "to": "node_modules/internal-ip", + "type": "prod", + }, + "ip" => Edge { + "name": "ip", + "spec": "^1.1.5", + "to": "node_modules/ip", + "type": "prod", + }, + "is-absolute-url" => Edge { + "name": "is-absolute-url", + "spec": "^3.0.3", + "to": "node_modules/is-absolute-url", + "type": "prod", + }, + "killable" => Edge { + "name": "killable", + "spec": "^1.0.1", + "to": "node_modules/killable", + "type": "prod", + }, + "loglevel" => Edge { + "name": "loglevel", + "spec": "^1.6.8", + "to": "node_modules/loglevel", + "type": "prod", + }, + "opn" => Edge { + "name": "opn", + "spec": "^5.5.0", + "to": "node_modules/opn", + "type": "prod", + }, + "p-retry" => Edge { + "name": "p-retry", + "spec": "^3.0.1", + "to": "node_modules/p-retry", + "type": "prod", + }, + "portfinder" => Edge { + "name": "portfinder", + "spec": "^1.0.26", + "to": "node_modules/portfinder", + "type": "prod", + }, + "schema-utils" => Edge { + "name": "schema-utils", + "spec": "^1.0.0", + "to": "node_modules/webpack-dev-server/node_modules/schema-utils", + "type": "prod", + }, + "selfsigned" => Edge { + "name": "selfsigned", + "spec": "^1.10.7", + "to": "node_modules/selfsigned", + "type": "prod", + }, + "semver" => Edge { + "name": "semver", + "spec": "^6.3.0", + "to": "node_modules/semver", + "type": "prod", + }, + "serve-index" => Edge { + "name": "serve-index", + "spec": "^1.9.1", + "to": "node_modules/serve-index", + "type": "prod", + }, + "sockjs" => Edge { + "name": "sockjs", + "spec": "0.3.20", + "to": "node_modules/sockjs", + "type": "prod", + }, + "sockjs-client" => Edge { + "name": "sockjs-client", + "spec": "1.4.0", + "to": "node_modules/sockjs-client", + "type": "prod", + }, + "spdy" => Edge { + "name": "spdy", + "spec": "^4.0.2", + "to": "node_modules/spdy", + "type": "prod", + }, + "strip-ansi" => Edge { + "name": "strip-ansi", + "spec": "^3.0.1", + "to": "node_modules/strip-ansi", + "type": "prod", + }, + "supports-color" => Edge { + "name": "supports-color", + "spec": "^6.1.0", + "to": "node_modules/webpack-dev-server/node_modules/supports-color", + "type": "prod", + }, + "url" => Edge { + "name": "url", + "spec": "^0.11.0", + "to": "node_modules/url", + "type": "prod", + }, + "webpack" => Edge { + "name": "webpack", + "spec": "^4.0.0 || ^5.0.0", + "to": "node_modules/webpack", + "type": "peer", + }, + "webpack-dev-middleware" => Edge { + "name": "webpack-dev-middleware", + "spec": "^3.7.2", + "to": "node_modules/webpack-dev-server/node_modules/webpack-dev-middleware", + "type": "prod", + }, + "webpack-log" => Edge { + "name": "webpack-log", + "spec": "^2.0.0", + "to": "node_modules/webpack-log", + "type": "prod", + }, + "ws" => Edge { + "name": "ws", + "spec": "^6.2.1", + "to": "node_modules/ws", + "type": "prod", + }, + "yargs" => Edge { + "name": "yargs", + "spec": "^13.3.2", + "to": "node_modules/yargs", + "type": "prod", + }, + }, + "location": "node_modules/webpack-dev-server", + "name": "webpack-dev-server", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.0.tgz", + }, + "webpack-log" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/webpack-dev-server", + "name": "webpack-log", + "spec": "^2.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/webpack-dev-server/node_modules/webpack-dev-middleware", + "name": "webpack-log", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "ansi-colors" => Edge { + "name": "ansi-colors", + "spec": "^3.0.0", + "to": "node_modules/ansi-colors", + "type": "prod", + }, + "uuid" => Edge { + "name": "uuid", + "spec": "^3.3.2", + "to": "node_modules/uuid", + "type": "prod", + }, + }, + "location": "node_modules/webpack-log", + "name": "webpack-log", + "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", + }, + "webpack-sources" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/webpack", + "name": "webpack-sources", + "spec": "^2.1.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "source-list-map" => Edge { + "name": "source-list-map", + "spec": "^2.0.1", + "to": "node_modules/source-list-map", + "type": "prod", + }, + "source-map" => Edge { + "name": "source-map", + "spec": "^0.6.1", + "to": "node_modules/source-map", + "type": "prod", + }, + }, + "location": "node_modules/webpack-sources", + "name": "webpack-sources", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.2.0.tgz", + }, + "websocket-driver" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/faye-websocket", + "name": "websocket-driver", + "spec": ">=0.5.1", + "type": "prod", + }, + Edge { + "from": "node_modules/sockjs", + "name": "websocket-driver", + "spec": "0.6.5", + "type": "prod", + }, + Edge { + "from": "node_modules/sockjs-client/node_modules/faye-websocket", + "name": "websocket-driver", + "spec": ">=0.5.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "websocket-extensions" => Edge { + "name": "websocket-extensions", + "spec": ">=0.1.1", + "to": "node_modules/websocket-extensions", + "type": "prod", + }, + }, + "location": "node_modules/websocket-driver", + "name": "websocket-driver", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz", + }, + "websocket-extensions" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/websocket-driver", + "name": "websocket-extensions", + "spec": ">=0.1.1", + "type": "prod", + }, + }, + "location": "node_modules/websocket-extensions", + "name": "websocket-extensions", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + }, + "which" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/cross-spawn", + "name": "which", + "spec": "^1.2.9", + "type": "prod", + }, + }, + "edgesOut": Map { + "isexe" => Edge { + "name": "isexe", + "spec": "^2.0.0", + "to": "node_modules/isexe", + "type": "prod", + }, + }, + "location": "node_modules/which", + "name": "which", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + }, + "which-module" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/yargs", + "name": "which-module", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/which-module", + "name": "which-module", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + }, + "wrap-ansi" => Node { + "children": Map { + "ansi-regex" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + }, + "strip-ansi" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/wrap-ansi", + "name": "strip-ansi", + "spec": "^5.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "ansi-regex" => Edge { + "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", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + }, + }, + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/cliui", + "name": "wrap-ansi", + "spec": "^5.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "ansi-styles" => Edge { + "name": "ansi-styles", + "spec": "^3.2.0", + "to": "node_modules/ansi-styles", + "type": "prod", + }, + "string-width" => Edge { + "name": "string-width", + "spec": "^3.0.0", + "to": "node_modules/string-width", + "type": "prod", + }, + "strip-ansi" => Edge { + "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", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + }, + "wrappy" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/inflight", + "name": "wrappy", + "spec": "1", + "type": "prod", + }, + Edge { + "from": "node_modules/once", + "name": "wrappy", + "spec": "1", + "type": "prod", + }, + }, + "location": "node_modules/wrappy", + "name": "wrappy", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + }, + "ws" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/webpack-dev-server", + "name": "ws", + "spec": "^6.2.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "async-limiter" => Edge { + "name": "async-limiter", + "spec": "~1.0.0", + "to": "node_modules/async-limiter", + "type": "prod", + }, + }, + "location": "node_modules/ws", + "name": "ws", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", + }, + "y18n" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/yargs", + "name": "y18n", + "spec": "^4.0.0", + "type": "prod", + }, + }, + "location": "node_modules/y18n", + "name": "y18n", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + }, + "yargs" => Node { + "children": Map { + "find-up" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/yargs", + "name": "find-up", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "locate-path" => Edge { + "name": "locate-path", + "spec": "^3.0.0", + "to": "node_modules/yargs/node_modules/locate-path", + "type": "prod", + }, + }, + "location": "node_modules/yargs/node_modules/find-up", + "name": "find-up", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + }, + "locate-path" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/yargs/node_modules/find-up", + "name": "locate-path", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "p-locate" => Edge { + "name": "p-locate", + "spec": "^3.0.0", + "to": "node_modules/yargs/node_modules/p-locate", + "type": "prod", + }, + "path-exists" => Edge { + "name": "path-exists", + "spec": "^3.0.0", + "to": "node_modules/yargs/node_modules/path-exists", + "type": "prod", + }, + }, + "location": "node_modules/yargs/node_modules/locate-path", + "name": "locate-path", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + }, + "p-locate" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/yargs/node_modules/locate-path", + "name": "p-locate", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "p-limit" => Edge { + "name": "p-limit", + "spec": "^2.0.0", + "to": "node_modules/p-limit", + "type": "prod", + }, + }, + "location": "node_modules/yargs/node_modules/p-locate", + "name": "p-locate", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + }, + "path-exists" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/yargs/node_modules/locate-path", + "name": "path-exists", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "location": "node_modules/yargs/node_modules/path-exists", + "name": "path-exists", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + }, + }, + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/webpack-dev-server", + "name": "yargs", + "spec": "^13.3.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "cliui" => Edge { + "name": "cliui", + "spec": "^5.0.0", + "to": "node_modules/cliui", + "type": "prod", + }, + "find-up" => Edge { + "name": "find-up", + "spec": "^3.0.0", + "to": "node_modules/yargs/node_modules/find-up", + "type": "prod", + }, + "get-caller-file" => Edge { + "name": "get-caller-file", + "spec": "^2.0.1", + "to": "node_modules/get-caller-file", + "type": "prod", + }, + "require-directory" => Edge { + "name": "require-directory", + "spec": "^2.1.1", + "to": "node_modules/require-directory", + "type": "prod", + }, + "require-main-filename" => Edge { + "name": "require-main-filename", + "spec": "^2.0.0", + "to": "node_modules/require-main-filename", + "type": "prod", + }, + "set-blocking" => Edge { + "name": "set-blocking", + "spec": "^2.0.0", + "to": "node_modules/set-blocking", + "type": "prod", + }, + "string-width" => Edge { + "name": "string-width", + "spec": "^3.0.0", + "to": "node_modules/string-width", + "type": "prod", + }, + "which-module" => Edge { + "name": "which-module", + "spec": "^2.0.0", + "to": "node_modules/which-module", + "type": "prod", + }, + "y18n" => Edge { + "name": "y18n", + "spec": "^4.0.0", + "to": "node_modules/y18n", + "type": "prod", + }, + "yargs-parser" => Edge { + "name": "yargs-parser", + "spec": "^13.1.2", + "to": "node_modules/yargs-parser", + "type": "prod", + }, + }, + "location": "node_modules/yargs", + "name": "yargs", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + }, + "yargs-parser" => Node { + "dev": true, + "edgesIn": Set { + Edge { + "from": "node_modules/yargs", + "name": "yargs-parser", + "spec": "^13.1.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "camelcase" => Edge { + "name": "camelcase", + "spec": "^5.0.0", + "to": "node_modules/camelcase", + "type": "prod", + }, + "decamelize" => Edge { + "name": "decamelize", + "spec": "^1.2.0", + "to": "node_modules/decamelize", + "type": "prod", + }, + }, + "location": "node_modules/yargs-parser", + "name": "yargs-parser", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + }, + }, + "edgesOut": Map { + "webpack" => Edge { + "name": "webpack", + "spec": "^5.0.0", + "to": "node_modules/webpack", + "type": "dev", + }, + "webpack-dev-server" => Edge { + "name": "webpack-dev-server", + "spec": "^3.11.0", + "to": "node_modules/webpack-dev-server", + "type": "dev", + }, + }, + "location": "", + "name": "build-ideal-tree-peer-dep-override-with-dep-sets-being-replaced", + "resolved": null, +} +` + +exports[`test/arborist/build-ideal-tree.js TAP peer dep that needs to be replaced > must match snapshot 1`] = ` +Node { + "children": Map { + "@pmmmwh/react-refresh-webpack-plugin" => Node { + "edgesIn": Set { + Edge { + "from": "", + "name": "@pmmmwh/react-refresh-webpack-plugin", + "spec": "^0.4.3", + "type": "prod", + }, + }, + "edgesOut": Map { + "@types/webpack" => Edge { + "name": "@types/webpack", + "spec": "4.x", + "to": null, + "type": "peerOptional", + }, + "ansi-html" => Edge { + "name": "ansi-html", + "spec": "^0.0.7", + "to": "node_modules/ansi-html", + "type": "prod", + }, + "error-stack-parser" => Edge { + "name": "error-stack-parser", + "spec": "^2.0.6", + "to": "node_modules/error-stack-parser", + "type": "prod", + }, + "html-entities" => Edge { + "name": "html-entities", + "spec": "^1.2.1", + "to": "node_modules/html-entities", + "type": "prod", + }, + "native-url" => Edge { + "name": "native-url", + "spec": "^0.2.6", + "to": "node_modules/native-url", + "type": "prod", + }, + "react-refresh" => Edge { + "name": "react-refresh", + "spec": ">=0.8.3 <0.10.0", + "to": "node_modules/react-refresh", + "type": "peer", + }, + "schema-utils" => Edge { + "name": "schema-utils", + "spec": "^2.6.5", + "to": "node_modules/schema-utils", + "type": "prod", + }, + "sockjs-client" => Edge { + "name": "sockjs-client", + "spec": "^1.4.0", + "to": "node_modules/sockjs-client", + "type": "peerOptional", + }, + "source-map" => Edge { + "name": "source-map", + "spec": "^0.7.3", + "to": "node_modules/source-map", + "type": "prod", + }, + "type-fest" => Edge { + "name": "type-fest", + "spec": "^0.13.1", + "to": null, + "type": "peerOptional", + }, + "webpack" => Edge { + "name": "webpack", + "spec": ">=4.43.0 <6.0.0", + "to": "node_modules/webpack", + "type": "peer", + }, + "webpack-dev-server" => Edge { + "name": "webpack-dev-server", + "spec": "3.x", + "to": "node_modules/webpack-dev-server", + "type": "peerOptional", + }, + "webpack-hot-middleware" => Edge { + "name": "webpack-hot-middleware", + "spec": "2.x", + "to": null, + "type": "peerOptional", + }, + "webpack-plugin-serve" => Edge { + "name": "webpack-plugin-serve", + "spec": "0.x || 1.x", + "to": null, + "type": "peerOptional", + }, + }, + "location": "node_modules/@pmmmwh/react-refresh-webpack-plugin", + "name": "@pmmmwh/react-refresh-webpack-plugin", + "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.4.3.tgz", + }, + "@types/glob" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/del", + "name": "@types/glob", + "spec": "^7.1.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "@types/minimatch" => Edge { + "name": "@types/minimatch", + "spec": "*", + "to": "node_modules/@types/minimatch", + "type": "prod", + }, + "@types/node" => Edge { + "name": "@types/node", + "spec": "*", + "to": "node_modules/@types/node", + "type": "prod", + }, + }, + "location": "node_modules/@types/glob", + "name": "@types/glob", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz", + }, + "@types/json-schema" => Node { + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz", + }, + "@types/minimatch" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/@types/glob", + "name": "@types/minimatch", + "spec": "*", + "type": "prod", + }, + }, + "location": "node_modules/@types/minimatch", + "name": "@types/minimatch", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", + }, + "@types/node" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/@types/glob", + "name": "@types/node", + "spec": "*", + "type": "prod", + }, + }, + "location": "node_modules/@types/node", + "name": "@types/node", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.11.8.tgz", + }, + "@webassemblyjs/ast" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/@webassemblyjs/helper-module-context", + "name": "@webassemblyjs/ast", + "spec": "1.9.0", + "type": "prod", + }, + Edge { + "from": "node_modules/@webassemblyjs/helper-wasm-section", + "name": "@webassemblyjs/ast", + "spec": "1.9.0", + "type": "prod", + }, + Edge { + "from": "node_modules/@webassemblyjs/wasm-edit", + "name": "@webassemblyjs/ast", + "spec": "1.9.0", + "type": "prod", + }, + Edge { + "from": "node_modules/@webassemblyjs/wasm-gen", + "name": "@webassemblyjs/ast", + "spec": "1.9.0", + "type": "prod", + }, + Edge { + "from": "node_modules/@webassemblyjs/wasm-opt", + "name": "@webassemblyjs/ast", + "spec": "1.9.0", + "type": "prod", + }, + Edge { + "from": "node_modules/@webassemblyjs/wasm-parser", + "name": "@webassemblyjs/ast", + "spec": "1.9.0", + "type": "prod", + }, + Edge { + "from": "node_modules/@webassemblyjs/wast-parser", + "name": "@webassemblyjs/ast", + "spec": "1.9.0", + "type": "prod", + }, + Edge { + "from": "node_modules/@webassemblyjs/wast-printer", + "name": "@webassemblyjs/ast", + "spec": "1.9.0", + "type": "prod", + }, + Edge { + "from": "node_modules/webpack", + "name": "@webassemblyjs/ast", + "spec": "1.9.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "@webassemblyjs/helper-module-context" => Edge { + "name": "@webassemblyjs/helper-module-context", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/helper-module-context", + "type": "prod", + }, + "@webassemblyjs/helper-wasm-bytecode" => Edge { + "name": "@webassemblyjs/helper-wasm-bytecode", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/helper-wasm-bytecode", + "type": "prod", + }, + "@webassemblyjs/wast-parser" => Edge { + "name": "@webassemblyjs/wast-parser", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/wast-parser", + "type": "prod", + }, + }, + "location": "node_modules/@webassemblyjs/ast", + "name": "@webassemblyjs/ast", + "peer": true, + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + }, + "@webassemblyjs/floating-point-hex-parser" => Node { + "edgesIn": Set { + Edge { + "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", + "peer": true, + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", + }, + "@webassemblyjs/helper-api-error" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/@webassemblyjs/wasm-parser", + "name": "@webassemblyjs/helper-api-error", + "spec": "1.9.0", + "type": "prod", + }, + Edge { + "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", + "peer": true, + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", + }, + "@webassemblyjs/helper-buffer" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/@webassemblyjs/helper-wasm-section", + "name": "@webassemblyjs/helper-buffer", + "spec": "1.9.0", + "type": "prod", + }, + Edge { + "from": "node_modules/@webassemblyjs/wasm-edit", + "name": "@webassemblyjs/helper-buffer", + "spec": "1.9.0", + "type": "prod", + }, + Edge { + "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", + "peer": true, + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", + }, + "@webassemblyjs/helper-code-frame" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/@webassemblyjs/wast-parser", + "name": "@webassemblyjs/helper-code-frame", + "spec": "1.9.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "@webassemblyjs/wast-printer" => Edge { + "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", + "peer": true, + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", + }, + "@webassemblyjs/helper-fsm" => Node { + "edgesIn": Set { + Edge { + "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", + "peer": true, + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", + }, + "@webassemblyjs/helper-module-context" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/@webassemblyjs/ast", + "name": "@webassemblyjs/helper-module-context", + "spec": "1.9.0", + "type": "prod", + }, + Edge { + "from": "node_modules/webpack", + "name": "@webassemblyjs/helper-module-context", + "spec": "1.9.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "@webassemblyjs/ast" => Edge { + "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", + "peer": true, + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", + }, + "@webassemblyjs/helper-wasm-bytecode" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/@webassemblyjs/ast", + "name": "@webassemblyjs/helper-wasm-bytecode", + "spec": "1.9.0", + "type": "prod", + }, + Edge { + "from": "node_modules/@webassemblyjs/helper-wasm-section", + "name": "@webassemblyjs/helper-wasm-bytecode", + "spec": "1.9.0", + "type": "prod", + }, + Edge { + "from": "node_modules/@webassemblyjs/wasm-edit", + "name": "@webassemblyjs/helper-wasm-bytecode", + "spec": "1.9.0", + "type": "prod", + }, + Edge { + "from": "node_modules/@webassemblyjs/wasm-gen", + "name": "@webassemblyjs/helper-wasm-bytecode", + "spec": "1.9.0", + "type": "prod", + }, + Edge { + "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", + "peer": true, + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + }, + "@webassemblyjs/helper-wasm-section" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/@webassemblyjs/wasm-edit", + "name": "@webassemblyjs/helper-wasm-section", + "spec": "1.9.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "@webassemblyjs/ast" => Edge { + "name": "@webassemblyjs/ast", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/ast", + "type": "prod", + }, + "@webassemblyjs/helper-buffer" => Edge { + "name": "@webassemblyjs/helper-buffer", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/helper-buffer", + "type": "prod", + }, + "@webassemblyjs/helper-wasm-bytecode" => Edge { + "name": "@webassemblyjs/helper-wasm-bytecode", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/helper-wasm-bytecode", + "type": "prod", + }, + "@webassemblyjs/wasm-gen" => Edge { + "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", + "peer": true, + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", + }, + "@webassemblyjs/ieee754" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/@webassemblyjs/wasm-gen", + "name": "@webassemblyjs/ieee754", + "spec": "1.9.0", + "type": "prod", + }, + Edge { + "from": "node_modules/@webassemblyjs/wasm-parser", + "name": "@webassemblyjs/ieee754", + "spec": "1.9.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "@xtuc/ieee754" => Edge { + "name": "@xtuc/ieee754", + "spec": "^1.2.0", + "to": "node_modules/@xtuc/ieee754", + "type": "prod", + }, + }, + "location": "node_modules/@webassemblyjs/ieee754", + "name": "@webassemblyjs/ieee754", + "peer": true, + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", + }, + "@webassemblyjs/leb128" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/@webassemblyjs/wasm-gen", + "name": "@webassemblyjs/leb128", + "spec": "1.9.0", + "type": "prod", + }, + Edge { + "from": "node_modules/@webassemblyjs/wasm-parser", + "name": "@webassemblyjs/leb128", + "spec": "1.9.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "@xtuc/long" => Edge { + "name": "@xtuc/long", + "spec": "4.2.2", + "to": "node_modules/@xtuc/long", + "type": "prod", + }, + }, + "location": "node_modules/@webassemblyjs/leb128", + "name": "@webassemblyjs/leb128", + "peer": true, + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", + }, + "@webassemblyjs/utf8" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/@webassemblyjs/wasm-gen", + "name": "@webassemblyjs/utf8", + "spec": "1.9.0", + "type": "prod", + }, + Edge { + "from": "node_modules/@webassemblyjs/wasm-parser", + "name": "@webassemblyjs/utf8", + "spec": "1.9.0", + "type": "prod", + }, + }, + "location": "node_modules/@webassemblyjs/utf8", + "name": "@webassemblyjs/utf8", + "peer": true, + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", + }, + "@webassemblyjs/wasm-edit" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/webpack", + "name": "@webassemblyjs/wasm-edit", + "spec": "1.9.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "@webassemblyjs/ast" => Edge { + "name": "@webassemblyjs/ast", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/ast", + "type": "prod", + }, + "@webassemblyjs/helper-buffer" => Edge { + "name": "@webassemblyjs/helper-buffer", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/helper-buffer", + "type": "prod", + }, + "@webassemblyjs/helper-wasm-bytecode" => Edge { + "name": "@webassemblyjs/helper-wasm-bytecode", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/helper-wasm-bytecode", + "type": "prod", + }, + "@webassemblyjs/helper-wasm-section" => Edge { + "name": "@webassemblyjs/helper-wasm-section", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/helper-wasm-section", + "type": "prod", + }, + "@webassemblyjs/wasm-gen" => Edge { + "name": "@webassemblyjs/wasm-gen", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/wasm-gen", + "type": "prod", + }, + "@webassemblyjs/wasm-opt" => Edge { + "name": "@webassemblyjs/wasm-opt", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/wasm-opt", + "type": "prod", + }, + "@webassemblyjs/wasm-parser" => Edge { + "name": "@webassemblyjs/wasm-parser", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/wasm-parser", + "type": "prod", + }, + "@webassemblyjs/wast-printer" => Edge { + "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", + "peer": true, + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", + }, + "@webassemblyjs/wasm-gen" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/@webassemblyjs/helper-wasm-section", + "name": "@webassemblyjs/wasm-gen", + "spec": "1.9.0", + "type": "prod", + }, + Edge { + "from": "node_modules/@webassemblyjs/wasm-edit", + "name": "@webassemblyjs/wasm-gen", + "spec": "1.9.0", + "type": "prod", + }, + Edge { + "from": "node_modules/@webassemblyjs/wasm-opt", + "name": "@webassemblyjs/wasm-gen", + "spec": "1.9.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "@webassemblyjs/ast" => Edge { + "name": "@webassemblyjs/ast", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/ast", + "type": "prod", + }, + "@webassemblyjs/helper-wasm-bytecode" => Edge { + "name": "@webassemblyjs/helper-wasm-bytecode", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/helper-wasm-bytecode", + "type": "prod", + }, + "@webassemblyjs/ieee754" => Edge { + "name": "@webassemblyjs/ieee754", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/ieee754", + "type": "prod", + }, + "@webassemblyjs/leb128" => Edge { + "name": "@webassemblyjs/leb128", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/leb128", + "type": "prod", + }, + "@webassemblyjs/utf8" => Edge { + "name": "@webassemblyjs/utf8", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/utf8", + "type": "prod", + }, + }, + "location": "node_modules/@webassemblyjs/wasm-gen", + "name": "@webassemblyjs/wasm-gen", + "peer": true, + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", + }, + "@webassemblyjs/wasm-opt" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/@webassemblyjs/wasm-edit", + "name": "@webassemblyjs/wasm-opt", + "spec": "1.9.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "@webassemblyjs/ast" => Edge { + "name": "@webassemblyjs/ast", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/ast", + "type": "prod", + }, + "@webassemblyjs/helper-buffer" => Edge { + "name": "@webassemblyjs/helper-buffer", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/helper-buffer", + "type": "prod", + }, + "@webassemblyjs/wasm-gen" => Edge { + "name": "@webassemblyjs/wasm-gen", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/wasm-gen", + "type": "prod", + }, + "@webassemblyjs/wasm-parser" => Edge { + "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", + "peer": true, + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", + }, + "@webassemblyjs/wasm-parser" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/@webassemblyjs/wasm-edit", + "name": "@webassemblyjs/wasm-parser", + "spec": "1.9.0", + "type": "prod", + }, + Edge { + "from": "node_modules/@webassemblyjs/wasm-opt", + "name": "@webassemblyjs/wasm-parser", + "spec": "1.9.0", + "type": "prod", + }, + Edge { + "from": "node_modules/webpack", + "name": "@webassemblyjs/wasm-parser", + "spec": "1.9.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "@webassemblyjs/ast" => Edge { + "name": "@webassemblyjs/ast", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/ast", + "type": "prod", + }, + "@webassemblyjs/helper-api-error" => Edge { + "name": "@webassemblyjs/helper-api-error", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/helper-api-error", + "type": "prod", + }, + "@webassemblyjs/helper-wasm-bytecode" => Edge { + "name": "@webassemblyjs/helper-wasm-bytecode", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/helper-wasm-bytecode", + "type": "prod", + }, + "@webassemblyjs/ieee754" => Edge { + "name": "@webassemblyjs/ieee754", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/ieee754", + "type": "prod", + }, + "@webassemblyjs/leb128" => Edge { + "name": "@webassemblyjs/leb128", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/leb128", + "type": "prod", + }, + "@webassemblyjs/utf8" => Edge { + "name": "@webassemblyjs/utf8", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/utf8", + "type": "prod", + }, + }, + "location": "node_modules/@webassemblyjs/wasm-parser", + "name": "@webassemblyjs/wasm-parser", + "peer": true, + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", + }, + "@webassemblyjs/wast-parser" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/@webassemblyjs/ast", + "name": "@webassemblyjs/wast-parser", + "spec": "1.9.0", + "type": "prod", + }, + Edge { + "from": "node_modules/@webassemblyjs/wast-printer", + "name": "@webassemblyjs/wast-parser", + "spec": "1.9.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "@webassemblyjs/ast" => Edge { + "name": "@webassemblyjs/ast", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/ast", + "type": "prod", + }, + "@webassemblyjs/floating-point-hex-parser" => Edge { + "name": "@webassemblyjs/floating-point-hex-parser", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/floating-point-hex-parser", + "type": "prod", + }, + "@webassemblyjs/helper-api-error" => Edge { + "name": "@webassemblyjs/helper-api-error", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/helper-api-error", + "type": "prod", + }, + "@webassemblyjs/helper-code-frame" => Edge { + "name": "@webassemblyjs/helper-code-frame", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/helper-code-frame", + "type": "prod", + }, + "@webassemblyjs/helper-fsm" => Edge { + "name": "@webassemblyjs/helper-fsm", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/helper-fsm", + "type": "prod", + }, + "@xtuc/long" => Edge { + "name": "@xtuc/long", + "spec": "4.2.2", + "to": "node_modules/@xtuc/long", + "type": "prod", + }, + }, + "location": "node_modules/@webassemblyjs/wast-parser", + "name": "@webassemblyjs/wast-parser", + "peer": true, + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", + }, + "@webassemblyjs/wast-printer" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/@webassemblyjs/helper-code-frame", + "name": "@webassemblyjs/wast-printer", + "spec": "1.9.0", + "type": "prod", + }, + Edge { + "from": "node_modules/@webassemblyjs/wasm-edit", + "name": "@webassemblyjs/wast-printer", + "spec": "1.9.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "@webassemblyjs/ast" => Edge { + "name": "@webassemblyjs/ast", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/ast", + "type": "prod", + }, + "@webassemblyjs/wast-parser" => Edge { + "name": "@webassemblyjs/wast-parser", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/wast-parser", + "type": "prod", + }, + "@xtuc/long" => Edge { + "name": "@xtuc/long", + "spec": "4.2.2", + "to": "node_modules/@xtuc/long", + "type": "prod", + }, + }, + "location": "node_modules/@webassemblyjs/wast-printer", + "name": "@webassemblyjs/wast-printer", + "peer": true, + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", + }, + "@xtuc/ieee754" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/@webassemblyjs/ieee754", + "name": "@xtuc/ieee754", + "spec": "^1.2.0", + "type": "prod", + }, + }, + "location": "node_modules/@xtuc/ieee754", + "name": "@xtuc/ieee754", + "peer": true, + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + }, + "@xtuc/long" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/@webassemblyjs/leb128", + "name": "@xtuc/long", + "spec": "4.2.2", + "type": "prod", + }, + Edge { + "from": "node_modules/@webassemblyjs/wast-parser", + "name": "@xtuc/long", + "spec": "4.2.2", + "type": "prod", + }, + Edge { + "from": "node_modules/@webassemblyjs/wast-printer", + "name": "@xtuc/long", + "spec": "4.2.2", + "type": "prod", + }, + }, + "location": "node_modules/@xtuc/long", + "name": "@xtuc/long", + "peer": true, + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + }, + "accepts" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/compression", + "name": "accepts", + "spec": "~1.3.5", + "type": "prod", + }, + Edge { + "from": "node_modules/express", + "name": "accepts", + "spec": "~1.3.7", + "type": "prod", + }, + Edge { + "from": "node_modules/serve-index", + "name": "accepts", + "spec": "~1.3.4", + "type": "prod", + }, + }, + "edgesOut": Map { + "mime-types" => Edge { + "name": "mime-types", + "spec": "~2.1.24", + "to": "node_modules/mime-types", + "type": "prod", + }, + "negotiator" => Edge { + "name": "negotiator", + "spec": "0.6.2", + "to": "node_modules/negotiator", + "type": "prod", + }, + }, + "location": "node_modules/accepts", + "name": "accepts", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + }, + "acorn" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/webpack", + "name": "acorn", + "spec": "^6.4.1", + "type": "prod", + }, + }, + "location": "node_modules/acorn", + "name": "acorn", + "peer": true, + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + }, + "ajv" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/ajv-errors", + "name": "ajv", + "spec": ">=5.0.0", + "type": "peer", + }, + Edge { + "from": "node_modules/ajv-keywords", + "name": "ajv", + "spec": "^6.9.1", + "type": "peer", + }, + Edge { + "from": "node_modules/schema-utils", + "name": "ajv", + "spec": "^6.12.4", + "type": "prod", + }, + Edge { + "from": "node_modules/terser-webpack-plugin/node_modules/schema-utils", + "name": "ajv", + "spec": "^6.1.0", + "type": "prod", + }, + Edge { + "from": "node_modules/webpack", + "name": "ajv", + "spec": "^6.10.2", + "type": "prod", + }, + Edge { + "from": "node_modules/webpack-dev-server/node_modules/schema-utils", + "name": "ajv", + "spec": "^6.1.0", + "type": "prod", + }, + Edge { + "from": "node_modules/webpack/node_modules/schema-utils", + "name": "ajv", + "spec": "^6.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "fast-deep-equal" => Edge { + "name": "fast-deep-equal", + "spec": "^3.1.1", + "to": "node_modules/fast-deep-equal", + "type": "prod", + }, + "fast-json-stable-stringify" => Edge { + "name": "fast-json-stable-stringify", + "spec": "^2.0.0", + "to": "node_modules/fast-json-stable-stringify", + "type": "prod", + }, + "json-schema-traverse" => Edge { + "name": "json-schema-traverse", + "spec": "^0.4.1", + "to": "node_modules/json-schema-traverse", + "type": "prod", + }, + "uri-js" => Edge { + "name": "uri-js", + "spec": "^4.2.2", + "to": "node_modules/uri-js", + "type": "prod", + }, + }, + "location": "node_modules/ajv", + "name": "ajv", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + }, + "ajv-errors" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/terser-webpack-plugin/node_modules/schema-utils", + "name": "ajv-errors", + "spec": "^1.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/webpack-dev-server/node_modules/schema-utils", + "name": "ajv-errors", + "spec": "^1.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/webpack/node_modules/schema-utils", + "name": "ajv-errors", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "ajv" => Edge { + "name": "ajv", + "spec": ">=5.0.0", + "to": "node_modules/ajv", + "type": "peer", + }, + }, + "location": "node_modules/ajv-errors", + "name": "ajv-errors", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + }, + "ajv-keywords" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/schema-utils", + "name": "ajv-keywords", + "spec": "^3.5.2", + "type": "prod", + }, + Edge { + "from": "node_modules/terser-webpack-plugin/node_modules/schema-utils", + "name": "ajv-keywords", + "spec": "^3.1.0", + "type": "prod", + }, + Edge { + "from": "node_modules/webpack", + "name": "ajv-keywords", + "spec": "^3.4.1", + "type": "prod", + }, + Edge { + "from": "node_modules/webpack-dev-server/node_modules/schema-utils", + "name": "ajv-keywords", + "spec": "^3.1.0", + "type": "prod", + }, + Edge { + "from": "node_modules/webpack/node_modules/schema-utils", + "name": "ajv-keywords", + "spec": "^3.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "ajv" => Edge { + "name": "ajv", + "spec": "^6.9.1", + "to": "node_modules/ajv", + "type": "peer", + }, + }, + "location": "node_modules/ajv-keywords", + "name": "ajv-keywords", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + }, + "ansi-colors" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/webpack-log", + "name": "ansi-colors", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "location": "node_modules/ansi-colors", + "name": "ansi-colors", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", + }, + "ansi-html" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/@pmmmwh/react-refresh-webpack-plugin", + "name": "ansi-html", + "spec": "^0.0.7", + "type": "prod", + }, + Edge { + "from": "node_modules/webpack-dev-server", + "name": "ansi-html", + "spec": "0.0.7", + "type": "prod", + }, + }, + "location": "node_modules/ansi-html", + "name": "ansi-html", + "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", + }, + "ansi-regex" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/strip-ansi", + "name": "ansi-regex", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/ansi-regex", + "name": "ansi-regex", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + }, + "ansi-styles" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/wrap-ansi", + "name": "ansi-styles", + "spec": "^3.2.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "color-convert" => Edge { + "name": "color-convert", + "spec": "^1.9.0", + "to": "node_modules/color-convert", + "type": "prod", + }, + }, + "location": "node_modules/ansi-styles", + "name": "ansi-styles", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + }, + "anymatch" => Node { + "children": Map { + "normalize-path" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/anymatch", + "name": "normalize-path", + "spec": "^2.1.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "remove-trailing-separator" => Edge { + "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", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/chokidar", + "name": "anymatch", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "micromatch" => Edge { + "name": "micromatch", + "spec": "^3.1.4", + "to": "node_modules/micromatch", + "type": "prod", + }, + "normalize-path" => Edge { + "name": "normalize-path", + "spec": "^2.1.1", + "to": "node_modules/anymatch/node_modules/normalize-path", + "type": "prod", + }, + }, + "location": "node_modules/anymatch", + "name": "anymatch", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + }, + "aproba" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/copy-concurrently", + "name": "aproba", + "spec": "^1.1.1", + "type": "prod", + }, + Edge { + "from": "node_modules/move-concurrently", + "name": "aproba", + "spec": "^1.1.1", + "type": "prod", + }, + Edge { + "from": "node_modules/run-queue", + "name": "aproba", + "spec": "^1.1.1", + "type": "prod", + }, + }, + "location": "node_modules/aproba", + "name": "aproba", + "peer": true, + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + }, + "arr-diff" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/micromatch", + "name": "arr-diff", + "spec": "^4.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/nanomatch", + "name": "arr-diff", + "spec": "^4.0.0", + "type": "prod", + }, + }, + "location": "node_modules/arr-diff", + "name": "arr-diff", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + }, + "arr-flatten" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/braces", + "name": "arr-flatten", + "spec": "^1.1.0", + "type": "prod", + }, + }, + "location": "node_modules/arr-flatten", + "name": "arr-flatten", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + }, + "arr-union" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/class-utils", + "name": "arr-union", + "spec": "^3.1.0", + "type": "prod", + }, + Edge { + "from": "node_modules/union-value", + "name": "arr-union", + "spec": "^3.1.0", + "type": "prod", + }, + }, + "location": "node_modules/arr-union", + "name": "arr-union", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + }, + "array-flatten" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/bonjour", + "name": "array-flatten", + "spec": "^2.1.0", + "type": "prod", + }, + }, + "location": "node_modules/array-flatten", + "name": "array-flatten", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + }, + "array-union" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/globby", + "name": "array-union", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "array-uniq" => Edge { + "name": "array-uniq", + "spec": "^1.0.1", + "to": "node_modules/array-uniq", + "type": "prod", + }, + }, + "location": "node_modules/array-union", + "name": "array-union", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + }, + "array-uniq" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/array-union", + "name": "array-uniq", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "location": "node_modules/array-uniq", + "name": "array-uniq", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + }, + "array-unique" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/braces", + "name": "array-unique", + "spec": "^0.3.2", + "type": "prod", + }, + Edge { + "from": "node_modules/extglob", + "name": "array-unique", + "spec": "^0.3.2", + "type": "prod", + }, + Edge { + "from": "node_modules/micromatch", + "name": "array-unique", + "spec": "^0.3.2", + "type": "prod", + }, + Edge { + "from": "node_modules/nanomatch", + "name": "array-unique", + "spec": "^0.3.2", + "type": "prod", + }, + }, + "location": "node_modules/array-unique", + "name": "array-unique", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + }, + "asn1.js" => Node { + "children": Map { + "bn.js" => Node { + "edgesIn": Set { + Edge { + "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", + "peer": true, + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/parse-asn1", + "name": "asn1.js", + "spec": "^5.2.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "bn.js" => Edge { + "name": "bn.js", + "spec": "^4.0.0", + "to": "node_modules/asn1.js/node_modules/bn.js", + "type": "prod", + }, + "inherits" => Edge { + "name": "inherits", + "spec": "^2.0.1", + "to": "node_modules/inherits", + "type": "prod", + }, + "minimalistic-assert" => Edge { + "name": "minimalistic-assert", + "spec": "^1.0.0", + "to": "node_modules/minimalistic-assert", + "type": "prod", + }, + "safer-buffer" => Edge { + "name": "safer-buffer", + "spec": "^2.1.0", + "to": "node_modules/safer-buffer", + "type": "prod", + }, + }, + "location": "node_modules/asn1.js", + "name": "asn1.js", + "peer": true, + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + }, + "assert" => Node { + "children": Map { + "inherits" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/assert/node_modules/util", + "name": "inherits", + "spec": "2.0.1", + "type": "prod", + }, + }, + "location": "node_modules/assert/node_modules/inherits", + "name": "inherits", + "peer": true, + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + }, + "util" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/assert", + "name": "util", + "spec": "0.10.3", + "type": "prod", + }, + }, + "edgesOut": Map { + "inherits" => Edge { + "name": "inherits", + "spec": "2.0.1", + "to": "node_modules/assert/node_modules/inherits", + "type": "prod", + }, + }, + "location": "node_modules/assert/node_modules/util", + "name": "util", + "peer": true, + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/node-libs-browser", + "name": "assert", + "spec": "^1.1.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "object-assign" => Edge { + "name": "object-assign", + "spec": "^4.1.1", + "to": "node_modules/object-assign", + "type": "prod", + }, + "util" => Edge { + "name": "util", + "spec": "0.10.3", + "to": "node_modules/assert/node_modules/util", + "type": "prod", + }, + }, + "location": "node_modules/assert", + "name": "assert", + "peer": true, + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + }, + "assign-symbols" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/micromatch/node_modules/extend-shallow", + "name": "assign-symbols", + "spec": "^1.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/nanomatch/node_modules/extend-shallow", + "name": "assign-symbols", + "spec": "^1.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/regex-not/node_modules/extend-shallow", + "name": "assign-symbols", + "spec": "^1.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/split-string/node_modules/extend-shallow", + "name": "assign-symbols", + "spec": "^1.0.0", + "type": "prod", + }, + Edge { + "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", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + }, + "async" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/portfinder", + "name": "async", + "spec": "^2.6.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "lodash" => Edge { + "name": "lodash", + "spec": "^4.17.14", + "to": "node_modules/lodash", + "type": "prod", + }, + }, + "location": "node_modules/async", + "name": "async", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + }, + "async-each" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/chokidar", + "name": "async-each", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "location": "node_modules/async-each", + "name": "async-each", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + }, + "async-limiter" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/ws", + "name": "async-limiter", + "spec": "~1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/async-limiter", + "name": "async-limiter", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + }, + "atob" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/source-map-resolve", + "name": "atob", + "spec": "^2.1.2", + "type": "prod", + }, + }, + "location": "node_modules/atob", + "name": "atob", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + }, + "balanced-match" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/brace-expansion", + "name": "balanced-match", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/balanced-match", + "name": "balanced-match", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + }, + "base" => Node { + "children": Map { + "define-property" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/base", + "name": "define-property", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-descriptor" => Edge { + "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", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/snapdragon", + "name": "base", + "spec": "^0.11.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "cache-base" => Edge { + "name": "cache-base", + "spec": "^1.0.1", + "to": "node_modules/cache-base", + "type": "prod", + }, + "class-utils" => Edge { + "name": "class-utils", + "spec": "^0.3.5", + "to": "node_modules/class-utils", + "type": "prod", + }, + "component-emitter" => Edge { + "name": "component-emitter", + "spec": "^1.2.1", + "to": "node_modules/component-emitter", + "type": "prod", + }, + "define-property" => Edge { + "name": "define-property", + "spec": "^1.0.0", + "to": "node_modules/base/node_modules/define-property", + "type": "prod", + }, + "isobject" => Edge { + "name": "isobject", + "spec": "^3.0.1", + "to": "node_modules/isobject", + "type": "prod", + }, + "mixin-deep" => Edge { + "name": "mixin-deep", + "spec": "^1.2.0", + "to": "node_modules/mixin-deep", + "type": "prod", + }, + "pascalcase" => Edge { + "name": "pascalcase", + "spec": "^0.1.1", + "to": "node_modules/pascalcase", + "type": "prod", + }, + }, + "location": "node_modules/base", + "name": "base", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + }, + "base64-js" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/buffer", + "name": "base64-js", + "spec": "^1.0.2", + "type": "prod", + }, + }, + "location": "node_modules/base64-js", + "name": "base64-js", + "peer": true, + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + }, + "batch" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/serve-index", + "name": "batch", + "spec": "0.6.1", + "type": "prod", + }, + }, + "location": "node_modules/batch", + "name": "batch", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + }, + "big.js" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/loader-utils", + "name": "big.js", + "spec": "^5.2.2", + "type": "prod", + }, + }, + "location": "node_modules/big.js", + "name": "big.js", + "peer": true, + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + }, + "binary-extensions" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/is-binary-path", + "name": "binary-extensions", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/binary-extensions", + "name": "binary-extensions", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + }, + "bindings" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/fsevents", + "name": "bindings", + "spec": "^1.5.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "file-uri-to-path" => Edge { + "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, + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + }, + "bluebird" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/cacache", + "name": "bluebird", + "spec": "^3.5.5", + "type": "prod", + }, + }, + "location": "node_modules/bluebird", + "name": "bluebird", + "peer": true, + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + }, + "bn.js" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/browserify-sign", + "name": "bn.js", + "spec": "^5.1.1", + "type": "prod", + }, + }, + "location": "node_modules/bn.js", + "name": "bn.js", + "peer": true, + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.3.tgz", + }, + "body-parser" => Node { + "children": Map { + "bytes" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/body-parser", + "name": "bytes", + "spec": "3.1.0", + "type": "prod", + }, + }, + "location": "node_modules/body-parser/node_modules/bytes", + "name": "bytes", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + }, + "debug" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/body-parser", + "name": "debug", + "spec": "2.6.9", + "type": "prod", + }, + }, + "edgesOut": Map { + "ms" => Edge { + "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", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + }, + "ms" => Node { + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/express", + "name": "body-parser", + "spec": "1.19.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "bytes" => Edge { + "name": "bytes", + "spec": "3.1.0", + "to": "node_modules/body-parser/node_modules/bytes", + "type": "prod", + }, + "content-type" => Edge { + "name": "content-type", + "spec": "~1.0.4", + "to": "node_modules/content-type", + "type": "prod", + }, + "debug" => Edge { + "name": "debug", + "spec": "2.6.9", + "to": "node_modules/body-parser/node_modules/debug", + "type": "prod", + }, + "depd" => Edge { + "name": "depd", + "spec": "~1.1.2", + "to": "node_modules/depd", + "type": "prod", + }, + "http-errors" => Edge { + "name": "http-errors", + "spec": "1.7.2", + "to": "node_modules/http-errors", + "type": "prod", + }, + "iconv-lite" => Edge { + "name": "iconv-lite", + "spec": "0.4.24", + "to": "node_modules/iconv-lite", + "type": "prod", + }, + "on-finished" => Edge { + "name": "on-finished", + "spec": "~2.3.0", + "to": "node_modules/on-finished", + "type": "prod", + }, + "qs" => Edge { + "name": "qs", + "spec": "6.7.0", + "to": "node_modules/qs", + "type": "prod", + }, + "raw-body" => Edge { + "name": "raw-body", + "spec": "2.4.0", + "to": "node_modules/raw-body", + "type": "prod", + }, + "type-is" => Edge { + "name": "type-is", + "spec": "~1.6.17", + "to": "node_modules/type-is", + "type": "prod", + }, + }, + "location": "node_modules/body-parser", + "name": "body-parser", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + }, + "bonjour" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/webpack-dev-server", + "name": "bonjour", + "spec": "^3.5.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "array-flatten" => Edge { + "name": "array-flatten", + "spec": "^2.1.0", + "to": "node_modules/array-flatten", + "type": "prod", + }, + "deep-equal" => Edge { + "name": "deep-equal", + "spec": "^1.0.1", + "to": "node_modules/deep-equal", + "type": "prod", + }, + "dns-equal" => Edge { + "name": "dns-equal", + "spec": "^1.0.0", + "to": "node_modules/dns-equal", + "type": "prod", + }, + "dns-txt" => Edge { + "name": "dns-txt", + "spec": "^2.0.2", + "to": "node_modules/dns-txt", + "type": "prod", + }, + "multicast-dns" => Edge { + "name": "multicast-dns", + "spec": "^6.0.1", + "to": "node_modules/multicast-dns", + "type": "prod", + }, + "multicast-dns-service-types" => Edge { + "name": "multicast-dns-service-types", + "spec": "^1.1.0", + "to": "node_modules/multicast-dns-service-types", + "type": "prod", + }, + }, + "location": "node_modules/bonjour", + "name": "bonjour", + "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", + }, + "brace-expansion" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/minimatch", + "name": "brace-expansion", + "spec": "^1.1.7", + "type": "prod", + }, + }, + "edgesOut": Map { + "balanced-match" => Edge { + "name": "balanced-match", + "spec": "^1.0.0", + "to": "node_modules/balanced-match", + "type": "prod", + }, + "concat-map" => Edge { + "name": "concat-map", + "spec": "0.0.1", + "to": "node_modules/concat-map", + "type": "prod", + }, + }, + "location": "node_modules/brace-expansion", + "name": "brace-expansion", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + }, + "braces" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/chokidar", + "name": "braces", + "spec": "^2.3.2", + "type": "prod", + }, + Edge { + "from": "node_modules/micromatch", + "name": "braces", + "spec": "^2.3.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "arr-flatten" => Edge { + "name": "arr-flatten", + "spec": "^1.1.0", + "to": "node_modules/arr-flatten", + "type": "prod", + }, + "array-unique" => Edge { + "name": "array-unique", + "spec": "^0.3.2", + "to": "node_modules/array-unique", + "type": "prod", + }, + "extend-shallow" => Edge { + "name": "extend-shallow", + "spec": "^2.0.1", + "to": "node_modules/extend-shallow", + "type": "prod", + }, + "fill-range" => Edge { + "name": "fill-range", + "spec": "^4.0.0", + "to": "node_modules/fill-range", + "type": "prod", + }, + "isobject" => Edge { + "name": "isobject", + "spec": "^3.0.1", + "to": "node_modules/isobject", + "type": "prod", + }, + "repeat-element" => Edge { + "name": "repeat-element", + "spec": "^1.1.2", + "to": "node_modules/repeat-element", + "type": "prod", + }, + "snapdragon" => Edge { + "name": "snapdragon", + "spec": "^0.8.1", + "to": "node_modules/snapdragon", + "type": "prod", + }, + "snapdragon-node" => Edge { + "name": "snapdragon-node", + "spec": "^2.0.1", + "to": "node_modules/snapdragon-node", + "type": "prod", + }, + "split-string" => Edge { + "name": "split-string", + "spec": "^3.0.2", + "to": "node_modules/split-string", + "type": "prod", + }, + "to-regex" => Edge { + "name": "to-regex", + "spec": "^3.0.1", + "to": "node_modules/to-regex", + "type": "prod", + }, + }, + "location": "node_modules/braces", + "name": "braces", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + }, + "brorand" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/elliptic", + "name": "brorand", + "spec": "^1.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/miller-rabin", + "name": "brorand", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "location": "node_modules/brorand", + "name": "brorand", + "peer": true, + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + }, + "browserify-aes" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/browserify-cipher", + "name": "browserify-aes", + "spec": "^1.0.4", + "type": "prod", + }, + Edge { + "from": "node_modules/parse-asn1", + "name": "browserify-aes", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "buffer-xor" => Edge { + "name": "buffer-xor", + "spec": "^1.0.3", + "to": "node_modules/buffer-xor", + "type": "prod", + }, + "cipher-base" => Edge { + "name": "cipher-base", + "spec": "^1.0.0", + "to": "node_modules/cipher-base", + "type": "prod", + }, + "create-hash" => Edge { + "name": "create-hash", + "spec": "^1.1.0", + "to": "node_modules/create-hash", + "type": "prod", + }, + "evp_bytestokey" => Edge { + "name": "evp_bytestokey", + "spec": "^1.0.3", + "to": "node_modules/evp_bytestokey", + "type": "prod", + }, + "inherits" => Edge { + "name": "inherits", + "spec": "^2.0.1", + "to": "node_modules/inherits", + "type": "prod", + }, + "safe-buffer" => Edge { + "name": "safe-buffer", + "spec": "^5.0.1", + "to": "node_modules/safe-buffer", + "type": "prod", + }, + }, + "location": "node_modules/browserify-aes", + "name": "browserify-aes", + "peer": true, + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + }, + "browserify-cipher" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/crypto-browserify", + "name": "browserify-cipher", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "browserify-aes" => Edge { + "name": "browserify-aes", + "spec": "^1.0.4", + "to": "node_modules/browserify-aes", + "type": "prod", + }, + "browserify-des" => Edge { + "name": "browserify-des", + "spec": "^1.0.0", + "to": "node_modules/browserify-des", + "type": "prod", + }, + "evp_bytestokey" => Edge { + "name": "evp_bytestokey", + "spec": "^1.0.0", + "to": "node_modules/evp_bytestokey", + "type": "prod", + }, + }, + "location": "node_modules/browserify-cipher", + "name": "browserify-cipher", + "peer": true, + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + }, + "browserify-des" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/browserify-cipher", + "name": "browserify-des", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "cipher-base" => Edge { + "name": "cipher-base", + "spec": "^1.0.1", + "to": "node_modules/cipher-base", + "type": "prod", + }, + "des.js" => Edge { + "name": "des.js", + "spec": "^1.0.0", + "to": "node_modules/des.js", + "type": "prod", + }, + "inherits" => Edge { + "name": "inherits", + "spec": "^2.0.1", + "to": "node_modules/inherits", + "type": "prod", + }, + "safe-buffer" => Edge { + "name": "safe-buffer", + "spec": "^5.1.2", + "to": "node_modules/safe-buffer", + "type": "prod", + }, + }, + "location": "node_modules/browserify-des", + "name": "browserify-des", + "peer": true, + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + }, + "browserify-rsa" => Node { + "children": Map { + "bn.js" => Node { + "edgesIn": Set { + Edge { + "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", + "peer": true, + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/browserify-sign", + "name": "browserify-rsa", + "spec": "^4.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/public-encrypt", + "name": "browserify-rsa", + "spec": "^4.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "bn.js" => Edge { + "name": "bn.js", + "spec": "^4.1.0", + "to": "node_modules/browserify-rsa/node_modules/bn.js", + "type": "prod", + }, + "randombytes" => Edge { + "name": "randombytes", + "spec": "^2.0.1", + "to": "node_modules/randombytes", + "type": "prod", + }, + }, + "location": "node_modules/browserify-rsa", + "name": "browserify-rsa", + "peer": true, + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + }, + "browserify-sign" => Node { + "children": Map { + "readable-stream" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/browserify-sign", + "name": "readable-stream", + "spec": "^3.6.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "inherits" => Edge { + "name": "inherits", + "spec": "^2.0.3", + "to": "node_modules/inherits", + "type": "prod", + }, + "string_decoder" => Edge { + "name": "string_decoder", + "spec": "^1.1.1", + "to": "node_modules/string_decoder", + "type": "prod", + }, + "util-deprecate" => Edge { + "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", + "peer": true, + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + }, + "safe-buffer" => Node { + "edgesIn": Set { + Edge { + "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", + "peer": true, + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/crypto-browserify", + "name": "browserify-sign", + "spec": "^4.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "bn.js" => Edge { + "name": "bn.js", + "spec": "^5.1.1", + "to": "node_modules/bn.js", + "type": "prod", + }, + "browserify-rsa" => Edge { + "name": "browserify-rsa", + "spec": "^4.0.1", + "to": "node_modules/browserify-rsa", + "type": "prod", + }, + "create-hash" => Edge { + "name": "create-hash", + "spec": "^1.2.0", + "to": "node_modules/create-hash", + "type": "prod", + }, + "create-hmac" => Edge { + "name": "create-hmac", + "spec": "^1.1.7", + "to": "node_modules/create-hmac", + "type": "prod", + }, + "elliptic" => Edge { + "name": "elliptic", + "spec": "^6.5.3", + "to": "node_modules/elliptic", + "type": "prod", + }, + "inherits" => Edge { + "name": "inherits", + "spec": "^2.0.4", + "to": "node_modules/inherits", + "type": "prod", + }, + "parse-asn1" => Edge { + "name": "parse-asn1", + "spec": "^5.1.5", + "to": "node_modules/parse-asn1", + "type": "prod", + }, + "readable-stream" => Edge { + "name": "readable-stream", + "spec": "^3.6.0", + "to": "node_modules/browserify-sign/node_modules/readable-stream", + "type": "prod", + }, + "safe-buffer" => Edge { + "name": "safe-buffer", + "spec": "^5.2.0", + "to": "node_modules/browserify-sign/node_modules/safe-buffer", + "type": "prod", + }, + }, + "location": "node_modules/browserify-sign", + "name": "browserify-sign", + "peer": true, + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", + }, + "browserify-zlib" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/node-libs-browser", + "name": "browserify-zlib", + "spec": "^0.2.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "pako" => Edge { + "name": "pako", + "spec": "~1.0.5", + "to": "node_modules/pako", + "type": "prod", + }, + }, + "location": "node_modules/browserify-zlib", + "name": "browserify-zlib", + "peer": true, + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + }, + "buffer" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/node-libs-browser", + "name": "buffer", + "spec": "^4.3.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "base64-js" => Edge { + "name": "base64-js", + "spec": "^1.0.2", + "to": "node_modules/base64-js", + "type": "prod", + }, + "ieee754" => Edge { + "name": "ieee754", + "spec": "^1.1.4", + "to": "node_modules/ieee754", + "type": "prod", + }, + "isarray" => Edge { + "name": "isarray", + "spec": "^1.0.0", + "to": "node_modules/isarray", + "type": "prod", + }, + }, + "location": "node_modules/buffer", + "name": "buffer", + "peer": true, + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + }, + "buffer-from" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/concat-stream", + "name": "buffer-from", + "spec": "^1.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/source-map-support", + "name": "buffer-from", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/buffer-from", + "name": "buffer-from", + "peer": true, + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + }, + "buffer-indexof" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/dns-txt", + "name": "buffer-indexof", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/buffer-indexof", + "name": "buffer-indexof", + "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", + }, + "buffer-xor" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/browserify-aes", + "name": "buffer-xor", + "spec": "^1.0.3", + "type": "prod", + }, + }, + "location": "node_modules/buffer-xor", + "name": "buffer-xor", + "peer": true, + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + }, + "builtin-status-codes" => Node { + "edgesIn": Set { + Edge { + "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", + "peer": true, + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + }, + "bytes" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/compression", + "name": "bytes", + "spec": "3.0.0", + "type": "prod", + }, + }, + "location": "node_modules/bytes", + "name": "bytes", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + }, + "cacache" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/terser-webpack-plugin", + "name": "cacache", + "spec": "^12.0.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "bluebird" => Edge { + "name": "bluebird", + "spec": "^3.5.5", + "to": "node_modules/bluebird", + "type": "prod", + }, + "chownr" => Edge { + "name": "chownr", + "spec": "^1.1.1", + "to": "node_modules/chownr", + "type": "prod", + }, + "figgy-pudding" => Edge { + "name": "figgy-pudding", + "spec": "^3.5.1", + "to": "node_modules/figgy-pudding", + "type": "prod", + }, + "glob" => Edge { + "name": "glob", + "spec": "^7.1.4", + "to": "node_modules/glob", + "type": "prod", + }, + "graceful-fs" => Edge { + "name": "graceful-fs", + "spec": "^4.1.15", + "to": "node_modules/graceful-fs", + "type": "prod", + }, + "infer-owner" => Edge { + "name": "infer-owner", + "spec": "^1.0.3", + "to": "node_modules/infer-owner", + "type": "prod", + }, + "lru-cache" => Edge { + "name": "lru-cache", + "spec": "^5.1.1", + "to": "node_modules/lru-cache", + "type": "prod", + }, + "mississippi" => Edge { + "name": "mississippi", + "spec": "^3.0.0", + "to": "node_modules/mississippi", + "type": "prod", + }, + "mkdirp" => Edge { + "name": "mkdirp", + "spec": "^0.5.1", + "to": "node_modules/mkdirp", + "type": "prod", + }, + "move-concurrently" => Edge { + "name": "move-concurrently", + "spec": "^1.0.1", + "to": "node_modules/move-concurrently", + "type": "prod", + }, + "promise-inflight" => Edge { + "name": "promise-inflight", + "spec": "^1.0.1", + "to": "node_modules/promise-inflight", + "type": "prod", + }, + "rimraf" => Edge { + "name": "rimraf", + "spec": "^2.6.3", + "to": "node_modules/rimraf", + "type": "prod", + }, + "ssri" => Edge { + "name": "ssri", + "spec": "^6.0.1", + "to": "node_modules/ssri", + "type": "prod", + }, + "unique-filename" => Edge { + "name": "unique-filename", + "spec": "^1.1.1", + "to": "node_modules/unique-filename", + "type": "prod", + }, + "y18n" => Edge { + "name": "y18n", + "spec": "^4.0.0", + "to": "node_modules/y18n", + "type": "prod", + }, + }, + "location": "node_modules/cacache", + "name": "cacache", + "peer": true, + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", + }, + "cache-base" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/base", + "name": "cache-base", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "collection-visit" => Edge { + "name": "collection-visit", + "spec": "^1.0.0", + "to": "node_modules/collection-visit", + "type": "prod", + }, + "component-emitter" => Edge { + "name": "component-emitter", + "spec": "^1.2.1", + "to": "node_modules/component-emitter", + "type": "prod", + }, + "get-value" => Edge { + "name": "get-value", + "spec": "^2.0.6", + "to": "node_modules/get-value", + "type": "prod", + }, + "has-value" => Edge { + "name": "has-value", + "spec": "^1.0.0", + "to": "node_modules/has-value", + "type": "prod", + }, + "isobject" => Edge { + "name": "isobject", + "spec": "^3.0.1", + "to": "node_modules/isobject", + "type": "prod", + }, + "set-value" => Edge { + "name": "set-value", + "spec": "^2.0.0", + "to": "node_modules/set-value", + "type": "prod", + }, + "to-object-path" => Edge { + "name": "to-object-path", + "spec": "^0.3.0", + "to": "node_modules/to-object-path", + "type": "prod", + }, + "union-value" => Edge { + "name": "union-value", + "spec": "^1.0.0", + "to": "node_modules/union-value", + "type": "prod", + }, + "unset-value" => Edge { + "name": "unset-value", + "spec": "^1.0.0", + "to": "node_modules/unset-value", + "type": "prod", + }, + }, + "location": "node_modules/cache-base", + "name": "cache-base", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + }, + "camelcase" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/yargs-parser", + "name": "camelcase", + "spec": "^5.0.0", + "type": "prod", + }, + }, + "location": "node_modules/camelcase", + "name": "camelcase", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + }, + "chokidar" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/watchpack-chokidar2", + "name": "chokidar", + "spec": "^2.1.8", + "type": "prod", + }, + Edge { + "from": "node_modules/webpack-dev-server", + "name": "chokidar", + "spec": "^2.1.8", + "type": "prod", + }, + }, + "edgesOut": Map { + "anymatch" => Edge { + "name": "anymatch", + "spec": "^2.0.0", + "to": "node_modules/anymatch", + "type": "prod", + }, + "async-each" => Edge { + "name": "async-each", + "spec": "^1.0.1", + "to": "node_modules/async-each", + "type": "prod", + }, + "braces" => Edge { + "name": "braces", + "spec": "^2.3.2", + "to": "node_modules/braces", + "type": "prod", + }, + "fsevents" => Edge { + "name": "fsevents", + "spec": "^1.2.7", + "to": "node_modules/fsevents", + "type": "optional", + }, + "glob-parent" => Edge { + "name": "glob-parent", + "spec": "^3.1.0", + "to": "node_modules/glob-parent", + "type": "prod", + }, + "inherits" => Edge { + "name": "inherits", + "spec": "^2.0.3", + "to": "node_modules/inherits", + "type": "prod", + }, + "is-binary-path" => Edge { + "name": "is-binary-path", + "spec": "^1.0.0", + "to": "node_modules/is-binary-path", + "type": "prod", + }, + "is-glob" => Edge { + "name": "is-glob", + "spec": "^4.0.0", + "to": "node_modules/is-glob", + "type": "prod", + }, + "normalize-path" => Edge { + "name": "normalize-path", + "spec": "^3.0.0", + "to": "node_modules/normalize-path", + "type": "prod", + }, + "path-is-absolute" => Edge { + "name": "path-is-absolute", + "spec": "^1.0.0", + "to": "node_modules/path-is-absolute", + "type": "prod", + }, + "readdirp" => Edge { + "name": "readdirp", + "spec": "^2.2.1", + "to": "node_modules/readdirp", + "type": "prod", + }, + "upath" => Edge { + "name": "upath", + "spec": "^1.1.1", + "to": "node_modules/upath", + "type": "prod", + }, + }, + "location": "node_modules/chokidar", + "name": "chokidar", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + }, + "chownr" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/cacache", + "name": "chownr", + "spec": "^1.1.1", + "type": "prod", + }, + }, + "location": "node_modules/chownr", + "name": "chownr", + "peer": true, + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + }, + "chrome-trace-event" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/webpack", + "name": "chrome-trace-event", + "spec": "^1.0.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "tslib" => Edge { + "name": "tslib", + "spec": "^1.9.0", + "to": "node_modules/tslib", + "type": "prod", + }, + }, + "location": "node_modules/chrome-trace-event", + "name": "chrome-trace-event", + "peer": true, + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", + }, + "cipher-base" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/browserify-aes", + "name": "cipher-base", + "spec": "^1.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/browserify-des", + "name": "cipher-base", + "spec": "^1.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/create-hash", + "name": "cipher-base", + "spec": "^1.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/create-hmac", + "name": "cipher-base", + "spec": "^1.0.3", + "type": "prod", + }, + }, + "edgesOut": Map { + "inherits" => Edge { + "name": "inherits", + "spec": "^2.0.1", + "to": "node_modules/inherits", + "type": "prod", + }, + "safe-buffer" => Edge { + "name": "safe-buffer", + "spec": "^5.0.1", + "to": "node_modules/safe-buffer", + "type": "prod", + }, + }, + "location": "node_modules/cipher-base", + "name": "cipher-base", + "peer": true, + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + }, + "class-utils" => Node { + "children": Map { + "define-property" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/class-utils", + "name": "define-property", + "spec": "^0.2.5", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-descriptor" => Edge { + "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", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + }, + "is-accessor-descriptor" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/class-utils/node_modules/is-descriptor", + "name": "is-accessor-descriptor", + "spec": "^0.1.6", + "type": "prod", + }, + }, + "edgesOut": Map { + "kind-of" => Edge { + "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", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + }, + "is-data-descriptor" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/class-utils/node_modules/is-descriptor", + "name": "is-data-descriptor", + "spec": "^0.1.4", + "type": "prod", + }, + }, + "edgesOut": Map { + "kind-of" => Edge { + "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", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + }, + "is-descriptor" => Node { + "children": Map { + "kind-of" => Node { + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/class-utils/node_modules/define-property", + "name": "is-descriptor", + "spec": "^0.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-accessor-descriptor" => Edge { + "name": "is-accessor-descriptor", + "spec": "^0.1.6", + "to": "node_modules/class-utils/node_modules/is-accessor-descriptor", + "type": "prod", + }, + "is-data-descriptor" => Edge { + "name": "is-data-descriptor", + "spec": "^0.1.4", + "to": "node_modules/class-utils/node_modules/is-data-descriptor", + "type": "prod", + }, + "kind-of" => Edge { + "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", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/base", + "name": "class-utils", + "spec": "^0.3.5", + "type": "prod", + }, + }, + "edgesOut": Map { + "arr-union" => Edge { + "name": "arr-union", + "spec": "^3.1.0", + "to": "node_modules/arr-union", + "type": "prod", + }, + "define-property" => Edge { + "name": "define-property", + "spec": "^0.2.5", + "to": "node_modules/class-utils/node_modules/define-property", + "type": "prod", + }, + "isobject" => Edge { + "name": "isobject", + "spec": "^3.0.0", + "to": "node_modules/isobject", + "type": "prod", + }, + "static-extend" => Edge { + "name": "static-extend", + "spec": "^0.1.1", + "to": "node_modules/static-extend", + "type": "prod", + }, + }, + "location": "node_modules/class-utils", + "name": "class-utils", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + }, + "cliui" => Node { + "children": Map { + "ansi-regex" => Node { + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + }, + "strip-ansi" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/cliui", + "name": "strip-ansi", + "spec": "^5.2.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "ansi-regex" => Edge { + "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", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/yargs", + "name": "cliui", + "spec": "^5.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "string-width" => Edge { + "name": "string-width", + "spec": "^3.1.0", + "to": "node_modules/string-width", + "type": "prod", + }, + "strip-ansi" => Edge { + "name": "strip-ansi", + "spec": "^5.2.0", + "to": "node_modules/cliui/node_modules/strip-ansi", + "type": "prod", + }, + "wrap-ansi" => Edge { + "name": "wrap-ansi", + "spec": "^5.1.0", + "to": "node_modules/wrap-ansi", + "type": "prod", + }, + }, + "location": "node_modules/cliui", + "name": "cliui", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + }, + "collection-visit" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/cache-base", + "name": "collection-visit", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "map-visit" => Edge { + "name": "map-visit", + "spec": "^1.0.0", + "to": "node_modules/map-visit", + "type": "prod", + }, + "object-visit" => Edge { + "name": "object-visit", + "spec": "^1.0.0", + "to": "node_modules/object-visit", + "type": "prod", + }, + }, + "location": "node_modules/collection-visit", + "name": "collection-visit", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + }, + "color-convert" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/ansi-styles", + "name": "color-convert", + "spec": "^1.9.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "color-name" => Edge { + "name": "color-name", + "spec": "1.1.3", + "to": "node_modules/color-name", + "type": "prod", + }, + }, + "location": "node_modules/color-convert", + "name": "color-convert", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + }, + "color-name" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/color-convert", + "name": "color-name", + "spec": "1.1.3", + "type": "prod", + }, + }, + "location": "node_modules/color-name", + "name": "color-name", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + }, + "commander" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/terser", + "name": "commander", + "spec": "^2.20.0", + "type": "prod", + }, + }, + "location": "node_modules/commander", + "name": "commander", + "peer": true, + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + }, + "commondir" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/find-cache-dir", + "name": "commondir", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "location": "node_modules/commondir", + "name": "commondir", + "peer": true, + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + }, + "component-emitter" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/base", + "name": "component-emitter", + "spec": "^1.2.1", + "type": "prod", + }, + Edge { + "from": "node_modules/cache-base", + "name": "component-emitter", + "spec": "^1.2.1", + "type": "prod", + }, + }, + "location": "node_modules/component-emitter", + "name": "component-emitter", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + }, + "compressible" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/compression", + "name": "compressible", + "spec": "~2.0.16", + "type": "prod", + }, + }, + "edgesOut": Map { + "mime-db" => Edge { + "name": "mime-db", + "spec": ">= 1.43.0 < 2", + "to": "node_modules/mime-db", + "type": "prod", + }, + }, + "location": "node_modules/compressible", + "name": "compressible", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + }, + "compression" => Node { + "children": Map { + "debug" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/compression", + "name": "debug", + "spec": "2.6.9", + "type": "prod", + }, + }, + "edgesOut": Map { + "ms" => Edge { + "name": "ms", + "spec": "2.0.0", + "to": "node_modules/compression/node_modules/ms", + "type": "prod", + }, + }, + "location": "node_modules/compression/node_modules/debug", + "name": "debug", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + }, + "ms" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/compression/node_modules/debug", + "name": "ms", + "spec": "2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/compression/node_modules/ms", + "name": "ms", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/webpack-dev-server", + "name": "compression", + "spec": "^1.7.4", + "type": "prod", + }, + }, + "edgesOut": Map { + "accepts" => Edge { + "name": "accepts", + "spec": "~1.3.5", + "to": "node_modules/accepts", + "type": "prod", + }, + "bytes" => Edge { + "name": "bytes", + "spec": "3.0.0", + "to": "node_modules/bytes", + "type": "prod", + }, + "compressible" => Edge { + "name": "compressible", + "spec": "~2.0.16", + "to": "node_modules/compressible", + "type": "prod", + }, + "debug" => Edge { + "name": "debug", + "spec": "2.6.9", + "to": "node_modules/compression/node_modules/debug", + "type": "prod", + }, + "on-headers" => Edge { + "name": "on-headers", + "spec": "~1.0.2", + "to": "node_modules/on-headers", + "type": "prod", + }, + "safe-buffer" => Edge { + "name": "safe-buffer", + "spec": "5.1.2", + "to": "node_modules/safe-buffer", + "type": "prod", + }, + "vary" => Edge { + "name": "vary", + "spec": "~1.1.2", + "to": "node_modules/vary", + "type": "prod", + }, + }, + "location": "node_modules/compression", + "name": "compression", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + }, + "concat-map" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/brace-expansion", + "name": "concat-map", + "spec": "0.0.1", + "type": "prod", + }, + }, + "location": "node_modules/concat-map", + "name": "concat-map", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + }, + "concat-stream" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/mississippi", + "name": "concat-stream", + "spec": "^1.5.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "buffer-from" => Edge { + "name": "buffer-from", + "spec": "^1.0.0", + "to": "node_modules/buffer-from", + "type": "prod", + }, + "inherits" => Edge { + "name": "inherits", + "spec": "^2.0.3", + "to": "node_modules/inherits", + "type": "prod", + }, + "readable-stream" => Edge { + "name": "readable-stream", + "spec": "^2.2.2", + "to": "node_modules/readable-stream", + "type": "prod", + }, + "typedarray" => Edge { + "name": "typedarray", + "spec": "^0.0.6", + "to": "node_modules/typedarray", + "type": "prod", + }, + }, + "location": "node_modules/concat-stream", + "name": "concat-stream", + "peer": true, + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + }, + "connect-history-api-fallback" => Node { + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", + }, + "console-browserify" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/node-libs-browser", + "name": "console-browserify", + "spec": "^1.1.0", + "type": "prod", + }, + }, + "location": "node_modules/console-browserify", + "name": "console-browserify", + "peer": true, + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + }, + "constants-browserify" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/node-libs-browser", + "name": "constants-browserify", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/constants-browserify", + "name": "constants-browserify", + "peer": true, + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + }, + "content-disposition" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/express", + "name": "content-disposition", + "spec": "0.5.3", + "type": "prod", + }, + }, + "edgesOut": Map { + "safe-buffer" => Edge { + "name": "safe-buffer", + "spec": "5.1.2", + "to": "node_modules/safe-buffer", + "type": "prod", + }, + }, + "location": "node_modules/content-disposition", + "name": "content-disposition", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + }, + "content-type" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/body-parser", + "name": "content-type", + "spec": "~1.0.4", + "type": "prod", + }, + Edge { + "from": "node_modules/express", + "name": "content-type", + "spec": "~1.0.4", + "type": "prod", + }, + }, + "location": "node_modules/content-type", + "name": "content-type", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + }, + "cookie" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/express", + "name": "cookie", + "spec": "0.4.0", + "type": "prod", + }, + }, + "location": "node_modules/cookie", + "name": "cookie", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + }, + "cookie-signature" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/express", + "name": "cookie-signature", + "spec": "1.0.6", + "type": "prod", + }, + }, + "location": "node_modules/cookie-signature", + "name": "cookie-signature", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + }, + "copy-concurrently" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/move-concurrently", + "name": "copy-concurrently", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "aproba" => Edge { + "name": "aproba", + "spec": "^1.1.1", + "to": "node_modules/aproba", + "type": "prod", + }, + "fs-write-stream-atomic" => Edge { + "name": "fs-write-stream-atomic", + "spec": "^1.0.8", + "to": "node_modules/fs-write-stream-atomic", + "type": "prod", + }, + "iferr" => Edge { + "name": "iferr", + "spec": "^0.1.5", + "to": "node_modules/iferr", + "type": "prod", + }, + "mkdirp" => Edge { + "name": "mkdirp", + "spec": "^0.5.1", + "to": "node_modules/mkdirp", + "type": "prod", + }, + "rimraf" => Edge { + "name": "rimraf", + "spec": "^2.5.4", + "to": "node_modules/rimraf", + "type": "prod", + }, + "run-queue" => Edge { + "name": "run-queue", + "spec": "^1.0.0", + "to": "node_modules/run-queue", + "type": "prod", + }, + }, + "location": "node_modules/copy-concurrently", + "name": "copy-concurrently", + "peer": true, + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + }, + "copy-descriptor" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/object-copy", + "name": "copy-descriptor", + "spec": "^0.1.0", + "type": "prod", + }, + }, + "location": "node_modules/copy-descriptor", + "name": "copy-descriptor", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + }, + "core-util-is" => Node { + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + }, + "create-ecdh" => Node { + "children": Map { + "bn.js" => Node { + "edgesIn": Set { + Edge { + "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", + "peer": true, + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/crypto-browserify", + "name": "create-ecdh", + "spec": "^4.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "bn.js" => Edge { + "name": "bn.js", + "spec": "^4.1.0", + "to": "node_modules/create-ecdh/node_modules/bn.js", + "type": "prod", + }, + "elliptic" => Edge { + "name": "elliptic", + "spec": "^6.5.3", + "to": "node_modules/elliptic", + "type": "prod", + }, + }, + "location": "node_modules/create-ecdh", + "name": "create-ecdh", + "peer": true, + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + }, + "create-hash" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/browserify-aes", + "name": "create-hash", + "spec": "^1.1.0", + "type": "prod", + }, + Edge { + "from": "node_modules/browserify-sign", + "name": "create-hash", + "spec": "^1.2.0", + "type": "prod", + }, + Edge { + "from": "node_modules/create-hmac", + "name": "create-hash", + "spec": "^1.1.0", + "type": "prod", + }, + Edge { + "from": "node_modules/crypto-browserify", + "name": "create-hash", + "spec": "^1.1.0", + "type": "prod", + }, + Edge { + "from": "node_modules/pbkdf2", + "name": "create-hash", + "spec": "^1.1.2", + "type": "prod", + }, + Edge { + "from": "node_modules/public-encrypt", + "name": "create-hash", + "spec": "^1.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "cipher-base" => Edge { + "name": "cipher-base", + "spec": "^1.0.1", + "to": "node_modules/cipher-base", + "type": "prod", + }, + "inherits" => Edge { + "name": "inherits", + "spec": "^2.0.1", + "to": "node_modules/inherits", + "type": "prod", + }, + "md5.js" => Edge { + "name": "md5.js", + "spec": "^1.3.4", + "to": "node_modules/md5.js", + "type": "prod", + }, + "ripemd160" => Edge { + "name": "ripemd160", + "spec": "^2.0.1", + "to": "node_modules/ripemd160", + "type": "prod", + }, + "sha.js" => Edge { + "name": "sha.js", + "spec": "^2.4.0", + "to": "node_modules/sha.js", + "type": "prod", + }, + }, + "location": "node_modules/create-hash", + "name": "create-hash", + "peer": true, + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + }, + "create-hmac" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/browserify-sign", + "name": "create-hmac", + "spec": "^1.1.7", + "type": "prod", + }, + Edge { + "from": "node_modules/crypto-browserify", + "name": "create-hmac", + "spec": "^1.1.0", + "type": "prod", + }, + Edge { + "from": "node_modules/pbkdf2", + "name": "create-hmac", + "spec": "^1.1.4", + "type": "prod", + }, + }, + "edgesOut": Map { + "cipher-base" => Edge { + "name": "cipher-base", + "spec": "^1.0.3", + "to": "node_modules/cipher-base", + "type": "prod", + }, + "create-hash" => Edge { + "name": "create-hash", + "spec": "^1.1.0", + "to": "node_modules/create-hash", + "type": "prod", + }, + "inherits" => Edge { + "name": "inherits", + "spec": "^2.0.1", + "to": "node_modules/inherits", + "type": "prod", + }, + "ripemd160" => Edge { + "name": "ripemd160", + "spec": "^2.0.0", + "to": "node_modules/ripemd160", + "type": "prod", + }, + "safe-buffer" => Edge { + "name": "safe-buffer", + "spec": "^5.0.1", + "to": "node_modules/safe-buffer", + "type": "prod", + }, + "sha.js" => Edge { + "name": "sha.js", + "spec": "^2.4.8", + "to": "node_modules/sha.js", + "type": "prod", + }, + }, + "location": "node_modules/create-hmac", + "name": "create-hmac", + "peer": true, + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + }, + "cross-spawn" => Node { + "children": Map { + "semver" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/cross-spawn", + "name": "semver", + "spec": "^5.5.0", + "type": "prod", + }, + }, + "location": "node_modules/cross-spawn/node_modules/semver", + "name": "semver", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/execa", + "name": "cross-spawn", + "spec": "^6.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "nice-try" => Edge { + "name": "nice-try", + "spec": "^1.0.4", + "to": "node_modules/nice-try", + "type": "prod", + }, + "path-key" => Edge { + "name": "path-key", + "spec": "^2.0.1", + "to": "node_modules/path-key", + "type": "prod", + }, + "semver" => Edge { + "name": "semver", + "spec": "^5.5.0", + "to": "node_modules/cross-spawn/node_modules/semver", + "type": "prod", + }, + "shebang-command" => Edge { + "name": "shebang-command", + "spec": "^1.2.0", + "to": "node_modules/shebang-command", + "type": "prod", + }, + "which" => Edge { + "name": "which", + "spec": "^1.2.9", + "to": "node_modules/which", + "type": "prod", + }, + }, + "location": "node_modules/cross-spawn", + "name": "cross-spawn", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + }, + "crypto-browserify" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/node-libs-browser", + "name": "crypto-browserify", + "spec": "^3.11.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "browserify-cipher" => Edge { + "name": "browserify-cipher", + "spec": "^1.0.0", + "to": "node_modules/browserify-cipher", + "type": "prod", + }, + "browserify-sign" => Edge { + "name": "browserify-sign", + "spec": "^4.0.0", + "to": "node_modules/browserify-sign", + "type": "prod", + }, + "create-ecdh" => Edge { + "name": "create-ecdh", + "spec": "^4.0.0", + "to": "node_modules/create-ecdh", + "type": "prod", + }, + "create-hash" => Edge { + "name": "create-hash", + "spec": "^1.1.0", + "to": "node_modules/create-hash", + "type": "prod", + }, + "create-hmac" => Edge { + "name": "create-hmac", + "spec": "^1.1.0", + "to": "node_modules/create-hmac", + "type": "prod", + }, + "diffie-hellman" => Edge { + "name": "diffie-hellman", + "spec": "^5.0.0", + "to": "node_modules/diffie-hellman", + "type": "prod", + }, + "inherits" => Edge { + "name": "inherits", + "spec": "^2.0.1", + "to": "node_modules/inherits", + "type": "prod", + }, + "pbkdf2" => Edge { + "name": "pbkdf2", + "spec": "^3.0.3", + "to": "node_modules/pbkdf2", + "type": "prod", + }, + "public-encrypt" => Edge { + "name": "public-encrypt", + "spec": "^4.0.0", + "to": "node_modules/public-encrypt", + "type": "prod", + }, + "randombytes" => Edge { + "name": "randombytes", + "spec": "^2.0.0", + "to": "node_modules/randombytes", + "type": "prod", + }, + "randomfill" => Edge { + "name": "randomfill", + "spec": "^1.0.3", + "to": "node_modules/randomfill", + "type": "prod", + }, + }, + "location": "node_modules/crypto-browserify", + "name": "crypto-browserify", + "peer": true, + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + }, + "cyclist" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/parallel-transform", + "name": "cyclist", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "location": "node_modules/cyclist", + "name": "cyclist", + "peer": true, + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", + }, + "debug" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/spdy", + "name": "debug", + "spec": "^4.1.0", + "type": "prod", + }, + Edge { + "from": "node_modules/spdy-transport", + "name": "debug", + "spec": "^4.1.0", + "type": "prod", + }, + Edge { + "from": "node_modules/webpack-dev-server", + "name": "debug", + "spec": "^4.1.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "ms" => Edge { + "name": "ms", + "spec": "2.1.2", + "to": "node_modules/ms", + "type": "prod", + }, + }, + "location": "node_modules/debug", + "name": "debug", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", + }, + "decamelize" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/yargs-parser", + "name": "decamelize", + "spec": "^1.2.0", + "type": "prod", + }, + }, + "location": "node_modules/decamelize", + "name": "decamelize", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + }, + "decode-uri-component" => Node { + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + }, + "deep-equal" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/bonjour", + "name": "deep-equal", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-arguments" => Edge { + "name": "is-arguments", + "spec": "^1.0.4", + "to": "node_modules/is-arguments", + "type": "prod", + }, + "is-date-object" => Edge { + "name": "is-date-object", + "spec": "^1.0.1", + "to": "node_modules/is-date-object", + "type": "prod", + }, + "is-regex" => Edge { + "name": "is-regex", + "spec": "^1.0.4", + "to": "node_modules/is-regex", + "type": "prod", + }, + "object-is" => Edge { + "name": "object-is", + "spec": "^1.0.1", + "to": "node_modules/object-is", + "type": "prod", + }, + "object-keys" => Edge { + "name": "object-keys", + "spec": "^1.1.1", + "to": "node_modules/object-keys", + "type": "prod", + }, + "regexp.prototype.flags" => Edge { + "name": "regexp.prototype.flags", + "spec": "^1.2.0", + "to": "node_modules/regexp.prototype.flags", + "type": "prod", + }, + }, + "location": "node_modules/deep-equal", + "name": "deep-equal", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", + }, + "default-gateway" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/internal-ip", + "name": "default-gateway", + "spec": "^4.2.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "execa" => Edge { + "name": "execa", + "spec": "^1.0.0", + "to": "node_modules/execa", + "type": "prod", + }, + "ip-regex" => Edge { + "name": "ip-regex", + "spec": "^2.1.0", + "to": "node_modules/ip-regex", + "type": "prod", + }, + }, + "location": "node_modules/default-gateway", + "name": "default-gateway", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", + }, + "define-properties" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/object-is", + "name": "define-properties", + "spec": "^1.1.3", + "type": "prod", + }, + Edge { + "from": "node_modules/object.assign", + "name": "define-properties", + "spec": "^1.1.3", + "type": "prod", + }, + Edge { + "from": "node_modules/regexp.prototype.flags", + "name": "define-properties", + "spec": "^1.1.3", + "type": "prod", + }, + Edge { + "from": "node_modules/string.prototype.trimend", + "name": "define-properties", + "spec": "^1.1.3", + "type": "prod", + }, + Edge { + "from": "node_modules/string.prototype.trimstart", + "name": "define-properties", + "spec": "^1.1.3", + "type": "prod", + }, + }, + "edgesOut": Map { + "object-keys" => Edge { + "name": "object-keys", + "spec": "^1.0.12", + "to": "node_modules/object-keys", + "type": "prod", + }, + }, + "location": "node_modules/define-properties", + "name": "define-properties", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + }, + "define-property" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/micromatch", + "name": "define-property", + "spec": "^2.0.2", + "type": "prod", + }, + Edge { + "from": "node_modules/nanomatch", + "name": "define-property", + "spec": "^2.0.2", + "type": "prod", + }, + Edge { + "from": "node_modules/to-regex", + "name": "define-property", + "spec": "^2.0.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-descriptor" => Edge { + "name": "is-descriptor", + "spec": "^1.0.2", + "to": "node_modules/is-descriptor", + "type": "prod", + }, + "isobject" => Edge { + "name": "isobject", + "spec": "^3.0.1", + "to": "node_modules/isobject", + "type": "prod", + }, + }, + "location": "node_modules/define-property", + "name": "define-property", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + }, + "del" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/webpack-dev-server", + "name": "del", + "spec": "^4.1.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "@types/glob" => Edge { + "name": "@types/glob", + "spec": "^7.1.1", + "to": "node_modules/@types/glob", + "type": "prod", + }, + "globby" => Edge { + "name": "globby", + "spec": "^6.1.0", + "to": "node_modules/globby", + "type": "prod", + }, + "is-path-cwd" => Edge { + "name": "is-path-cwd", + "spec": "^2.0.0", + "to": "node_modules/is-path-cwd", + "type": "prod", + }, + "is-path-in-cwd" => Edge { + "name": "is-path-in-cwd", + "spec": "^2.0.0", + "to": "node_modules/is-path-in-cwd", + "type": "prod", + }, + "p-map" => Edge { + "name": "p-map", + "spec": "^2.0.0", + "to": "node_modules/p-map", + "type": "prod", + }, + "pify" => Edge { + "name": "pify", + "spec": "^4.0.1", + "to": "node_modules/pify", + "type": "prod", + }, + "rimraf" => Edge { + "name": "rimraf", + "spec": "^2.6.3", + "to": "node_modules/rimraf", + "type": "prod", + }, + }, + "location": "node_modules/del", + "name": "del", + "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", + }, + "depd" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/body-parser", + "name": "depd", + "spec": "~1.1.2", + "type": "prod", + }, + Edge { + "from": "node_modules/express", + "name": "depd", + "spec": "~1.1.2", + "type": "prod", + }, + Edge { + "from": "node_modules/http-errors", + "name": "depd", + "spec": "~1.1.2", + "type": "prod", + }, + Edge { + "from": "node_modules/send", + "name": "depd", + "spec": "~1.1.2", + "type": "prod", + }, + Edge { + "from": "node_modules/serve-index/node_modules/http-errors", + "name": "depd", + "spec": "~1.1.2", + "type": "prod", + }, + }, + "location": "node_modules/depd", + "name": "depd", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + }, + "des.js" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/browserify-des", + "name": "des.js", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "inherits" => Edge { + "name": "inherits", + "spec": "^2.0.1", + "to": "node_modules/inherits", + "type": "prod", + }, + "minimalistic-assert" => Edge { + "name": "minimalistic-assert", + "spec": "^1.0.0", + "to": "node_modules/minimalistic-assert", + "type": "prod", + }, + }, + "location": "node_modules/des.js", + "name": "des.js", + "peer": true, + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", + }, + "destroy" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/send", + "name": "destroy", + "spec": "~1.0.4", + "type": "prod", + }, + }, + "location": "node_modules/destroy", + "name": "destroy", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + }, + "detect-node" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/spdy-transport", + "name": "detect-node", + "spec": "^2.0.4", + "type": "prod", + }, + }, + "location": "node_modules/detect-node", + "name": "detect-node", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", + }, + "diffie-hellman" => Node { + "children": Map { + "bn.js" => Node { + "edgesIn": Set { + Edge { + "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", + "peer": true, + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/crypto-browserify", + "name": "diffie-hellman", + "spec": "^5.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "bn.js" => Edge { + "name": "bn.js", + "spec": "^4.1.0", + "to": "node_modules/diffie-hellman/node_modules/bn.js", + "type": "prod", + }, + "miller-rabin" => Edge { + "name": "miller-rabin", + "spec": "^4.0.0", + "to": "node_modules/miller-rabin", + "type": "prod", + }, + "randombytes" => Edge { + "name": "randombytes", + "spec": "^2.0.0", + "to": "node_modules/randombytes", + "type": "prod", + }, + }, + "location": "node_modules/diffie-hellman", + "name": "diffie-hellman", + "peer": true, + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + }, + "dns-equal" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/bonjour", + "name": "dns-equal", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/dns-equal", + "name": "dns-equal", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + }, + "dns-packet" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/multicast-dns", + "name": "dns-packet", + "spec": "^1.3.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "ip" => Edge { + "name": "ip", + "spec": "^1.1.0", + "to": "node_modules/ip", + "type": "prod", + }, + "safe-buffer" => Edge { + "name": "safe-buffer", + "spec": "^5.0.1", + "to": "node_modules/safe-buffer", + "type": "prod", + }, + }, + "location": "node_modules/dns-packet", + "name": "dns-packet", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", + }, + "dns-txt" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/bonjour", + "name": "dns-txt", + "spec": "^2.0.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "buffer-indexof" => Edge { + "name": "buffer-indexof", + "spec": "^1.0.0", + "to": "node_modules/buffer-indexof", + "type": "prod", + }, + }, + "location": "node_modules/dns-txt", + "name": "dns-txt", + "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", + }, + "domain-browser" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/node-libs-browser", + "name": "domain-browser", + "spec": "^1.1.1", + "type": "prod", + }, + }, + "location": "node_modules/domain-browser", + "name": "domain-browser", + "peer": true, + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + }, + "duplexify" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/mississippi", + "name": "duplexify", + "spec": "^3.4.2", + "type": "prod", + }, + Edge { + "from": "node_modules/pumpify", + "name": "duplexify", + "spec": "^3.6.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "end-of-stream" => Edge { + "name": "end-of-stream", + "spec": "^1.0.0", + "to": "node_modules/end-of-stream", + "type": "prod", + }, + "inherits" => Edge { + "name": "inherits", + "spec": "^2.0.1", + "to": "node_modules/inherits", + "type": "prod", + }, + "readable-stream" => Edge { + "name": "readable-stream", + "spec": "^2.0.0", + "to": "node_modules/readable-stream", + "type": "prod", + }, + "stream-shift" => Edge { + "name": "stream-shift", + "spec": "^1.0.0", + "to": "node_modules/stream-shift", + "type": "prod", + }, + }, + "location": "node_modules/duplexify", + "name": "duplexify", + "peer": true, + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + }, + "ee-first" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/on-finished", + "name": "ee-first", + "spec": "1.1.1", + "type": "prod", + }, + }, + "location": "node_modules/ee-first", + "name": "ee-first", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + }, + "elliptic" => Node { + "children": Map { + "bn.js" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/elliptic", + "name": "bn.js", + "spec": "^4.4.0", + "type": "prod", + }, + }, + "location": "node_modules/elliptic/node_modules/bn.js", + "name": "bn.js", + "peer": true, + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/browserify-sign", + "name": "elliptic", + "spec": "^6.5.3", + "type": "prod", + }, + Edge { + "from": "node_modules/create-ecdh", + "name": "elliptic", + "spec": "^6.5.3", + "type": "prod", + }, + }, + "edgesOut": Map { + "bn.js" => Edge { + "name": "bn.js", + "spec": "^4.4.0", + "to": "node_modules/elliptic/node_modules/bn.js", + "type": "prod", + }, + "brorand" => Edge { + "name": "brorand", + "spec": "^1.0.1", + "to": "node_modules/brorand", + "type": "prod", + }, + "hash.js" => Edge { + "name": "hash.js", + "spec": "^1.0.0", + "to": "node_modules/hash.js", + "type": "prod", + }, + "hmac-drbg" => Edge { + "name": "hmac-drbg", + "spec": "^1.0.0", + "to": "node_modules/hmac-drbg", + "type": "prod", + }, + "inherits" => Edge { + "name": "inherits", + "spec": "^2.0.1", + "to": "node_modules/inherits", + "type": "prod", + }, + "minimalistic-assert" => Edge { + "name": "minimalistic-assert", + "spec": "^1.0.0", + "to": "node_modules/minimalistic-assert", + "type": "prod", + }, + "minimalistic-crypto-utils" => Edge { + "name": "minimalistic-crypto-utils", + "spec": "^1.0.0", + "to": "node_modules/minimalistic-crypto-utils", + "type": "prod", + }, + }, + "location": "node_modules/elliptic", + "name": "elliptic", + "peer": true, + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz", + }, + "emoji-regex" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/string-width", + "name": "emoji-regex", + "spec": "^7.0.1", + "type": "prod", + }, + }, + "location": "node_modules/emoji-regex", + "name": "emoji-regex", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + }, + "emojis-list" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/loader-utils", + "name": "emojis-list", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "location": "node_modules/emojis-list", + "name": "emojis-list", + "peer": true, + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + }, + "encodeurl" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/express", + "name": "encodeurl", + "spec": "~1.0.2", + "type": "prod", + }, + Edge { + "from": "node_modules/finalhandler", + "name": "encodeurl", + "spec": "~1.0.2", + "type": "prod", + }, + Edge { + "from": "node_modules/send", + "name": "encodeurl", + "spec": "~1.0.2", + "type": "prod", + }, + Edge { + "from": "node_modules/serve-static", + "name": "encodeurl", + "spec": "~1.0.2", + "type": "prod", + }, + }, + "location": "node_modules/encodeurl", + "name": "encodeurl", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + }, + "end-of-stream" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/duplexify", + "name": "end-of-stream", + "spec": "^1.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/mississippi", + "name": "end-of-stream", + "spec": "^1.1.0", + "type": "prod", + }, + Edge { + "from": "node_modules/pump", + "name": "end-of-stream", + "spec": "^1.1.0", + "type": "prod", + }, + Edge { + "from": "node_modules/pumpify/node_modules/pump", + "name": "end-of-stream", + "spec": "^1.1.0", + "type": "prod", + }, + Edge { + "from": "node_modules/stream-each", + "name": "end-of-stream", + "spec": "^1.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "once" => Edge { + "name": "once", + "spec": "^1.4.0", + "to": "node_modules/once", + "type": "prod", + }, + }, + "location": "node_modules/end-of-stream", + "name": "end-of-stream", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + }, + "enhanced-resolve" => Node { + "children": Map { + "memory-fs" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/enhanced-resolve", + "name": "memory-fs", + "spec": "^0.5.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "errno" => Edge { + "name": "errno", + "spec": "^0.1.3", + "to": "node_modules/errno", + "type": "prod", + }, + "readable-stream" => Edge { + "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", + "peer": true, + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/webpack", + "name": "enhanced-resolve", + "spec": "^4.3.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "graceful-fs" => Edge { + "name": "graceful-fs", + "spec": "^4.1.2", + "to": "node_modules/graceful-fs", + "type": "prod", + }, + "memory-fs" => Edge { + "name": "memory-fs", + "spec": "^0.5.0", + "to": "node_modules/enhanced-resolve/node_modules/memory-fs", + "type": "prod", + }, + "tapable" => Edge { + "name": "tapable", + "spec": "^1.0.0", + "to": "node_modules/tapable", + "type": "prod", + }, + }, + "location": "node_modules/enhanced-resolve", + "name": "enhanced-resolve", + "peer": true, + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz", + }, + "errno" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/enhanced-resolve/node_modules/memory-fs", + "name": "errno", + "spec": "^0.1.3", + "type": "prod", + }, + Edge { + "from": "node_modules/memory-fs", + "name": "errno", + "spec": "^0.1.3", + "type": "prod", + }, + Edge { + "from": "node_modules/worker-farm", + "name": "errno", + "spec": "~0.1.7", + "type": "prod", + }, + }, + "edgesOut": Map { + "prr" => Edge { + "name": "prr", + "spec": "~1.0.1", + "to": "node_modules/prr", + "type": "prod", + }, + }, + "location": "node_modules/errno", + "name": "errno", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", + }, + "error-stack-parser" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/@pmmmwh/react-refresh-webpack-plugin", + "name": "error-stack-parser", + "spec": "^2.0.6", + "type": "prod", + }, + }, + "edgesOut": Map { + "stackframe" => Edge { + "name": "stackframe", + "spec": "^1.1.1", + "to": "node_modules/stackframe", + "type": "prod", + }, + }, + "location": "node_modules/error-stack-parser", + "name": "error-stack-parser", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.6.tgz", + }, + "es-abstract" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/object-is", + "name": "es-abstract", + "spec": "^1.18.0-next.1", + "type": "prod", + }, + Edge { + "from": "node_modules/object.assign", + "name": "es-abstract", + "spec": "^1.18.0-next.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "es-to-primitive" => Edge { + "name": "es-to-primitive", + "spec": "^1.2.1", + "to": "node_modules/es-to-primitive", + "type": "prod", + }, + "function-bind" => Edge { + "name": "function-bind", + "spec": "^1.1.1", + "to": "node_modules/function-bind", + "type": "prod", + }, + "has" => Edge { + "name": "has", + "spec": "^1.0.3", + "to": "node_modules/has", + "type": "prod", + }, + "has-symbols" => Edge { + "name": "has-symbols", + "spec": "^1.0.1", + "to": "node_modules/has-symbols", + "type": "prod", + }, + "is-callable" => Edge { + "name": "is-callable", + "spec": "^1.2.2", + "to": "node_modules/is-callable", + "type": "prod", + }, + "is-negative-zero" => Edge { + "name": "is-negative-zero", + "spec": "^2.0.0", + "to": "node_modules/is-negative-zero", + "type": "prod", + }, + "is-regex" => Edge { + "name": "is-regex", + "spec": "^1.1.1", + "to": "node_modules/is-regex", + "type": "prod", + }, + "object-inspect" => Edge { + "name": "object-inspect", + "spec": "^1.8.0", + "to": "node_modules/object-inspect", + "type": "prod", + }, + "object-keys" => Edge { + "name": "object-keys", + "spec": "^1.1.1", + "to": "node_modules/object-keys", + "type": "prod", + }, + "object.assign" => Edge { + "name": "object.assign", + "spec": "^4.1.1", + "to": "node_modules/object.assign", + "type": "prod", + }, + "string.prototype.trimend" => Edge { + "name": "string.prototype.trimend", + "spec": "^1.0.1", + "to": "node_modules/string.prototype.trimend", + "type": "prod", + }, + "string.prototype.trimstart" => Edge { + "name": "string.prototype.trimstart", + "spec": "^1.0.1", + "to": "node_modules/string.prototype.trimstart", + "type": "prod", + }, + }, + "location": "node_modules/es-abstract", + "name": "es-abstract", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", + }, + "es-to-primitive" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/es-abstract", + "name": "es-to-primitive", + "spec": "^1.2.1", + "type": "prod", + }, + Edge { + "from": "node_modules/regexp.prototype.flags/node_modules/es-abstract", + "name": "es-to-primitive", + "spec": "^1.2.1", + "type": "prod", + }, + Edge { + "from": "node_modules/string.prototype.trimend/node_modules/es-abstract", + "name": "es-to-primitive", + "spec": "^1.2.1", + "type": "prod", + }, + Edge { + "from": "node_modules/string.prototype.trimstart/node_modules/es-abstract", + "name": "es-to-primitive", + "spec": "^1.2.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-callable" => Edge { + "name": "is-callable", + "spec": "^1.1.4", + "to": "node_modules/is-callable", + "type": "prod", + }, + "is-date-object" => Edge { + "name": "is-date-object", + "spec": "^1.0.1", + "to": "node_modules/is-date-object", + "type": "prod", + }, + "is-symbol" => Edge { + "name": "is-symbol", + "spec": "^1.0.2", + "to": "node_modules/is-symbol", + "type": "prod", + }, + }, + "location": "node_modules/es-to-primitive", + "name": "es-to-primitive", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + }, + "escape-html" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/express", + "name": "escape-html", + "spec": "~1.0.3", + "type": "prod", + }, + Edge { + "from": "node_modules/finalhandler", + "name": "escape-html", + "spec": "~1.0.3", + "type": "prod", + }, + Edge { + "from": "node_modules/send", + "name": "escape-html", + "spec": "~1.0.3", + "type": "prod", + }, + Edge { + "from": "node_modules/serve-index", + "name": "escape-html", + "spec": "~1.0.3", + "type": "prod", + }, + Edge { + "from": "node_modules/serve-static", + "name": "escape-html", + "spec": "~1.0.3", + "type": "prod", + }, + }, + "location": "node_modules/escape-html", + "name": "escape-html", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + }, + "eslint-scope" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/webpack", + "name": "eslint-scope", + "spec": "^4.0.3", + "type": "prod", + }, + }, + "edgesOut": Map { + "esrecurse" => Edge { + "name": "esrecurse", + "spec": "^4.1.0", + "to": "node_modules/esrecurse", + "type": "prod", + }, + "estraverse" => Edge { + "name": "estraverse", + "spec": "^4.1.1", + "to": "node_modules/estraverse", + "type": "prod", + }, + }, + "location": "node_modules/eslint-scope", + "name": "eslint-scope", + "peer": true, + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + }, + "esrecurse" => Node { + "children": Map { + "estraverse" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/esrecurse", + "name": "estraverse", + "spec": "^5.2.0", + "type": "prod", + }, + }, + "location": "node_modules/esrecurse/node_modules/estraverse", + "name": "estraverse", + "peer": true, + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/eslint-scope", + "name": "esrecurse", + "spec": "^4.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "estraverse" => Edge { + "name": "estraverse", + "spec": "^5.2.0", + "to": "node_modules/esrecurse/node_modules/estraverse", + "type": "prod", + }, + }, + "location": "node_modules/esrecurse", + "name": "esrecurse", + "peer": true, + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + }, + "estraverse" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/eslint-scope", + "name": "estraverse", + "spec": "^4.1.1", + "type": "prod", + }, + }, + "location": "node_modules/estraverse", + "name": "estraverse", + "peer": true, + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + }, + "etag" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/express", + "name": "etag", + "spec": "~1.8.1", + "type": "prod", + }, + Edge { + "from": "node_modules/send", + "name": "etag", + "spec": "~1.8.1", + "type": "prod", + }, + }, + "location": "node_modules/etag", + "name": "etag", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + }, + "eventemitter3" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/http-proxy", + "name": "eventemitter3", + "spec": "^4.0.0", + "type": "prod", + }, + }, + "location": "node_modules/eventemitter3", + "name": "eventemitter3", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + }, + "events" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/node-libs-browser", + "name": "events", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "location": "node_modules/events", + "name": "events", + "peer": true, + "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz", + }, + "eventsource" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/sockjs-client", + "name": "eventsource", + "spec": "^1.0.7", + "type": "prod", + }, + }, + "edgesOut": Map { + "original" => Edge { + "name": "original", + "spec": "^1.0.0", + "to": "node_modules/original", + "type": "prod", + }, + }, + "location": "node_modules/eventsource", + "name": "eventsource", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz", + }, + "evp_bytestokey" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/browserify-aes", + "name": "evp_bytestokey", + "spec": "^1.0.3", + "type": "prod", + }, + Edge { + "from": "node_modules/browserify-cipher", + "name": "evp_bytestokey", + "spec": "^1.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/parse-asn1", + "name": "evp_bytestokey", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "md5.js" => Edge { + "name": "md5.js", + "spec": "^1.3.4", + "to": "node_modules/md5.js", + "type": "prod", + }, + "safe-buffer" => Edge { + "name": "safe-buffer", + "spec": "^5.1.1", + "to": "node_modules/safe-buffer", + "type": "prod", + }, + }, + "location": "node_modules/evp_bytestokey", + "name": "evp_bytestokey", + "peer": true, + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + }, + "execa" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/default-gateway", + "name": "execa", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "cross-spawn" => Edge { + "name": "cross-spawn", + "spec": "^6.0.0", + "to": "node_modules/cross-spawn", + "type": "prod", + }, + "get-stream" => Edge { + "name": "get-stream", + "spec": "^4.0.0", + "to": "node_modules/get-stream", + "type": "prod", + }, + "is-stream" => Edge { + "name": "is-stream", + "spec": "^1.1.0", + "to": "node_modules/is-stream", + "type": "prod", + }, + "npm-run-path" => Edge { + "name": "npm-run-path", + "spec": "^2.0.0", + "to": "node_modules/npm-run-path", + "type": "prod", + }, + "p-finally" => Edge { + "name": "p-finally", + "spec": "^1.0.0", + "to": "node_modules/p-finally", + "type": "prod", + }, + "signal-exit" => Edge { + "name": "signal-exit", + "spec": "^3.0.0", + "to": "node_modules/signal-exit", + "type": "prod", + }, + "strip-eof" => Edge { + "name": "strip-eof", + "spec": "^1.0.0", + "to": "node_modules/strip-eof", + "type": "prod", + }, + }, + "location": "node_modules/execa", + "name": "execa", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + }, + "expand-brackets" => Node { + "children": Map { + "debug" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/expand-brackets", + "name": "debug", + "spec": "^2.3.3", + "type": "prod", + }, + }, + "edgesOut": Map { + "ms" => Edge { + "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", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + }, + "define-property" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/expand-brackets", + "name": "define-property", + "spec": "^0.2.5", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-descriptor" => Edge { + "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", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + }, + "is-accessor-descriptor" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/expand-brackets/node_modules/is-descriptor", + "name": "is-accessor-descriptor", + "spec": "^0.1.6", + "type": "prod", + }, + }, + "edgesOut": Map { + "kind-of" => Edge { + "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", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + }, + "is-data-descriptor" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/expand-brackets/node_modules/is-descriptor", + "name": "is-data-descriptor", + "spec": "^0.1.4", + "type": "prod", + }, + }, + "edgesOut": Map { + "kind-of" => Edge { + "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", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + }, + "is-descriptor" => Node { + "children": Map { + "kind-of" => Node { + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/expand-brackets/node_modules/define-property", + "name": "is-descriptor", + "spec": "^0.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-accessor-descriptor" => Edge { + "name": "is-accessor-descriptor", + "spec": "^0.1.6", + "to": "node_modules/expand-brackets/node_modules/is-accessor-descriptor", + "type": "prod", + }, + "is-data-descriptor" => Edge { + "name": "is-data-descriptor", + "spec": "^0.1.4", + "to": "node_modules/expand-brackets/node_modules/is-data-descriptor", + "type": "prod", + }, + "kind-of" => Edge { + "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", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + }, + "ms" => Node { + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/extglob", + "name": "expand-brackets", + "spec": "^2.1.4", + "type": "prod", + }, + }, + "edgesOut": Map { + "debug" => Edge { + "name": "debug", + "spec": "^2.3.3", + "to": "node_modules/expand-brackets/node_modules/debug", + "type": "prod", + }, + "define-property" => Edge { + "name": "define-property", + "spec": "^0.2.5", + "to": "node_modules/expand-brackets/node_modules/define-property", + "type": "prod", + }, + "extend-shallow" => Edge { + "name": "extend-shallow", + "spec": "^2.0.1", + "to": "node_modules/extend-shallow", + "type": "prod", + }, + "posix-character-classes" => Edge { + "name": "posix-character-classes", + "spec": "^0.1.0", + "to": "node_modules/posix-character-classes", + "type": "prod", + }, + "regex-not" => Edge { + "name": "regex-not", + "spec": "^1.0.0", + "to": "node_modules/regex-not", + "type": "prod", + }, + "snapdragon" => Edge { + "name": "snapdragon", + "spec": "^0.8.1", + "to": "node_modules/snapdragon", + "type": "prod", + }, + "to-regex" => Edge { + "name": "to-regex", + "spec": "^3.0.1", + "to": "node_modules/to-regex", + "type": "prod", + }, + }, + "location": "node_modules/expand-brackets", + "name": "expand-brackets", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + }, + "express" => Node { + "children": Map { + "array-flatten" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/express", + "name": "array-flatten", + "spec": "1.1.1", + "type": "prod", + }, + }, + "location": "node_modules/express/node_modules/array-flatten", + "name": "array-flatten", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + }, + "debug" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/express", + "name": "debug", + "spec": "2.6.9", + "type": "prod", + }, + }, + "edgesOut": Map { + "ms" => Edge { + "name": "ms", + "spec": "2.0.0", + "to": "node_modules/express/node_modules/ms", + "type": "prod", + }, + }, + "location": "node_modules/express/node_modules/debug", + "name": "debug", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + }, + "ms" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/express/node_modules/debug", + "name": "ms", + "spec": "2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/express/node_modules/ms", + "name": "ms", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/webpack-dev-server", + "name": "express", + "spec": "^4.17.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "accepts" => Edge { + "name": "accepts", + "spec": "~1.3.7", + "to": "node_modules/accepts", + "type": "prod", + }, + "array-flatten" => Edge { + "name": "array-flatten", + "spec": "1.1.1", + "to": "node_modules/express/node_modules/array-flatten", + "type": "prod", + }, + "body-parser" => Edge { + "name": "body-parser", + "spec": "1.19.0", + "to": "node_modules/body-parser", + "type": "prod", + }, + "content-disposition" => Edge { + "name": "content-disposition", + "spec": "0.5.3", + "to": "node_modules/content-disposition", + "type": "prod", + }, + "content-type" => Edge { + "name": "content-type", + "spec": "~1.0.4", + "to": "node_modules/content-type", + "type": "prod", + }, + "cookie" => Edge { + "name": "cookie", + "spec": "0.4.0", + "to": "node_modules/cookie", + "type": "prod", + }, + "cookie-signature" => Edge { + "name": "cookie-signature", + "spec": "1.0.6", + "to": "node_modules/cookie-signature", + "type": "prod", + }, + "debug" => Edge { + "name": "debug", + "spec": "2.6.9", + "to": "node_modules/express/node_modules/debug", + "type": "prod", + }, + "depd" => Edge { + "name": "depd", + "spec": "~1.1.2", + "to": "node_modules/depd", + "type": "prod", + }, + "encodeurl" => Edge { + "name": "encodeurl", + "spec": "~1.0.2", + "to": "node_modules/encodeurl", + "type": "prod", + }, + "escape-html" => Edge { + "name": "escape-html", + "spec": "~1.0.3", + "to": "node_modules/escape-html", + "type": "prod", + }, + "etag" => Edge { + "name": "etag", + "spec": "~1.8.1", + "to": "node_modules/etag", + "type": "prod", + }, + "finalhandler" => Edge { + "name": "finalhandler", + "spec": "~1.1.2", + "to": "node_modules/finalhandler", + "type": "prod", + }, + "fresh" => Edge { + "name": "fresh", + "spec": "0.5.2", + "to": "node_modules/fresh", + "type": "prod", + }, + "merge-descriptors" => Edge { + "name": "merge-descriptors", + "spec": "1.0.1", + "to": "node_modules/merge-descriptors", + "type": "prod", + }, + "methods" => Edge { + "name": "methods", + "spec": "~1.1.2", + "to": "node_modules/methods", + "type": "prod", + }, + "on-finished" => Edge { + "name": "on-finished", + "spec": "~2.3.0", + "to": "node_modules/on-finished", + "type": "prod", + }, + "parseurl" => Edge { + "name": "parseurl", + "spec": "~1.3.3", + "to": "node_modules/parseurl", + "type": "prod", + }, + "path-to-regexp" => Edge { + "name": "path-to-regexp", + "spec": "0.1.7", + "to": "node_modules/path-to-regexp", + "type": "prod", + }, + "proxy-addr" => Edge { + "name": "proxy-addr", + "spec": "~2.0.5", + "to": "node_modules/proxy-addr", + "type": "prod", + }, + "qs" => Edge { + "name": "qs", + "spec": "6.7.0", + "to": "node_modules/qs", + "type": "prod", + }, + "range-parser" => Edge { + "name": "range-parser", + "spec": "~1.2.1", + "to": "node_modules/range-parser", + "type": "prod", + }, + "safe-buffer" => Edge { + "name": "safe-buffer", + "spec": "5.1.2", + "to": "node_modules/safe-buffer", + "type": "prod", + }, + "send" => Edge { + "name": "send", + "spec": "0.17.1", + "to": "node_modules/send", + "type": "prod", + }, + "serve-static" => Edge { + "name": "serve-static", + "spec": "1.14.1", + "to": "node_modules/serve-static", + "type": "prod", + }, + "setprototypeof" => Edge { + "name": "setprototypeof", + "spec": "1.1.1", + "to": "node_modules/setprototypeof", + "type": "prod", + }, + "statuses" => Edge { + "name": "statuses", + "spec": "~1.5.0", + "to": "node_modules/statuses", + "type": "prod", + }, + "type-is" => Edge { + "name": "type-is", + "spec": "~1.6.18", + "to": "node_modules/type-is", + "type": "prod", + }, + "utils-merge" => Edge { + "name": "utils-merge", + "spec": "1.0.1", + "to": "node_modules/utils-merge", + "type": "prod", + }, + "vary" => Edge { + "name": "vary", + "spec": "~1.1.2", + "to": "node_modules/vary", + "type": "prod", + }, + }, + "location": "node_modules/express", + "name": "express", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + }, + "extend-shallow" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/braces", + "name": "extend-shallow", + "spec": "^2.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/expand-brackets", + "name": "extend-shallow", + "spec": "^2.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/extglob", + "name": "extend-shallow", + "spec": "^2.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/fill-range", + "name": "extend-shallow", + "spec": "^2.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/set-value", + "name": "extend-shallow", + "spec": "^2.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/snapdragon", + "name": "extend-shallow", + "spec": "^2.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-extendable" => Edge { + "name": "is-extendable", + "spec": "^0.1.0", + "to": "node_modules/is-extendable", + "type": "prod", + }, + }, + "location": "node_modules/extend-shallow", + "name": "extend-shallow", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + }, + "extglob" => Node { + "children": Map { + "define-property" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/extglob", + "name": "define-property", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-descriptor" => Edge { + "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", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/micromatch", + "name": "extglob", + "spec": "^2.0.4", + "type": "prod", + }, + }, + "edgesOut": Map { + "array-unique" => Edge { + "name": "array-unique", + "spec": "^0.3.2", + "to": "node_modules/array-unique", + "type": "prod", + }, + "define-property" => Edge { + "name": "define-property", + "spec": "^1.0.0", + "to": "node_modules/extglob/node_modules/define-property", + "type": "prod", + }, + "expand-brackets" => Edge { + "name": "expand-brackets", + "spec": "^2.1.4", + "to": "node_modules/expand-brackets", + "type": "prod", + }, + "extend-shallow" => Edge { + "name": "extend-shallow", + "spec": "^2.0.1", + "to": "node_modules/extend-shallow", + "type": "prod", + }, + "fragment-cache" => Edge { + "name": "fragment-cache", + "spec": "^0.2.1", + "to": "node_modules/fragment-cache", + "type": "prod", + }, + "regex-not" => Edge { + "name": "regex-not", + "spec": "^1.0.0", + "to": "node_modules/regex-not", + "type": "prod", + }, + "snapdragon" => Edge { + "name": "snapdragon", + "spec": "^0.8.1", + "to": "node_modules/snapdragon", + "type": "prod", + }, + "to-regex" => Edge { + "name": "to-regex", + "spec": "^3.0.1", + "to": "node_modules/to-regex", + "type": "prod", + }, + }, + "location": "node_modules/extglob", + "name": "extglob", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + }, + "fast-deep-equal" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/ajv", + "name": "fast-deep-equal", + "spec": "^3.1.1", + "type": "prod", + }, + }, + "location": "node_modules/fast-deep-equal", + "name": "fast-deep-equal", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + }, + "fast-json-stable-stringify" => Node { + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + }, + "faye-websocket" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/sockjs", + "name": "faye-websocket", + "spec": "^0.10.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "websocket-driver" => Edge { + "name": "websocket-driver", + "spec": ">=0.5.1", + "to": "node_modules/websocket-driver", + "type": "prod", + }, + }, + "location": "node_modules/faye-websocket", + "name": "faye-websocket", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", + }, + "figgy-pudding" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/cacache", + "name": "figgy-pudding", + "spec": "^3.5.1", + "type": "prod", + }, + Edge { + "from": "node_modules/ssri", + "name": "figgy-pudding", + "spec": "^3.5.1", + "type": "prod", + }, + }, + "location": "node_modules/figgy-pudding", + "name": "figgy-pudding", + "peer": true, + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", + }, + "file-uri-to-path" => Node { + "edgesIn": Set { + Edge { + "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, + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + }, + "fill-range" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/braces", + "name": "fill-range", + "spec": "^4.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "extend-shallow" => Edge { + "name": "extend-shallow", + "spec": "^2.0.1", + "to": "node_modules/extend-shallow", + "type": "prod", + }, + "is-number" => Edge { + "name": "is-number", + "spec": "^3.0.0", + "to": "node_modules/is-number", + "type": "prod", + }, + "repeat-string" => Edge { + "name": "repeat-string", + "spec": "^1.6.1", + "to": "node_modules/repeat-string", + "type": "prod", + }, + "to-regex-range" => Edge { + "name": "to-regex-range", + "spec": "^2.1.0", + "to": "node_modules/to-regex-range", + "type": "prod", + }, + }, + "location": "node_modules/fill-range", + "name": "fill-range", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + }, + "finalhandler" => Node { + "children": Map { + "debug" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/finalhandler", + "name": "debug", + "spec": "2.6.9", + "type": "prod", + }, + }, + "edgesOut": Map { + "ms" => Edge { + "name": "ms", + "spec": "2.0.0", + "to": "node_modules/finalhandler/node_modules/ms", + "type": "prod", + }, + }, + "location": "node_modules/finalhandler/node_modules/debug", + "name": "debug", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + }, + "ms" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/finalhandler/node_modules/debug", + "name": "ms", + "spec": "2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/finalhandler/node_modules/ms", + "name": "ms", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/express", + "name": "finalhandler", + "spec": "~1.1.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "debug" => Edge { + "name": "debug", + "spec": "2.6.9", + "to": "node_modules/finalhandler/node_modules/debug", + "type": "prod", + }, + "encodeurl" => Edge { + "name": "encodeurl", + "spec": "~1.0.2", + "to": "node_modules/encodeurl", + "type": "prod", + }, + "escape-html" => Edge { + "name": "escape-html", + "spec": "~1.0.3", + "to": "node_modules/escape-html", + "type": "prod", + }, + "on-finished" => Edge { + "name": "on-finished", + "spec": "~2.3.0", + "to": "node_modules/on-finished", + "type": "prod", + }, + "parseurl" => Edge { + "name": "parseurl", + "spec": "~1.3.3", + "to": "node_modules/parseurl", + "type": "prod", + }, + "statuses" => Edge { + "name": "statuses", + "spec": "~1.5.0", + "to": "node_modules/statuses", + "type": "prod", + }, + "unpipe" => Edge { + "name": "unpipe", + "spec": "~1.0.0", + "to": "node_modules/unpipe", + "type": "prod", + }, + }, + "location": "node_modules/finalhandler", + "name": "finalhandler", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + }, + "find-cache-dir" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/terser-webpack-plugin", + "name": "find-cache-dir", + "spec": "^2.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "commondir" => Edge { + "name": "commondir", + "spec": "^1.0.1", + "to": "node_modules/commondir", + "type": "prod", + }, + "make-dir" => Edge { + "name": "make-dir", + "spec": "^2.0.0", + "to": "node_modules/make-dir", + "type": "prod", + }, + "pkg-dir" => Edge { + "name": "pkg-dir", + "spec": "^3.0.0", + "to": "node_modules/pkg-dir", + "type": "prod", + }, + }, + "location": "node_modules/find-cache-dir", + "name": "find-cache-dir", + "peer": true, + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + }, + "find-up" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/pkg-dir", + "name": "find-up", + "spec": "^3.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/yargs", + "name": "find-up", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "locate-path" => Edge { + "name": "locate-path", + "spec": "^3.0.0", + "to": "node_modules/locate-path", + "type": "prod", + }, + }, + "location": "node_modules/find-up", + "name": "find-up", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + }, + "flush-write-stream" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/mississippi", + "name": "flush-write-stream", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "inherits" => Edge { + "name": "inherits", + "spec": "^2.0.3", + "to": "node_modules/inherits", + "type": "prod", + }, + "readable-stream" => Edge { + "name": "readable-stream", + "spec": "^2.3.6", + "to": "node_modules/readable-stream", + "type": "prod", + }, + }, + "location": "node_modules/flush-write-stream", + "name": "flush-write-stream", + "peer": true, + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + }, + "follow-redirects" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/http-proxy", + "name": "follow-redirects", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/follow-redirects", + "name": "follow-redirects", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.0.tgz", + }, + "for-in" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/mixin-deep", + "name": "for-in", + "spec": "^1.0.2", + "type": "prod", + }, + }, + "location": "node_modules/for-in", + "name": "for-in", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + }, + "forwarded" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/proxy-addr", + "name": "forwarded", + "spec": "~0.1.2", + "type": "prod", + }, + }, + "location": "node_modules/forwarded", + "name": "forwarded", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + }, + "fragment-cache" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/extglob", + "name": "fragment-cache", + "spec": "^0.2.1", + "type": "prod", + }, + Edge { + "from": "node_modules/micromatch", + "name": "fragment-cache", + "spec": "^0.2.1", + "type": "prod", + }, + Edge { + "from": "node_modules/nanomatch", + "name": "fragment-cache", + "spec": "^0.2.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "map-cache" => Edge { + "name": "map-cache", + "spec": "^0.2.2", + "to": "node_modules/map-cache", + "type": "prod", + }, + }, + "location": "node_modules/fragment-cache", + "name": "fragment-cache", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + }, + "fresh" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/express", + "name": "fresh", + "spec": "0.5.2", + "type": "prod", + }, + Edge { + "from": "node_modules/send", + "name": "fresh", + "spec": "0.5.2", + "type": "prod", + }, + }, + "location": "node_modules/fresh", + "name": "fresh", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + }, + "from2" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/mississippi", + "name": "from2", + "spec": "^2.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "inherits" => Edge { + "name": "inherits", + "spec": "^2.0.1", + "to": "node_modules/inherits", + "type": "prod", + }, + "readable-stream" => Edge { + "name": "readable-stream", + "spec": "^2.0.0", + "to": "node_modules/readable-stream", + "type": "prod", + }, + }, + "location": "node_modules/from2", + "name": "from2", + "peer": true, + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + }, + "fs-write-stream-atomic" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/copy-concurrently", + "name": "fs-write-stream-atomic", + "spec": "^1.0.8", + "type": "prod", + }, + Edge { + "from": "node_modules/move-concurrently", + "name": "fs-write-stream-atomic", + "spec": "^1.0.8", + "type": "prod", + }, + }, + "edgesOut": Map { + "graceful-fs" => Edge { + "name": "graceful-fs", + "spec": "^4.1.2", + "to": "node_modules/graceful-fs", + "type": "prod", + }, + "iferr" => Edge { + "name": "iferr", + "spec": "^0.1.5", + "to": "node_modules/iferr", + "type": "prod", + }, + "imurmurhash" => Edge { + "name": "imurmurhash", + "spec": "^0.1.4", + "to": "node_modules/imurmurhash", + "type": "prod", + }, + "readable-stream" => Edge { + "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", + "peer": true, + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + }, + "fs.realpath" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/glob", + "name": "fs.realpath", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/fs.realpath", + "name": "fs.realpath", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + }, + "fsevents" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/chokidar", + "name": "fsevents", + "spec": "^1.2.7", + "type": "optional", + }, + }, + "edgesOut": Map { + "bindings" => Edge { + "name": "bindings", + "spec": "^1.5.0", + "to": "node_modules/bindings", + "type": "prod", + }, + "nan" => Edge { + "name": "nan", + "spec": "^2.12.1", + "to": "node_modules/nan", + "type": "prod", + }, + }, + "location": "node_modules/fsevents", + "name": "fsevents", + "optional": true, + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + }, + "function-bind" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/es-abstract", + "name": "function-bind", + "spec": "^1.1.1", + "type": "prod", + }, + Edge { + "from": "node_modules/has", + "name": "function-bind", + "spec": "^1.1.1", + "type": "prod", + }, + Edge { + "from": "node_modules/regexp.prototype.flags/node_modules/es-abstract", + "name": "function-bind", + "spec": "^1.1.1", + "type": "prod", + }, + Edge { + "from": "node_modules/string.prototype.trimend/node_modules/es-abstract", + "name": "function-bind", + "spec": "^1.1.1", + "type": "prod", + }, + Edge { + "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", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + }, + "get-caller-file" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/yargs", + "name": "get-caller-file", + "spec": "^2.0.1", + "type": "prod", + }, + }, + "location": "node_modules/get-caller-file", + "name": "get-caller-file", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + }, + "get-stream" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/execa", + "name": "get-stream", + "spec": "^4.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "pump" => Edge { + "name": "pump", + "spec": "^3.0.0", + "to": "node_modules/pump", + "type": "prod", + }, + }, + "location": "node_modules/get-stream", + "name": "get-stream", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + }, + "get-value" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/cache-base", + "name": "get-value", + "spec": "^2.0.6", + "type": "prod", + }, + Edge { + "from": "node_modules/has-value", + "name": "get-value", + "spec": "^2.0.6", + "type": "prod", + }, + Edge { + "from": "node_modules/union-value", + "name": "get-value", + "spec": "^2.0.6", + "type": "prod", + }, + Edge { + "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", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + }, + "glob" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/cacache", + "name": "glob", + "spec": "^7.1.4", + "type": "prod", + }, + Edge { + "from": "node_modules/globby", + "name": "glob", + "spec": "^7.0.3", + "type": "prod", + }, + Edge { + "from": "node_modules/rimraf", + "name": "glob", + "spec": "^7.1.3", + "type": "prod", + }, + }, + "edgesOut": Map { + "fs.realpath" => Edge { + "name": "fs.realpath", + "spec": "^1.0.0", + "to": "node_modules/fs.realpath", + "type": "prod", + }, + "inflight" => Edge { + "name": "inflight", + "spec": "^1.0.4", + "to": "node_modules/inflight", + "type": "prod", + }, + "inherits" => Edge { + "name": "inherits", + "spec": "2", + "to": "node_modules/inherits", + "type": "prod", + }, + "minimatch" => Edge { + "name": "minimatch", + "spec": "^3.0.4", + "to": "node_modules/minimatch", + "type": "prod", + }, + "once" => Edge { + "name": "once", + "spec": "^1.3.0", + "to": "node_modules/once", + "type": "prod", + }, + "path-is-absolute" => Edge { + "name": "path-is-absolute", + "spec": "^1.0.0", + "to": "node_modules/path-is-absolute", + "type": "prod", + }, + }, + "location": "node_modules/glob", + "name": "glob", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + }, + "glob-parent" => Node { + "children": Map { + "is-glob" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/glob-parent", + "name": "is-glob", + "spec": "^3.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-extglob" => Edge { + "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", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/chokidar", + "name": "glob-parent", + "spec": "^3.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-glob" => Edge { + "name": "is-glob", + "spec": "^3.1.0", + "to": "node_modules/glob-parent/node_modules/is-glob", + "type": "prod", + }, + "path-dirname" => Edge { + "name": "path-dirname", + "spec": "^1.0.0", + "to": "node_modules/path-dirname", + "type": "prod", + }, + }, + "location": "node_modules/glob-parent", + "name": "glob-parent", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + }, + "globby" => Node { + "children": Map { + "pify" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/globby", + "name": "pify", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/globby/node_modules/pify", + "name": "pify", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/del", + "name": "globby", + "spec": "^6.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "array-union" => Edge { + "name": "array-union", + "spec": "^1.0.1", + "to": "node_modules/array-union", + "type": "prod", + }, + "glob" => Edge { + "name": "glob", + "spec": "^7.0.3", + "to": "node_modules/glob", + "type": "prod", + }, + "object-assign" => Edge { + "name": "object-assign", + "spec": "^4.0.1", + "to": "node_modules/object-assign", + "type": "prod", + }, + "pify" => Edge { + "name": "pify", + "spec": "^2.0.0", + "to": "node_modules/globby/node_modules/pify", + "type": "prod", + }, + "pinkie-promise" => Edge { + "name": "pinkie-promise", + "spec": "^2.0.0", + "to": "node_modules/pinkie-promise", + "type": "prod", + }, + }, + "location": "node_modules/globby", + "name": "globby", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + }, + "graceful-fs" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/cacache", + "name": "graceful-fs", + "spec": "^4.1.15", + "type": "prod", + }, + Edge { + "from": "node_modules/enhanced-resolve", + "name": "graceful-fs", + "spec": "^4.1.2", + "type": "prod", + }, + Edge { + "from": "node_modules/fs-write-stream-atomic", + "name": "graceful-fs", + "spec": "^4.1.2", + "type": "prod", + }, + Edge { + "from": "node_modules/readdirp", + "name": "graceful-fs", + "spec": "^4.1.11", + "type": "prod", + }, + Edge { + "from": "node_modules/watchpack", + "name": "graceful-fs", + "spec": "^4.1.2", + "type": "prod", + }, + }, + "location": "node_modules/graceful-fs", + "name": "graceful-fs", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + }, + "handle-thing" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/spdy", + "name": "handle-thing", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/handle-thing", + "name": "handle-thing", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + }, + "has" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/es-abstract", + "name": "has", + "spec": "^1.0.3", + "type": "prod", + }, + Edge { + "from": "node_modules/regexp.prototype.flags/node_modules/es-abstract", + "name": "has", + "spec": "^1.0.3", + "type": "prod", + }, + Edge { + "from": "node_modules/string.prototype.trimend/node_modules/es-abstract", + "name": "has", + "spec": "^1.0.3", + "type": "prod", + }, + Edge { + "from": "node_modules/string.prototype.trimstart/node_modules/es-abstract", + "name": "has", + "spec": "^1.0.3", + "type": "prod", + }, + }, + "edgesOut": Map { + "function-bind" => Edge { + "name": "function-bind", + "spec": "^1.1.1", + "to": "node_modules/function-bind", + "type": "prod", + }, + }, + "location": "node_modules/has", + "name": "has", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + }, + "has-flag" => Node { + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + }, + "has-symbols" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/es-abstract", + "name": "has-symbols", + "spec": "^1.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/is-regex", + "name": "has-symbols", + "spec": "^1.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/is-symbol", + "name": "has-symbols", + "spec": "^1.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/object.assign", + "name": "has-symbols", + "spec": "^1.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/regexp.prototype.flags/node_modules/es-abstract", + "name": "has-symbols", + "spec": "^1.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/string.prototype.trimend/node_modules/es-abstract", + "name": "has-symbols", + "spec": "^1.0.1", + "type": "prod", + }, + Edge { + "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", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + }, + "has-value" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/cache-base", + "name": "has-value", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "get-value" => Edge { + "name": "get-value", + "spec": "^2.0.6", + "to": "node_modules/get-value", + "type": "prod", + }, + "has-values" => Edge { + "name": "has-values", + "spec": "^1.0.0", + "to": "node_modules/has-values", + "type": "prod", + }, + "isobject" => Edge { + "name": "isobject", + "spec": "^3.0.0", + "to": "node_modules/isobject", + "type": "prod", + }, + }, + "location": "node_modules/has-value", + "name": "has-value", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + }, + "has-values" => Node { + "children": Map { + "kind-of" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/has-values", + "name": "kind-of", + "spec": "^4.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-buffer" => Edge { + "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", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/has-value", + "name": "has-values", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-number" => Edge { + "name": "is-number", + "spec": "^3.0.0", + "to": "node_modules/is-number", + "type": "prod", + }, + "kind-of" => Edge { + "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", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + }, + "hash-base" => Node { + "children": Map { + "readable-stream" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/hash-base", + "name": "readable-stream", + "spec": "^3.6.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "inherits" => Edge { + "name": "inherits", + "spec": "^2.0.3", + "to": "node_modules/inherits", + "type": "prod", + }, + "string_decoder" => Edge { + "name": "string_decoder", + "spec": "^1.1.1", + "to": "node_modules/string_decoder", + "type": "prod", + }, + "util-deprecate" => Edge { + "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", + "peer": true, + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + }, + "safe-buffer" => Node { + "edgesIn": Set { + Edge { + "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", + "peer": true, + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/md5.js", + "name": "hash-base", + "spec": "^3.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/ripemd160", + "name": "hash-base", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "inherits" => Edge { + "name": "inherits", + "spec": "^2.0.4", + "to": "node_modules/inherits", + "type": "prod", + }, + "readable-stream" => Edge { + "name": "readable-stream", + "spec": "^3.6.0", + "to": "node_modules/hash-base/node_modules/readable-stream", + "type": "prod", + }, + "safe-buffer" => Edge { + "name": "safe-buffer", + "spec": "^5.2.0", + "to": "node_modules/hash-base/node_modules/safe-buffer", + "type": "prod", + }, + }, + "location": "node_modules/hash-base", + "name": "hash-base", + "peer": true, + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + }, + "hash.js" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/elliptic", + "name": "hash.js", + "spec": "^1.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/hmac-drbg", + "name": "hash.js", + "spec": "^1.0.3", + "type": "prod", + }, + }, + "edgesOut": Map { + "inherits" => Edge { + "name": "inherits", + "spec": "^2.0.3", + "to": "node_modules/inherits", + "type": "prod", + }, + "minimalistic-assert" => Edge { + "name": "minimalistic-assert", + "spec": "^1.0.1", + "to": "node_modules/minimalistic-assert", + "type": "prod", + }, + }, + "location": "node_modules/hash.js", + "name": "hash.js", + "peer": true, + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + }, + "hmac-drbg" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/elliptic", + "name": "hmac-drbg", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "hash.js" => Edge { + "name": "hash.js", + "spec": "^1.0.3", + "to": "node_modules/hash.js", + "type": "prod", + }, + "minimalistic-assert" => Edge { + "name": "minimalistic-assert", + "spec": "^1.0.0", + "to": "node_modules/minimalistic-assert", + "type": "prod", + }, + "minimalistic-crypto-utils" => Edge { + "name": "minimalistic-crypto-utils", + "spec": "^1.0.1", + "to": "node_modules/minimalistic-crypto-utils", + "type": "prod", + }, + }, + "location": "node_modules/hmac-drbg", + "name": "hmac-drbg", + "peer": true, + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + }, + "hpack.js" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/spdy-transport", + "name": "hpack.js", + "spec": "^2.1.6", + "type": "prod", + }, + }, + "edgesOut": Map { + "inherits" => Edge { + "name": "inherits", + "spec": "^2.0.1", + "to": "node_modules/inherits", + "type": "prod", + }, + "obuf" => Edge { + "name": "obuf", + "spec": "^1.0.0", + "to": "node_modules/obuf", + "type": "prod", + }, + "readable-stream" => Edge { + "name": "readable-stream", + "spec": "^2.0.1", + "to": "node_modules/readable-stream", + "type": "prod", + }, + "wbuf" => Edge { + "name": "wbuf", + "spec": "^1.1.0", + "to": "node_modules/wbuf", + "type": "prod", + }, + }, + "location": "node_modules/hpack.js", + "name": "hpack.js", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + }, + "html-entities" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/@pmmmwh/react-refresh-webpack-plugin", + "name": "html-entities", + "spec": "^1.2.1", + "type": "prod", + }, + Edge { + "from": "node_modules/webpack-dev-server", + "name": "html-entities", + "spec": "^1.3.1", + "type": "prod", + }, + }, + "location": "node_modules/html-entities", + "name": "html-entities", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.3.1.tgz", + }, + "http-deceiver" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/spdy", + "name": "http-deceiver", + "spec": "^1.2.7", + "type": "prod", + }, + }, + "location": "node_modules/http-deceiver", + "name": "http-deceiver", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + }, + "http-errors" => Node { + "children": Map { + "inherits" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/http-errors", + "name": "inherits", + "spec": "2.0.3", + "type": "prod", + }, + }, + "location": "node_modules/http-errors/node_modules/inherits", + "name": "inherits", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/body-parser", + "name": "http-errors", + "spec": "1.7.2", + "type": "prod", + }, + Edge { + "from": "node_modules/raw-body", + "name": "http-errors", + "spec": "1.7.2", + "type": "prod", + }, + Edge { + "from": "node_modules/send", + "name": "http-errors", + "spec": "~1.7.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "depd" => Edge { + "name": "depd", + "spec": "~1.1.2", + "to": "node_modules/depd", + "type": "prod", + }, + "inherits" => Edge { + "name": "inherits", + "spec": "2.0.3", + "to": "node_modules/http-errors/node_modules/inherits", + "type": "prod", + }, + "setprototypeof" => Edge { + "name": "setprototypeof", + "spec": "1.1.1", + "to": "node_modules/setprototypeof", + "type": "prod", + }, + "statuses" => Edge { + "name": "statuses", + "spec": ">= 1.5.0 < 2", + "to": "node_modules/statuses", + "type": "prod", + }, + "toidentifier" => Edge { + "name": "toidentifier", + "spec": "1.0.0", + "to": "node_modules/toidentifier", + "type": "prod", + }, + }, + "location": "node_modules/http-errors", + "name": "http-errors", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + }, + "http-proxy" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/http-proxy-middleware", + "name": "http-proxy", + "spec": "^1.17.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "eventemitter3" => Edge { + "name": "eventemitter3", + "spec": "^4.0.0", + "to": "node_modules/eventemitter3", + "type": "prod", + }, + "follow-redirects" => Edge { + "name": "follow-redirects", + "spec": "^1.0.0", + "to": "node_modules/follow-redirects", + "type": "prod", + }, + "requires-port" => Edge { + "name": "requires-port", + "spec": "^1.0.0", + "to": "node_modules/requires-port", + "type": "prod", + }, + }, + "location": "node_modules/http-proxy", + "name": "http-proxy", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + }, + "http-proxy-middleware" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/webpack-dev-server", + "name": "http-proxy-middleware", + "spec": "0.19.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "http-proxy" => Edge { + "name": "http-proxy", + "spec": "^1.17.0", + "to": "node_modules/http-proxy", + "type": "prod", + }, + "is-glob" => Edge { + "name": "is-glob", + "spec": "^4.0.0", + "to": "node_modules/is-glob", + "type": "prod", + }, + "lodash" => Edge { + "name": "lodash", + "spec": "^4.17.11", + "to": "node_modules/lodash", + "type": "prod", + }, + "micromatch" => Edge { + "name": "micromatch", + "spec": "^3.1.10", + "to": "node_modules/micromatch", + "type": "prod", + }, + }, + "location": "node_modules/http-proxy-middleware", + "name": "http-proxy-middleware", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", + }, + "https-browserify" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/node-libs-browser", + "name": "https-browserify", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/https-browserify", + "name": "https-browserify", + "peer": true, + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + }, + "iconv-lite" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/body-parser", + "name": "iconv-lite", + "spec": "0.4.24", + "type": "prod", + }, + Edge { + "from": "node_modules/raw-body", + "name": "iconv-lite", + "spec": "0.4.24", + "type": "prod", + }, + }, + "edgesOut": Map { + "safer-buffer" => Edge { + "name": "safer-buffer", + "spec": ">= 2.1.2 < 3", + "to": "node_modules/safer-buffer", + "type": "prod", + }, + }, + "location": "node_modules/iconv-lite", + "name": "iconv-lite", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + }, + "ieee754" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/buffer", + "name": "ieee754", + "spec": "^1.1.4", + "type": "prod", + }, + }, + "location": "node_modules/ieee754", + "name": "ieee754", + "peer": true, + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + }, + "iferr" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/copy-concurrently", + "name": "iferr", + "spec": "^0.1.5", + "type": "prod", + }, + Edge { + "from": "node_modules/fs-write-stream-atomic", + "name": "iferr", + "spec": "^0.1.5", + "type": "prod", + }, + }, + "location": "node_modules/iferr", + "name": "iferr", + "peer": true, + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + }, + "import-local" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/webpack-dev-server", + "name": "import-local", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "pkg-dir" => Edge { + "name": "pkg-dir", + "spec": "^3.0.0", + "to": "node_modules/pkg-dir", + "type": "prod", + }, + "resolve-cwd" => Edge { + "name": "resolve-cwd", + "spec": "^2.0.0", + "to": "node_modules/resolve-cwd", + "type": "prod", + }, + }, + "location": "node_modules/import-local", + "name": "import-local", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", + }, + "imurmurhash" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/fs-write-stream-atomic", + "name": "imurmurhash", + "spec": "^0.1.4", + "type": "prod", + }, + Edge { + "from": "node_modules/unique-slug", + "name": "imurmurhash", + "spec": "^0.1.4", + "type": "prod", + }, + }, + "location": "node_modules/imurmurhash", + "name": "imurmurhash", + "peer": true, + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + }, + "infer-owner" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/cacache", + "name": "infer-owner", + "spec": "^1.0.3", + "type": "prod", + }, + }, + "location": "node_modules/infer-owner", + "name": "infer-owner", + "peer": true, + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + }, + "inflight" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/glob", + "name": "inflight", + "spec": "^1.0.4", + "type": "prod", + }, + }, + "edgesOut": Map { + "once" => Edge { + "name": "once", + "spec": "^1.3.0", + "to": "node_modules/once", + "type": "prod", + }, + "wrappy" => Edge { + "name": "wrappy", + "spec": "1", + "to": "node_modules/wrappy", + "type": "prod", + }, + }, + "location": "node_modules/inflight", + "name": "inflight", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + }, + "inherits" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/asn1.js", + "name": "inherits", + "spec": "^2.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/browserify-aes", + "name": "inherits", + "spec": "^2.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/browserify-des", + "name": "inherits", + "spec": "^2.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/browserify-sign", + "name": "inherits", + "spec": "^2.0.4", + "type": "prod", + }, + Edge { + "from": "node_modules/browserify-sign/node_modules/readable-stream", + "name": "inherits", + "spec": "^2.0.3", + "type": "prod", + }, + Edge { + "from": "node_modules/chokidar", + "name": "inherits", + "spec": "^2.0.3", + "type": "prod", + }, + Edge { + "from": "node_modules/cipher-base", + "name": "inherits", + "spec": "^2.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/concat-stream", + "name": "inherits", + "spec": "^2.0.3", + "type": "prod", + }, + Edge { + "from": "node_modules/create-hash", + "name": "inherits", + "spec": "^2.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/create-hmac", + "name": "inherits", + "spec": "^2.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/crypto-browserify", + "name": "inherits", + "spec": "^2.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/des.js", + "name": "inherits", + "spec": "^2.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/duplexify", + "name": "inherits", + "spec": "^2.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/elliptic", + "name": "inherits", + "spec": "^2.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/flush-write-stream", + "name": "inherits", + "spec": "^2.0.3", + "type": "prod", + }, + Edge { + "from": "node_modules/from2", + "name": "inherits", + "spec": "^2.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/glob", + "name": "inherits", + "spec": "2", + "type": "prod", + }, + Edge { + "from": "node_modules/hash-base", + "name": "inherits", + "spec": "^2.0.4", + "type": "prod", + }, + Edge { + "from": "node_modules/hash-base/node_modules/readable-stream", + "name": "inherits", + "spec": "^2.0.3", + "type": "prod", + }, + Edge { + "from": "node_modules/hash.js", + "name": "inherits", + "spec": "^2.0.3", + "type": "prod", + }, + Edge { + "from": "node_modules/hpack.js", + "name": "inherits", + "spec": "^2.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/md5.js", + "name": "inherits", + "spec": "^2.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/parallel-transform", + "name": "inherits", + "spec": "^2.0.3", + "type": "prod", + }, + Edge { + "from": "node_modules/pumpify", + "name": "inherits", + "spec": "^2.0.3", + "type": "prod", + }, + Edge { + "from": "node_modules/readable-stream", + "name": "inherits", + "spec": "~2.0.3", + "type": "prod", + }, + Edge { + "from": "node_modules/ripemd160", + "name": "inherits", + "spec": "^2.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/sha.js", + "name": "inherits", + "spec": "^2.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/sockjs-client", + "name": "inherits", + "spec": "^2.0.3", + "type": "prod", + }, + Edge { + "from": "node_modules/spdy-transport/node_modules/readable-stream", + "name": "inherits", + "spec": "^2.0.3", + "type": "prod", + }, + Edge { + "from": "node_modules/stream-browserify", + "name": "inherits", + "spec": "~2.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/stream-http", + "name": "inherits", + "spec": "^2.0.1", + "type": "prod", + }, + }, + "location": "node_modules/inherits", + "name": "inherits", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + }, + "internal-ip" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/webpack-dev-server", + "name": "internal-ip", + "spec": "^4.3.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "default-gateway" => Edge { + "name": "default-gateway", + "spec": "^4.2.0", + "to": "node_modules/default-gateway", + "type": "prod", + }, + "ipaddr.js" => Edge { + "name": "ipaddr.js", + "spec": "^1.9.0", + "to": "node_modules/ipaddr.js", + "type": "prod", + }, + }, + "location": "node_modules/internal-ip", + "name": "internal-ip", + "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", + }, + "ip" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/dns-packet", + "name": "ip", + "spec": "^1.1.0", + "type": "prod", + }, + Edge { + "from": "node_modules/webpack-dev-server", + "name": "ip", + "spec": "^1.1.5", + "type": "prod", + }, + }, + "location": "node_modules/ip", + "name": "ip", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + }, + "ip-regex" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/default-gateway", + "name": "ip-regex", + "spec": "^2.1.0", + "type": "prod", + }, + }, + "location": "node_modules/ip-regex", + "name": "ip-regex", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + }, + "ipaddr.js" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/internal-ip", + "name": "ipaddr.js", + "spec": "^1.9.0", + "type": "prod", + }, + Edge { + "from": "node_modules/proxy-addr", + "name": "ipaddr.js", + "spec": "1.9.1", + "type": "prod", + }, + }, + "location": "node_modules/ipaddr.js", + "name": "ipaddr.js", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + }, + "is-absolute-url" => Node { + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", + }, + "is-accessor-descriptor" => Node { + "children": Map { + "kind-of" => Node { + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/is-descriptor", + "name": "is-accessor-descriptor", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "kind-of" => Edge { + "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", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + }, + "is-arguments" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/deep-equal", + "name": "is-arguments", + "spec": "^1.0.4", + "type": "prod", + }, + }, + "location": "node_modules/is-arguments", + "name": "is-arguments", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz", + }, + "is-binary-path" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/chokidar", + "name": "is-binary-path", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "binary-extensions" => Edge { + "name": "binary-extensions", + "spec": "^1.0.0", + "to": "node_modules/binary-extensions", + "type": "prod", + }, + }, + "location": "node_modules/is-binary-path", + "name": "is-binary-path", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + }, + "is-buffer" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/has-values/node_modules/kind-of", + "name": "is-buffer", + "spec": "^1.1.5", + "type": "prod", + }, + Edge { + "from": "node_modules/kind-of", + "name": "is-buffer", + "spec": "^1.1.5", + "type": "prod", + }, + }, + "location": "node_modules/is-buffer", + "name": "is-buffer", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + }, + "is-callable" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/es-abstract", + "name": "is-callable", + "spec": "^1.2.2", + "type": "prod", + }, + Edge { + "from": "node_modules/es-to-primitive", + "name": "is-callable", + "spec": "^1.1.4", + "type": "prod", + }, + Edge { + "from": "node_modules/regexp.prototype.flags/node_modules/es-abstract", + "name": "is-callable", + "spec": "^1.2.2", + "type": "prod", + }, + Edge { + "from": "node_modules/string.prototype.trimend/node_modules/es-abstract", + "name": "is-callable", + "spec": "^1.2.2", + "type": "prod", + }, + Edge { + "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", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", + }, + "is-data-descriptor" => Node { + "children": Map { + "kind-of" => Node { + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/is-descriptor", + "name": "is-data-descriptor", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "kind-of" => Edge { + "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", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + }, + "is-date-object" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/deep-equal", + "name": "is-date-object", + "spec": "^1.0.1", + "type": "prod", + }, + Edge { + "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", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", + }, + "is-descriptor" => Node { + "children": Map { + "kind-of" => Node { + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/base/node_modules/define-property", + "name": "is-descriptor", + "spec": "^1.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/define-property", + "name": "is-descriptor", + "spec": "^1.0.2", + "type": "prod", + }, + Edge { + "from": "node_modules/extglob/node_modules/define-property", + "name": "is-descriptor", + "spec": "^1.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/snapdragon-node/node_modules/define-property", + "name": "is-descriptor", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-accessor-descriptor" => Edge { + "name": "is-accessor-descriptor", + "spec": "^1.0.0", + "to": "node_modules/is-accessor-descriptor", + "type": "prod", + }, + "is-data-descriptor" => Edge { + "name": "is-data-descriptor", + "spec": "^1.0.0", + "to": "node_modules/is-data-descriptor", + "type": "prod", + }, + "kind-of" => Edge { + "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", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + }, + "is-extendable" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/extend-shallow", + "name": "is-extendable", + "spec": "^0.1.0", + "type": "prod", + }, + Edge { + "from": "node_modules/set-value", + "name": "is-extendable", + "spec": "^0.1.1", + "type": "prod", + }, + Edge { + "from": "node_modules/union-value", + "name": "is-extendable", + "spec": "^0.1.1", + "type": "prod", + }, + }, + "location": "node_modules/is-extendable", + "name": "is-extendable", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + }, + "is-extglob" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/glob-parent/node_modules/is-glob", + "name": "is-extglob", + "spec": "^2.1.0", + "type": "prod", + }, + Edge { + "from": "node_modules/is-glob", + "name": "is-extglob", + "spec": "^2.1.1", + "type": "prod", + }, + }, + "location": "node_modules/is-extglob", + "name": "is-extglob", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + }, + "is-fullwidth-code-point" => Node { + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + }, + "is-glob" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/chokidar", + "name": "is-glob", + "spec": "^4.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/http-proxy-middleware", + "name": "is-glob", + "spec": "^4.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/watchpack/node_modules/chokidar", + "name": "is-glob", + "spec": "~4.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/watchpack/node_modules/glob-parent", + "name": "is-glob", + "spec": "^4.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-extglob" => Edge { + "name": "is-extglob", + "spec": "^2.1.1", + "to": "node_modules/is-extglob", + "type": "prod", + }, + }, + "location": "node_modules/is-glob", + "name": "is-glob", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + }, + "is-negative-zero" => Node { + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.0.tgz", + }, + "is-number" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/fill-range", + "name": "is-number", + "spec": "^3.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/has-values", + "name": "is-number", + "spec": "^3.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/to-regex-range", + "name": "is-number", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "kind-of" => Edge { + "name": "kind-of", + "spec": "^3.0.2", + "to": "node_modules/kind-of", + "type": "prod", + }, + }, + "location": "node_modules/is-number", + "name": "is-number", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + }, + "is-path-cwd" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/del", + "name": "is-path-cwd", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/is-path-cwd", + "name": "is-path-cwd", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + }, + "is-path-in-cwd" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/del", + "name": "is-path-in-cwd", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-path-inside" => Edge { + "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", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", + }, + "is-path-inside" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/is-path-in-cwd", + "name": "is-path-inside", + "spec": "^2.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "path-is-inside" => Edge { + "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", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", + }, + "is-plain-object" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/micromatch/node_modules/is-extendable", + "name": "is-plain-object", + "spec": "^2.0.4", + "type": "prod", + }, + Edge { + "from": "node_modules/mixin-deep/node_modules/is-extendable", + "name": "is-plain-object", + "spec": "^2.0.4", + "type": "prod", + }, + Edge { + "from": "node_modules/nanomatch/node_modules/is-extendable", + "name": "is-plain-object", + "spec": "^2.0.4", + "type": "prod", + }, + Edge { + "from": "node_modules/regex-not/node_modules/is-extendable", + "name": "is-plain-object", + "spec": "^2.0.4", + "type": "prod", + }, + Edge { + "from": "node_modules/set-value", + "name": "is-plain-object", + "spec": "^2.0.3", + "type": "prod", + }, + Edge { + "from": "node_modules/split-string/node_modules/is-extendable", + "name": "is-plain-object", + "spec": "^2.0.4", + "type": "prod", + }, + Edge { + "from": "node_modules/to-regex/node_modules/is-extendable", + "name": "is-plain-object", + "spec": "^2.0.4", + "type": "prod", + }, + }, + "edgesOut": Map { + "isobject" => Edge { + "name": "isobject", + "spec": "^3.0.1", + "to": "node_modules/isobject", + "type": "prod", + }, + }, + "location": "node_modules/is-plain-object", + "name": "is-plain-object", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + }, + "is-regex" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/deep-equal", + "name": "is-regex", + "spec": "^1.0.4", + "type": "prod", + }, + Edge { + "from": "node_modules/es-abstract", + "name": "is-regex", + "spec": "^1.1.1", + "type": "prod", + }, + Edge { + "from": "node_modules/regexp.prototype.flags/node_modules/es-abstract", + "name": "is-regex", + "spec": "^1.1.1", + "type": "prod", + }, + Edge { + "from": "node_modules/string.prototype.trimend/node_modules/es-abstract", + "name": "is-regex", + "spec": "^1.1.1", + "type": "prod", + }, + Edge { + "from": "node_modules/string.prototype.trimstart/node_modules/es-abstract", + "name": "is-regex", + "spec": "^1.1.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "has-symbols" => Edge { + "name": "has-symbols", + "spec": "^1.0.1", + "to": "node_modules/has-symbols", + "type": "prod", + }, + }, + "location": "node_modules/is-regex", + "name": "is-regex", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", + }, + "is-stream" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/execa", + "name": "is-stream", + "spec": "^1.1.0", + "type": "prod", + }, + }, + "location": "node_modules/is-stream", + "name": "is-stream", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + }, + "is-symbol" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/es-to-primitive", + "name": "is-symbol", + "spec": "^1.0.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "has-symbols" => Edge { + "name": "has-symbols", + "spec": "^1.0.1", + "to": "node_modules/has-symbols", + "type": "prod", + }, + }, + "location": "node_modules/is-symbol", + "name": "is-symbol", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", + }, + "is-windows" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/nanomatch", + "name": "is-windows", + "spec": "^1.0.2", + "type": "prod", + }, + }, + "location": "node_modules/is-windows", + "name": "is-windows", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + }, + "is-wsl" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/opn", + "name": "is-wsl", + "spec": "^1.1.0", + "type": "prod", + }, + Edge { + "from": "node_modules/terser-webpack-plugin", + "name": "is-wsl", + "spec": "^1.1.0", + "type": "prod", + }, + }, + "location": "node_modules/is-wsl", + "name": "is-wsl", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + }, + "isarray" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/buffer", + "name": "isarray", + "spec": "^1.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/readable-stream", + "name": "isarray", + "spec": "~1.0.0", + "type": "prod", + }, + Edge { + "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", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + }, + "isexe" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/which", + "name": "isexe", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/isexe", + "name": "isexe", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + }, + "isobject" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/base", + "name": "isobject", + "spec": "^3.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/braces", + "name": "isobject", + "spec": "^3.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/cache-base", + "name": "isobject", + "spec": "^3.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/class-utils", + "name": "isobject", + "spec": "^3.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/define-property", + "name": "isobject", + "spec": "^3.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/has-value", + "name": "isobject", + "spec": "^3.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/is-plain-object", + "name": "isobject", + "spec": "^3.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/object-visit", + "name": "isobject", + "spec": "^3.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/object.pick", + "name": "isobject", + "spec": "^3.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/snapdragon-node", + "name": "isobject", + "spec": "^3.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/unset-value", + "name": "isobject", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "location": "node_modules/isobject", + "name": "isobject", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + }, + "json-parse-better-errors" => Node { + "edgesIn": Set { + Edge { + "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", + "peer": true, + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + }, + "json-schema-traverse" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/ajv", + "name": "json-schema-traverse", + "spec": "^0.4.1", + "type": "prod", + }, + }, + "location": "node_modules/json-schema-traverse", + "name": "json-schema-traverse", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + }, + "json3" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/sockjs-client", + "name": "json3", + "spec": "^3.3.2", + "type": "prod", + }, + }, + "location": "node_modules/json3", + "name": "json3", + "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz", + }, + "json5" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/loader-utils", + "name": "json5", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "minimist" => Edge { + "name": "minimist", + "spec": "^1.2.0", + "to": "node_modules/minimist", + "type": "prod", + }, + }, + "location": "node_modules/json5", + "name": "json5", + "peer": true, + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + }, + "killable" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/webpack-dev-server", + "name": "killable", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "location": "node_modules/killable", + "name": "killable", + "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", + }, + "kind-of" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/class-utils/node_modules/is-accessor-descriptor", + "name": "kind-of", + "spec": "^3.0.2", + "type": "prod", + }, + Edge { + "from": "node_modules/class-utils/node_modules/is-data-descriptor", + "name": "kind-of", + "spec": "^3.0.2", + "type": "prod", + }, + Edge { + "from": "node_modules/expand-brackets/node_modules/is-accessor-descriptor", + "name": "kind-of", + "spec": "^3.0.2", + "type": "prod", + }, + Edge { + "from": "node_modules/expand-brackets/node_modules/is-data-descriptor", + "name": "kind-of", + "spec": "^3.0.2", + "type": "prod", + }, + Edge { + "from": "node_modules/is-number", + "name": "kind-of", + "spec": "^3.0.2", + "type": "prod", + }, + Edge { + "from": "node_modules/object-copy", + "name": "kind-of", + "spec": "^3.0.3", + "type": "prod", + }, + Edge { + "from": "node_modules/object-copy/node_modules/is-accessor-descriptor", + "name": "kind-of", + "spec": "^3.0.2", + "type": "prod", + }, + Edge { + "from": "node_modules/object-copy/node_modules/is-data-descriptor", + "name": "kind-of", + "spec": "^3.0.2", + "type": "prod", + }, + Edge { + "from": "node_modules/snapdragon-util", + "name": "kind-of", + "spec": "^3.2.0", + "type": "prod", + }, + Edge { + "from": "node_modules/snapdragon/node_modules/is-accessor-descriptor", + "name": "kind-of", + "spec": "^3.0.2", + "type": "prod", + }, + Edge { + "from": "node_modules/snapdragon/node_modules/is-data-descriptor", + "name": "kind-of", + "spec": "^3.0.2", + "type": "prod", + }, + Edge { + "from": "node_modules/static-extend/node_modules/is-accessor-descriptor", + "name": "kind-of", + "spec": "^3.0.2", + "type": "prod", + }, + Edge { + "from": "node_modules/static-extend/node_modules/is-data-descriptor", + "name": "kind-of", + "spec": "^3.0.2", + "type": "prod", + }, + Edge { + "from": "node_modules/to-object-path", + "name": "kind-of", + "spec": "^3.0.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-buffer" => Edge { + "name": "is-buffer", + "spec": "^1.1.5", + "to": "node_modules/is-buffer", + "type": "prod", + }, + }, + "location": "node_modules/kind-of", + "name": "kind-of", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + }, + "loader-runner" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/webpack", + "name": "loader-runner", + "spec": "^2.4.0", + "type": "prod", + }, + }, + "location": "node_modules/loader-runner", + "name": "loader-runner", + "peer": true, + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + }, + "loader-utils" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/webpack", + "name": "loader-utils", + "spec": "^1.2.3", + "type": "prod", + }, + }, + "edgesOut": Map { + "big.js" => Edge { + "name": "big.js", + "spec": "^5.2.2", + "to": "node_modules/big.js", + "type": "prod", + }, + "emojis-list" => Edge { + "name": "emojis-list", + "spec": "^3.0.0", + "to": "node_modules/emojis-list", + "type": "prod", + }, + "json5" => Edge { + "name": "json5", + "spec": "^1.0.1", + "to": "node_modules/json5", + "type": "prod", + }, + }, + "location": "node_modules/loader-utils", + "name": "loader-utils", + "peer": true, + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + }, + "locate-path" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/find-up", + "name": "locate-path", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "p-locate" => Edge { + "name": "p-locate", + "spec": "^3.0.0", + "to": "node_modules/p-locate", + "type": "prod", + }, + "path-exists" => Edge { + "name": "path-exists", + "spec": "^3.0.0", + "to": "node_modules/path-exists", + "type": "prod", + }, + }, + "location": "node_modules/locate-path", + "name": "locate-path", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + }, + "lodash" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/async", + "name": "lodash", + "spec": "^4.17.14", + "type": "prod", + }, + Edge { + "from": "node_modules/http-proxy-middleware", + "name": "lodash", + "spec": "^4.17.11", + "type": "prod", + }, + }, + "location": "node_modules/lodash", + "name": "lodash", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + }, + "loglevel" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/webpack-dev-server", + "name": "loglevel", + "spec": "^1.6.8", + "type": "prod", + }, + }, + "location": "node_modules/loglevel", + "name": "loglevel", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.7.0.tgz", + }, + "lru-cache" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/cacache", + "name": "lru-cache", + "spec": "^5.1.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "yallist" => Edge { + "name": "yallist", + "spec": "^3.0.2", + "to": "node_modules/yallist", + "type": "prod", + }, + }, + "location": "node_modules/lru-cache", + "name": "lru-cache", + "peer": true, + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + }, + "make-dir" => Node { + "children": Map { + "semver" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/make-dir", + "name": "semver", + "spec": "^5.6.0", + "type": "prod", + }, + }, + "location": "node_modules/make-dir/node_modules/semver", + "name": "semver", + "peer": true, + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/find-cache-dir", + "name": "make-dir", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "pify" => Edge { + "name": "pify", + "spec": "^4.0.1", + "to": "node_modules/pify", + "type": "prod", + }, + "semver" => Edge { + "name": "semver", + "spec": "^5.6.0", + "to": "node_modules/make-dir/node_modules/semver", + "type": "prod", + }, + }, + "location": "node_modules/make-dir", + "name": "make-dir", + "peer": true, + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + }, + "map-cache" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/fragment-cache", + "name": "map-cache", + "spec": "^0.2.2", + "type": "prod", + }, + Edge { + "from": "node_modules/snapdragon", + "name": "map-cache", + "spec": "^0.2.2", + "type": "prod", + }, + }, + "location": "node_modules/map-cache", + "name": "map-cache", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + }, + "map-visit" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/collection-visit", + "name": "map-visit", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "object-visit" => Edge { + "name": "object-visit", + "spec": "^1.0.0", + "to": "node_modules/object-visit", + "type": "prod", + }, + }, + "location": "node_modules/map-visit", + "name": "map-visit", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + }, + "md5.js" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/create-hash", + "name": "md5.js", + "spec": "^1.3.4", + "type": "prod", + }, + Edge { + "from": "node_modules/evp_bytestokey", + "name": "md5.js", + "spec": "^1.3.4", + "type": "prod", + }, + }, + "edgesOut": Map { + "hash-base" => Edge { + "name": "hash-base", + "spec": "^3.0.0", + "to": "node_modules/hash-base", + "type": "prod", + }, + "inherits" => Edge { + "name": "inherits", + "spec": "^2.0.1", + "to": "node_modules/inherits", + "type": "prod", + }, + "safe-buffer" => Edge { + "name": "safe-buffer", + "spec": "^5.1.2", + "to": "node_modules/safe-buffer", + "type": "prod", + }, + }, + "location": "node_modules/md5.js", + "name": "md5.js", + "peer": true, + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + }, + "media-typer" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/type-is", + "name": "media-typer", + "spec": "0.3.0", + "type": "prod", + }, + }, + "location": "node_modules/media-typer", + "name": "media-typer", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + }, + "memory-fs" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/webpack", + "name": "memory-fs", + "spec": "^0.4.1", + "type": "prod", + }, + Edge { + "from": "node_modules/webpack-dev-middleware", + "name": "memory-fs", + "spec": "^0.4.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "errno" => Edge { + "name": "errno", + "spec": "^0.1.3", + "to": "node_modules/errno", + "type": "prod", + }, + "readable-stream" => Edge { + "name": "readable-stream", + "spec": "^2.0.1", + "to": "node_modules/readable-stream", + "type": "prod", + }, + }, + "location": "node_modules/memory-fs", + "name": "memory-fs", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + }, + "merge-descriptors" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/express", + "name": "merge-descriptors", + "spec": "1.0.1", + "type": "prod", + }, + }, + "location": "node_modules/merge-descriptors", + "name": "merge-descriptors", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + }, + "methods" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/express", + "name": "methods", + "spec": "~1.1.2", + "type": "prod", + }, + }, + "location": "node_modules/methods", + "name": "methods", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + }, + "micromatch" => Node { + "children": Map { + "extend-shallow" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/micromatch", + "name": "extend-shallow", + "spec": "^3.0.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "assign-symbols" => Edge { + "name": "assign-symbols", + "spec": "^1.0.0", + "to": "node_modules/assign-symbols", + "type": "prod", + }, + "is-extendable" => Edge { + "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", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + }, + "is-extendable" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/micromatch/node_modules/extend-shallow", + "name": "is-extendable", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-plain-object" => Edge { + "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", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + }, + "kind-of" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/micromatch", + "name": "kind-of", + "spec": "^6.0.2", + "type": "prod", + }, + }, + "location": "node_modules/micromatch/node_modules/kind-of", + "name": "kind-of", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/anymatch", + "name": "micromatch", + "spec": "^3.1.4", + "type": "prod", + }, + Edge { + "from": "node_modules/http-proxy-middleware", + "name": "micromatch", + "spec": "^3.1.10", + "type": "prod", + }, + Edge { + "from": "node_modules/readdirp", + "name": "micromatch", + "spec": "^3.1.10", + "type": "prod", + }, + Edge { + "from": "node_modules/webpack", + "name": "micromatch", + "spec": "^3.1.10", + "type": "prod", + }, + }, + "edgesOut": Map { + "arr-diff" => Edge { + "name": "arr-diff", + "spec": "^4.0.0", + "to": "node_modules/arr-diff", + "type": "prod", + }, + "array-unique" => Edge { + "name": "array-unique", + "spec": "^0.3.2", + "to": "node_modules/array-unique", + "type": "prod", + }, + "braces" => Edge { + "name": "braces", + "spec": "^2.3.1", + "to": "node_modules/braces", + "type": "prod", + }, + "define-property" => Edge { + "name": "define-property", + "spec": "^2.0.2", + "to": "node_modules/define-property", + "type": "prod", + }, + "extend-shallow" => Edge { + "name": "extend-shallow", + "spec": "^3.0.2", + "to": "node_modules/micromatch/node_modules/extend-shallow", + "type": "prod", + }, + "extglob" => Edge { + "name": "extglob", + "spec": "^2.0.4", + "to": "node_modules/extglob", + "type": "prod", + }, + "fragment-cache" => Edge { + "name": "fragment-cache", + "spec": "^0.2.1", + "to": "node_modules/fragment-cache", + "type": "prod", + }, + "kind-of" => Edge { + "name": "kind-of", + "spec": "^6.0.2", + "to": "node_modules/micromatch/node_modules/kind-of", + "type": "prod", + }, + "nanomatch" => Edge { + "name": "nanomatch", + "spec": "^1.2.9", + "to": "node_modules/nanomatch", + "type": "prod", + }, + "object.pick" => Edge { + "name": "object.pick", + "spec": "^1.3.0", + "to": "node_modules/object.pick", + "type": "prod", + }, + "regex-not" => Edge { + "name": "regex-not", + "spec": "^1.0.0", + "to": "node_modules/regex-not", + "type": "prod", + }, + "snapdragon" => Edge { + "name": "snapdragon", + "spec": "^0.8.1", + "to": "node_modules/snapdragon", + "type": "prod", + }, + "to-regex" => Edge { + "name": "to-regex", + "spec": "^3.0.2", + "to": "node_modules/to-regex", + "type": "prod", + }, + }, + "location": "node_modules/micromatch", + "name": "micromatch", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + }, + "miller-rabin" => Node { + "children": Map { + "bn.js" => Node { + "edgesIn": Set { + Edge { + "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", + "peer": true, + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/diffie-hellman", + "name": "miller-rabin", + "spec": "^4.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "bn.js" => Edge { + "name": "bn.js", + "spec": "^4.0.0", + "to": "node_modules/miller-rabin/node_modules/bn.js", + "type": "prod", + }, + "brorand" => Edge { + "name": "brorand", + "spec": "^1.0.1", + "to": "node_modules/brorand", + "type": "prod", + }, + }, + "location": "node_modules/miller-rabin", + "name": "miller-rabin", + "peer": true, + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + }, + "mime" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/send", + "name": "mime", + "spec": "1.6.0", + "type": "prod", + }, + }, + "location": "node_modules/mime", + "name": "mime", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + }, + "mime-db" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/compressible", + "name": "mime-db", + "spec": ">= 1.43.0 < 2", + "type": "prod", + }, + Edge { + "from": "node_modules/mime-types", + "name": "mime-db", + "spec": "1.44.0", + "type": "prod", + }, + }, + "location": "node_modules/mime-db", + "name": "mime-db", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", + }, + "mime-types" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/accepts", + "name": "mime-types", + "spec": "~2.1.24", + "type": "prod", + }, + Edge { + "from": "node_modules/serve-index", + "name": "mime-types", + "spec": "~2.1.17", + "type": "prod", + }, + Edge { + "from": "node_modules/type-is", + "name": "mime-types", + "spec": "~2.1.24", + "type": "prod", + }, + }, + "edgesOut": Map { + "mime-db" => Edge { + "name": "mime-db", + "spec": "1.44.0", + "to": "node_modules/mime-db", + "type": "prod", + }, + }, + "location": "node_modules/mime-types", + "name": "mime-types", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", + }, + "minimalistic-assert" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/asn1.js", + "name": "minimalistic-assert", + "spec": "^1.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/des.js", + "name": "minimalistic-assert", + "spec": "^1.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/elliptic", + "name": "minimalistic-assert", + "spec": "^1.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/hash.js", + "name": "minimalistic-assert", + "spec": "^1.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/hmac-drbg", + "name": "minimalistic-assert", + "spec": "^1.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/wbuf", + "name": "minimalistic-assert", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/minimalistic-assert", + "name": "minimalistic-assert", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + }, + "minimalistic-crypto-utils" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/elliptic", + "name": "minimalistic-crypto-utils", + "spec": "^1.0.0", + "type": "prod", + }, + Edge { + "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", + "peer": true, + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + }, + "minimatch" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/glob", + "name": "minimatch", + "spec": "^3.0.4", + "type": "prod", + }, + }, + "edgesOut": Map { + "brace-expansion" => Edge { + "name": "brace-expansion", + "spec": "^1.1.7", + "to": "node_modules/brace-expansion", + "type": "prod", + }, + }, + "location": "node_modules/minimatch", + "name": "minimatch", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + }, + "minimist" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/json5", + "name": "minimist", + "spec": "^1.2.0", + "type": "prod", + }, + Edge { + "from": "node_modules/mkdirp", + "name": "minimist", + "spec": "^1.2.5", + "type": "prod", + }, + }, + "location": "node_modules/minimist", + "name": "minimist", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + }, + "mississippi" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/cacache", + "name": "mississippi", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "concat-stream" => Edge { + "name": "concat-stream", + "spec": "^1.5.0", + "to": "node_modules/concat-stream", + "type": "prod", + }, + "duplexify" => Edge { + "name": "duplexify", + "spec": "^3.4.2", + "to": "node_modules/duplexify", + "type": "prod", + }, + "end-of-stream" => Edge { + "name": "end-of-stream", + "spec": "^1.1.0", + "to": "node_modules/end-of-stream", + "type": "prod", + }, + "flush-write-stream" => Edge { + "name": "flush-write-stream", + "spec": "^1.0.0", + "to": "node_modules/flush-write-stream", + "type": "prod", + }, + "from2" => Edge { + "name": "from2", + "spec": "^2.1.0", + "to": "node_modules/from2", + "type": "prod", + }, + "parallel-transform" => Edge { + "name": "parallel-transform", + "spec": "^1.1.0", + "to": "node_modules/parallel-transform", + "type": "prod", + }, + "pump" => Edge { + "name": "pump", + "spec": "^3.0.0", + "to": "node_modules/pump", + "type": "prod", + }, + "pumpify" => Edge { + "name": "pumpify", + "spec": "^1.3.3", + "to": "node_modules/pumpify", + "type": "prod", + }, + "stream-each" => Edge { + "name": "stream-each", + "spec": "^1.1.0", + "to": "node_modules/stream-each", + "type": "prod", + }, + "through2" => Edge { + "name": "through2", + "spec": "^2.0.0", + "to": "node_modules/through2", + "type": "prod", + }, + }, + "location": "node_modules/mississippi", + "name": "mississippi", + "peer": true, + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + }, + "mixin-deep" => Node { + "children": Map { + "is-extendable" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/mixin-deep", + "name": "is-extendable", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-plain-object" => Edge { + "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", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/base", + "name": "mixin-deep", + "spec": "^1.2.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "for-in" => Edge { + "name": "for-in", + "spec": "^1.0.2", + "to": "node_modules/for-in", + "type": "prod", + }, + "is-extendable" => Edge { + "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", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + }, + "mkdirp" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/cacache", + "name": "mkdirp", + "spec": "^0.5.1", + "type": "prod", + }, + Edge { + "from": "node_modules/copy-concurrently", + "name": "mkdirp", + "spec": "^0.5.1", + "type": "prod", + }, + Edge { + "from": "node_modules/move-concurrently", + "name": "mkdirp", + "spec": "^0.5.1", + "type": "prod", + }, + Edge { + "from": "node_modules/portfinder", + "name": "mkdirp", + "spec": "^0.5.5", + "type": "prod", + }, + Edge { + "from": "node_modules/webpack", + "name": "mkdirp", + "spec": "^0.5.3", + "type": "prod", + }, + Edge { + "from": "node_modules/webpack-dev-middleware", + "name": "mkdirp", + "spec": "^0.5.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "minimist" => Edge { + "name": "minimist", + "spec": "^1.2.5", + "to": "node_modules/minimist", + "type": "prod", + }, + }, + "location": "node_modules/mkdirp", + "name": "mkdirp", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + }, + "move-concurrently" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/cacache", + "name": "move-concurrently", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "aproba" => Edge { + "name": "aproba", + "spec": "^1.1.1", + "to": "node_modules/aproba", + "type": "prod", + }, + "copy-concurrently" => Edge { + "name": "copy-concurrently", + "spec": "^1.0.0", + "to": "node_modules/copy-concurrently", + "type": "prod", + }, + "fs-write-stream-atomic" => Edge { + "name": "fs-write-stream-atomic", + "spec": "^1.0.8", + "to": "node_modules/fs-write-stream-atomic", + "type": "prod", + }, + "mkdirp" => Edge { + "name": "mkdirp", + "spec": "^0.5.1", + "to": "node_modules/mkdirp", + "type": "prod", + }, + "rimraf" => Edge { + "name": "rimraf", + "spec": "^2.5.4", + "to": "node_modules/rimraf", + "type": "prod", + }, + "run-queue" => Edge { + "name": "run-queue", + "spec": "^1.0.3", + "to": "node_modules/run-queue", + "type": "prod", + }, + }, + "location": "node_modules/move-concurrently", + "name": "move-concurrently", + "peer": true, + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + }, + "ms" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/debug", + "name": "ms", + "spec": "2.1.2", + "type": "prod", + }, + Edge { + "from": "node_modules/portfinder/node_modules/debug", + "name": "ms", + "spec": "^2.1.1", + "type": "prod", + }, + Edge { + "from": "node_modules/sockjs-client/node_modules/debug", + "name": "ms", + "spec": "^2.1.1", + "type": "prod", + }, + }, + "location": "node_modules/ms", + "name": "ms", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + }, + "multicast-dns" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/bonjour", + "name": "multicast-dns", + "spec": "^6.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "dns-packet" => Edge { + "name": "dns-packet", + "spec": "^1.3.1", + "to": "node_modules/dns-packet", + "type": "prod", + }, + "thunky" => Edge { + "name": "thunky", + "spec": "^1.0.2", + "to": "node_modules/thunky", + "type": "prod", + }, + }, + "location": "node_modules/multicast-dns", + "name": "multicast-dns", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", + }, + "multicast-dns-service-types" => Node { + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", + }, + "nan" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/fsevents", + "name": "nan", + "spec": "^2.12.1", + "type": "prod", + }, + }, + "location": "node_modules/nan", + "name": "nan", + "optional": true, + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", + }, + "nanomatch" => Node { + "children": Map { + "extend-shallow" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/nanomatch", + "name": "extend-shallow", + "spec": "^3.0.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "assign-symbols" => Edge { + "name": "assign-symbols", + "spec": "^1.0.0", + "to": "node_modules/assign-symbols", + "type": "prod", + }, + "is-extendable" => Edge { + "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", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + }, + "is-extendable" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/nanomatch/node_modules/extend-shallow", + "name": "is-extendable", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-plain-object" => Edge { + "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", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + }, + "kind-of" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/nanomatch", + "name": "kind-of", + "spec": "^6.0.2", + "type": "prod", + }, + }, + "location": "node_modules/nanomatch/node_modules/kind-of", + "name": "kind-of", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/micromatch", + "name": "nanomatch", + "spec": "^1.2.9", + "type": "prod", + }, + }, + "edgesOut": Map { + "arr-diff" => Edge { + "name": "arr-diff", + "spec": "^4.0.0", + "to": "node_modules/arr-diff", + "type": "prod", + }, + "array-unique" => Edge { + "name": "array-unique", + "spec": "^0.3.2", + "to": "node_modules/array-unique", + "type": "prod", + }, + "define-property" => Edge { + "name": "define-property", + "spec": "^2.0.2", + "to": "node_modules/define-property", + "type": "prod", + }, + "extend-shallow" => Edge { + "name": "extend-shallow", + "spec": "^3.0.2", + "to": "node_modules/nanomatch/node_modules/extend-shallow", + "type": "prod", + }, + "fragment-cache" => Edge { + "name": "fragment-cache", + "spec": "^0.2.1", + "to": "node_modules/fragment-cache", + "type": "prod", + }, + "is-windows" => Edge { + "name": "is-windows", + "spec": "^1.0.2", + "to": "node_modules/is-windows", + "type": "prod", + }, + "kind-of" => Edge { + "name": "kind-of", + "spec": "^6.0.2", + "to": "node_modules/nanomatch/node_modules/kind-of", + "type": "prod", + }, + "object.pick" => Edge { + "name": "object.pick", + "spec": "^1.3.0", + "to": "node_modules/object.pick", + "type": "prod", + }, + "regex-not" => Edge { + "name": "regex-not", + "spec": "^1.0.0", + "to": "node_modules/regex-not", + "type": "prod", + }, + "snapdragon" => Edge { + "name": "snapdragon", + "spec": "^0.8.1", + "to": "node_modules/snapdragon", + "type": "prod", + }, + "to-regex" => Edge { + "name": "to-regex", + "spec": "^3.0.1", + "to": "node_modules/to-regex", + "type": "prod", + }, + }, + "location": "node_modules/nanomatch", + "name": "nanomatch", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + }, + "native-url" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/@pmmmwh/react-refresh-webpack-plugin", + "name": "native-url", + "spec": "^0.2.6", + "type": "prod", + }, + }, + "edgesOut": Map { + "querystring" => Edge { + "name": "querystring", + "spec": "^0.2.0", + "to": "node_modules/querystring", + "type": "prod", + }, + }, + "location": "node_modules/native-url", + "name": "native-url", + "resolved": "https://registry.npmjs.org/native-url/-/native-url-0.2.6.tgz", + }, + "negotiator" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/accepts", + "name": "negotiator", + "spec": "0.6.2", + "type": "prod", + }, + }, + "location": "node_modules/negotiator", + "name": "negotiator", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + }, + "neo-async" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/watchpack", + "name": "neo-async", + "spec": "^2.5.0", + "type": "prod", + }, + Edge { + "from": "node_modules/webpack", + "name": "neo-async", + "spec": "^2.6.1", + "type": "prod", + }, + }, + "location": "node_modules/neo-async", + "name": "neo-async", + "peer": true, + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + }, + "nice-try" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/cross-spawn", + "name": "nice-try", + "spec": "^1.0.4", + "type": "prod", + }, + }, + "location": "node_modules/nice-try", + "name": "nice-try", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + }, + "node-forge" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/selfsigned", + "name": "node-forge", + "spec": "^0.10.0", + "type": "prod", + }, + }, + "location": "node_modules/node-forge", + "name": "node-forge", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", + }, + "node-libs-browser" => Node { + "children": Map { + "punycode" => Node { + "edgesIn": Set { + Edge { + "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", + "peer": true, + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/webpack", + "name": "node-libs-browser", + "spec": "^2.2.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "assert" => Edge { + "name": "assert", + "spec": "^1.1.1", + "to": "node_modules/assert", + "type": "prod", + }, + "browserify-zlib" => Edge { + "name": "browserify-zlib", + "spec": "^0.2.0", + "to": "node_modules/browserify-zlib", + "type": "prod", + }, + "buffer" => Edge { + "name": "buffer", + "spec": "^4.3.0", + "to": "node_modules/buffer", + "type": "prod", + }, + "console-browserify" => Edge { + "name": "console-browserify", + "spec": "^1.1.0", + "to": "node_modules/console-browserify", + "type": "prod", + }, + "constants-browserify" => Edge { + "name": "constants-browserify", + "spec": "^1.0.0", + "to": "node_modules/constants-browserify", + "type": "prod", + }, + "crypto-browserify" => Edge { + "name": "crypto-browserify", + "spec": "^3.11.0", + "to": "node_modules/crypto-browserify", + "type": "prod", + }, + "domain-browser" => Edge { + "name": "domain-browser", + "spec": "^1.1.1", + "to": "node_modules/domain-browser", + "type": "prod", + }, + "events" => Edge { + "name": "events", + "spec": "^3.0.0", + "to": "node_modules/events", + "type": "prod", + }, + "https-browserify" => Edge { + "name": "https-browserify", + "spec": "^1.0.0", + "to": "node_modules/https-browserify", + "type": "prod", + }, + "os-browserify" => Edge { + "name": "os-browserify", + "spec": "^0.3.0", + "to": "node_modules/os-browserify", + "type": "prod", + }, + "path-browserify" => Edge { + "name": "path-browserify", + "spec": "0.0.1", + "to": "node_modules/path-browserify", + "type": "prod", + }, + "process" => Edge { + "name": "process", + "spec": "^0.11.10", + "to": "node_modules/process", + "type": "prod", + }, + "punycode" => Edge { + "name": "punycode", + "spec": "^1.2.4", + "to": "node_modules/node-libs-browser/node_modules/punycode", + "type": "prod", + }, + "querystring-es3" => Edge { + "name": "querystring-es3", + "spec": "^0.2.0", + "to": "node_modules/querystring-es3", + "type": "prod", + }, + "readable-stream" => Edge { + "name": "readable-stream", + "spec": "^2.3.3", + "to": "node_modules/readable-stream", + "type": "prod", + }, + "stream-browserify" => Edge { + "name": "stream-browserify", + "spec": "^2.0.1", + "to": "node_modules/stream-browserify", + "type": "prod", + }, + "stream-http" => Edge { + "name": "stream-http", + "spec": "^2.7.2", + "to": "node_modules/stream-http", + "type": "prod", + }, + "string_decoder" => Edge { + "name": "string_decoder", + "spec": "^1.0.0", + "to": "node_modules/string_decoder", + "type": "prod", + }, + "timers-browserify" => Edge { + "name": "timers-browserify", + "spec": "^2.0.4", + "to": "node_modules/timers-browserify", + "type": "prod", + }, + "tty-browserify" => Edge { + "name": "tty-browserify", + "spec": "0.0.0", + "to": "node_modules/tty-browserify", + "type": "prod", + }, + "url" => Edge { + "name": "url", + "spec": "^0.11.0", + "to": "node_modules/url", + "type": "prod", + }, + "util" => Edge { + "name": "util", + "spec": "^0.11.0", + "to": "node_modules/util", + "type": "prod", + }, + "vm-browserify" => Edge { + "name": "vm-browserify", + "spec": "^1.0.1", + "to": "node_modules/vm-browserify", + "type": "prod", + }, + }, + "location": "node_modules/node-libs-browser", + "name": "node-libs-browser", + "peer": true, + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + }, + "normalize-path" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/chokidar", + "name": "normalize-path", + "spec": "^3.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/watchpack/node_modules/anymatch", + "name": "normalize-path", + "spec": "^3.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/watchpack/node_modules/chokidar", + "name": "normalize-path", + "spec": "~3.0.0", + "type": "prod", + }, + }, + "location": "node_modules/normalize-path", + "name": "normalize-path", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + }, + "npm-run-path" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/execa", + "name": "npm-run-path", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "path-key" => Edge { + "name": "path-key", + "spec": "^2.0.0", + "to": "node_modules/path-key", + "type": "prod", + }, + }, + "location": "node_modules/npm-run-path", + "name": "npm-run-path", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + }, + "object-assign" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/assert", + "name": "object-assign", + "spec": "^4.1.1", + "type": "prod", + }, + Edge { + "from": "node_modules/globby", + "name": "object-assign", + "spec": "^4.0.1", + "type": "prod", + }, + }, + "location": "node_modules/object-assign", + "name": "object-assign", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + }, + "object-copy" => Node { + "children": Map { + "define-property" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/object-copy", + "name": "define-property", + "spec": "^0.2.5", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-descriptor" => Edge { + "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", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + }, + "is-accessor-descriptor" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/object-copy/node_modules/is-descriptor", + "name": "is-accessor-descriptor", + "spec": "^0.1.6", + "type": "prod", + }, + }, + "edgesOut": Map { + "kind-of" => Edge { + "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", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + }, + "is-data-descriptor" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/object-copy/node_modules/is-descriptor", + "name": "is-data-descriptor", + "spec": "^0.1.4", + "type": "prod", + }, + }, + "edgesOut": Map { + "kind-of" => Edge { + "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", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + }, + "is-descriptor" => Node { + "children": Map { + "kind-of" => Node { + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/object-copy/node_modules/define-property", + "name": "is-descriptor", + "spec": "^0.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-accessor-descriptor" => Edge { + "name": "is-accessor-descriptor", + "spec": "^0.1.6", + "to": "node_modules/object-copy/node_modules/is-accessor-descriptor", + "type": "prod", + }, + "is-data-descriptor" => Edge { + "name": "is-data-descriptor", + "spec": "^0.1.4", + "to": "node_modules/object-copy/node_modules/is-data-descriptor", + "type": "prod", + }, + "kind-of" => Edge { + "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", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/static-extend", + "name": "object-copy", + "spec": "^0.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "copy-descriptor" => Edge { + "name": "copy-descriptor", + "spec": "^0.1.0", + "to": "node_modules/copy-descriptor", + "type": "prod", + }, + "define-property" => Edge { + "name": "define-property", + "spec": "^0.2.5", + "to": "node_modules/object-copy/node_modules/define-property", + "type": "prod", + }, + "kind-of" => Edge { + "name": "kind-of", + "spec": "^3.0.3", + "to": "node_modules/kind-of", + "type": "prod", + }, + }, + "location": "node_modules/object-copy", + "name": "object-copy", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + }, + "object-inspect" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/es-abstract", + "name": "object-inspect", + "spec": "^1.8.0", + "type": "prod", + }, + Edge { + "from": "node_modules/regexp.prototype.flags/node_modules/es-abstract", + "name": "object-inspect", + "spec": "^1.8.0", + "type": "prod", + }, + Edge { + "from": "node_modules/string.prototype.trimend/node_modules/es-abstract", + "name": "object-inspect", + "spec": "^1.8.0", + "type": "prod", + }, + Edge { + "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", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", + }, + "object-is" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/deep-equal", + "name": "object-is", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "define-properties" => Edge { + "name": "define-properties", + "spec": "^1.1.3", + "to": "node_modules/define-properties", + "type": "prod", + }, + "es-abstract" => Edge { + "name": "es-abstract", + "spec": "^1.18.0-next.1", + "to": "node_modules/es-abstract", + "type": "prod", + }, + }, + "location": "node_modules/object-is", + "name": "object-is", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.3.tgz", + }, + "object-keys" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/deep-equal", + "name": "object-keys", + "spec": "^1.1.1", + "type": "prod", + }, + Edge { + "from": "node_modules/define-properties", + "name": "object-keys", + "spec": "^1.0.12", + "type": "prod", + }, + Edge { + "from": "node_modules/es-abstract", + "name": "object-keys", + "spec": "^1.1.1", + "type": "prod", + }, + Edge { + "from": "node_modules/object.assign", + "name": "object-keys", + "spec": "^1.1.1", + "type": "prod", + }, + Edge { + "from": "node_modules/regexp.prototype.flags/node_modules/es-abstract", + "name": "object-keys", + "spec": "^1.1.1", + "type": "prod", + }, + Edge { + "from": "node_modules/string.prototype.trimend/node_modules/es-abstract", + "name": "object-keys", + "spec": "^1.1.1", + "type": "prod", + }, + Edge { + "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", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + }, + "object-visit" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/collection-visit", + "name": "object-visit", + "spec": "^1.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/map-visit", + "name": "object-visit", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "isobject" => Edge { + "name": "isobject", + "spec": "^3.0.0", + "to": "node_modules/isobject", + "type": "prod", + }, + }, + "location": "node_modules/object-visit", + "name": "object-visit", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + }, + "object.assign" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/es-abstract", + "name": "object.assign", + "spec": "^4.1.1", + "type": "prod", + }, + Edge { + "from": "node_modules/regexp.prototype.flags/node_modules/es-abstract", + "name": "object.assign", + "spec": "^4.1.1", + "type": "prod", + }, + Edge { + "from": "node_modules/string.prototype.trimend/node_modules/es-abstract", + "name": "object.assign", + "spec": "^4.1.1", + "type": "prod", + }, + Edge { + "from": "node_modules/string.prototype.trimstart/node_modules/es-abstract", + "name": "object.assign", + "spec": "^4.1.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "define-properties" => Edge { + "name": "define-properties", + "spec": "^1.1.3", + "to": "node_modules/define-properties", + "type": "prod", + }, + "es-abstract" => Edge { + "name": "es-abstract", + "spec": "^1.18.0-next.0", + "to": "node_modules/es-abstract", + "type": "prod", + }, + "has-symbols" => Edge { + "name": "has-symbols", + "spec": "^1.0.1", + "to": "node_modules/has-symbols", + "type": "prod", + }, + "object-keys" => Edge { + "name": "object-keys", + "spec": "^1.1.1", + "to": "node_modules/object-keys", + "type": "prod", + }, + }, + "location": "node_modules/object.assign", + "name": "object.assign", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.1.tgz", + }, + "object.pick" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/micromatch", + "name": "object.pick", + "spec": "^1.3.0", + "type": "prod", + }, + Edge { + "from": "node_modules/nanomatch", + "name": "object.pick", + "spec": "^1.3.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "isobject" => Edge { + "name": "isobject", + "spec": "^3.0.1", + "to": "node_modules/isobject", + "type": "prod", + }, + }, + "location": "node_modules/object.pick", + "name": "object.pick", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + }, + "obuf" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/hpack.js", + "name": "obuf", + "spec": "^1.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/spdy-transport", + "name": "obuf", + "spec": "^1.1.2", + "type": "prod", + }, + }, + "location": "node_modules/obuf", + "name": "obuf", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + }, + "on-finished" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/body-parser", + "name": "on-finished", + "spec": "~2.3.0", + "type": "prod", + }, + Edge { + "from": "node_modules/express", + "name": "on-finished", + "spec": "~2.3.0", + "type": "prod", + }, + Edge { + "from": "node_modules/finalhandler", + "name": "on-finished", + "spec": "~2.3.0", + "type": "prod", + }, + Edge { + "from": "node_modules/send", + "name": "on-finished", + "spec": "~2.3.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "ee-first" => Edge { + "name": "ee-first", + "spec": "1.1.1", + "to": "node_modules/ee-first", + "type": "prod", + }, + }, + "location": "node_modules/on-finished", + "name": "on-finished", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + }, + "on-headers" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/compression", + "name": "on-headers", + "spec": "~1.0.2", + "type": "prod", + }, + }, + "location": "node_modules/on-headers", + "name": "on-headers", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + }, + "once" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/end-of-stream", + "name": "once", + "spec": "^1.4.0", + "type": "prod", + }, + Edge { + "from": "node_modules/glob", + "name": "once", + "spec": "^1.3.0", + "type": "prod", + }, + Edge { + "from": "node_modules/inflight", + "name": "once", + "spec": "^1.3.0", + "type": "prod", + }, + Edge { + "from": "node_modules/pump", + "name": "once", + "spec": "^1.3.1", + "type": "prod", + }, + Edge { + "from": "node_modules/pumpify/node_modules/pump", + "name": "once", + "spec": "^1.3.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "wrappy" => Edge { + "name": "wrappy", + "spec": "1", + "to": "node_modules/wrappy", + "type": "prod", + }, + }, + "location": "node_modules/once", + "name": "once", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + }, + "opn" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/webpack-dev-server", + "name": "opn", + "spec": "^5.5.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-wsl" => Edge { + "name": "is-wsl", + "spec": "^1.1.0", + "to": "node_modules/is-wsl", + "type": "prod", + }, + }, + "location": "node_modules/opn", + "name": "opn", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", + }, + "original" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/eventsource", + "name": "original", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "url-parse" => Edge { + "name": "url-parse", + "spec": "^1.4.3", + "to": "node_modules/url-parse", + "type": "prod", + }, + }, + "location": "node_modules/original", + "name": "original", + "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", + }, + "os-browserify" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/node-libs-browser", + "name": "os-browserify", + "spec": "^0.3.0", + "type": "prod", + }, + }, + "location": "node_modules/os-browserify", + "name": "os-browserify", + "peer": true, + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + }, + "p-finally" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/execa", + "name": "p-finally", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/p-finally", + "name": "p-finally", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + }, + "p-limit" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/p-locate", + "name": "p-limit", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "p-try" => Edge { + "name": "p-try", + "spec": "^2.0.0", + "to": "node_modules/p-try", + "type": "prod", + }, + }, + "location": "node_modules/p-limit", + "name": "p-limit", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + }, + "p-locate" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/locate-path", + "name": "p-locate", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "p-limit" => Edge { + "name": "p-limit", + "spec": "^2.0.0", + "to": "node_modules/p-limit", + "type": "prod", + }, + }, + "location": "node_modules/p-locate", + "name": "p-locate", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + }, + "p-map" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/del", + "name": "p-map", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/p-map", + "name": "p-map", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", + }, + "p-retry" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/webpack-dev-server", + "name": "p-retry", + "spec": "^3.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "retry" => Edge { + "name": "retry", + "spec": "^0.12.0", + "to": "node_modules/retry", + "type": "prod", + }, + }, + "location": "node_modules/p-retry", + "name": "p-retry", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz", + }, + "p-try" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/p-limit", + "name": "p-try", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/p-try", + "name": "p-try", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + }, + "pako" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/browserify-zlib", + "name": "pako", + "spec": "~1.0.5", + "type": "prod", + }, + }, + "location": "node_modules/pako", + "name": "pako", + "peer": true, + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + }, + "parallel-transform" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/mississippi", + "name": "parallel-transform", + "spec": "^1.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "cyclist" => Edge { + "name": "cyclist", + "spec": "^1.0.1", + "to": "node_modules/cyclist", + "type": "prod", + }, + "inherits" => Edge { + "name": "inherits", + "spec": "^2.0.3", + "to": "node_modules/inherits", + "type": "prod", + }, + "readable-stream" => Edge { + "name": "readable-stream", + "spec": "^2.1.5", + "to": "node_modules/readable-stream", + "type": "prod", + }, + }, + "location": "node_modules/parallel-transform", + "name": "parallel-transform", + "peer": true, + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + }, + "parse-asn1" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/browserify-sign", + "name": "parse-asn1", + "spec": "^5.1.5", + "type": "prod", + }, + Edge { + "from": "node_modules/public-encrypt", + "name": "parse-asn1", + "spec": "^5.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "asn1.js" => Edge { + "name": "asn1.js", + "spec": "^5.2.0", + "to": "node_modules/asn1.js", + "type": "prod", + }, + "browserify-aes" => Edge { + "name": "browserify-aes", + "spec": "^1.0.0", + "to": "node_modules/browserify-aes", + "type": "prod", + }, + "evp_bytestokey" => Edge { + "name": "evp_bytestokey", + "spec": "^1.0.0", + "to": "node_modules/evp_bytestokey", + "type": "prod", + }, + "pbkdf2" => Edge { + "name": "pbkdf2", + "spec": "^3.0.3", + "to": "node_modules/pbkdf2", + "type": "prod", + }, + "safe-buffer" => Edge { + "name": "safe-buffer", + "spec": "^5.1.1", + "to": "node_modules/safe-buffer", + "type": "prod", + }, + }, + "location": "node_modules/parse-asn1", + "name": "parse-asn1", + "peer": true, + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + }, + "parseurl" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/express", + "name": "parseurl", + "spec": "~1.3.3", + "type": "prod", + }, + Edge { + "from": "node_modules/finalhandler", + "name": "parseurl", + "spec": "~1.3.3", + "type": "prod", + }, + Edge { + "from": "node_modules/serve-index", + "name": "parseurl", + "spec": "~1.3.2", + "type": "prod", + }, + Edge { + "from": "node_modules/serve-static", + "name": "parseurl", + "spec": "~1.3.3", + "type": "prod", + }, + }, + "location": "node_modules/parseurl", + "name": "parseurl", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + }, + "pascalcase" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/base", + "name": "pascalcase", + "spec": "^0.1.1", + "type": "prod", + }, + }, + "location": "node_modules/pascalcase", + "name": "pascalcase", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + }, + "path-browserify" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/node-libs-browser", + "name": "path-browserify", + "spec": "0.0.1", + "type": "prod", + }, + }, + "location": "node_modules/path-browserify", + "name": "path-browserify", + "peer": true, + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + }, + "path-dirname" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/glob-parent", + "name": "path-dirname", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/path-dirname", + "name": "path-dirname", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + }, + "path-exists" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/locate-path", + "name": "path-exists", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "location": "node_modules/path-exists", + "name": "path-exists", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + }, + "path-is-absolute" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/chokidar", + "name": "path-is-absolute", + "spec": "^1.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/glob", + "name": "path-is-absolute", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/path-is-absolute", + "name": "path-is-absolute", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + }, + "path-is-inside" => Node { + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + }, + "path-key" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/cross-spawn", + "name": "path-key", + "spec": "^2.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/npm-run-path", + "name": "path-key", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/path-key", + "name": "path-key", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + }, + "path-to-regexp" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/express", + "name": "path-to-regexp", + "spec": "0.1.7", + "type": "prod", + }, + }, + "location": "node_modules/path-to-regexp", + "name": "path-to-regexp", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + }, + "pbkdf2" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/crypto-browserify", + "name": "pbkdf2", + "spec": "^3.0.3", + "type": "prod", + }, + Edge { + "from": "node_modules/parse-asn1", + "name": "pbkdf2", + "spec": "^3.0.3", + "type": "prod", + }, + }, + "edgesOut": Map { + "create-hash" => Edge { + "name": "create-hash", + "spec": "^1.1.2", + "to": "node_modules/create-hash", + "type": "prod", + }, + "create-hmac" => Edge { + "name": "create-hmac", + "spec": "^1.1.4", + "to": "node_modules/create-hmac", + "type": "prod", + }, + "ripemd160" => Edge { + "name": "ripemd160", + "spec": "^2.0.1", + "to": "node_modules/ripemd160", + "type": "prod", + }, + "safe-buffer" => Edge { + "name": "safe-buffer", + "spec": "^5.0.1", + "to": "node_modules/safe-buffer", + "type": "prod", + }, + "sha.js" => Edge { + "name": "sha.js", + "spec": "^2.4.8", + "to": "node_modules/sha.js", + "type": "prod", + }, + }, + "location": "node_modules/pbkdf2", + "name": "pbkdf2", + "peer": true, + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", + }, + "picomatch" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/watchpack/node_modules/anymatch", + "name": "picomatch", + "spec": "^2.0.4", + "type": "prod", + }, + Edge { + "from": "node_modules/watchpack/node_modules/readdirp", + "name": "picomatch", + "spec": "^2.2.1", + "type": "prod", + }, + }, + "location": "node_modules/picomatch", + "name": "picomatch", + "optional": true, + "peer": true, + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + }, + "pify" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/del", + "name": "pify", + "spec": "^4.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/make-dir", + "name": "pify", + "spec": "^4.0.1", + "type": "prod", + }, + }, + "location": "node_modules/pify", + "name": "pify", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + }, + "pinkie" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/pinkie-promise", + "name": "pinkie", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/pinkie", + "name": "pinkie", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + }, + "pinkie-promise" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/globby", + "name": "pinkie-promise", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "pinkie" => Edge { + "name": "pinkie", + "spec": "^2.0.0", + "to": "node_modules/pinkie", + "type": "prod", + }, + }, + "location": "node_modules/pinkie-promise", + "name": "pinkie-promise", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + }, + "pkg-dir" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/find-cache-dir", + "name": "pkg-dir", + "spec": "^3.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/import-local", + "name": "pkg-dir", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "find-up" => Edge { + "name": "find-up", + "spec": "^3.0.0", + "to": "node_modules/find-up", + "type": "prod", + }, + }, + "location": "node_modules/pkg-dir", + "name": "pkg-dir", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + }, + "portfinder" => Node { + "children": Map { + "debug" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/portfinder", + "name": "debug", + "spec": "^3.1.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "ms" => Edge { + "name": "ms", + "spec": "^2.1.1", + "to": "node_modules/ms", + "type": "prod", + }, + }, + "location": "node_modules/portfinder/node_modules/debug", + "name": "debug", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/webpack-dev-server", + "name": "portfinder", + "spec": "^1.0.26", + "type": "prod", + }, + }, + "edgesOut": Map { + "async" => Edge { + "name": "async", + "spec": "^2.6.2", + "to": "node_modules/async", + "type": "prod", + }, + "debug" => Edge { + "name": "debug", + "spec": "^3.1.1", + "to": "node_modules/portfinder/node_modules/debug", + "type": "prod", + }, + "mkdirp" => Edge { + "name": "mkdirp", + "spec": "^0.5.5", + "to": "node_modules/mkdirp", + "type": "prod", + }, + }, + "location": "node_modules/portfinder", + "name": "portfinder", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", + }, + "posix-character-classes" => Node { + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + }, + "process" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/node-libs-browser", + "name": "process", + "spec": "^0.11.10", + "type": "prod", + }, + }, + "location": "node_modules/process", + "name": "process", + "peer": true, + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + }, + "process-nextick-args" => Node { + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + }, + "promise-inflight" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/cacache", + "name": "promise-inflight", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "location": "node_modules/promise-inflight", + "name": "promise-inflight", + "peer": true, + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + }, + "proxy-addr" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/express", + "name": "proxy-addr", + "spec": "~2.0.5", + "type": "prod", + }, + }, + "edgesOut": Map { + "forwarded" => Edge { + "name": "forwarded", + "spec": "~0.1.2", + "to": "node_modules/forwarded", + "type": "prod", + }, + "ipaddr.js" => Edge { + "name": "ipaddr.js", + "spec": "1.9.1", + "to": "node_modules/ipaddr.js", + "type": "prod", + }, + }, + "location": "node_modules/proxy-addr", + "name": "proxy-addr", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", + }, + "prr" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/errno", + "name": "prr", + "spec": "~1.0.1", + "type": "prod", + }, + }, + "location": "node_modules/prr", + "name": "prr", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + }, + "public-encrypt" => Node { + "children": Map { + "bn.js" => Node { + "edgesIn": Set { + Edge { + "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", + "peer": true, + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/crypto-browserify", + "name": "public-encrypt", + "spec": "^4.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "bn.js" => Edge { + "name": "bn.js", + "spec": "^4.1.0", + "to": "node_modules/public-encrypt/node_modules/bn.js", + "type": "prod", + }, + "browserify-rsa" => Edge { + "name": "browserify-rsa", + "spec": "^4.0.0", + "to": "node_modules/browserify-rsa", + "type": "prod", + }, + "create-hash" => Edge { + "name": "create-hash", + "spec": "^1.1.0", + "to": "node_modules/create-hash", + "type": "prod", + }, + "parse-asn1" => Edge { + "name": "parse-asn1", + "spec": "^5.0.0", + "to": "node_modules/parse-asn1", + "type": "prod", + }, + "randombytes" => Edge { + "name": "randombytes", + "spec": "^2.0.1", + "to": "node_modules/randombytes", + "type": "prod", + }, + "safe-buffer" => Edge { + "name": "safe-buffer", + "spec": "^5.1.2", + "to": "node_modules/safe-buffer", + "type": "prod", + }, + }, + "location": "node_modules/public-encrypt", + "name": "public-encrypt", + "peer": true, + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + }, + "pump" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/get-stream", + "name": "pump", + "spec": "^3.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/mississippi", + "name": "pump", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "end-of-stream" => Edge { + "name": "end-of-stream", + "spec": "^1.1.0", + "to": "node_modules/end-of-stream", + "type": "prod", + }, + "once" => Edge { + "name": "once", + "spec": "^1.3.1", + "to": "node_modules/once", + "type": "prod", + }, + }, + "location": "node_modules/pump", + "name": "pump", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + }, + "pumpify" => Node { + "children": Map { + "pump" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/pumpify", + "name": "pump", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "end-of-stream" => Edge { + "name": "end-of-stream", + "spec": "^1.1.0", + "to": "node_modules/end-of-stream", + "type": "prod", + }, + "once" => Edge { + "name": "once", + "spec": "^1.3.1", + "to": "node_modules/once", + "type": "prod", + }, + }, + "location": "node_modules/pumpify/node_modules/pump", + "name": "pump", + "peer": true, + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/mississippi", + "name": "pumpify", + "spec": "^1.3.3", + "type": "prod", + }, + }, + "edgesOut": Map { + "duplexify" => Edge { + "name": "duplexify", + "spec": "^3.6.0", + "to": "node_modules/duplexify", + "type": "prod", + }, + "inherits" => Edge { + "name": "inherits", + "spec": "^2.0.3", + "to": "node_modules/inherits", + "type": "prod", + }, + "pump" => Edge { + "name": "pump", + "spec": "^2.0.0", + "to": "node_modules/pumpify/node_modules/pump", + "type": "prod", + }, + }, + "location": "node_modules/pumpify", + "name": "pumpify", + "peer": true, + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + }, + "punycode" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/uri-js", + "name": "punycode", + "spec": "^2.1.0", + "type": "prod", + }, + }, + "location": "node_modules/punycode", + "name": "punycode", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + }, + "qs" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/body-parser", + "name": "qs", + "spec": "6.7.0", + "type": "prod", + }, + Edge { + "from": "node_modules/express", + "name": "qs", + "spec": "6.7.0", + "type": "prod", + }, + }, + "location": "node_modules/qs", + "name": "qs", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + }, + "querystring" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/native-url", + "name": "querystring", + "spec": "^0.2.0", + "type": "prod", + }, + Edge { + "from": "node_modules/url", + "name": "querystring", + "spec": "0.2.0", + "type": "prod", + }, + }, + "location": "node_modules/querystring", + "name": "querystring", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + }, + "querystring-es3" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/node-libs-browser", + "name": "querystring-es3", + "spec": "^0.2.0", + "type": "prod", + }, + }, + "location": "node_modules/querystring-es3", + "name": "querystring-es3", + "peer": true, + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + }, + "querystringify" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/url-parse", + "name": "querystringify", + "spec": "^2.1.1", + "type": "prod", + }, + }, + "location": "node_modules/querystringify", + "name": "querystringify", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + }, + "randombytes" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/browserify-rsa", + "name": "randombytes", + "spec": "^2.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/crypto-browserify", + "name": "randombytes", + "spec": "^2.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/diffie-hellman", + "name": "randombytes", + "spec": "^2.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/public-encrypt", + "name": "randombytes", + "spec": "^2.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/randomfill", + "name": "randombytes", + "spec": "^2.0.5", + "type": "prod", + }, + Edge { + "from": "node_modules/serialize-javascript", + "name": "randombytes", + "spec": "^2.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "safe-buffer" => Edge { + "name": "safe-buffer", + "spec": "^5.1.0", + "to": "node_modules/safe-buffer", + "type": "prod", + }, + }, + "location": "node_modules/randombytes", + "name": "randombytes", + "peer": true, + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + }, + "randomfill" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/crypto-browserify", + "name": "randomfill", + "spec": "^1.0.3", + "type": "prod", + }, + }, + "edgesOut": Map { + "randombytes" => Edge { + "name": "randombytes", + "spec": "^2.0.5", + "to": "node_modules/randombytes", + "type": "prod", + }, + "safe-buffer" => Edge { + "name": "safe-buffer", + "spec": "^5.1.0", + "to": "node_modules/safe-buffer", + "type": "prod", + }, + }, + "location": "node_modules/randomfill", + "name": "randomfill", + "peer": true, + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + }, + "range-parser" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/express", + "name": "range-parser", + "spec": "~1.2.1", + "type": "prod", + }, + Edge { + "from": "node_modules/send", + "name": "range-parser", + "spec": "~1.2.1", + "type": "prod", + }, + Edge { + "from": "node_modules/webpack-dev-middleware", + "name": "range-parser", + "spec": "^1.2.1", + "type": "prod", + }, + }, + "location": "node_modules/range-parser", + "name": "range-parser", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + }, + "raw-body" => Node { + "children": Map { + "bytes" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/raw-body", + "name": "bytes", + "spec": "3.1.0", + "type": "prod", + }, + }, + "location": "node_modules/raw-body/node_modules/bytes", + "name": "bytes", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/body-parser", + "name": "raw-body", + "spec": "2.4.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "bytes" => Edge { + "name": "bytes", + "spec": "3.1.0", + "to": "node_modules/raw-body/node_modules/bytes", + "type": "prod", + }, + "http-errors" => Edge { + "name": "http-errors", + "spec": "1.7.2", + "to": "node_modules/http-errors", + "type": "prod", + }, + "iconv-lite" => Edge { + "name": "iconv-lite", + "spec": "0.4.24", + "to": "node_modules/iconv-lite", + "type": "prod", + }, + "unpipe" => Edge { + "name": "unpipe", + "spec": "1.0.0", + "to": "node_modules/unpipe", + "type": "prod", + }, + }, + "location": "node_modules/raw-body", + "name": "raw-body", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", + }, + "react-refresh" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/@pmmmwh/react-refresh-webpack-plugin", + "name": "react-refresh", + "spec": ">=0.8.3 <0.10.0", + "type": "peer", + }, + }, + "location": "node_modules/react-refresh", + "name": "react-refresh", + "peer": true, + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.9.0.tgz", + }, + "readable-stream" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/concat-stream", + "name": "readable-stream", + "spec": "^2.2.2", + "type": "prod", + }, + Edge { + "from": "node_modules/duplexify", + "name": "readable-stream", + "spec": "^2.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/enhanced-resolve/node_modules/memory-fs", + "name": "readable-stream", + "spec": "^2.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/flush-write-stream", + "name": "readable-stream", + "spec": "^2.3.6", + "type": "prod", + }, + Edge { + "from": "node_modules/from2", + "name": "readable-stream", + "spec": "^2.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/fs-write-stream-atomic", + "name": "readable-stream", + "spec": "1 || 2", + "type": "prod", + }, + Edge { + "from": "node_modules/hpack.js", + "name": "readable-stream", + "spec": "^2.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/memory-fs", + "name": "readable-stream", + "spec": "^2.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/node-libs-browser", + "name": "readable-stream", + "spec": "^2.3.3", + "type": "prod", + }, + Edge { + "from": "node_modules/parallel-transform", + "name": "readable-stream", + "spec": "^2.1.5", + "type": "prod", + }, + Edge { + "from": "node_modules/readdirp", + "name": "readable-stream", + "spec": "^2.0.2", + "type": "prod", + }, + Edge { + "from": "node_modules/stream-browserify", + "name": "readable-stream", + "spec": "^2.0.2", + "type": "prod", + }, + Edge { + "from": "node_modules/stream-http", + "name": "readable-stream", + "spec": "^2.3.6", + "type": "prod", + }, + Edge { + "from": "node_modules/through2", + "name": "readable-stream", + "spec": "~2.3.6", + "type": "prod", + }, + }, + "edgesOut": Map { + "core-util-is" => Edge { + "name": "core-util-is", + "spec": "~1.0.0", + "to": "node_modules/core-util-is", + "type": "prod", + }, + "inherits" => Edge { + "name": "inherits", + "spec": "~2.0.3", + "to": "node_modules/inherits", + "type": "prod", + }, + "isarray" => Edge { + "name": "isarray", + "spec": "~1.0.0", + "to": "node_modules/isarray", + "type": "prod", + }, + "process-nextick-args" => Edge { + "name": "process-nextick-args", + "spec": "~2.0.0", + "to": "node_modules/process-nextick-args", + "type": "prod", + }, + "safe-buffer" => Edge { + "name": "safe-buffer", + "spec": "~5.1.1", + "to": "node_modules/safe-buffer", + "type": "prod", + }, + "string_decoder" => Edge { + "name": "string_decoder", + "spec": "~1.1.1", + "to": "node_modules/string_decoder", + "type": "prod", + }, + "util-deprecate" => Edge { + "name": "util-deprecate", + "spec": "~1.0.1", + "to": "node_modules/util-deprecate", + "type": "prod", + }, + }, + "location": "node_modules/readable-stream", + "name": "readable-stream", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + }, + "readdirp" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/chokidar", + "name": "readdirp", + "spec": "^2.2.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "graceful-fs" => Edge { + "name": "graceful-fs", + "spec": "^4.1.11", + "to": "node_modules/graceful-fs", + "type": "prod", + }, + "micromatch" => Edge { + "name": "micromatch", + "spec": "^3.1.10", + "to": "node_modules/micromatch", + "type": "prod", + }, + "readable-stream" => Edge { + "name": "readable-stream", + "spec": "^2.0.2", + "to": "node_modules/readable-stream", + "type": "prod", + }, + }, + "location": "node_modules/readdirp", + "name": "readdirp", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + }, + "regex-not" => Node { + "children": Map { + "extend-shallow" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/regex-not", + "name": "extend-shallow", + "spec": "^3.0.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "assign-symbols" => Edge { + "name": "assign-symbols", + "spec": "^1.0.0", + "to": "node_modules/assign-symbols", + "type": "prod", + }, + "is-extendable" => Edge { + "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", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + }, + "is-extendable" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/regex-not/node_modules/extend-shallow", + "name": "is-extendable", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-plain-object" => Edge { + "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", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/expand-brackets", + "name": "regex-not", + "spec": "^1.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/extglob", + "name": "regex-not", + "spec": "^1.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/micromatch", + "name": "regex-not", + "spec": "^1.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/nanomatch", + "name": "regex-not", + "spec": "^1.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/to-regex", + "name": "regex-not", + "spec": "^1.0.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "extend-shallow" => Edge { + "name": "extend-shallow", + "spec": "^3.0.2", + "to": "node_modules/regex-not/node_modules/extend-shallow", + "type": "prod", + }, + "safe-regex" => Edge { + "name": "safe-regex", + "spec": "^1.1.0", + "to": "node_modules/safe-regex", + "type": "prod", + }, + }, + "location": "node_modules/regex-not", + "name": "regex-not", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + }, + "regexp.prototype.flags" => Node { + "children": Map { + "es-abstract" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/regexp.prototype.flags", + "name": "es-abstract", + "spec": "^1.17.0-next.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "es-to-primitive" => Edge { + "name": "es-to-primitive", + "spec": "^1.2.1", + "to": "node_modules/es-to-primitive", + "type": "prod", + }, + "function-bind" => Edge { + "name": "function-bind", + "spec": "^1.1.1", + "to": "node_modules/function-bind", + "type": "prod", + }, + "has" => Edge { + "name": "has", + "spec": "^1.0.3", + "to": "node_modules/has", + "type": "prod", + }, + "has-symbols" => Edge { + "name": "has-symbols", + "spec": "^1.0.1", + "to": "node_modules/has-symbols", + "type": "prod", + }, + "is-callable" => Edge { + "name": "is-callable", + "spec": "^1.2.2", + "to": "node_modules/is-callable", + "type": "prod", + }, + "is-regex" => Edge { + "name": "is-regex", + "spec": "^1.1.1", + "to": "node_modules/is-regex", + "type": "prod", + }, + "object-inspect" => Edge { + "name": "object-inspect", + "spec": "^1.8.0", + "to": "node_modules/object-inspect", + "type": "prod", + }, + "object-keys" => Edge { + "name": "object-keys", + "spec": "^1.1.1", + "to": "node_modules/object-keys", + "type": "prod", + }, + "object.assign" => Edge { + "name": "object.assign", + "spec": "^4.1.1", + "to": "node_modules/object.assign", + "type": "prod", + }, + "string.prototype.trimend" => Edge { + "name": "string.prototype.trimend", + "spec": "^1.0.1", + "to": "node_modules/string.prototype.trimend", + "type": "prod", + }, + "string.prototype.trimstart" => Edge { + "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", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/deep-equal", + "name": "regexp.prototype.flags", + "spec": "^1.2.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "define-properties" => Edge { + "name": "define-properties", + "spec": "^1.1.3", + "to": "node_modules/define-properties", + "type": "prod", + }, + "es-abstract" => Edge { + "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", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz", + }, + "remove-trailing-separator" => Node { + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + }, + "repeat-element" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/braces", + "name": "repeat-element", + "spec": "^1.1.2", + "type": "prod", + }, + }, + "location": "node_modules/repeat-element", + "name": "repeat-element", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + }, + "repeat-string" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/fill-range", + "name": "repeat-string", + "spec": "^1.6.1", + "type": "prod", + }, + Edge { + "from": "node_modules/to-regex-range", + "name": "repeat-string", + "spec": "^1.6.1", + "type": "prod", + }, + }, + "location": "node_modules/repeat-string", + "name": "repeat-string", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + }, + "require-directory" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/yargs", + "name": "require-directory", + "spec": "^2.1.1", + "type": "prod", + }, + }, + "location": "node_modules/require-directory", + "name": "require-directory", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + }, + "require-main-filename" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/yargs", + "name": "require-main-filename", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/require-main-filename", + "name": "require-main-filename", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + }, + "requires-port" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/http-proxy", + "name": "requires-port", + "spec": "^1.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/url-parse", + "name": "requires-port", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/requires-port", + "name": "requires-port", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + }, + "resolve-cwd" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/import-local", + "name": "resolve-cwd", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "resolve-from" => Edge { + "name": "resolve-from", + "spec": "^3.0.0", + "to": "node_modules/resolve-from", + "type": "prod", + }, + }, + "location": "node_modules/resolve-cwd", + "name": "resolve-cwd", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + }, + "resolve-from" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/resolve-cwd", + "name": "resolve-from", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "location": "node_modules/resolve-from", + "name": "resolve-from", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + }, + "resolve-url" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/source-map-resolve", + "name": "resolve-url", + "spec": "^0.2.1", + "type": "prod", + }, + }, + "location": "node_modules/resolve-url", + "name": "resolve-url", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + }, + "ret" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/safe-regex", + "name": "ret", + "spec": "~0.1.10", + "type": "prod", + }, + }, + "location": "node_modules/ret", + "name": "ret", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + }, + "retry" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/p-retry", + "name": "retry", + "spec": "^0.12.0", + "type": "prod", + }, + }, + "location": "node_modules/retry", + "name": "retry", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + }, + "rimraf" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/cacache", + "name": "rimraf", + "spec": "^2.6.3", + "type": "prod", + }, + Edge { + "from": "node_modules/copy-concurrently", + "name": "rimraf", + "spec": "^2.5.4", + "type": "prod", + }, + Edge { + "from": "node_modules/del", + "name": "rimraf", + "spec": "^2.6.3", + "type": "prod", + }, + Edge { + "from": "node_modules/move-concurrently", + "name": "rimraf", + "spec": "^2.5.4", + "type": "prod", + }, + }, + "edgesOut": Map { + "glob" => Edge { + "name": "glob", + "spec": "^7.1.3", + "to": "node_modules/glob", + "type": "prod", + }, + }, + "location": "node_modules/rimraf", + "name": "rimraf", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + }, + "ripemd160" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/create-hash", + "name": "ripemd160", + "spec": "^2.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/create-hmac", + "name": "ripemd160", + "spec": "^2.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/pbkdf2", + "name": "ripemd160", + "spec": "^2.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "hash-base" => Edge { + "name": "hash-base", + "spec": "^3.0.0", + "to": "node_modules/hash-base", + "type": "prod", + }, + "inherits" => Edge { + "name": "inherits", + "spec": "^2.0.1", + "to": "node_modules/inherits", + "type": "prod", + }, + }, + "location": "node_modules/ripemd160", + "name": "ripemd160", + "peer": true, + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + }, + "run-queue" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/copy-concurrently", + "name": "run-queue", + "spec": "^1.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/move-concurrently", + "name": "run-queue", + "spec": "^1.0.3", + "type": "prod", + }, + }, + "edgesOut": Map { + "aproba" => Edge { + "name": "aproba", + "spec": "^1.1.1", + "to": "node_modules/aproba", + "type": "prod", + }, + }, + "location": "node_modules/run-queue", + "name": "run-queue", + "peer": true, + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + }, + "safe-buffer" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/browserify-aes", + "name": "safe-buffer", + "spec": "^5.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/browserify-des", + "name": "safe-buffer", + "spec": "^5.1.2", + "type": "prod", + }, + Edge { + "from": "node_modules/cipher-base", + "name": "safe-buffer", + "spec": "^5.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/compression", + "name": "safe-buffer", + "spec": "5.1.2", + "type": "prod", + }, + Edge { + "from": "node_modules/content-disposition", + "name": "safe-buffer", + "spec": "5.1.2", + "type": "prod", + }, + Edge { + "from": "node_modules/create-hmac", + "name": "safe-buffer", + "spec": "^5.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/dns-packet", + "name": "safe-buffer", + "spec": "^5.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/evp_bytestokey", + "name": "safe-buffer", + "spec": "^5.1.1", + "type": "prod", + }, + Edge { + "from": "node_modules/express", + "name": "safe-buffer", + "spec": "5.1.2", + "type": "prod", + }, + Edge { + "from": "node_modules/md5.js", + "name": "safe-buffer", + "spec": "^5.1.2", + "type": "prod", + }, + Edge { + "from": "node_modules/parse-asn1", + "name": "safe-buffer", + "spec": "^5.1.1", + "type": "prod", + }, + Edge { + "from": "node_modules/pbkdf2", + "name": "safe-buffer", + "spec": "^5.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/public-encrypt", + "name": "safe-buffer", + "spec": "^5.1.2", + "type": "prod", + }, + Edge { + "from": "node_modules/randombytes", + "name": "safe-buffer", + "spec": "^5.1.0", + "type": "prod", + }, + Edge { + "from": "node_modules/randomfill", + "name": "safe-buffer", + "spec": "^5.1.0", + "type": "prod", + }, + Edge { + "from": "node_modules/readable-stream", + "name": "safe-buffer", + "spec": "~5.1.1", + "type": "prod", + }, + Edge { + "from": "node_modules/sha.js", + "name": "safe-buffer", + "spec": "^5.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/string_decoder", + "name": "safe-buffer", + "spec": "~5.1.0", + "type": "prod", + }, + }, + "location": "node_modules/safe-buffer", + "name": "safe-buffer", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + }, + "safe-regex" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/regex-not", + "name": "safe-regex", + "spec": "^1.1.0", + "type": "prod", + }, + Edge { + "from": "node_modules/to-regex", + "name": "safe-regex", + "spec": "^1.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "ret" => Edge { + "name": "ret", + "spec": "~0.1.10", + "to": "node_modules/ret", + "type": "prod", + }, + }, + "location": "node_modules/safe-regex", + "name": "safe-regex", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + }, + "safer-buffer" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/asn1.js", + "name": "safer-buffer", + "spec": "^2.1.0", + "type": "prod", + }, + Edge { + "from": "node_modules/iconv-lite", + "name": "safer-buffer", + "spec": ">= 2.1.2 < 3", + "type": "prod", + }, + }, + "location": "node_modules/safer-buffer", + "name": "safer-buffer", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + }, + "schema-utils" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/@pmmmwh/react-refresh-webpack-plugin", + "name": "schema-utils", + "spec": "^2.6.5", + "type": "prod", + }, + }, + "edgesOut": Map { + "@types/json-schema" => Edge { + "name": "@types/json-schema", + "spec": "^7.0.5", + "to": "node_modules/@types/json-schema", + "type": "prod", + }, + "ajv" => Edge { + "name": "ajv", + "spec": "^6.12.4", + "to": "node_modules/ajv", + "type": "prod", + }, + "ajv-keywords" => Edge { + "name": "ajv-keywords", + "spec": "^3.5.2", + "to": "node_modules/ajv-keywords", + "type": "prod", + }, + }, + "location": "node_modules/schema-utils", + "name": "schema-utils", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + }, + "select-hose" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/spdy", + "name": "select-hose", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/select-hose", + "name": "select-hose", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + }, + "selfsigned" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/webpack-dev-server", + "name": "selfsigned", + "spec": "^1.10.7", + "type": "prod", + }, + }, + "edgesOut": Map { + "node-forge" => Edge { + "name": "node-forge", + "spec": "^0.10.0", + "to": "node_modules/node-forge", + "type": "prod", + }, + }, + "location": "node_modules/selfsigned", + "name": "selfsigned", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.8.tgz", + }, + "semver" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/webpack-dev-server", + "name": "semver", + "spec": "^6.3.0", + "type": "prod", + }, + }, + "location": "node_modules/semver", + "name": "semver", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + }, + "send" => Node { + "children": Map { + "debug" => Node { + "children": Map { + "ms" => Node { + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/send", + "name": "debug", + "spec": "2.6.9", + "type": "prod", + }, + }, + "edgesOut": Map { + "ms" => Edge { + "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", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + }, + "ms" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/send", + "name": "ms", + "spec": "2.1.1", + "type": "prod", + }, + }, + "location": "node_modules/send/node_modules/ms", + "name": "ms", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/express", + "name": "send", + "spec": "0.17.1", + "type": "prod", + }, + Edge { + "from": "node_modules/serve-static", + "name": "send", + "spec": "0.17.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "debug" => Edge { + "name": "debug", + "spec": "2.6.9", + "to": "node_modules/send/node_modules/debug", + "type": "prod", + }, + "depd" => Edge { + "name": "depd", + "spec": "~1.1.2", + "to": "node_modules/depd", + "type": "prod", + }, + "destroy" => Edge { + "name": "destroy", + "spec": "~1.0.4", + "to": "node_modules/destroy", + "type": "prod", + }, + "encodeurl" => Edge { + "name": "encodeurl", + "spec": "~1.0.2", + "to": "node_modules/encodeurl", + "type": "prod", + }, + "escape-html" => Edge { + "name": "escape-html", + "spec": "~1.0.3", + "to": "node_modules/escape-html", + "type": "prod", + }, + "etag" => Edge { + "name": "etag", + "spec": "~1.8.1", + "to": "node_modules/etag", + "type": "prod", + }, + "fresh" => Edge { + "name": "fresh", + "spec": "0.5.2", + "to": "node_modules/fresh", + "type": "prod", + }, + "http-errors" => Edge { + "name": "http-errors", + "spec": "~1.7.2", + "to": "node_modules/http-errors", + "type": "prod", + }, + "mime" => Edge { + "name": "mime", + "spec": "1.6.0", + "to": "node_modules/mime", + "type": "prod", + }, + "ms" => Edge { + "name": "ms", + "spec": "2.1.1", + "to": "node_modules/send/node_modules/ms", + "type": "prod", + }, + "on-finished" => Edge { + "name": "on-finished", + "spec": "~2.3.0", + "to": "node_modules/on-finished", + "type": "prod", + }, + "range-parser" => Edge { + "name": "range-parser", + "spec": "~1.2.1", + "to": "node_modules/range-parser", + "type": "prod", + }, + "statuses" => Edge { + "name": "statuses", + "spec": "~1.5.0", + "to": "node_modules/statuses", + "type": "prod", + }, + }, + "location": "node_modules/send", + "name": "send", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + }, + "serialize-javascript" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/terser-webpack-plugin", + "name": "serialize-javascript", + "spec": "^4.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "randombytes" => Edge { + "name": "randombytes", + "spec": "^2.1.0", + "to": "node_modules/randombytes", + "type": "prod", + }, + }, + "location": "node_modules/serialize-javascript", + "name": "serialize-javascript", + "peer": true, + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + }, + "serve-index" => Node { + "children": Map { + "debug" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/serve-index", + "name": "debug", + "spec": "2.6.9", + "type": "prod", + }, + }, + "edgesOut": Map { + "ms" => Edge { + "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", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + }, + "http-errors" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/serve-index", + "name": "http-errors", + "spec": "~1.6.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "depd" => Edge { + "name": "depd", + "spec": "~1.1.2", + "to": "node_modules/depd", + "type": "prod", + }, + "inherits" => Edge { + "name": "inherits", + "spec": "2.0.3", + "to": "node_modules/serve-index/node_modules/inherits", + "type": "prod", + }, + "setprototypeof" => Edge { + "name": "setprototypeof", + "spec": "1.1.0", + "to": "node_modules/serve-index/node_modules/setprototypeof", + "type": "prod", + }, + "statuses" => Edge { + "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", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + }, + "inherits" => Node { + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + }, + "ms" => Node { + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + }, + "setprototypeof" => Node { + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/webpack-dev-server", + "name": "serve-index", + "spec": "^1.9.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "accepts" => Edge { + "name": "accepts", + "spec": "~1.3.4", + "to": "node_modules/accepts", + "type": "prod", + }, + "batch" => Edge { + "name": "batch", + "spec": "0.6.1", + "to": "node_modules/batch", + "type": "prod", + }, + "debug" => Edge { + "name": "debug", + "spec": "2.6.9", + "to": "node_modules/serve-index/node_modules/debug", + "type": "prod", + }, + "escape-html" => Edge { + "name": "escape-html", + "spec": "~1.0.3", + "to": "node_modules/escape-html", + "type": "prod", + }, + "http-errors" => Edge { + "name": "http-errors", + "spec": "~1.6.2", + "to": "node_modules/serve-index/node_modules/http-errors", + "type": "prod", + }, + "mime-types" => Edge { + "name": "mime-types", + "spec": "~2.1.17", + "to": "node_modules/mime-types", + "type": "prod", + }, + "parseurl" => Edge { + "name": "parseurl", + "spec": "~1.3.2", + "to": "node_modules/parseurl", + "type": "prod", + }, + }, + "location": "node_modules/serve-index", + "name": "serve-index", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + }, + "serve-static" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/express", + "name": "serve-static", + "spec": "1.14.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "encodeurl" => Edge { + "name": "encodeurl", + "spec": "~1.0.2", + "to": "node_modules/encodeurl", + "type": "prod", + }, + "escape-html" => Edge { + "name": "escape-html", + "spec": "~1.0.3", + "to": "node_modules/escape-html", + "type": "prod", + }, + "parseurl" => Edge { + "name": "parseurl", + "spec": "~1.3.3", + "to": "node_modules/parseurl", + "type": "prod", + }, + "send" => Edge { + "name": "send", + "spec": "0.17.1", + "to": "node_modules/send", + "type": "prod", + }, + }, + "location": "node_modules/serve-static", + "name": "serve-static", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + }, + "set-blocking" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/yargs", + "name": "set-blocking", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/set-blocking", + "name": "set-blocking", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + }, + "set-value" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/cache-base", + "name": "set-value", + "spec": "^2.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/union-value", + "name": "set-value", + "spec": "^2.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "extend-shallow" => Edge { + "name": "extend-shallow", + "spec": "^2.0.1", + "to": "node_modules/extend-shallow", + "type": "prod", + }, + "is-extendable" => Edge { + "name": "is-extendable", + "spec": "^0.1.1", + "to": "node_modules/is-extendable", + "type": "prod", + }, + "is-plain-object" => Edge { + "name": "is-plain-object", + "spec": "^2.0.3", + "to": "node_modules/is-plain-object", + "type": "prod", + }, + "split-string" => Edge { + "name": "split-string", + "spec": "^3.0.1", + "to": "node_modules/split-string", + "type": "prod", + }, + }, + "location": "node_modules/set-value", + "name": "set-value", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + }, + "setimmediate" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/timers-browserify", + "name": "setimmediate", + "spec": "^1.0.4", + "type": "prod", + }, + }, + "location": "node_modules/setimmediate", + "name": "setimmediate", + "peer": true, + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + }, + "setprototypeof" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/express", + "name": "setprototypeof", + "spec": "1.1.1", + "type": "prod", + }, + Edge { + "from": "node_modules/http-errors", + "name": "setprototypeof", + "spec": "1.1.1", + "type": "prod", + }, + }, + "location": "node_modules/setprototypeof", + "name": "setprototypeof", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + }, + "sha.js" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/create-hash", + "name": "sha.js", + "spec": "^2.4.0", + "type": "prod", + }, + Edge { + "from": "node_modules/create-hmac", + "name": "sha.js", + "spec": "^2.4.8", + "type": "prod", + }, + Edge { + "from": "node_modules/pbkdf2", + "name": "sha.js", + "spec": "^2.4.8", + "type": "prod", + }, + }, + "edgesOut": Map { + "inherits" => Edge { + "name": "inherits", + "spec": "^2.0.1", + "to": "node_modules/inherits", + "type": "prod", + }, + "safe-buffer" => Edge { + "name": "safe-buffer", + "spec": "^5.0.1", + "to": "node_modules/safe-buffer", + "type": "prod", + }, + }, + "location": "node_modules/sha.js", + "name": "sha.js", + "peer": true, + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + }, + "shebang-command" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/cross-spawn", + "name": "shebang-command", + "spec": "^1.2.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "shebang-regex" => Edge { + "name": "shebang-regex", + "spec": "^1.0.0", + "to": "node_modules/shebang-regex", + "type": "prod", + }, + }, + "location": "node_modules/shebang-command", + "name": "shebang-command", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + }, + "shebang-regex" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/shebang-command", + "name": "shebang-regex", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/shebang-regex", + "name": "shebang-regex", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + }, + "signal-exit" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/execa", + "name": "signal-exit", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "location": "node_modules/signal-exit", + "name": "signal-exit", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + }, + "snapdragon" => Node { + "children": Map { + "debug" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/snapdragon", + "name": "debug", + "spec": "^2.2.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "ms" => Edge { + "name": "ms", + "spec": "2.0.0", + "to": "node_modules/snapdragon/node_modules/ms", + "type": "prod", + }, + }, + "location": "node_modules/snapdragon/node_modules/debug", + "name": "debug", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + }, + "define-property" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/snapdragon", + "name": "define-property", + "spec": "^0.2.5", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-descriptor" => Edge { + "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", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + }, + "is-accessor-descriptor" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/snapdragon/node_modules/is-descriptor", + "name": "is-accessor-descriptor", + "spec": "^0.1.6", + "type": "prod", + }, + }, + "edgesOut": Map { + "kind-of" => Edge { + "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", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + }, + "is-data-descriptor" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/snapdragon/node_modules/is-descriptor", + "name": "is-data-descriptor", + "spec": "^0.1.4", + "type": "prod", + }, + }, + "edgesOut": Map { + "kind-of" => Edge { + "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", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + }, + "is-descriptor" => Node { + "children": Map { + "kind-of" => Node { + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/snapdragon/node_modules/define-property", + "name": "is-descriptor", + "spec": "^0.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-accessor-descriptor" => Edge { + "name": "is-accessor-descriptor", + "spec": "^0.1.6", + "to": "node_modules/snapdragon/node_modules/is-accessor-descriptor", + "type": "prod", + }, + "is-data-descriptor" => Edge { + "name": "is-data-descriptor", + "spec": "^0.1.4", + "to": "node_modules/snapdragon/node_modules/is-data-descriptor", + "type": "prod", + }, + "kind-of" => Edge { + "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", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + }, + "ms" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/snapdragon/node_modules/debug", + "name": "ms", + "spec": "2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/snapdragon/node_modules/ms", + "name": "ms", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + }, + "source-map" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/snapdragon", + "name": "source-map", + "spec": "^0.5.6", + "type": "prod", + }, + }, + "location": "node_modules/snapdragon/node_modules/source-map", + "name": "source-map", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/braces", + "name": "snapdragon", + "spec": "^0.8.1", + "type": "prod", + }, + Edge { + "from": "node_modules/expand-brackets", + "name": "snapdragon", + "spec": "^0.8.1", + "type": "prod", + }, + Edge { + "from": "node_modules/extglob", + "name": "snapdragon", + "spec": "^0.8.1", + "type": "prod", + }, + Edge { + "from": "node_modules/micromatch", + "name": "snapdragon", + "spec": "^0.8.1", + "type": "prod", + }, + Edge { + "from": "node_modules/nanomatch", + "name": "snapdragon", + "spec": "^0.8.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "base" => Edge { + "name": "base", + "spec": "^0.11.1", + "to": "node_modules/base", + "type": "prod", + }, + "debug" => Edge { + "name": "debug", + "spec": "^2.2.0", + "to": "node_modules/snapdragon/node_modules/debug", + "type": "prod", + }, + "define-property" => Edge { + "name": "define-property", + "spec": "^0.2.5", + "to": "node_modules/snapdragon/node_modules/define-property", + "type": "prod", + }, + "extend-shallow" => Edge { + "name": "extend-shallow", + "spec": "^2.0.1", + "to": "node_modules/extend-shallow", + "type": "prod", + }, + "map-cache" => Edge { + "name": "map-cache", + "spec": "^0.2.2", + "to": "node_modules/map-cache", + "type": "prod", + }, + "source-map" => Edge { + "name": "source-map", + "spec": "^0.5.6", + "to": "node_modules/snapdragon/node_modules/source-map", + "type": "prod", + }, + "source-map-resolve" => Edge { + "name": "source-map-resolve", + "spec": "^0.5.0", + "to": "node_modules/source-map-resolve", + "type": "prod", + }, + "use" => Edge { + "name": "use", + "spec": "^3.1.0", + "to": "node_modules/use", + "type": "prod", + }, + }, + "location": "node_modules/snapdragon", + "name": "snapdragon", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + }, + "snapdragon-node" => Node { + "children": Map { + "define-property" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/snapdragon-node", + "name": "define-property", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-descriptor" => Edge { + "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", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/braces", + "name": "snapdragon-node", + "spec": "^2.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "define-property" => Edge { + "name": "define-property", + "spec": "^1.0.0", + "to": "node_modules/snapdragon-node/node_modules/define-property", + "type": "prod", + }, + "isobject" => Edge { + "name": "isobject", + "spec": "^3.0.0", + "to": "node_modules/isobject", + "type": "prod", + }, + "snapdragon-util" => Edge { + "name": "snapdragon-util", + "spec": "^3.0.1", + "to": "node_modules/snapdragon-util", + "type": "prod", + }, + }, + "location": "node_modules/snapdragon-node", + "name": "snapdragon-node", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + }, + "snapdragon-util" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/snapdragon-node", + "name": "snapdragon-util", + "spec": "^3.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "kind-of" => Edge { + "name": "kind-of", + "spec": "^3.2.0", + "to": "node_modules/kind-of", + "type": "prod", + }, + }, + "location": "node_modules/snapdragon-util", + "name": "snapdragon-util", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + }, + "sockjs" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/webpack-dev-server", + "name": "sockjs", + "spec": "0.3.20", + "type": "prod", + }, + }, + "edgesOut": Map { + "faye-websocket" => Edge { + "name": "faye-websocket", + "spec": "^0.10.0", + "to": "node_modules/faye-websocket", + "type": "prod", + }, + "uuid" => Edge { + "name": "uuid", + "spec": "^3.4.0", + "to": "node_modules/uuid", + "type": "prod", + }, + "websocket-driver" => Edge { + "name": "websocket-driver", + "spec": "0.6.5", + "to": "node_modules/websocket-driver", + "type": "prod", + }, + }, + "location": "node_modules/sockjs", + "name": "sockjs", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.20.tgz", + }, + "sockjs-client" => Node { + "children": Map { + "debug" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/sockjs-client", + "name": "debug", + "spec": "^3.2.5", + "type": "prod", + }, + }, + "edgesOut": Map { + "ms" => Edge { + "name": "ms", + "spec": "^2.1.1", + "to": "node_modules/ms", + "type": "prod", + }, + }, + "location": "node_modules/sockjs-client/node_modules/debug", + "name": "debug", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + }, + "faye-websocket" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/sockjs-client", + "name": "faye-websocket", + "spec": "~0.11.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "websocket-driver" => Edge { + "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", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/@pmmmwh/react-refresh-webpack-plugin", + "name": "sockjs-client", + "spec": "^1.4.0", + "type": "peerOptional", + }, + Edge { + "from": "node_modules/webpack-dev-server", + "name": "sockjs-client", + "spec": "1.4.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "debug" => Edge { + "name": "debug", + "spec": "^3.2.5", + "to": "node_modules/sockjs-client/node_modules/debug", + "type": "prod", + }, + "eventsource" => Edge { + "name": "eventsource", + "spec": "^1.0.7", + "to": "node_modules/eventsource", + "type": "prod", + }, + "faye-websocket" => Edge { + "name": "faye-websocket", + "spec": "~0.11.1", + "to": "node_modules/sockjs-client/node_modules/faye-websocket", + "type": "prod", + }, + "inherits" => Edge { + "name": "inherits", + "spec": "^2.0.3", + "to": "node_modules/inherits", + "type": "prod", + }, + "json3" => Edge { + "name": "json3", + "spec": "^3.3.2", + "to": "node_modules/json3", + "type": "prod", + }, + "url-parse" => Edge { + "name": "url-parse", + "spec": "^1.4.3", + "to": "node_modules/url-parse", + "type": "prod", + }, + }, + "location": "node_modules/sockjs-client", + "name": "sockjs-client", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.4.0.tgz", + }, + "source-list-map" => Node { + "edgesIn": Set { + Edge { + "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", + "peer": true, + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + }, + "source-map" => Node { + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + }, + "source-map-resolve" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/snapdragon", + "name": "source-map-resolve", + "spec": "^0.5.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "atob" => Edge { + "name": "atob", + "spec": "^2.1.2", + "to": "node_modules/atob", + "type": "prod", + }, + "decode-uri-component" => Edge { + "name": "decode-uri-component", + "spec": "^0.2.0", + "to": "node_modules/decode-uri-component", + "type": "prod", + }, + "resolve-url" => Edge { + "name": "resolve-url", + "spec": "^0.2.1", + "to": "node_modules/resolve-url", + "type": "prod", + }, + "source-map-url" => Edge { + "name": "source-map-url", + "spec": "^0.4.0", + "to": "node_modules/source-map-url", + "type": "prod", + }, + "urix" => Edge { + "name": "urix", + "spec": "^0.1.0", + "to": "node_modules/urix", + "type": "prod", + }, + }, + "location": "node_modules/source-map-resolve", + "name": "source-map-resolve", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + }, + "source-map-support" => Node { + "children": Map { + "source-map" => Node { + "edgesIn": Set { + Edge { + "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", + "peer": true, + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/terser", + "name": "source-map-support", + "spec": "~0.5.12", + "type": "prod", + }, + }, + "edgesOut": Map { + "buffer-from" => Edge { + "name": "buffer-from", + "spec": "^1.0.0", + "to": "node_modules/buffer-from", + "type": "prod", + }, + "source-map" => Edge { + "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", + "peer": true, + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + }, + "source-map-url" => Node { + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + }, + "spdy" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/webpack-dev-server", + "name": "spdy", + "spec": "^4.0.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "debug" => Edge { + "name": "debug", + "spec": "^4.1.0", + "to": "node_modules/debug", + "type": "prod", + }, + "handle-thing" => Edge { + "name": "handle-thing", + "spec": "^2.0.0", + "to": "node_modules/handle-thing", + "type": "prod", + }, + "http-deceiver" => Edge { + "name": "http-deceiver", + "spec": "^1.2.7", + "to": "node_modules/http-deceiver", + "type": "prod", + }, + "select-hose" => Edge { + "name": "select-hose", + "spec": "^2.0.0", + "to": "node_modules/select-hose", + "type": "prod", + }, + "spdy-transport" => Edge { + "name": "spdy-transport", + "spec": "^3.0.0", + "to": "node_modules/spdy-transport", + "type": "prod", + }, + }, + "location": "node_modules/spdy", + "name": "spdy", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + }, + "spdy-transport" => Node { + "children": Map { + "readable-stream" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/spdy-transport", + "name": "readable-stream", + "spec": "^3.0.6", + "type": "prod", + }, + }, + "edgesOut": Map { + "inherits" => Edge { + "name": "inherits", + "spec": "^2.0.3", + "to": "node_modules/inherits", + "type": "prod", + }, + "string_decoder" => Edge { + "name": "string_decoder", + "spec": "^1.1.1", + "to": "node_modules/string_decoder", + "type": "prod", + }, + "util-deprecate" => Edge { + "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", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/spdy", + "name": "spdy-transport", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "debug" => Edge { + "name": "debug", + "spec": "^4.1.0", + "to": "node_modules/debug", + "type": "prod", + }, + "detect-node" => Edge { + "name": "detect-node", + "spec": "^2.0.4", + "to": "node_modules/detect-node", + "type": "prod", + }, + "hpack.js" => Edge { + "name": "hpack.js", + "spec": "^2.1.6", + "to": "node_modules/hpack.js", + "type": "prod", + }, + "obuf" => Edge { + "name": "obuf", + "spec": "^1.1.2", + "to": "node_modules/obuf", + "type": "prod", + }, + "readable-stream" => Edge { + "name": "readable-stream", + "spec": "^3.0.6", + "to": "node_modules/spdy-transport/node_modules/readable-stream", + "type": "prod", + }, + "wbuf" => Edge { + "name": "wbuf", + "spec": "^1.7.3", + "to": "node_modules/wbuf", + "type": "prod", + }, + }, + "location": "node_modules/spdy-transport", + "name": "spdy-transport", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + }, + "split-string" => Node { + "children": Map { + "extend-shallow" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/split-string", + "name": "extend-shallow", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "assign-symbols" => Edge { + "name": "assign-symbols", + "spec": "^1.0.0", + "to": "node_modules/assign-symbols", + "type": "prod", + }, + "is-extendable" => Edge { + "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", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + }, + "is-extendable" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/split-string/node_modules/extend-shallow", + "name": "is-extendable", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-plain-object" => Edge { + "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", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/braces", + "name": "split-string", + "spec": "^3.0.2", + "type": "prod", + }, + Edge { + "from": "node_modules/set-value", + "name": "split-string", + "spec": "^3.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "extend-shallow" => Edge { + "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", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + }, + "ssri" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/cacache", + "name": "ssri", + "spec": "^6.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "figgy-pudding" => Edge { + "name": "figgy-pudding", + "spec": "^3.5.1", + "to": "node_modules/figgy-pudding", + "type": "prod", + }, + }, + "location": "node_modules/ssri", + "name": "ssri", + "peer": true, + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", + }, + "stackframe" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/error-stack-parser", + "name": "stackframe", + "spec": "^1.1.1", + "type": "prod", + }, + }, + "location": "node_modules/stackframe", + "name": "stackframe", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.2.0.tgz", + }, + "static-extend" => Node { + "children": Map { + "define-property" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/static-extend", + "name": "define-property", + "spec": "^0.2.5", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-descriptor" => Edge { + "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", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + }, + "is-accessor-descriptor" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/static-extend/node_modules/is-descriptor", + "name": "is-accessor-descriptor", + "spec": "^0.1.6", + "type": "prod", + }, + }, + "edgesOut": Map { + "kind-of" => Edge { + "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", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + }, + "is-data-descriptor" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/static-extend/node_modules/is-descriptor", + "name": "is-data-descriptor", + "spec": "^0.1.4", + "type": "prod", + }, + }, + "edgesOut": Map { + "kind-of" => Edge { + "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", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + }, + "is-descriptor" => Node { + "children": Map { + "kind-of" => Node { + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/static-extend/node_modules/define-property", + "name": "is-descriptor", + "spec": "^0.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-accessor-descriptor" => Edge { + "name": "is-accessor-descriptor", + "spec": "^0.1.6", + "to": "node_modules/static-extend/node_modules/is-accessor-descriptor", + "type": "prod", + }, + "is-data-descriptor" => Edge { + "name": "is-data-descriptor", + "spec": "^0.1.4", + "to": "node_modules/static-extend/node_modules/is-data-descriptor", + "type": "prod", + }, + "kind-of" => Edge { + "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", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/class-utils", + "name": "static-extend", + "spec": "^0.1.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "define-property" => Edge { + "name": "define-property", + "spec": "^0.2.5", + "to": "node_modules/static-extend/node_modules/define-property", + "type": "prod", + }, + "object-copy" => Edge { + "name": "object-copy", + "spec": "^0.1.0", + "to": "node_modules/object-copy", + "type": "prod", + }, + }, + "location": "node_modules/static-extend", + "name": "static-extend", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + }, + "statuses" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/express", + "name": "statuses", + "spec": "~1.5.0", + "type": "prod", + }, + Edge { + "from": "node_modules/finalhandler", + "name": "statuses", + "spec": "~1.5.0", + "type": "prod", + }, + Edge { + "from": "node_modules/http-errors", + "name": "statuses", + "spec": ">= 1.5.0 < 2", + "type": "prod", + }, + Edge { + "from": "node_modules/send", + "name": "statuses", + "spec": "~1.5.0", + "type": "prod", + }, + Edge { + "from": "node_modules/serve-index/node_modules/http-errors", + "name": "statuses", + "spec": ">= 1.4.0 < 2", + "type": "prod", + }, + }, + "location": "node_modules/statuses", + "name": "statuses", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + }, + "stream-browserify" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/node-libs-browser", + "name": "stream-browserify", + "spec": "^2.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "inherits" => Edge { + "name": "inherits", + "spec": "~2.0.1", + "to": "node_modules/inherits", + "type": "prod", + }, + "readable-stream" => Edge { + "name": "readable-stream", + "spec": "^2.0.2", + "to": "node_modules/readable-stream", + "type": "prod", + }, + }, + "location": "node_modules/stream-browserify", + "name": "stream-browserify", + "peer": true, + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + }, + "stream-each" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/mississippi", + "name": "stream-each", + "spec": "^1.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "end-of-stream" => Edge { + "name": "end-of-stream", + "spec": "^1.1.0", + "to": "node_modules/end-of-stream", + "type": "prod", + }, + "stream-shift" => Edge { + "name": "stream-shift", + "spec": "^1.0.0", + "to": "node_modules/stream-shift", + "type": "prod", + }, + }, + "location": "node_modules/stream-each", + "name": "stream-each", + "peer": true, + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + }, + "stream-http" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/node-libs-browser", + "name": "stream-http", + "spec": "^2.7.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "builtin-status-codes" => Edge { + "name": "builtin-status-codes", + "spec": "^3.0.0", + "to": "node_modules/builtin-status-codes", + "type": "prod", + }, + "inherits" => Edge { + "name": "inherits", + "spec": "^2.0.1", + "to": "node_modules/inherits", + "type": "prod", + }, + "readable-stream" => Edge { + "name": "readable-stream", + "spec": "^2.3.6", + "to": "node_modules/readable-stream", + "type": "prod", + }, + "to-arraybuffer" => Edge { + "name": "to-arraybuffer", + "spec": "^1.0.0", + "to": "node_modules/to-arraybuffer", + "type": "prod", + }, + "xtend" => Edge { + "name": "xtend", + "spec": "^4.0.0", + "to": "node_modules/xtend", + "type": "prod", + }, + }, + "location": "node_modules/stream-http", + "name": "stream-http", + "peer": true, + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + }, + "stream-shift" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/duplexify", + "name": "stream-shift", + "spec": "^1.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/stream-each", + "name": "stream-shift", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/stream-shift", + "name": "stream-shift", + "peer": true, + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + }, + "string_decoder" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/browserify-sign/node_modules/readable-stream", + "name": "string_decoder", + "spec": "^1.1.1", + "type": "prod", + }, + Edge { + "from": "node_modules/hash-base/node_modules/readable-stream", + "name": "string_decoder", + "spec": "^1.1.1", + "type": "prod", + }, + Edge { + "from": "node_modules/node-libs-browser", + "name": "string_decoder", + "spec": "^1.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/readable-stream", + "name": "string_decoder", + "spec": "~1.1.1", + "type": "prod", + }, + Edge { + "from": "node_modules/spdy-transport/node_modules/readable-stream", + "name": "string_decoder", + "spec": "^1.1.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "safe-buffer" => Edge { + "name": "safe-buffer", + "spec": "~5.1.0", + "to": "node_modules/safe-buffer", + "type": "prod", + }, + }, + "location": "node_modules/string_decoder", + "name": "string_decoder", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + }, + "string-width" => Node { + "children": Map { + "ansi-regex" => Node { + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + }, + "strip-ansi" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/string-width", + "name": "strip-ansi", + "spec": "^5.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "ansi-regex" => Edge { + "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", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/cliui", + "name": "string-width", + "spec": "^3.1.0", + "type": "prod", + }, + Edge { + "from": "node_modules/wrap-ansi", + "name": "string-width", + "spec": "^3.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/yargs", + "name": "string-width", + "spec": "^3.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "emoji-regex" => Edge { + "name": "emoji-regex", + "spec": "^7.0.1", + "to": "node_modules/emoji-regex", + "type": "prod", + }, + "is-fullwidth-code-point" => Edge { + "name": "is-fullwidth-code-point", + "spec": "^2.0.0", + "to": "node_modules/is-fullwidth-code-point", + "type": "prod", + }, + "strip-ansi" => Edge { + "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", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + }, + "string.prototype.trimend" => Node { + "children": Map { + "es-abstract" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/string.prototype.trimend", + "name": "es-abstract", + "spec": "^1.17.5", + "type": "prod", + }, + }, + "edgesOut": Map { + "es-to-primitive" => Edge { + "name": "es-to-primitive", + "spec": "^1.2.1", + "to": "node_modules/es-to-primitive", + "type": "prod", + }, + "function-bind" => Edge { + "name": "function-bind", + "spec": "^1.1.1", + "to": "node_modules/function-bind", + "type": "prod", + }, + "has" => Edge { + "name": "has", + "spec": "^1.0.3", + "to": "node_modules/has", + "type": "prod", + }, + "has-symbols" => Edge { + "name": "has-symbols", + "spec": "^1.0.1", + "to": "node_modules/has-symbols", + "type": "prod", + }, + "is-callable" => Edge { + "name": "is-callable", + "spec": "^1.2.2", + "to": "node_modules/is-callable", + "type": "prod", + }, + "is-regex" => Edge { + "name": "is-regex", + "spec": "^1.1.1", + "to": "node_modules/is-regex", + "type": "prod", + }, + "object-inspect" => Edge { + "name": "object-inspect", + "spec": "^1.8.0", + "to": "node_modules/object-inspect", + "type": "prod", + }, + "object-keys" => Edge { + "name": "object-keys", + "spec": "^1.1.1", + "to": "node_modules/object-keys", + "type": "prod", + }, + "object.assign" => Edge { + "name": "object.assign", + "spec": "^4.1.1", + "to": "node_modules/object.assign", + "type": "prod", + }, + "string.prototype.trimend" => Edge { + "name": "string.prototype.trimend", + "spec": "^1.0.1", + "to": "node_modules/string.prototype.trimend", + "type": "prod", + }, + "string.prototype.trimstart" => Edge { + "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", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/es-abstract", + "name": "string.prototype.trimend", + "spec": "^1.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/regexp.prototype.flags/node_modules/es-abstract", + "name": "string.prototype.trimend", + "spec": "^1.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/string.prototype.trimend/node_modules/es-abstract", + "name": "string.prototype.trimend", + "spec": "^1.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/string.prototype.trimstart/node_modules/es-abstract", + "name": "string.prototype.trimend", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "define-properties" => Edge { + "name": "define-properties", + "spec": "^1.1.3", + "to": "node_modules/define-properties", + "type": "prod", + }, + "es-abstract" => Edge { + "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", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz", + }, + "string.prototype.trimstart" => Node { + "children": Map { + "es-abstract" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/string.prototype.trimstart", + "name": "es-abstract", + "spec": "^1.17.5", + "type": "prod", + }, + }, + "edgesOut": Map { + "es-to-primitive" => Edge { + "name": "es-to-primitive", + "spec": "^1.2.1", + "to": "node_modules/es-to-primitive", + "type": "prod", + }, + "function-bind" => Edge { + "name": "function-bind", + "spec": "^1.1.1", + "to": "node_modules/function-bind", + "type": "prod", + }, + "has" => Edge { + "name": "has", + "spec": "^1.0.3", + "to": "node_modules/has", + "type": "prod", + }, + "has-symbols" => Edge { + "name": "has-symbols", + "spec": "^1.0.1", + "to": "node_modules/has-symbols", + "type": "prod", + }, + "is-callable" => Edge { + "name": "is-callable", + "spec": "^1.2.2", + "to": "node_modules/is-callable", + "type": "prod", + }, + "is-regex" => Edge { + "name": "is-regex", + "spec": "^1.1.1", + "to": "node_modules/is-regex", + "type": "prod", + }, + "object-inspect" => Edge { + "name": "object-inspect", + "spec": "^1.8.0", + "to": "node_modules/object-inspect", + "type": "prod", + }, + "object-keys" => Edge { + "name": "object-keys", + "spec": "^1.1.1", + "to": "node_modules/object-keys", + "type": "prod", + }, + "object.assign" => Edge { + "name": "object.assign", + "spec": "^4.1.1", + "to": "node_modules/object.assign", + "type": "prod", + }, + "string.prototype.trimend" => Edge { + "name": "string.prototype.trimend", + "spec": "^1.0.1", + "to": "node_modules/string.prototype.trimend", + "type": "prod", + }, + "string.prototype.trimstart" => Edge { + "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", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/es-abstract", + "name": "string.prototype.trimstart", + "spec": "^1.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/regexp.prototype.flags/node_modules/es-abstract", + "name": "string.prototype.trimstart", + "spec": "^1.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/string.prototype.trimend/node_modules/es-abstract", + "name": "string.prototype.trimstart", + "spec": "^1.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/string.prototype.trimstart/node_modules/es-abstract", + "name": "string.prototype.trimstart", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "define-properties" => Edge { + "name": "define-properties", + "spec": "^1.1.3", + "to": "node_modules/define-properties", + "type": "prod", + }, + "es-abstract" => Edge { + "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", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz", + }, + "strip-ansi" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/webpack-dev-server", + "name": "strip-ansi", + "spec": "^3.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "ansi-regex" => Edge { + "name": "ansi-regex", + "spec": "^2.0.0", + "to": "node_modules/ansi-regex", + "type": "prod", + }, + }, + "location": "node_modules/strip-ansi", + "name": "strip-ansi", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + }, + "strip-eof" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/execa", + "name": "strip-eof", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/strip-eof", + "name": "strip-eof", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + }, + "tapable" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/enhanced-resolve", + "name": "tapable", + "spec": "^1.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/webpack", + "name": "tapable", + "spec": "^1.1.3", + "type": "prod", + }, + }, + "location": "node_modules/tapable", + "name": "tapable", + "peer": true, + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + }, + "terser" => Node { + "children": Map { + "source-map" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/terser", + "name": "source-map", + "spec": "~0.6.1", + "type": "prod", + }, + }, + "location": "node_modules/terser/node_modules/source-map", + "name": "source-map", + "peer": true, + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/terser-webpack-plugin", + "name": "terser", + "spec": "^4.1.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "commander" => Edge { + "name": "commander", + "spec": "^2.20.0", + "to": "node_modules/commander", + "type": "prod", + }, + "source-map" => Edge { + "name": "source-map", + "spec": "~0.6.1", + "to": "node_modules/terser/node_modules/source-map", + "type": "prod", + }, + "source-map-support" => Edge { + "name": "source-map-support", + "spec": "~0.5.12", + "to": "node_modules/source-map-support", + "type": "prod", + }, + }, + "location": "node_modules/terser", + "name": "terser", + "peer": true, + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", + }, + "terser-webpack-plugin" => Node { + "children": Map { + "schema-utils" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/terser-webpack-plugin", + "name": "schema-utils", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "ajv" => Edge { + "name": "ajv", + "spec": "^6.1.0", + "to": "node_modules/ajv", + "type": "prod", + }, + "ajv-errors" => Edge { + "name": "ajv-errors", + "spec": "^1.0.0", + "to": "node_modules/ajv-errors", + "type": "prod", + }, + "ajv-keywords" => Edge { + "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", + "peer": true, + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + }, + "source-map" => Node { + "edgesIn": Set { + Edge { + "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", + "peer": true, + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/webpack", + "name": "terser-webpack-plugin", + "spec": "^1.4.3", + "type": "prod", + }, + }, + "edgesOut": Map { + "cacache" => Edge { + "name": "cacache", + "spec": "^12.0.2", + "to": "node_modules/cacache", + "type": "prod", + }, + "find-cache-dir" => Edge { + "name": "find-cache-dir", + "spec": "^2.1.0", + "to": "node_modules/find-cache-dir", + "type": "prod", + }, + "is-wsl" => Edge { + "name": "is-wsl", + "spec": "^1.1.0", + "to": "node_modules/is-wsl", + "type": "prod", + }, + "schema-utils" => Edge { + "name": "schema-utils", + "spec": "^1.0.0", + "to": "node_modules/terser-webpack-plugin/node_modules/schema-utils", + "type": "prod", + }, + "serialize-javascript" => Edge { + "name": "serialize-javascript", + "spec": "^4.0.0", + "to": "node_modules/serialize-javascript", + "type": "prod", + }, + "source-map" => Edge { + "name": "source-map", + "spec": "^0.6.1", + "to": "node_modules/terser-webpack-plugin/node_modules/source-map", + "type": "prod", + }, + "terser" => Edge { + "name": "terser", + "spec": "^4.1.2", + "to": "node_modules/terser", + "type": "prod", + }, + "webpack" => Edge { + "name": "webpack", + "spec": "^4.0.0", + "to": "node_modules/webpack", + "type": "peer", + }, + "webpack-sources" => Edge { + "name": "webpack-sources", + "spec": "^1.4.0", + "to": "node_modules/webpack-sources", + "type": "prod", + }, + "worker-farm" => Edge { + "name": "worker-farm", + "spec": "^1.7.0", + "to": "node_modules/worker-farm", + "type": "prod", + }, + }, + "location": "node_modules/terser-webpack-plugin", + "name": "terser-webpack-plugin", + "peer": true, + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", + }, + "through2" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/mississippi", + "name": "through2", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "readable-stream" => Edge { + "name": "readable-stream", + "spec": "~2.3.6", + "to": "node_modules/readable-stream", + "type": "prod", + }, + "xtend" => Edge { + "name": "xtend", + "spec": "~4.0.1", + "to": "node_modules/xtend", + "type": "prod", + }, + }, + "location": "node_modules/through2", + "name": "through2", + "peer": true, + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + }, + "thunky" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/multicast-dns", + "name": "thunky", + "spec": "^1.0.2", + "type": "prod", + }, + }, + "location": "node_modules/thunky", + "name": "thunky", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + }, + "timers-browserify" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/node-libs-browser", + "name": "timers-browserify", + "spec": "^2.0.4", + "type": "prod", + }, + }, + "edgesOut": Map { + "setimmediate" => Edge { + "name": "setimmediate", + "spec": "^1.0.4", + "to": "node_modules/setimmediate", + "type": "prod", + }, + }, + "location": "node_modules/timers-browserify", + "name": "timers-browserify", + "peer": true, + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", + }, + "to-arraybuffer" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/stream-http", + "name": "to-arraybuffer", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/to-arraybuffer", + "name": "to-arraybuffer", + "peer": true, + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + }, + "to-object-path" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/cache-base", + "name": "to-object-path", + "spec": "^0.3.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "kind-of" => Edge { + "name": "kind-of", + "spec": "^3.0.2", + "to": "node_modules/kind-of", + "type": "prod", + }, + }, + "location": "node_modules/to-object-path", + "name": "to-object-path", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + }, + "to-regex" => Node { + "children": Map { + "extend-shallow" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/to-regex", + "name": "extend-shallow", + "spec": "^3.0.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "assign-symbols" => Edge { + "name": "assign-symbols", + "spec": "^1.0.0", + "to": "node_modules/assign-symbols", + "type": "prod", + }, + "is-extendable" => Edge { + "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", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + }, + "is-extendable" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/to-regex/node_modules/extend-shallow", + "name": "is-extendable", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-plain-object" => Edge { + "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", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/braces", + "name": "to-regex", + "spec": "^3.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/expand-brackets", + "name": "to-regex", + "spec": "^3.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/extglob", + "name": "to-regex", + "spec": "^3.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/micromatch", + "name": "to-regex", + "spec": "^3.0.2", + "type": "prod", + }, + Edge { + "from": "node_modules/nanomatch", + "name": "to-regex", + "spec": "^3.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "define-property" => Edge { + "name": "define-property", + "spec": "^2.0.2", + "to": "node_modules/define-property", + "type": "prod", + }, + "extend-shallow" => Edge { + "name": "extend-shallow", + "spec": "^3.0.2", + "to": "node_modules/to-regex/node_modules/extend-shallow", + "type": "prod", + }, + "regex-not" => Edge { + "name": "regex-not", + "spec": "^1.0.2", + "to": "node_modules/regex-not", + "type": "prod", + }, + "safe-regex" => Edge { + "name": "safe-regex", + "spec": "^1.1.0", + "to": "node_modules/safe-regex", + "type": "prod", + }, + }, + "location": "node_modules/to-regex", + "name": "to-regex", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + }, + "to-regex-range" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/fill-range", + "name": "to-regex-range", + "spec": "^2.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-number" => Edge { + "name": "is-number", + "spec": "^3.0.0", + "to": "node_modules/is-number", + "type": "prod", + }, + "repeat-string" => Edge { + "name": "repeat-string", + "spec": "^1.6.1", + "to": "node_modules/repeat-string", + "type": "prod", + }, + }, + "location": "node_modules/to-regex-range", + "name": "to-regex-range", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + }, + "toidentifier" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/http-errors", + "name": "toidentifier", + "spec": "1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/toidentifier", + "name": "toidentifier", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + }, + "tslib" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/chrome-trace-event", + "name": "tslib", + "spec": "^1.9.0", + "type": "prod", + }, + }, + "location": "node_modules/tslib", + "name": "tslib", + "peer": true, + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + }, + "tty-browserify" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/node-libs-browser", + "name": "tty-browserify", + "spec": "0.0.0", + "type": "prod", + }, + }, + "location": "node_modules/tty-browserify", + "name": "tty-browserify", + "peer": true, + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + }, + "type-is" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/body-parser", + "name": "type-is", + "spec": "~1.6.17", + "type": "prod", + }, + Edge { + "from": "node_modules/express", + "name": "type-is", + "spec": "~1.6.18", + "type": "prod", + }, + }, + "edgesOut": Map { + "media-typer" => Edge { + "name": "media-typer", + "spec": "0.3.0", + "to": "node_modules/media-typer", + "type": "prod", + }, + "mime-types" => Edge { + "name": "mime-types", + "spec": "~2.1.24", + "to": "node_modules/mime-types", + "type": "prod", + }, + }, + "location": "node_modules/type-is", + "name": "type-is", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + }, + "typedarray" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/concat-stream", + "name": "typedarray", + "spec": "^0.0.6", + "type": "prod", + }, + }, + "location": "node_modules/typedarray", + "name": "typedarray", + "peer": true, + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + }, + "union-value" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/cache-base", + "name": "union-value", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "arr-union" => Edge { + "name": "arr-union", + "spec": "^3.1.0", + "to": "node_modules/arr-union", + "type": "prod", + }, + "get-value" => Edge { + "name": "get-value", + "spec": "^2.0.6", + "to": "node_modules/get-value", + "type": "prod", + }, + "is-extendable" => Edge { + "name": "is-extendable", + "spec": "^0.1.1", + "to": "node_modules/is-extendable", + "type": "prod", + }, + "set-value" => Edge { + "name": "set-value", + "spec": "^2.0.1", + "to": "node_modules/set-value", + "type": "prod", + }, + }, + "location": "node_modules/union-value", + "name": "union-value", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + }, + "unique-filename" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/cacache", + "name": "unique-filename", + "spec": "^1.1.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "unique-slug" => Edge { + "name": "unique-slug", + "spec": "^2.0.0", + "to": "node_modules/unique-slug", + "type": "prod", + }, + }, + "location": "node_modules/unique-filename", + "name": "unique-filename", + "peer": true, + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + }, + "unique-slug" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/unique-filename", + "name": "unique-slug", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "imurmurhash" => Edge { + "name": "imurmurhash", + "spec": "^0.1.4", + "to": "node_modules/imurmurhash", + "type": "prod", + }, + }, + "location": "node_modules/unique-slug", + "name": "unique-slug", + "peer": true, + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + }, + "unpipe" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/finalhandler", + "name": "unpipe", + "spec": "~1.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/raw-body", + "name": "unpipe", + "spec": "1.0.0", + "type": "prod", + }, + }, + "location": "node_modules/unpipe", + "name": "unpipe", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + }, + "unset-value" => Node { + "children": Map { + "has-value" => Node { + "children": Map { + "isobject" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/unset-value/node_modules/has-value", + "name": "isobject", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "isarray" => Edge { + "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", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/unset-value", + "name": "has-value", + "spec": "^0.3.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "get-value" => Edge { + "name": "get-value", + "spec": "^2.0.3", + "to": "node_modules/get-value", + "type": "prod", + }, + "has-values" => Edge { + "name": "has-values", + "spec": "^0.1.4", + "to": "node_modules/unset-value/node_modules/has-values", + "type": "prod", + }, + "isobject" => Edge { + "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", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + }, + "has-values" => Node { + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/cache-base", + "name": "unset-value", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "has-value" => Edge { + "name": "has-value", + "spec": "^0.3.1", + "to": "node_modules/unset-value/node_modules/has-value", + "type": "prod", + }, + "isobject" => Edge { + "name": "isobject", + "spec": "^3.0.0", + "to": "node_modules/isobject", + "type": "prod", + }, + }, + "location": "node_modules/unset-value", + "name": "unset-value", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + }, + "upath" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/chokidar", + "name": "upath", + "spec": "^1.1.1", + "type": "prod", + }, + }, + "location": "node_modules/upath", + "name": "upath", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + }, + "uri-js" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/ajv", + "name": "uri-js", + "spec": "^4.2.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "punycode" => Edge { + "name": "punycode", + "spec": "^2.1.0", + "to": "node_modules/punycode", + "type": "prod", + }, + }, + "location": "node_modules/uri-js", + "name": "uri-js", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz", + }, + "urix" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/source-map-resolve", + "name": "urix", + "spec": "^0.1.0", + "type": "prod", + }, + }, + "location": "node_modules/urix", + "name": "urix", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + }, + "url" => Node { + "children": Map { + "punycode" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/url", + "name": "punycode", + "spec": "1.3.2", + "type": "prod", + }, + }, + "location": "node_modules/url/node_modules/punycode", + "name": "punycode", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/node-libs-browser", + "name": "url", + "spec": "^0.11.0", + "type": "prod", + }, + Edge { + "from": "node_modules/webpack-dev-server", + "name": "url", + "spec": "^0.11.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "punycode" => Edge { + "name": "punycode", + "spec": "1.3.2", + "to": "node_modules/url/node_modules/punycode", + "type": "prod", + }, + "querystring" => Edge { + "name": "querystring", + "spec": "0.2.0", + "to": "node_modules/querystring", + "type": "prod", + }, + }, + "location": "node_modules/url", + "name": "url", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + }, + "url-parse" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/original", + "name": "url-parse", + "spec": "^1.4.3", + "type": "prod", + }, + Edge { + "from": "node_modules/sockjs-client", + "name": "url-parse", + "spec": "^1.4.3", + "type": "prod", + }, + }, + "edgesOut": Map { + "querystringify" => Edge { + "name": "querystringify", + "spec": "^2.1.1", + "to": "node_modules/querystringify", + "type": "prod", + }, + "requires-port" => Edge { + "name": "requires-port", + "spec": "^1.0.0", + "to": "node_modules/requires-port", + "type": "prod", + }, + }, + "location": "node_modules/url-parse", + "name": "url-parse", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz", + }, + "use" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/snapdragon", + "name": "use", + "spec": "^3.1.0", + "type": "prod", + }, + }, + "location": "node_modules/use", + "name": "use", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + }, + "util" => Node { + "children": Map { + "inherits" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/util", + "name": "inherits", + "spec": "2.0.3", + "type": "prod", + }, + }, + "location": "node_modules/util/node_modules/inherits", + "name": "inherits", + "peer": true, + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/node-libs-browser", + "name": "util", + "spec": "^0.11.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "inherits" => Edge { + "name": "inherits", + "spec": "2.0.3", + "to": "node_modules/util/node_modules/inherits", + "type": "prod", + }, + }, + "location": "node_modules/util", + "name": "util", + "peer": true, + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + }, + "util-deprecate" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/browserify-sign/node_modules/readable-stream", + "name": "util-deprecate", + "spec": "^1.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/hash-base/node_modules/readable-stream", + "name": "util-deprecate", + "spec": "^1.0.1", + "type": "prod", + }, + Edge { + "from": "node_modules/readable-stream", + "name": "util-deprecate", + "spec": "~1.0.1", + "type": "prod", + }, + Edge { + "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", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + }, + "utils-merge" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/express", + "name": "utils-merge", + "spec": "1.0.1", + "type": "prod", + }, + }, + "location": "node_modules/utils-merge", + "name": "utils-merge", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + }, + "uuid" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/sockjs", + "name": "uuid", + "spec": "^3.4.0", + "type": "prod", + }, + Edge { + "from": "node_modules/webpack-log", + "name": "uuid", + "spec": "^3.3.2", + "type": "prod", + }, + }, + "location": "node_modules/uuid", + "name": "uuid", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + }, + "vary" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/compression", + "name": "vary", + "spec": "~1.1.2", + "type": "prod", + }, + Edge { + "from": "node_modules/express", + "name": "vary", + "spec": "~1.1.2", + "type": "prod", + }, + }, + "location": "node_modules/vary", + "name": "vary", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + }, + "vm-browserify" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/node-libs-browser", + "name": "vm-browserify", + "spec": "^1.0.1", + "type": "prod", + }, + }, + "location": "node_modules/vm-browserify", + "name": "vm-browserify", + "peer": true, + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + }, + "watchpack" => Node { + "children": Map { + "anymatch" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/watchpack/node_modules/chokidar", + "name": "anymatch", + "spec": "~3.1.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "normalize-path" => Edge { + "name": "normalize-path", + "spec": "^3.0.0", + "to": "node_modules/normalize-path", + "type": "prod", + }, + "picomatch" => Edge { + "name": "picomatch", + "spec": "^2.0.4", + "to": "node_modules/picomatch", + "type": "prod", + }, + }, + "location": "node_modules/watchpack/node_modules/anymatch", + "name": "anymatch", + "optional": true, + "peer": true, + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + }, + "binary-extensions" => Node { + "edgesIn": Set { + Edge { + "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, + "peer": true, + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", + }, + "braces" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/watchpack/node_modules/chokidar", + "name": "braces", + "spec": "~3.0.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "fill-range" => Edge { + "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, + "peer": true, + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + }, + "chokidar" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/watchpack", + "name": "chokidar", + "spec": "^3.4.1", + "type": "optional", + }, + }, + "edgesOut": Map { + "anymatch" => Edge { + "name": "anymatch", + "spec": "~3.1.1", + "to": "node_modules/watchpack/node_modules/anymatch", + "type": "prod", + }, + "braces" => Edge { + "name": "braces", + "spec": "~3.0.2", + "to": "node_modules/watchpack/node_modules/braces", + "type": "prod", + }, + "fsevents" => Edge { + "name": "fsevents", + "spec": "~2.1.2", + "to": "node_modules/watchpack/node_modules/fsevents", + "type": "optional", + }, + "glob-parent" => Edge { + "name": "glob-parent", + "spec": "~5.1.0", + "to": "node_modules/watchpack/node_modules/glob-parent", + "type": "prod", + }, + "is-binary-path" => Edge { + "name": "is-binary-path", + "spec": "~2.1.0", + "to": "node_modules/watchpack/node_modules/is-binary-path", + "type": "prod", + }, + "is-glob" => Edge { + "name": "is-glob", + "spec": "~4.0.1", + "to": "node_modules/is-glob", + "type": "prod", + }, + "normalize-path" => Edge { + "name": "normalize-path", + "spec": "~3.0.0", + "to": "node_modules/normalize-path", + "type": "prod", + }, + "readdirp" => Edge { + "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, + "peer": true, + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz", + }, + "fill-range" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/watchpack/node_modules/braces", + "name": "fill-range", + "spec": "^7.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "to-regex-range" => Edge { + "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, + "peer": true, + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + }, + "fsevents" => Node { + "edgesIn": Set { + Edge { + "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, + "peer": true, + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + }, + "glob-parent" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/watchpack/node_modules/chokidar", + "name": "glob-parent", + "spec": "~5.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-glob" => Edge { + "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, + "peer": true, + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + }, + "is-binary-path" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/watchpack/node_modules/chokidar", + "name": "is-binary-path", + "spec": "~2.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "binary-extensions" => Edge { + "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, + "peer": true, + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + }, + "is-number" => Node { + "edgesIn": Set { + Edge { + "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, + "peer": true, + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + }, + "readdirp" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/watchpack/node_modules/chokidar", + "name": "readdirp", + "spec": "~3.5.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "picomatch" => Edge { + "name": "picomatch", + "spec": "^2.2.1", + "to": "node_modules/picomatch", + "type": "prod", + }, + }, + "location": "node_modules/watchpack/node_modules/readdirp", + "name": "readdirp", + "optional": true, + "peer": true, + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", + }, + "to-regex-range" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/watchpack/node_modules/fill-range", + "name": "to-regex-range", + "spec": "^5.0.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "is-number" => Edge { + "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, + "peer": true, + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/webpack", + "name": "watchpack", + "spec": "^1.7.4", + "type": "prod", + }, + }, + "edgesOut": Map { + "chokidar" => Edge { + "name": "chokidar", + "spec": "^3.4.1", + "to": "node_modules/watchpack/node_modules/chokidar", + "type": "optional", + }, + "graceful-fs" => Edge { + "name": "graceful-fs", + "spec": "^4.1.2", + "to": "node_modules/graceful-fs", + "type": "prod", + }, + "neo-async" => Edge { + "name": "neo-async", + "spec": "^2.5.0", + "to": "node_modules/neo-async", + "type": "prod", + }, + "watchpack-chokidar2" => Edge { + "name": "watchpack-chokidar2", + "spec": "^2.0.0", + "to": "node_modules/watchpack-chokidar2", + "type": "optional", + }, + }, + "location": "node_modules/watchpack", + "name": "watchpack", + "peer": true, + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.4.tgz", + }, + "watchpack-chokidar2" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/watchpack", + "name": "watchpack-chokidar2", + "spec": "^2.0.0", + "type": "optional", + }, + }, + "edgesOut": Map { + "chokidar" => Edge { + "name": "chokidar", + "spec": "^2.1.8", + "to": "node_modules/chokidar", + "type": "prod", + }, + }, + "location": "node_modules/watchpack-chokidar2", + "name": "watchpack-chokidar2", + "optional": true, + "peer": true, + "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", + }, + "wbuf" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/hpack.js", + "name": "wbuf", + "spec": "^1.1.0", + "type": "prod", + }, + Edge { + "from": "node_modules/spdy-transport", + "name": "wbuf", + "spec": "^1.7.3", + "type": "prod", + }, + }, + "edgesOut": Map { + "minimalistic-assert" => Edge { + "name": "minimalistic-assert", + "spec": "^1.0.0", + "to": "node_modules/minimalistic-assert", + "type": "prod", + }, + }, + "location": "node_modules/wbuf", + "name": "wbuf", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + }, + "webpack" => Node { + "children": Map { + "schema-utils" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/webpack", + "name": "schema-utils", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "ajv" => Edge { + "name": "ajv", + "spec": "^6.1.0", + "to": "node_modules/ajv", + "type": "prod", + }, + "ajv-errors" => Edge { + "name": "ajv-errors", + "spec": "^1.0.0", + "to": "node_modules/ajv-errors", + "type": "prod", + }, + "ajv-keywords" => Edge { + "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", + "peer": true, + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/@pmmmwh/react-refresh-webpack-plugin", + "name": "webpack", + "spec": ">=4.43.0 <6.0.0", + "type": "peer", + }, + Edge { + "from": "node_modules/terser-webpack-plugin", + "name": "webpack", + "spec": "^4.0.0", + "type": "peer", + }, + Edge { + "from": "node_modules/webpack-dev-middleware", + "name": "webpack", + "spec": "^4.0.0", + "type": "peer", + }, + Edge { + "from": "node_modules/webpack-dev-server", + "name": "webpack", + "spec": "^4.0.0 || ^5.0.0", + "type": "peer", + }, + }, + "edgesOut": Map { + "@webassemblyjs/ast" => Edge { + "name": "@webassemblyjs/ast", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/ast", + "type": "prod", + }, + "@webassemblyjs/helper-module-context" => Edge { + "name": "@webassemblyjs/helper-module-context", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/helper-module-context", + "type": "prod", + }, + "@webassemblyjs/wasm-edit" => Edge { + "name": "@webassemblyjs/wasm-edit", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/wasm-edit", + "type": "prod", + }, + "@webassemblyjs/wasm-parser" => Edge { + "name": "@webassemblyjs/wasm-parser", + "spec": "1.9.0", + "to": "node_modules/@webassemblyjs/wasm-parser", + "type": "prod", + }, + "acorn" => Edge { + "name": "acorn", + "spec": "^6.4.1", + "to": "node_modules/acorn", + "type": "prod", + }, + "ajv" => Edge { + "name": "ajv", + "spec": "^6.10.2", + "to": "node_modules/ajv", + "type": "prod", + }, + "ajv-keywords" => Edge { + "name": "ajv-keywords", + "spec": "^3.4.1", + "to": "node_modules/ajv-keywords", + "type": "prod", + }, + "chrome-trace-event" => Edge { + "name": "chrome-trace-event", + "spec": "^1.0.2", + "to": "node_modules/chrome-trace-event", + "type": "prod", + }, + "enhanced-resolve" => Edge { + "name": "enhanced-resolve", + "spec": "^4.3.0", + "to": "node_modules/enhanced-resolve", + "type": "prod", + }, + "eslint-scope" => Edge { + "name": "eslint-scope", + "spec": "^4.0.3", + "to": "node_modules/eslint-scope", + "type": "prod", + }, + "json-parse-better-errors" => Edge { + "name": "json-parse-better-errors", + "spec": "^1.0.2", + "to": "node_modules/json-parse-better-errors", + "type": "prod", + }, + "loader-runner" => Edge { + "name": "loader-runner", + "spec": "^2.4.0", + "to": "node_modules/loader-runner", + "type": "prod", + }, + "loader-utils" => Edge { + "name": "loader-utils", + "spec": "^1.2.3", + "to": "node_modules/loader-utils", + "type": "prod", + }, + "memory-fs" => Edge { + "name": "memory-fs", + "spec": "^0.4.1", + "to": "node_modules/memory-fs", + "type": "prod", + }, + "micromatch" => Edge { + "name": "micromatch", + "spec": "^3.1.10", + "to": "node_modules/micromatch", + "type": "prod", + }, + "mkdirp" => Edge { + "name": "mkdirp", + "spec": "^0.5.3", + "to": "node_modules/mkdirp", + "type": "prod", + }, + "neo-async" => Edge { + "name": "neo-async", + "spec": "^2.6.1", + "to": "node_modules/neo-async", + "type": "prod", + }, + "node-libs-browser" => Edge { + "name": "node-libs-browser", + "spec": "^2.2.1", + "to": "node_modules/node-libs-browser", + "type": "prod", + }, + "schema-utils" => Edge { + "name": "schema-utils", + "spec": "^1.0.0", + "to": "node_modules/webpack/node_modules/schema-utils", + "type": "prod", + }, + "tapable" => Edge { + "name": "tapable", + "spec": "^1.1.3", + "to": "node_modules/tapable", + "type": "prod", + }, + "terser-webpack-plugin" => Edge { + "name": "terser-webpack-plugin", + "spec": "^1.4.3", + "to": "node_modules/terser-webpack-plugin", + "type": "prod", + }, + "watchpack" => Edge { + "name": "watchpack", + "spec": "^1.7.4", + "to": "node_modules/watchpack", + "type": "prod", + }, + "webpack-sources" => Edge { + "name": "webpack-sources", + "spec": "^1.4.1", + "to": "node_modules/webpack-sources", + "type": "prod", + }, + }, + "location": "node_modules/webpack", + "name": "webpack", + "peer": true, + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.44.2.tgz", + }, + "webpack-dev-middleware" => Node { + "children": Map { + "mime" => Node { + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/webpack-dev-server", + "name": "webpack-dev-middleware", + "spec": "^3.7.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "memory-fs" => Edge { + "name": "memory-fs", + "spec": "^0.4.1", + "to": "node_modules/memory-fs", + "type": "prod", + }, + "mime" => Edge { + "name": "mime", + "spec": "^2.4.4", + "to": "node_modules/webpack-dev-middleware/node_modules/mime", + "type": "prod", + }, + "mkdirp" => Edge { + "name": "mkdirp", + "spec": "^0.5.1", + "to": "node_modules/mkdirp", + "type": "prod", + }, + "range-parser" => Edge { + "name": "range-parser", + "spec": "^1.2.1", + "to": "node_modules/range-parser", + "type": "prod", + }, + "webpack" => Edge { + "name": "webpack", + "spec": "^4.0.0", + "to": "node_modules/webpack", + "type": "peer", + }, + "webpack-log" => Edge { + "name": "webpack-log", + "spec": "^2.0.0", + "to": "node_modules/webpack-log", + "type": "prod", + }, + }, + "location": "node_modules/webpack-dev-middleware", + "name": "webpack-dev-middleware", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz", + }, + "webpack-dev-server" => Node { + "children": Map { + "schema-utils" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/webpack-dev-server", + "name": "schema-utils", + "spec": "^1.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "ajv" => Edge { + "name": "ajv", + "spec": "^6.1.0", + "to": "node_modules/ajv", + "type": "prod", + }, + "ajv-errors" => Edge { + "name": "ajv-errors", + "spec": "^1.0.0", + "to": "node_modules/ajv-errors", + "type": "prod", + }, + "ajv-keywords" => Edge { + "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", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + }, + "supports-color" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/webpack-dev-server", + "name": "supports-color", + "spec": "^6.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "has-flag" => Edge { + "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", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "", + "name": "webpack-dev-server", + "spec": "^3.11.0", + "type": "prod", + }, + Edge { + "from": "node_modules/@pmmmwh/react-refresh-webpack-plugin", + "name": "webpack-dev-server", + "spec": "3.x", + "type": "peerOptional", + }, + }, + "edgesOut": Map { + "ansi-html" => Edge { + "name": "ansi-html", + "spec": "0.0.7", + "to": "node_modules/ansi-html", + "type": "prod", + }, + "bonjour" => Edge { + "name": "bonjour", + "spec": "^3.5.0", + "to": "node_modules/bonjour", + "type": "prod", + }, + "chokidar" => Edge { + "name": "chokidar", + "spec": "^2.1.8", + "to": "node_modules/chokidar", + "type": "prod", + }, + "compression" => Edge { + "name": "compression", + "spec": "^1.7.4", + "to": "node_modules/compression", + "type": "prod", + }, + "connect-history-api-fallback" => Edge { + "name": "connect-history-api-fallback", + "spec": "^1.6.0", + "to": "node_modules/connect-history-api-fallback", + "type": "prod", + }, + "debug" => Edge { + "name": "debug", + "spec": "^4.1.1", + "to": "node_modules/debug", + "type": "prod", + }, + "del" => Edge { + "name": "del", + "spec": "^4.1.1", + "to": "node_modules/del", + "type": "prod", + }, + "express" => Edge { + "name": "express", + "spec": "^4.17.1", + "to": "node_modules/express", + "type": "prod", + }, + "html-entities" => Edge { + "name": "html-entities", + "spec": "^1.3.1", + "to": "node_modules/html-entities", + "type": "prod", + }, + "http-proxy-middleware" => Edge { + "name": "http-proxy-middleware", + "spec": "0.19.1", + "to": "node_modules/http-proxy-middleware", + "type": "prod", + }, + "import-local" => Edge { + "name": "import-local", + "spec": "^2.0.0", + "to": "node_modules/import-local", + "type": "prod", + }, + "internal-ip" => Edge { + "name": "internal-ip", + "spec": "^4.3.0", + "to": "node_modules/internal-ip", + "type": "prod", + }, + "ip" => Edge { + "name": "ip", + "spec": "^1.1.5", + "to": "node_modules/ip", + "type": "prod", + }, + "is-absolute-url" => Edge { + "name": "is-absolute-url", + "spec": "^3.0.3", + "to": "node_modules/is-absolute-url", + "type": "prod", + }, + "killable" => Edge { + "name": "killable", + "spec": "^1.0.1", + "to": "node_modules/killable", + "type": "prod", + }, + "loglevel" => Edge { + "name": "loglevel", + "spec": "^1.6.8", + "to": "node_modules/loglevel", + "type": "prod", + }, + "opn" => Edge { + "name": "opn", + "spec": "^5.5.0", + "to": "node_modules/opn", + "type": "prod", + }, + "p-retry" => Edge { + "name": "p-retry", + "spec": "^3.0.1", + "to": "node_modules/p-retry", + "type": "prod", + }, + "portfinder" => Edge { + "name": "portfinder", + "spec": "^1.0.26", + "to": "node_modules/portfinder", + "type": "prod", + }, + "schema-utils" => Edge { + "name": "schema-utils", + "spec": "^1.0.0", + "to": "node_modules/webpack-dev-server/node_modules/schema-utils", + "type": "prod", + }, + "selfsigned" => Edge { + "name": "selfsigned", + "spec": "^1.10.7", + "to": "node_modules/selfsigned", + "type": "prod", + }, + "semver" => Edge { + "name": "semver", + "spec": "^6.3.0", + "to": "node_modules/semver", + "type": "prod", + }, + "serve-index" => Edge { + "name": "serve-index", + "spec": "^1.9.1", + "to": "node_modules/serve-index", + "type": "prod", + }, + "sockjs" => Edge { + "name": "sockjs", + "spec": "0.3.20", + "to": "node_modules/sockjs", + "type": "prod", + }, + "sockjs-client" => Edge { + "name": "sockjs-client", + "spec": "1.4.0", + "to": "node_modules/sockjs-client", + "type": "prod", + }, + "spdy" => Edge { + "name": "spdy", + "spec": "^4.0.2", + "to": "node_modules/spdy", + "type": "prod", + }, + "strip-ansi" => Edge { + "name": "strip-ansi", + "spec": "^3.0.1", + "to": "node_modules/strip-ansi", + "type": "prod", + }, + "supports-color" => Edge { + "name": "supports-color", + "spec": "^6.1.0", + "to": "node_modules/webpack-dev-server/node_modules/supports-color", + "type": "prod", + }, + "url" => Edge { + "name": "url", + "spec": "^0.11.0", + "to": "node_modules/url", + "type": "prod", + }, + "webpack" => Edge { + "name": "webpack", + "spec": "^4.0.0 || ^5.0.0", + "to": "node_modules/webpack", + "type": "peer", + }, + "webpack-dev-middleware" => Edge { + "name": "webpack-dev-middleware", + "spec": "^3.7.2", + "to": "node_modules/webpack-dev-middleware", + "type": "prod", + }, + "webpack-log" => Edge { + "name": "webpack-log", + "spec": "^2.0.0", + "to": "node_modules/webpack-log", + "type": "prod", + }, + "ws" => Edge { + "name": "ws", + "spec": "^6.2.1", + "to": "node_modules/ws", + "type": "prod", + }, + "yargs" => Edge { + "name": "yargs", + "spec": "^13.3.2", + "to": "node_modules/yargs", + "type": "prod", + }, + }, + "location": "node_modules/webpack-dev-server", + "name": "webpack-dev-server", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.0.tgz", + }, + "webpack-log" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/webpack-dev-middleware", + "name": "webpack-log", + "spec": "^2.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/webpack-dev-server", + "name": "webpack-log", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "ansi-colors" => Edge { + "name": "ansi-colors", + "spec": "^3.0.0", + "to": "node_modules/ansi-colors", + "type": "prod", + }, + "uuid" => Edge { + "name": "uuid", + "spec": "^3.3.2", + "to": "node_modules/uuid", + "type": "prod", + }, + }, + "location": "node_modules/webpack-log", + "name": "webpack-log", + "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", + }, + "webpack-sources" => Node { + "children": Map { + "source-map" => Node { + "edgesIn": Set { + Edge { + "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", + "peer": true, + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/terser-webpack-plugin", + "name": "webpack-sources", + "spec": "^1.4.0", + "type": "prod", + }, + Edge { + "from": "node_modules/webpack", + "name": "webpack-sources", + "spec": "^1.4.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "source-list-map" => Edge { + "name": "source-list-map", + "spec": "^2.0.0", + "to": "node_modules/source-list-map", + "type": "prod", + }, + "source-map" => Edge { + "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", + "peer": true, + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + }, + "websocket-driver" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/faye-websocket", + "name": "websocket-driver", + "spec": ">=0.5.1", + "type": "prod", + }, + Edge { + "from": "node_modules/sockjs", + "name": "websocket-driver", + "spec": "0.6.5", + "type": "prod", + }, + Edge { + "from": "node_modules/sockjs-client/node_modules/faye-websocket", + "name": "websocket-driver", + "spec": ">=0.5.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "websocket-extensions" => Edge { + "name": "websocket-extensions", + "spec": ">=0.1.1", + "to": "node_modules/websocket-extensions", + "type": "prod", + }, + }, + "location": "node_modules/websocket-driver", + "name": "websocket-driver", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz", + }, + "websocket-extensions" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/websocket-driver", + "name": "websocket-extensions", + "spec": ">=0.1.1", + "type": "prod", + }, + }, + "location": "node_modules/websocket-extensions", + "name": "websocket-extensions", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + }, + "which" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/cross-spawn", + "name": "which", + "spec": "^1.2.9", + "type": "prod", + }, + }, + "edgesOut": Map { + "isexe" => Edge { + "name": "isexe", + "spec": "^2.0.0", + "to": "node_modules/isexe", + "type": "prod", + }, + }, + "location": "node_modules/which", + "name": "which", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + }, + "which-module" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/yargs", + "name": "which-module", + "spec": "^2.0.0", + "type": "prod", + }, + }, + "location": "node_modules/which-module", + "name": "which-module", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + }, + "worker-farm" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/terser-webpack-plugin", + "name": "worker-farm", + "spec": "^1.7.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "errno" => Edge { + "name": "errno", + "spec": "~0.1.7", + "to": "node_modules/errno", + "type": "prod", + }, + }, + "location": "node_modules/worker-farm", + "name": "worker-farm", + "peer": true, + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + }, + "wrap-ansi" => Node { + "children": Map { + "ansi-regex" => Node { + "edgesIn": Set { + Edge { + "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", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + }, + "strip-ansi" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/wrap-ansi", + "name": "strip-ansi", + "spec": "^5.0.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "ansi-regex" => Edge { + "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", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + }, + }, + "edgesIn": Set { + Edge { + "from": "node_modules/cliui", + "name": "wrap-ansi", + "spec": "^5.1.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "ansi-styles" => Edge { + "name": "ansi-styles", + "spec": "^3.2.0", + "to": "node_modules/ansi-styles", + "type": "prod", + }, + "string-width" => Edge { + "name": "string-width", + "spec": "^3.0.0", + "to": "node_modules/string-width", + "type": "prod", + }, + "strip-ansi" => Edge { + "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", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + }, + "wrappy" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/inflight", + "name": "wrappy", + "spec": "1", + "type": "prod", + }, + Edge { + "from": "node_modules/once", + "name": "wrappy", + "spec": "1", + "type": "prod", + }, + }, + "location": "node_modules/wrappy", + "name": "wrappy", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + }, + "ws" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/webpack-dev-server", + "name": "ws", + "spec": "^6.2.1", + "type": "prod", + }, + }, + "edgesOut": Map { + "async-limiter" => Edge { + "name": "async-limiter", + "spec": "~1.0.0", + "to": "node_modules/async-limiter", + "type": "prod", + }, + }, + "location": "node_modules/ws", + "name": "ws", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", + }, + "xtend" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/stream-http", + "name": "xtend", + "spec": "^4.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/through2", + "name": "xtend", + "spec": "~4.0.1", + "type": "prod", + }, + }, + "location": "node_modules/xtend", + "name": "xtend", + "peer": true, + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + }, + "y18n" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/cacache", + "name": "y18n", + "spec": "^4.0.0", + "type": "prod", + }, + Edge { + "from": "node_modules/yargs", + "name": "y18n", + "spec": "^4.0.0", + "type": "prod", + }, + }, + "location": "node_modules/y18n", + "name": "y18n", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + }, + "yallist" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/lru-cache", + "name": "yallist", + "spec": "^3.0.2", + "type": "prod", + }, + }, + "location": "node_modules/yallist", + "name": "yallist", + "peer": true, + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + }, + "yargs" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/webpack-dev-server", + "name": "yargs", + "spec": "^13.3.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "cliui" => Edge { + "name": "cliui", + "spec": "^5.0.0", + "to": "node_modules/cliui", + "type": "prod", + }, + "find-up" => Edge { + "name": "find-up", + "spec": "^3.0.0", + "to": "node_modules/find-up", + "type": "prod", + }, + "get-caller-file" => Edge { + "name": "get-caller-file", + "spec": "^2.0.1", + "to": "node_modules/get-caller-file", + "type": "prod", + }, + "require-directory" => Edge { + "name": "require-directory", + "spec": "^2.1.1", + "to": "node_modules/require-directory", + "type": "prod", + }, + "require-main-filename" => Edge { + "name": "require-main-filename", + "spec": "^2.0.0", + "to": "node_modules/require-main-filename", + "type": "prod", + }, + "set-blocking" => Edge { + "name": "set-blocking", + "spec": "^2.0.0", + "to": "node_modules/set-blocking", + "type": "prod", + }, + "string-width" => Edge { + "name": "string-width", + "spec": "^3.0.0", + "to": "node_modules/string-width", + "type": "prod", + }, + "which-module" => Edge { + "name": "which-module", + "spec": "^2.0.0", + "to": "node_modules/which-module", + "type": "prod", + }, + "y18n" => Edge { + "name": "y18n", + "spec": "^4.0.0", + "to": "node_modules/y18n", + "type": "prod", + }, + "yargs-parser" => Edge { + "name": "yargs-parser", + "spec": "^13.1.2", + "to": "node_modules/yargs-parser", + "type": "prod", + }, + }, + "location": "node_modules/yargs", + "name": "yargs", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + }, + "yargs-parser" => Node { + "edgesIn": Set { + Edge { + "from": "node_modules/yargs", + "name": "yargs-parser", + "spec": "^13.1.2", + "type": "prod", + }, + }, + "edgesOut": Map { + "camelcase" => Edge { + "name": "camelcase", + "spec": "^5.0.0", + "to": "node_modules/camelcase", + "type": "prod", + }, + "decamelize" => Edge { + "name": "decamelize", + "spec": "^1.2.0", + "to": "node_modules/decamelize", + "type": "prod", + }, + }, + "location": "node_modules/yargs-parser", + "name": "yargs-parser", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + }, + }, + "edgesOut": Map { + "@pmmmwh/react-refresh-webpack-plugin" => Edge { + "name": "@pmmmwh/react-refresh-webpack-plugin", + "spec": "^0.4.3", + "to": "node_modules/@pmmmwh/react-refresh-webpack-plugin", + "type": "prod", + }, + "webpack-dev-server" => Edge { + "name": "webpack-dev-server", + "spec": "^3.11.0", + "to": "node_modules/webpack-dev-server", + "type": "prod", + }, + }, + "location": "", + "name": "build-ideal-tree-peer-dep-that-needs-to-be-replaced", + "resolved": null, +} +` + exports[`test/arborist/build-ideal-tree.js TAP peerOptionals that are devDeps or explicit request > should install the abbrev dep 1`] = ` Node { "children": Map { diff --git a/test/arborist/build-ideal-tree.js b/test/arborist/build-ideal-tree.js index 35c68119a..0b6eb60cd 100644 --- a/test/arborist/build-ideal-tree.js +++ b/test/arborist/build-ideal-tree.js @@ -2275,3 +2275,34 @@ t.test('update global', async t => { t.matchSnapshot(await printIdeal(path, { global: true, update: true }), 'update all the deps') }) + +t.test('peer dep that needs to be replaced', async t => { + // this verifies that the webpack 5 that gets placed by default for + // the initial dep will be successfully replaced by webpack 4 that + // webpack-dev-server needs, even though webpack 5 has a dep that + // peer-depends back on it. + const path = t.testdir({ + 'package.json': JSON.stringify({ + dependencies: { + "@pmmmwh/react-refresh-webpack-plugin": "^0.4.3", + "webpack-dev-server": "^3.11.0" + }, + }), + }) + t.matchSnapshot(await printIdeal(path)) +}) + +t.test('peer dep override with dep sets being replaced', async t => { + // in this case, because our root depends on webpack 5, and on something + // that has a peer dependency on webpack 4, it overrides but otherwise fails. + const path = t.testdir({ + 'package.json': JSON.stringify({ + "devDependencies": { + "webpack": "^5.0.0", + "webpack-dev-server": "^3.11.0" + } + }) + }) + await t.rejects(printIdeal(path), { code: 'ERESOLVE' }) + t.matchSnapshot(await printIdeal(path, { force: true })) +})