diff --git a/src/lib/snyk-test/assemble-payloads.ts b/src/lib/snyk-test/assemble-payloads.ts index aabd0b0387..5ad8bc6267 100644 --- a/src/lib/snyk-test/assemble-payloads.ts +++ b/src/lib/snyk-test/assemble-payloads.ts @@ -7,11 +7,7 @@ import { getPlugin } from '../ecosystems'; import { Ecosystem, ContainerTarget, ScanResult } from '../ecosystems/types'; import { Options, PolicyOptions, TestOptions } from '../types'; import { Payload } from './types'; -import { - assembleQueryString, - printDepGraph, - shouldPrintDepGraph, -} from './common'; +import { assembleQueryString } from './common'; import { spinner } from '../spinner'; import { findAndLoadPolicyForScanResult } from '../ecosystems/policy'; import { getAuthHeader } from '../../lib/api-token'; @@ -58,22 +54,6 @@ export async function assembleEcosystemPayloads( scanResult.name = options['project-name'] || config.PROJECT_NAME || scanResult.name; - if (shouldPrintDepGraph(options)) { - spinner.clear(spinnerLbl)(); - - // not every scanResult has a 'depGraph' fact, for example the JAR - // fingerprints. I don't think we have another option than to skip - // those. - const dg = scanResult.facts.find((dg) => dg.type === 'depGraph'); - if (dg) { - await printDepGraph( - dg.data.toJSON(), - constructProjectName(scanResult), - process.stdout, - ); - } - } - payloads.push({ method: 'POST', url: `${config.API}${options.testDepGraphDockerEndpoint || @@ -108,7 +88,7 @@ export async function assembleEcosystemPayloads( // constructProjectName attempts to construct the project name the same way that // registry does. This is a bit difficult because in Registry, the code is // distributed over multiple functions and files that need to be kept in sync... -function constructProjectName(sr: ScanResult): string { +export function constructProjectName(sr: ScanResult): string { let suffix = ''; if (sr.identity.targetFile) { suffix = ':' + sr.identity.targetFile; diff --git a/src/lib/snyk-test/run-test.ts b/src/lib/snyk-test/run-test.ts index 6b81cee507..c38c98ca7b 100644 --- a/src/lib/snyk-test/run-test.ts +++ b/src/lib/snyk-test/run-test.ts @@ -72,7 +72,10 @@ import { import { getAuthHeader } from '../api-token'; import { getEcosystem } from '../ecosystems'; import { Issue } from '../ecosystems/types'; -import { assembleEcosystemPayloads } from './assemble-payloads'; +import { + assembleEcosystemPayloads, + constructProjectName, +} from './assemble-payloads'; import { makeRequest } from '../request'; import { spinner } from '../spinner'; import { hasUnknownVersions } from '../dep-graph'; @@ -235,6 +238,8 @@ async function sendAndParseResults( options: Options & TestOptions, ): Promise { const results: TestResult[] = []; + const ecosystem = getEcosystem(options); + const depGraphs = new Map(); await spinner.clear(spinnerLbl)(); if (!options.quiet) { @@ -303,12 +308,16 @@ async function sendAndParseResults( options, ); - const ecosystem = getEcosystem(options); if (ecosystem && options['print-deps']) { await spinner.clear(spinnerLbl)(); await maybePrintDepGraph(options, depGraph); } + if (ecosystem && depGraph) { + const targetName = scanResult ? constructProjectName(scanResult) : ''; + depGraphs.set(targetName, depGraph.toJSON()); + } + const legacyRes = convertIssuesToAffectedPkgs(response); const result = await parseRes( @@ -333,6 +342,15 @@ async function sendAndParseResults( hasUnknownVersions, }); } + + if (ecosystem && shouldPrintDepGraph(options)) { + await spinner.clear(spinnerLbl)(); + for (const [targetName, depGraph] of depGraphs.entries()) { + await printDepGraph(depGraph, targetName, process.stdout); + } + return []; + } + return results; } @@ -346,7 +364,10 @@ export async function runTest( try { const payloads = await assemblePayloads(root, options, featureFlags); - if (shouldPrintDepGraph(options)) { + // At this point managed ecosystems have dependency graphs printed. + // Containers however require another roundtrip to get all the + // dependency graph artifacts for printing. + if (!options.docker && shouldPrintDepGraph(options)) { const results: TestResult[] = []; return results; } diff --git a/test/jest/acceptance/snyk-container/__snapshots__/container.spec.ts.snap b/test/jest/acceptance/snyk-container/__snapshots__/container.spec.ts.snap new file mode 100644 index 0000000000..d9afce897b --- /dev/null +++ b/test/jest/acceptance/snyk-container/__snapshots__/container.spec.ts.snap @@ -0,0 +1,26 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`snyk container test prints dep graph with --print-graph flag 1`] = ` +[ + [ + "{"schemaVersion":"1.3.0","pkgManager":{"name":"apk","repositories":[{"alias":"alpine:3.11.6"}]},"pkgs":[{"id":"docker-image|multi-project-image.tar@","info":{"name":"docker-image|multi-project-image.tar"}},{"id":"busybox/busybox@1.31.1-r9","info":{"name":"busybox/busybox","version":"1.31.1-r9"}},{"id":"musl/musl@1.1.24-r2","info":{"name":"musl/musl","version":"1.1.24-r2"}},{"id":"alpine-baselayout/alpine-baselayout@3.2.0-r3","info":{"name":"alpine-baselayout/alpine-baselayout","version":"3.2.0-r3"}},{"id":"alpine-keys/alpine-keys@2.1-r2","info":{"name":"alpine-keys/alpine-keys","version":"2.1-r2"}},{"id":"openssl/libcrypto1.1@1.1.1g-r0","info":{"name":"openssl/libcrypto1.1","version":"1.1.1g-r0"}},{"id":"openssl/libssl1.1@1.1.1g-r0","info":{"name":"openssl/libssl1.1","version":"1.1.1g-r0"}},{"id":"zlib/zlib@1.2.11-r3","info":{"name":"zlib/zlib","version":"1.2.11-r3"}},{"id":"apk-tools/apk-tools@2.10.5-r0","info":{"name":"apk-tools/apk-tools","version":"2.10.5-r0"}},{"id":"libtls-standalone/libtls-standalone@2.9.1-r0","info":{"name":"libtls-standalone/libtls-standalone","version":"2.9.1-r0"}},{"id":"busybox/ssl_client@1.31.1-r9","info":{"name":"busybox/ssl_client","version":"1.31.1-r9"}},{"id":"ca-certificates/ca-certificates-cacert@20191127-r1","info":{"name":"ca-certificates/ca-certificates-cacert","version":"20191127-r1"}},{"id":"gcc/libstdc++@9.2.0-r4","info":{"name":"gcc/libstdc++","version":"9.2.0-r4"}},{"id":"gcc/libgcc@9.2.0-r4","info":{"name":"gcc/libgcc","version":"9.2.0-r4"}},{"id":"musl/musl-utils@1.1.24-r2","info":{"name":"musl/musl-utils","version":"1.1.24-r2"}},{"id":"libc-dev/libc-utils@0.7.2-r0","info":{"name":"libc-dev/libc-utils","version":"0.7.2-r0"}},{"id":"pax-utils/scanelf@1.2.4-r0","info":{"name":"pax-utils/scanelf","version":"1.2.4-r0"}}],"graph":{"rootNodeId":"root-node","nodes":[{"nodeId":"root-node","pkgId":"docker-image|multi-project-image.tar@","deps":[{"nodeId":"alpine-baselayout/alpine-baselayout@3.2.0-r3"},{"nodeId":"alpine-keys/alpine-keys@2.1-r2"},{"nodeId":"apk-tools/apk-tools@2.10.5-r0"},{"nodeId":"busybox/busybox@1.31.1-r9|2"},{"nodeId":"busybox/ssl_client@1.31.1-r9"},{"nodeId":"ca-certificates/ca-certificates-cacert@20191127-r1"},{"nodeId":"gcc/libgcc@9.2.0-r4"},{"nodeId":"gcc/libstdc++@9.2.0-r4|2"},{"nodeId":"libc-dev/libc-utils@0.7.2-r0"},{"nodeId":"libtls-standalone/libtls-standalone@2.9.1-r0|2"},{"nodeId":"musl/musl@1.1.24-r2"},{"nodeId":"musl/musl-utils@1.1.24-r2|2"},{"nodeId":"openssl/libcrypto1.1@1.1.1g-r0|2"},{"nodeId":"openssl/libssl1.1@1.1.1g-r0|2"},{"nodeId":"pax-utils/scanelf@1.2.4-r0|2"},{"nodeId":"zlib/zlib@1.2.11-r3|2"}]},{"nodeId":"busybox/busybox@1.31.1-r9|1","pkgId":"busybox/busybox@1.31.1-r9","deps":[]},{"nodeId":"busybox/busybox@1.31.1-r9|2","pkgId":"busybox/busybox@1.31.1-r9","deps":[{"nodeId":"musl/musl@1.1.24-r2"}]},{"nodeId":"musl/musl@1.1.24-r2","pkgId":"musl/musl@1.1.24-r2","deps":[]},{"nodeId":"alpine-baselayout/alpine-baselayout@3.2.0-r3","pkgId":"alpine-baselayout/alpine-baselayout@3.2.0-r3","deps":[{"nodeId":"busybox/busybox@1.31.1-r9|1"},{"nodeId":"musl/musl@1.1.24-r2"}]},{"nodeId":"alpine-keys/alpine-keys@2.1-r2","pkgId":"alpine-keys/alpine-keys@2.1-r2","deps":[]},{"nodeId":"openssl/libcrypto1.1@1.1.1g-r0|1","pkgId":"openssl/libcrypto1.1@1.1.1g-r0","deps":[]},{"nodeId":"openssl/libcrypto1.1@1.1.1g-r0|2","pkgId":"openssl/libcrypto1.1@1.1.1g-r0","deps":[{"nodeId":"musl/musl@1.1.24-r2"}]},{"nodeId":"openssl/libssl1.1@1.1.1g-r0|1","pkgId":"openssl/libssl1.1@1.1.1g-r0","deps":[]},{"nodeId":"openssl/libssl1.1@1.1.1g-r0|2","pkgId":"openssl/libssl1.1@1.1.1g-r0","deps":[{"nodeId":"musl/musl@1.1.24-r2"},{"nodeId":"openssl/libcrypto1.1@1.1.1g-r0|1"}]},{"nodeId":"zlib/zlib@1.2.11-r3|1","pkgId":"zlib/zlib@1.2.11-r3","deps":[]},{"nodeId":"zlib/zlib@1.2.11-r3|2","pkgId":"zlib/zlib@1.2.11-r3","deps":[{"nodeId":"musl/musl@1.1.24-r2"}]},{"nodeId":"apk-tools/apk-tools@2.10.5-r0","pkgId":"apk-tools/apk-tools@2.10.5-r0","deps":[{"nodeId":"musl/musl@1.1.24-r2"},{"nodeId":"openssl/libcrypto1.1@1.1.1g-r0|1"},{"nodeId":"openssl/libssl1.1@1.1.1g-r0|1"},{"nodeId":"zlib/zlib@1.2.11-r3|1"}]},{"nodeId":"libtls-standalone/libtls-standalone@2.9.1-r0|1","pkgId":"libtls-standalone/libtls-standalone@2.9.1-r0","deps":[]},{"nodeId":"libtls-standalone/libtls-standalone@2.9.1-r0|2","pkgId":"libtls-standalone/libtls-standalone@2.9.1-r0","deps":[{"nodeId":"ca-certificates/ca-certificates-cacert@20191127-r1"},{"nodeId":"musl/musl@1.1.24-r2"},{"nodeId":"openssl/libcrypto1.1@1.1.1g-r0|1"},{"nodeId":"openssl/libssl1.1@1.1.1g-r0|1"}]},{"nodeId":"busybox/ssl_client@1.31.1-r9","pkgId":"busybox/ssl_client@1.31.1-r9","deps":[{"nodeId":"libtls-standalone/libtls-standalone@2.9.1-r0|1"},{"nodeId":"musl/musl@1.1.24-r2"}]},{"nodeId":"ca-certificates/ca-certificates-cacert@20191127-r1","pkgId":"ca-certificates/ca-certificates-cacert@20191127-r1","deps":[]},{"nodeId":"gcc/libstdc++@9.2.0-r4|1","pkgId":"gcc/libstdc++@9.2.0-r4","deps":[{"nodeId":"musl/musl@1.1.24-r2"}]},{"nodeId":"gcc/libstdc++@9.2.0-r4|2","pkgId":"gcc/libstdc++@9.2.0-r4","deps":[]},{"nodeId":"gcc/libgcc@9.2.0-r4","pkgId":"gcc/libgcc@9.2.0-r4","deps":[{"nodeId":"gcc/libstdc++@9.2.0-r4|1"},{"nodeId":"musl/musl@1.1.24-r2"}]},{"nodeId":"musl/musl-utils@1.1.24-r2|1","pkgId":"musl/musl-utils@1.1.24-r2","deps":[]},{"nodeId":"musl/musl-utils@1.1.24-r2|2","pkgId":"musl/musl-utils@1.1.24-r2","deps":[{"nodeId":"musl/musl@1.1.24-r2"},{"nodeId":"pax-utils/scanelf@1.2.4-r0|1"}]},{"nodeId":"libc-dev/libc-utils@0.7.2-r0","pkgId":"libc-dev/libc-utils@0.7.2-r0","deps":[{"nodeId":"musl/musl-utils@1.1.24-r2|1"}]},{"nodeId":"pax-utils/scanelf@1.2.4-r0|1","pkgId":"pax-utils/scanelf@1.2.4-r0","deps":[]},{"nodeId":"pax-utils/scanelf@1.2.4-r0|2","pkgId":"pax-utils/scanelf@1.2.4-r0","deps":[{"nodeId":"musl/musl@1.1.24-r2"}]}]}}", + "docker-image|multi-project-image.tar", + ], + [ + "{"schemaVersion":"1.3.0","pkgManager":{"name":"npm"},"pkgs":[{"id":"goof@1.0.1","info":{"name":"goof","version":"1.0.1"}},{"id":"express@4.19.2","info":{"name":"express","version":"4.19.2"}}],"graph":{"rootNodeId":"root-node","nodes":[{"nodeId":"root-node","pkgId":"goof@1.0.1","deps":[{"nodeId":"express@4.19.2"}]},{"nodeId":"express@4.19.2","pkgId":"express@4.19.2","deps":[],"info":{"labels":{"scope":"prod","missingLockFileEntry":"true"}}}]}}", + "docker-image|multi-project-image.tar:/usr/goof2/package.json", + ], + [ + "{"schemaVersion":"1.3.0","pkgManager":{"name":"npm"},"pkgs":[{"id":"goof3@","info":{"name":"goof3"}},{"id":"mime-db@1.52.0","info":{"name":"mime-db","version":"1.52.0"}},{"id":"mime-types@2.1.35","info":{"name":"mime-types","version":"2.1.35"}},{"id":"negotiator@0.6.3","info":{"name":"negotiator","version":"0.6.3"}},{"id":"accepts@1.3.8","info":{"name":"accepts","version":"1.3.8"}},{"id":"array-flatten@1.1.1","info":{"name":"array-flatten","version":"1.1.1"}},{"id":"safe-buffer@5.2.1","info":{"name":"safe-buffer","version":"5.2.1"}},{"id":"content-disposition@0.5.4","info":{"name":"content-disposition","version":"0.5.4"}},{"id":"content-type@1.0.5","info":{"name":"content-type","version":"1.0.5"}},{"id":"cookie@0.6.0","info":{"name":"cookie","version":"0.6.0"}},{"id":"cookie-signature@1.0.6","info":{"name":"cookie-signature","version":"1.0.6"}},{"id":"ms@2.0.0","info":{"name":"ms","version":"2.0.0"}},{"id":"debug@2.6.9","info":{"name":"debug","version":"2.6.9"}},{"id":"es-errors@1.3.0","info":{"name":"es-errors","version":"1.3.0"}},{"id":"function-bind@1.1.2","info":{"name":"function-bind","version":"1.1.2"}},{"id":"has-proto@1.0.3","info":{"name":"has-proto","version":"1.0.3"}},{"id":"has-symbols@1.0.3","info":{"name":"has-symbols","version":"1.0.3"}},{"id":"hasown@2.0.2","info":{"name":"hasown","version":"2.0.2"}},{"id":"get-intrinsic@1.2.4","info":{"name":"get-intrinsic","version":"1.2.4"}},{"id":"es-define-property@1.0.0","info":{"name":"es-define-property","version":"1.0.0"}},{"id":"gopd@1.0.1","info":{"name":"gopd","version":"1.0.1"}},{"id":"define-data-property@1.1.4","info":{"name":"define-data-property","version":"1.1.4"}},{"id":"destroy@1.2.0","info":{"name":"destroy","version":"1.2.0"}},{"id":"encodeurl@1.0.2","info":{"name":"encodeurl","version":"1.0.2"}},{"id":"escape-html@1.0.3","info":{"name":"escape-html","version":"1.0.3"}},{"id":"etag@1.8.1","info":{"name":"etag","version":"1.8.1"}},{"id":"bytes@3.1.2","info":{"name":"bytes","version":"3.1.2"}},{"id":"depd@2.0.0","info":{"name":"depd","version":"2.0.0"}},{"id":"inherits@2.0.4","info":{"name":"inherits","version":"2.0.4"}},{"id":"setprototypeof@1.2.0","info":{"name":"setprototypeof","version":"1.2.0"}},{"id":"statuses@2.0.1","info":{"name":"statuses","version":"2.0.1"}},{"id":"toidentifier@1.0.1","info":{"name":"toidentifier","version":"1.0.1"}},{"id":"http-errors@2.0.0","info":{"name":"http-errors","version":"2.0.0"}},{"id":"safer-buffer@2.1.2","info":{"name":"safer-buffer","version":"2.1.2"}},{"id":"iconv-lite@0.4.24","info":{"name":"iconv-lite","version":"0.4.24"}},{"id":"ee-first@1.1.1","info":{"name":"ee-first","version":"1.1.1"}},{"id":"on-finished@2.4.1","info":{"name":"on-finished","version":"2.4.1"}},{"id":"has-property-descriptors@1.0.2","info":{"name":"has-property-descriptors","version":"1.0.2"}},{"id":"set-function-length@1.2.2","info":{"name":"set-function-length","version":"1.2.2"}},{"id":"call-bind@1.0.7","info":{"name":"call-bind","version":"1.0.7"}},{"id":"object-inspect@1.13.1","info":{"name":"object-inspect","version":"1.13.1"}},{"id":"side-channel@1.0.6","info":{"name":"side-channel","version":"1.0.6"}},{"id":"qs@6.11.0","info":{"name":"qs","version":"6.11.0"}},{"id":"unpipe@1.0.0","info":{"name":"unpipe","version":"1.0.0"}},{"id":"raw-body@2.5.2","info":{"name":"raw-body","version":"2.5.2"}},{"id":"media-typer@0.3.0","info":{"name":"media-typer","version":"0.3.0"}},{"id":"type-is@1.6.18","info":{"name":"type-is","version":"1.6.18"}},{"id":"body-parser@1.20.2","info":{"name":"body-parser","version":"1.20.2"}},{"id":"parseurl@1.3.3","info":{"name":"parseurl","version":"1.3.3"}},{"id":"finalhandler@1.2.0","info":{"name":"finalhandler","version":"1.2.0"}},{"id":"fresh@0.5.2","info":{"name":"fresh","version":"0.5.2"}},{"id":"merge-descriptors@1.0.1","info":{"name":"merge-descriptors","version":"1.0.1"}},{"id":"methods@1.1.2","info":{"name":"methods","version":"1.1.2"}},{"id":"path-to-regexp@0.1.7","info":{"name":"path-to-regexp","version":"0.1.7"}},{"id":"forwarded@0.2.0","info":{"name":"forwarded","version":"0.2.0"}},{"id":"ipaddr.js@1.9.1","info":{"name":"ipaddr.js","version":"1.9.1"}},{"id":"proxy-addr@2.0.7","info":{"name":"proxy-addr","version":"2.0.7"}},{"id":"range-parser@1.2.1","info":{"name":"range-parser","version":"1.2.1"}},{"id":"mime@1.6.0","info":{"name":"mime","version":"1.6.0"}},{"id":"ms@2.1.3","info":{"name":"ms","version":"2.1.3"}},{"id":"send@0.18.0","info":{"name":"send","version":"0.18.0"}},{"id":"serve-static@1.15.0","info":{"name":"serve-static","version":"1.15.0"}},{"id":"utils-merge@1.0.1","info":{"name":"utils-merge","version":"1.0.1"}},{"id":"vary@1.1.2","info":{"name":"vary","version":"1.1.2"}},{"id":"express@4.19.2","info":{"name":"express","version":"4.19.2"}}],"graph":{"rootNodeId":"root-node","nodes":[{"nodeId":"root-node","pkgId":"goof3@","deps":[{"nodeId":"accepts@1.3.8"},{"nodeId":"array-flatten@1.1.1"},{"nodeId":"content-disposition@0.5.4"},{"nodeId":"content-type@1.0.5"},{"nodeId":"cookie@0.6.0"},{"nodeId":"cookie-signature@1.0.6"},{"nodeId":"debug@2.6.9"},{"nodeId":"define-data-property@1.1.4"},{"nodeId":"destroy@1.2.0"},{"nodeId":"encodeurl@1.0.2"},{"nodeId":"escape-html@1.0.3"},{"nodeId":"etag@1.8.1"},{"nodeId":"express@4.19.2"}]},{"nodeId":"mime-db@1.52.0","pkgId":"mime-db@1.52.0","deps":[]},{"nodeId":"mime-types@2.1.35","pkgId":"mime-types@2.1.35","deps":[{"nodeId":"mime-db@1.52.0"}]},{"nodeId":"negotiator@0.6.3","pkgId":"negotiator@0.6.3","deps":[]},{"nodeId":"accepts@1.3.8","pkgId":"accepts@1.3.8","deps":[{"nodeId":"mime-types@2.1.35"},{"nodeId":"negotiator@0.6.3"}]},{"nodeId":"array-flatten@1.1.1","pkgId":"array-flatten@1.1.1","deps":[]},{"nodeId":"safe-buffer@5.2.1","pkgId":"safe-buffer@5.2.1","deps":[]},{"nodeId":"content-disposition@0.5.4","pkgId":"content-disposition@0.5.4","deps":[{"nodeId":"safe-buffer@5.2.1"}]},{"nodeId":"content-type@1.0.5","pkgId":"content-type@1.0.5","deps":[]},{"nodeId":"cookie@0.6.0","pkgId":"cookie@0.6.0","deps":[]},{"nodeId":"cookie-signature@1.0.6","pkgId":"cookie-signature@1.0.6","deps":[]},{"nodeId":"ms@2.0.0","pkgId":"ms@2.0.0","deps":[]},{"nodeId":"debug@2.6.9","pkgId":"debug@2.6.9","deps":[{"nodeId":"ms@2.0.0"}]},{"nodeId":"es-errors@1.3.0","pkgId":"es-errors@1.3.0","deps":[]},{"nodeId":"function-bind@1.1.2","pkgId":"function-bind@1.1.2","deps":[]},{"nodeId":"has-proto@1.0.3","pkgId":"has-proto@1.0.3","deps":[]},{"nodeId":"has-symbols@1.0.3","pkgId":"has-symbols@1.0.3","deps":[]},{"nodeId":"hasown@2.0.2","pkgId":"hasown@2.0.2","deps":[{"nodeId":"function-bind@1.1.2"}]},{"nodeId":"get-intrinsic@1.2.4","pkgId":"get-intrinsic@1.2.4","deps":[{"nodeId":"es-errors@1.3.0"},{"nodeId":"function-bind@1.1.2"},{"nodeId":"has-proto@1.0.3"},{"nodeId":"has-symbols@1.0.3"},{"nodeId":"hasown@2.0.2"}]},{"nodeId":"es-define-property@1.0.0","pkgId":"es-define-property@1.0.0","deps":[{"nodeId":"get-intrinsic@1.2.4"}]},{"nodeId":"gopd@1.0.1","pkgId":"gopd@1.0.1","deps":[{"nodeId":"get-intrinsic@1.2.4"}]},{"nodeId":"define-data-property@1.1.4","pkgId":"define-data-property@1.1.4","deps":[{"nodeId":"es-define-property@1.0.0"},{"nodeId":"es-errors@1.3.0"},{"nodeId":"gopd@1.0.1"}]},{"nodeId":"destroy@1.2.0","pkgId":"destroy@1.2.0","deps":[]},{"nodeId":"encodeurl@1.0.2","pkgId":"encodeurl@1.0.2","deps":[]},{"nodeId":"escape-html@1.0.3","pkgId":"escape-html@1.0.3","deps":[]},{"nodeId":"etag@1.8.1","pkgId":"etag@1.8.1","deps":[]},{"nodeId":"bytes@3.1.2","pkgId":"bytes@3.1.2","deps":[]},{"nodeId":"depd@2.0.0","pkgId":"depd@2.0.0","deps":[]},{"nodeId":"inherits@2.0.4","pkgId":"inherits@2.0.4","deps":[]},{"nodeId":"setprototypeof@1.2.0","pkgId":"setprototypeof@1.2.0","deps":[]},{"nodeId":"statuses@2.0.1","pkgId":"statuses@2.0.1","deps":[]},{"nodeId":"toidentifier@1.0.1","pkgId":"toidentifier@1.0.1","deps":[]},{"nodeId":"http-errors@2.0.0","pkgId":"http-errors@2.0.0","deps":[{"nodeId":"depd@2.0.0"},{"nodeId":"inherits@2.0.4"},{"nodeId":"setprototypeof@1.2.0"},{"nodeId":"statuses@2.0.1"},{"nodeId":"toidentifier@1.0.1"}]},{"nodeId":"safer-buffer@2.1.2","pkgId":"safer-buffer@2.1.2","deps":[]},{"nodeId":"iconv-lite@0.4.24","pkgId":"iconv-lite@0.4.24","deps":[{"nodeId":"safer-buffer@2.1.2"}]},{"nodeId":"ee-first@1.1.1","pkgId":"ee-first@1.1.1","deps":[]},{"nodeId":"on-finished@2.4.1","pkgId":"on-finished@2.4.1","deps":[{"nodeId":"ee-first@1.1.1"}]},{"nodeId":"has-property-descriptors@1.0.2","pkgId":"has-property-descriptors@1.0.2","deps":[{"nodeId":"es-define-property@1.0.0"}]},{"nodeId":"set-function-length@1.2.2","pkgId":"set-function-length@1.2.2","deps":[{"nodeId":"define-data-property@1.1.4"},{"nodeId":"es-errors@1.3.0"},{"nodeId":"function-bind@1.1.2"},{"nodeId":"get-intrinsic@1.2.4"},{"nodeId":"gopd@1.0.1"},{"nodeId":"has-property-descriptors@1.0.2"}]},{"nodeId":"call-bind@1.0.7","pkgId":"call-bind@1.0.7","deps":[{"nodeId":"es-define-property@1.0.0"},{"nodeId":"es-errors@1.3.0"},{"nodeId":"function-bind@1.1.2"},{"nodeId":"get-intrinsic@1.2.4"},{"nodeId":"set-function-length@1.2.2"}]},{"nodeId":"object-inspect@1.13.1","pkgId":"object-inspect@1.13.1","deps":[]},{"nodeId":"side-channel@1.0.6","pkgId":"side-channel@1.0.6","deps":[{"nodeId":"call-bind@1.0.7"},{"nodeId":"es-errors@1.3.0"},{"nodeId":"get-intrinsic@1.2.4"},{"nodeId":"object-inspect@1.13.1"}]},{"nodeId":"qs@6.11.0","pkgId":"qs@6.11.0","deps":[{"nodeId":"side-channel@1.0.6"}]},{"nodeId":"unpipe@1.0.0","pkgId":"unpipe@1.0.0","deps":[]},{"nodeId":"raw-body@2.5.2","pkgId":"raw-body@2.5.2","deps":[{"nodeId":"bytes@3.1.2"},{"nodeId":"http-errors@2.0.0"},{"nodeId":"iconv-lite@0.4.24"},{"nodeId":"unpipe@1.0.0"}]},{"nodeId":"media-typer@0.3.0","pkgId":"media-typer@0.3.0","deps":[]},{"nodeId":"type-is@1.6.18","pkgId":"type-is@1.6.18","deps":[{"nodeId":"media-typer@0.3.0"},{"nodeId":"mime-types@2.1.35"}]},{"nodeId":"body-parser@1.20.2","pkgId":"body-parser@1.20.2","deps":[{"nodeId":"bytes@3.1.2"},{"nodeId":"content-type@1.0.5"},{"nodeId":"debug@2.6.9"},{"nodeId":"depd@2.0.0"},{"nodeId":"destroy@1.2.0"},{"nodeId":"http-errors@2.0.0"},{"nodeId":"iconv-lite@0.4.24"},{"nodeId":"on-finished@2.4.1"},{"nodeId":"qs@6.11.0"},{"nodeId":"raw-body@2.5.2"},{"nodeId":"type-is@1.6.18"},{"nodeId":"unpipe@1.0.0"}]},{"nodeId":"parseurl@1.3.3","pkgId":"parseurl@1.3.3","deps":[]},{"nodeId":"finalhandler@1.2.0","pkgId":"finalhandler@1.2.0","deps":[{"nodeId":"debug@2.6.9"},{"nodeId":"encodeurl@1.0.2"},{"nodeId":"escape-html@1.0.3"},{"nodeId":"on-finished@2.4.1"},{"nodeId":"parseurl@1.3.3"},{"nodeId":"statuses@2.0.1"},{"nodeId":"unpipe@1.0.0"}]},{"nodeId":"fresh@0.5.2","pkgId":"fresh@0.5.2","deps":[]},{"nodeId":"merge-descriptors@1.0.1","pkgId":"merge-descriptors@1.0.1","deps":[]},{"nodeId":"methods@1.1.2","pkgId":"methods@1.1.2","deps":[]},{"nodeId":"path-to-regexp@0.1.7","pkgId":"path-to-regexp@0.1.7","deps":[]},{"nodeId":"forwarded@0.2.0","pkgId":"forwarded@0.2.0","deps":[]},{"nodeId":"ipaddr.js@1.9.1","pkgId":"ipaddr.js@1.9.1","deps":[]},{"nodeId":"proxy-addr@2.0.7","pkgId":"proxy-addr@2.0.7","deps":[{"nodeId":"forwarded@0.2.0"},{"nodeId":"ipaddr.js@1.9.1"}]},{"nodeId":"range-parser@1.2.1","pkgId":"range-parser@1.2.1","deps":[]},{"nodeId":"mime@1.6.0","pkgId":"mime@1.6.0","deps":[]},{"nodeId":"ms@2.1.3","pkgId":"ms@2.1.3","deps":[]},{"nodeId":"send@0.18.0","pkgId":"send@0.18.0","deps":[{"nodeId":"debug@2.6.9"},{"nodeId":"depd@2.0.0"},{"nodeId":"destroy@1.2.0"},{"nodeId":"encodeurl@1.0.2"},{"nodeId":"escape-html@1.0.3"},{"nodeId":"etag@1.8.1"},{"nodeId":"fresh@0.5.2"},{"nodeId":"http-errors@2.0.0"},{"nodeId":"mime@1.6.0"},{"nodeId":"ms@2.1.3"},{"nodeId":"on-finished@2.4.1"},{"nodeId":"range-parser@1.2.1"},{"nodeId":"statuses@2.0.1"}]},{"nodeId":"serve-static@1.15.0","pkgId":"serve-static@1.15.0","deps":[{"nodeId":"encodeurl@1.0.2"},{"nodeId":"escape-html@1.0.3"},{"nodeId":"parseurl@1.3.3"},{"nodeId":"send@0.18.0"}]},{"nodeId":"utils-merge@1.0.1","pkgId":"utils-merge@1.0.1","deps":[]},{"nodeId":"vary@1.1.2","pkgId":"vary@1.1.2","deps":[]},{"nodeId":"express@4.19.2","pkgId":"express@4.19.2","deps":[{"nodeId":"accepts@1.3.8"},{"nodeId":"array-flatten@1.1.1"},{"nodeId":"body-parser@1.20.2"},{"nodeId":"content-disposition@0.5.4"},{"nodeId":"content-type@1.0.5"},{"nodeId":"cookie@0.6.0"},{"nodeId":"cookie-signature@1.0.6"},{"nodeId":"debug@2.6.9"},{"nodeId":"depd@2.0.0"},{"nodeId":"encodeurl@1.0.2"},{"nodeId":"escape-html@1.0.3"},{"nodeId":"etag@1.8.1"},{"nodeId":"finalhandler@1.2.0"},{"nodeId":"fresh@0.5.2"},{"nodeId":"http-errors@2.0.0"},{"nodeId":"merge-descriptors@1.0.1"},{"nodeId":"methods@1.1.2"},{"nodeId":"on-finished@2.4.1"},{"nodeId":"parseurl@1.3.3"},{"nodeId":"path-to-regexp@0.1.7"},{"nodeId":"proxy-addr@2.0.7"},{"nodeId":"qs@6.11.0"},{"nodeId":"range-parser@1.2.1"},{"nodeId":"safe-buffer@5.2.1"},{"nodeId":"send@0.18.0"},{"nodeId":"serve-static@1.15.0"},{"nodeId":"setprototypeof@1.2.0"},{"nodeId":"statuses@2.0.1"},{"nodeId":"type-is@1.6.18"},{"nodeId":"utils-merge@1.0.1"},{"nodeId":"vary@1.1.2"}]}]}}", + "docker-image|multi-project-image.tar:/usr/goof3/node_modules", + ], + [ + "{"schemaVersion":"1.3.0","pkgManager":{"name":"npm"},"pkgs":[{"id":"goof@1.0.1","info":{"name":"goof","version":"1.0.1"}},{"id":"mime-db@1.52.0","info":{"name":"mime-db","version":"1.52.0"}},{"id":"mime-types@2.1.35","info":{"name":"mime-types","version":"2.1.35"}},{"id":"negotiator@0.6.3","info":{"name":"negotiator","version":"0.6.3"}},{"id":"accepts@1.3.8","info":{"name":"accepts","version":"1.3.8"}},{"id":"array-flatten@1.1.1","info":{"name":"array-flatten","version":"1.1.1"}},{"id":"bytes@3.1.2","info":{"name":"bytes","version":"3.1.2"}},{"id":"content-type@1.0.5","info":{"name":"content-type","version":"1.0.5"}},{"id":"ms@2.0.0","info":{"name":"ms","version":"2.0.0"}},{"id":"debug@2.6.9","info":{"name":"debug","version":"2.6.9"}},{"id":"depd@2.0.0","info":{"name":"depd","version":"2.0.0"}},{"id":"destroy@1.2.0","info":{"name":"destroy","version":"1.2.0"}},{"id":"inherits@2.0.4","info":{"name":"inherits","version":"2.0.4"}},{"id":"setprototypeof@1.2.0","info":{"name":"setprototypeof","version":"1.2.0"}},{"id":"statuses@2.0.1","info":{"name":"statuses","version":"2.0.1"}},{"id":"toidentifier@1.0.1","info":{"name":"toidentifier","version":"1.0.1"}},{"id":"http-errors@2.0.0","info":{"name":"http-errors","version":"2.0.0"}},{"id":"safer-buffer@2.1.2","info":{"name":"safer-buffer","version":"2.1.2"}},{"id":"iconv-lite@0.4.24","info":{"name":"iconv-lite","version":"0.4.24"}},{"id":"ee-first@1.1.1","info":{"name":"ee-first","version":"1.1.1"}},{"id":"on-finished@2.4.1","info":{"name":"on-finished","version":"2.4.1"}},{"id":"es-errors@1.3.0","info":{"name":"es-errors","version":"1.3.0"}},{"id":"function-bind@1.1.2","info":{"name":"function-bind","version":"1.1.2"}},{"id":"has-proto@1.0.3","info":{"name":"has-proto","version":"1.0.3"}},{"id":"has-symbols@1.0.3","info":{"name":"has-symbols","version":"1.0.3"}},{"id":"hasown@2.0.2","info":{"name":"hasown","version":"2.0.2"}},{"id":"get-intrinsic@1.2.4","info":{"name":"get-intrinsic","version":"1.2.4"}},{"id":"es-define-property@1.0.0","info":{"name":"es-define-property","version":"1.0.0"}},{"id":"gopd@1.0.1","info":{"name":"gopd","version":"1.0.1"}},{"id":"define-data-property@1.1.4","info":{"name":"define-data-property","version":"1.1.4"}},{"id":"has-property-descriptors@1.0.2","info":{"name":"has-property-descriptors","version":"1.0.2"}},{"id":"set-function-length@1.2.2","info":{"name":"set-function-length","version":"1.2.2"}},{"id":"call-bind@1.0.7","info":{"name":"call-bind","version":"1.0.7"}},{"id":"object-inspect@1.13.1","info":{"name":"object-inspect","version":"1.13.1"}},{"id":"side-channel@1.0.6","info":{"name":"side-channel","version":"1.0.6"}},{"id":"qs@6.11.0","info":{"name":"qs","version":"6.11.0"}},{"id":"unpipe@1.0.0","info":{"name":"unpipe","version":"1.0.0"}},{"id":"raw-body@2.5.2","info":{"name":"raw-body","version":"2.5.2"}},{"id":"media-typer@0.3.0","info":{"name":"media-typer","version":"0.3.0"}},{"id":"type-is@1.6.18","info":{"name":"type-is","version":"1.6.18"}},{"id":"body-parser@1.20.2","info":{"name":"body-parser","version":"1.20.2"}},{"id":"safe-buffer@5.2.1","info":{"name":"safe-buffer","version":"5.2.1"}},{"id":"content-disposition@0.5.4","info":{"name":"content-disposition","version":"0.5.4"}},{"id":"cookie@0.6.0","info":{"name":"cookie","version":"0.6.0"}},{"id":"cookie-signature@1.0.6","info":{"name":"cookie-signature","version":"1.0.6"}},{"id":"encodeurl@1.0.2","info":{"name":"encodeurl","version":"1.0.2"}},{"id":"escape-html@1.0.3","info":{"name":"escape-html","version":"1.0.3"}},{"id":"etag@1.8.1","info":{"name":"etag","version":"1.8.1"}},{"id":"parseurl@1.3.3","info":{"name":"parseurl","version":"1.3.3"}},{"id":"finalhandler@1.2.0","info":{"name":"finalhandler","version":"1.2.0"}},{"id":"fresh@0.5.2","info":{"name":"fresh","version":"0.5.2"}},{"id":"merge-descriptors@1.0.1","info":{"name":"merge-descriptors","version":"1.0.1"}},{"id":"methods@1.1.2","info":{"name":"methods","version":"1.1.2"}},{"id":"path-to-regexp@0.1.7","info":{"name":"path-to-regexp","version":"0.1.7"}},{"id":"forwarded@0.2.0","info":{"name":"forwarded","version":"0.2.0"}},{"id":"ipaddr.js@1.9.1","info":{"name":"ipaddr.js","version":"1.9.1"}},{"id":"proxy-addr@2.0.7","info":{"name":"proxy-addr","version":"2.0.7"}},{"id":"range-parser@1.2.1","info":{"name":"range-parser","version":"1.2.1"}},{"id":"mime@1.6.0","info":{"name":"mime","version":"1.6.0"}},{"id":"ms@2.1.3","info":{"name":"ms","version":"2.1.3"}},{"id":"send@0.18.0","info":{"name":"send","version":"0.18.0"}},{"id":"serve-static@1.15.0","info":{"name":"serve-static","version":"1.15.0"}},{"id":"utils-merge@1.0.1","info":{"name":"utils-merge","version":"1.0.1"}},{"id":"vary@1.1.2","info":{"name":"vary","version":"1.1.2"}},{"id":"express@4.19.2","info":{"name":"express","version":"4.19.2"}}],"graph":{"rootNodeId":"root-node","nodes":[{"nodeId":"root-node","pkgId":"goof@1.0.1","deps":[{"nodeId":"express@4.19.2"}]},{"nodeId":"mime-db@1.52.0","pkgId":"mime-db@1.52.0","deps":[]},{"nodeId":"mime-types@2.1.35","pkgId":"mime-types@2.1.35","deps":[{"nodeId":"mime-db@1.52.0"}]},{"nodeId":"negotiator@0.6.3","pkgId":"negotiator@0.6.3","deps":[]},{"nodeId":"accepts@1.3.8","pkgId":"accepts@1.3.8","deps":[{"nodeId":"mime-types@2.1.35"},{"nodeId":"negotiator@0.6.3"}]},{"nodeId":"array-flatten@1.1.1","pkgId":"array-flatten@1.1.1","deps":[]},{"nodeId":"bytes@3.1.2","pkgId":"bytes@3.1.2","deps":[]},{"nodeId":"content-type@1.0.5","pkgId":"content-type@1.0.5","deps":[]},{"nodeId":"ms@2.0.0","pkgId":"ms@2.0.0","deps":[]},{"nodeId":"debug@2.6.9","pkgId":"debug@2.6.9","deps":[{"nodeId":"ms@2.0.0"}]},{"nodeId":"depd@2.0.0","pkgId":"depd@2.0.0","deps":[]},{"nodeId":"destroy@1.2.0","pkgId":"destroy@1.2.0","deps":[]},{"nodeId":"inherits@2.0.4","pkgId":"inherits@2.0.4","deps":[]},{"nodeId":"setprototypeof@1.2.0","pkgId":"setprototypeof@1.2.0","deps":[]},{"nodeId":"statuses@2.0.1","pkgId":"statuses@2.0.1","deps":[]},{"nodeId":"toidentifier@1.0.1","pkgId":"toidentifier@1.0.1","deps":[]},{"nodeId":"http-errors@2.0.0","pkgId":"http-errors@2.0.0","deps":[{"nodeId":"depd@2.0.0"},{"nodeId":"inherits@2.0.4"},{"nodeId":"setprototypeof@1.2.0"},{"nodeId":"statuses@2.0.1"},{"nodeId":"toidentifier@1.0.1"}]},{"nodeId":"safer-buffer@2.1.2","pkgId":"safer-buffer@2.1.2","deps":[]},{"nodeId":"iconv-lite@0.4.24","pkgId":"iconv-lite@0.4.24","deps":[{"nodeId":"safer-buffer@2.1.2"}]},{"nodeId":"ee-first@1.1.1","pkgId":"ee-first@1.1.1","deps":[]},{"nodeId":"on-finished@2.4.1","pkgId":"on-finished@2.4.1","deps":[{"nodeId":"ee-first@1.1.1"}]},{"nodeId":"es-errors@1.3.0","pkgId":"es-errors@1.3.0","deps":[]},{"nodeId":"function-bind@1.1.2","pkgId":"function-bind@1.1.2","deps":[]},{"nodeId":"has-proto@1.0.3","pkgId":"has-proto@1.0.3","deps":[]},{"nodeId":"has-symbols@1.0.3","pkgId":"has-symbols@1.0.3","deps":[]},{"nodeId":"hasown@2.0.2","pkgId":"hasown@2.0.2","deps":[{"nodeId":"function-bind@1.1.2"}]},{"nodeId":"get-intrinsic@1.2.4","pkgId":"get-intrinsic@1.2.4","deps":[{"nodeId":"es-errors@1.3.0"},{"nodeId":"function-bind@1.1.2"},{"nodeId":"has-proto@1.0.3"},{"nodeId":"has-symbols@1.0.3"},{"nodeId":"hasown@2.0.2"}]},{"nodeId":"es-define-property@1.0.0","pkgId":"es-define-property@1.0.0","deps":[{"nodeId":"get-intrinsic@1.2.4"}]},{"nodeId":"gopd@1.0.1","pkgId":"gopd@1.0.1","deps":[{"nodeId":"get-intrinsic@1.2.4"}]},{"nodeId":"define-data-property@1.1.4","pkgId":"define-data-property@1.1.4","deps":[{"nodeId":"es-define-property@1.0.0"},{"nodeId":"es-errors@1.3.0"},{"nodeId":"gopd@1.0.1"}]},{"nodeId":"has-property-descriptors@1.0.2","pkgId":"has-property-descriptors@1.0.2","deps":[{"nodeId":"es-define-property@1.0.0"}]},{"nodeId":"set-function-length@1.2.2","pkgId":"set-function-length@1.2.2","deps":[{"nodeId":"define-data-property@1.1.4"},{"nodeId":"es-errors@1.3.0"},{"nodeId":"function-bind@1.1.2"},{"nodeId":"get-intrinsic@1.2.4"},{"nodeId":"gopd@1.0.1"},{"nodeId":"has-property-descriptors@1.0.2"}]},{"nodeId":"call-bind@1.0.7","pkgId":"call-bind@1.0.7","deps":[{"nodeId":"es-define-property@1.0.0"},{"nodeId":"es-errors@1.3.0"},{"nodeId":"function-bind@1.1.2"},{"nodeId":"get-intrinsic@1.2.4"},{"nodeId":"set-function-length@1.2.2"}]},{"nodeId":"object-inspect@1.13.1","pkgId":"object-inspect@1.13.1","deps":[]},{"nodeId":"side-channel@1.0.6","pkgId":"side-channel@1.0.6","deps":[{"nodeId":"call-bind@1.0.7"},{"nodeId":"es-errors@1.3.0"},{"nodeId":"get-intrinsic@1.2.4"},{"nodeId":"object-inspect@1.13.1"}]},{"nodeId":"qs@6.11.0","pkgId":"qs@6.11.0","deps":[{"nodeId":"side-channel@1.0.6"}]},{"nodeId":"unpipe@1.0.0","pkgId":"unpipe@1.0.0","deps":[]},{"nodeId":"raw-body@2.5.2","pkgId":"raw-body@2.5.2","deps":[{"nodeId":"bytes@3.1.2"},{"nodeId":"http-errors@2.0.0"},{"nodeId":"iconv-lite@0.4.24"},{"nodeId":"unpipe@1.0.0"}]},{"nodeId":"media-typer@0.3.0","pkgId":"media-typer@0.3.0","deps":[]},{"nodeId":"type-is@1.6.18","pkgId":"type-is@1.6.18","deps":[{"nodeId":"media-typer@0.3.0"},{"nodeId":"mime-types@2.1.35"}]},{"nodeId":"body-parser@1.20.2","pkgId":"body-parser@1.20.2","deps":[{"nodeId":"bytes@3.1.2"},{"nodeId":"content-type@1.0.5"},{"nodeId":"debug@2.6.9"},{"nodeId":"depd@2.0.0"},{"nodeId":"destroy@1.2.0"},{"nodeId":"http-errors@2.0.0"},{"nodeId":"iconv-lite@0.4.24"},{"nodeId":"on-finished@2.4.1"},{"nodeId":"qs@6.11.0"},{"nodeId":"raw-body@2.5.2"},{"nodeId":"type-is@1.6.18"},{"nodeId":"unpipe@1.0.0"}]},{"nodeId":"safe-buffer@5.2.1","pkgId":"safe-buffer@5.2.1","deps":[]},{"nodeId":"content-disposition@0.5.4","pkgId":"content-disposition@0.5.4","deps":[{"nodeId":"safe-buffer@5.2.1"}]},{"nodeId":"cookie@0.6.0","pkgId":"cookie@0.6.0","deps":[]},{"nodeId":"cookie-signature@1.0.6","pkgId":"cookie-signature@1.0.6","deps":[]},{"nodeId":"encodeurl@1.0.2","pkgId":"encodeurl@1.0.2","deps":[]},{"nodeId":"escape-html@1.0.3","pkgId":"escape-html@1.0.3","deps":[]},{"nodeId":"etag@1.8.1","pkgId":"etag@1.8.1","deps":[]},{"nodeId":"parseurl@1.3.3","pkgId":"parseurl@1.3.3","deps":[]},{"nodeId":"finalhandler@1.2.0","pkgId":"finalhandler@1.2.0","deps":[{"nodeId":"debug@2.6.9"},{"nodeId":"encodeurl@1.0.2"},{"nodeId":"escape-html@1.0.3"},{"nodeId":"on-finished@2.4.1"},{"nodeId":"parseurl@1.3.3"},{"nodeId":"statuses@2.0.1"},{"nodeId":"unpipe@1.0.0"}]},{"nodeId":"fresh@0.5.2","pkgId":"fresh@0.5.2","deps":[]},{"nodeId":"merge-descriptors@1.0.1","pkgId":"merge-descriptors@1.0.1","deps":[]},{"nodeId":"methods@1.1.2","pkgId":"methods@1.1.2","deps":[]},{"nodeId":"path-to-regexp@0.1.7","pkgId":"path-to-regexp@0.1.7","deps":[]},{"nodeId":"forwarded@0.2.0","pkgId":"forwarded@0.2.0","deps":[]},{"nodeId":"ipaddr.js@1.9.1","pkgId":"ipaddr.js@1.9.1","deps":[]},{"nodeId":"proxy-addr@2.0.7","pkgId":"proxy-addr@2.0.7","deps":[{"nodeId":"forwarded@0.2.0"},{"nodeId":"ipaddr.js@1.9.1"}]},{"nodeId":"range-parser@1.2.1","pkgId":"range-parser@1.2.1","deps":[]},{"nodeId":"mime@1.6.0","pkgId":"mime@1.6.0","deps":[]},{"nodeId":"ms@2.1.3","pkgId":"ms@2.1.3","deps":[]},{"nodeId":"send@0.18.0","pkgId":"send@0.18.0","deps":[{"nodeId":"debug@2.6.9"},{"nodeId":"depd@2.0.0"},{"nodeId":"destroy@1.2.0"},{"nodeId":"encodeurl@1.0.2"},{"nodeId":"escape-html@1.0.3"},{"nodeId":"etag@1.8.1"},{"nodeId":"fresh@0.5.2"},{"nodeId":"http-errors@2.0.0"},{"nodeId":"mime@1.6.0"},{"nodeId":"ms@2.1.3"},{"nodeId":"on-finished@2.4.1"},{"nodeId":"range-parser@1.2.1"},{"nodeId":"statuses@2.0.1"}]},{"nodeId":"serve-static@1.15.0","pkgId":"serve-static@1.15.0","deps":[{"nodeId":"encodeurl@1.0.2"},{"nodeId":"escape-html@1.0.3"},{"nodeId":"parseurl@1.3.3"},{"nodeId":"send@0.18.0"}]},{"nodeId":"utils-merge@1.0.1","pkgId":"utils-merge@1.0.1","deps":[]},{"nodeId":"vary@1.1.2","pkgId":"vary@1.1.2","deps":[]},{"nodeId":"express@4.19.2","pkgId":"express@4.19.2","deps":[{"nodeId":"accepts@1.3.8"},{"nodeId":"array-flatten@1.1.1"},{"nodeId":"body-parser@1.20.2"},{"nodeId":"content-disposition@0.5.4"},{"nodeId":"content-type@1.0.5"},{"nodeId":"cookie@0.6.0"},{"nodeId":"cookie-signature@1.0.6"},{"nodeId":"debug@2.6.9"},{"nodeId":"depd@2.0.0"},{"nodeId":"encodeurl@1.0.2"},{"nodeId":"escape-html@1.0.3"},{"nodeId":"etag@1.8.1"},{"nodeId":"finalhandler@1.2.0"},{"nodeId":"fresh@0.5.2"},{"nodeId":"http-errors@2.0.0"},{"nodeId":"merge-descriptors@1.0.1"},{"nodeId":"methods@1.1.2"},{"nodeId":"on-finished@2.4.1"},{"nodeId":"parseurl@1.3.3"},{"nodeId":"path-to-regexp@0.1.7"},{"nodeId":"proxy-addr@2.0.7"},{"nodeId":"qs@6.11.0"},{"nodeId":"range-parser@1.2.1"},{"nodeId":"safe-buffer@5.2.1"},{"nodeId":"send@0.18.0"},{"nodeId":"serve-static@1.15.0"},{"nodeId":"setprototypeof@1.2.0"},{"nodeId":"statuses@2.0.1"},{"nodeId":"type-is@1.6.18"},{"nodeId":"utils-merge@1.0.1"},{"nodeId":"vary@1.1.2"}]}]}}", + "docker-image|multi-project-image.tar:/usr/goof/package.json", + ], + [ + "{"schemaVersion":"1.3.0","pkgManager":{"name":"npm"},"pkgs":[{"id":"lib@","info":{"name":"lib"}},{"id":"jsonparse@1.3.1","info":{"name":"jsonparse","version":"1.3.1"}},{"id":"through@2.3.8","info":{"name":"through","version":"2.3.8"}},{"id":"JSONStream@1.3.5","info":{"name":"JSONStream","version":"1.3.5"}},{"id":"abbrev@1.1.1","info":{"name":"abbrev","version":"1.1.1"}},{"id":"ansicolors@0.3.2","info":{"name":"ansicolors","version":"0.3.2"}},{"id":"ansistyles@0.1.3","info":{"name":"ansistyles","version":"0.1.3"}},{"id":"aproba@2.0.0","info":{"name":"aproba","version":"2.0.0"}},{"id":"archy@1.0.0","info":{"name":"archy","version":"1.0.0"}},{"id":"bluebird@3.5.5","info":{"name":"bluebird","version":"3.5.5"}},{"id":"graceful-fs@4.2.4","info":{"name":"graceful-fs","version":"4.2.4"}},{"id":"minimist@1.2.5","info":{"name":"minimist","version":"1.2.5"}},{"id":"mkdirp@0.5.5","info":{"name":"mkdirp","version":"0.5.5"}},{"id":"cmd-shim@3.0.3","info":{"name":"cmd-shim","version":"3.0.3"}},{"id":"aproba@1.2.0","info":{"name":"aproba","version":"1.2.0"}},{"id":"chownr@1.1.4","info":{"name":"chownr","version":"1.1.4"}},{"id":"path-is-inside@1.0.2","info":{"name":"path-is-inside","version":"1.0.2"}},{"id":"fs.realpath@1.0.0","info":{"name":"fs.realpath","version":"1.0.0"}},{"id":"wrappy@1.0.2","info":{"name":"wrappy","version":"1.0.2"}},{"id":"once@1.4.0","info":{"name":"once","version":"1.4.0"}},{"id":"inflight@1.0.6","info":{"name":"inflight","version":"1.0.6"}},{"id":"inherits@2.0.4","info":{"name":"inherits","version":"2.0.4"}},{"id":"balanced-match@1.0.0","info":{"name":"balanced-match","version":"1.0.0"}},{"id":"concat-map@0.0.1","info":{"name":"concat-map","version":"0.0.1"}},{"id":"brace-expansion@1.1.11","info":{"name":"brace-expansion","version":"1.1.11"}},{"id":"minimatch@3.0.4","info":{"name":"minimatch","version":"3.0.4"}},{"id":"path-is-absolute@1.0.1","info":{"name":"path-is-absolute","version":"1.0.1"}},{"id":"glob@7.1.6","info":{"name":"glob","version":"7.1.6"}},{"id":"rimraf@2.7.1","info":{"name":"rimraf","version":"2.7.1"}},{"id":"fs-vacuum@1.2.10","info":{"name":"fs-vacuum","version":"1.2.10"}},{"id":"iferr@0.1.5","info":{"name":"iferr","version":"0.1.5"}},{"id":"infer-owner@1.0.4","info":{"name":"infer-owner","version":"1.0.4"}},{"id":"read-cmd-shim@1.0.5","info":{"name":"read-cmd-shim","version":"1.0.5"}},{"id":"slide@1.1.6","info":{"name":"slide","version":"1.1.6"}},{"id":"gentle-fs@2.3.0","info":{"name":"gentle-fs","version":"2.3.0"}},{"id":"npm-normalize-package-bin@1.0.1","info":{"name":"npm-normalize-package-bin","version":"1.0.1"}},{"id":"imurmurhash@0.1.4","info":{"name":"imurmurhash","version":"0.1.4"}},{"id":"signal-exit@3.0.2","info":{"name":"signal-exit","version":"3.0.2"}},{"id":"write-file-atomic@2.4.3","info":{"name":"write-file-atomic","version":"2.4.3"}},{"id":"bin-links@1.1.7","info":{"name":"bin-links","version":"1.1.7"}},{"id":"byte-size@5.0.1","info":{"name":"byte-size","version":"5.0.1"}},{"id":"figgy-pudding@3.5.1","info":{"name":"figgy-pudding","version":"3.5.1"}},{"id":"yallist@3.0.3","info":{"name":"yallist","version":"3.0.3"}},{"id":"lru-cache@5.1.1","info":{"name":"lru-cache","version":"5.1.1"}},{"id":"buffer-from@1.0.0","info":{"name":"buffer-from","version":"1.0.0"}},{"id":"core-util-is@1.0.2","info":{"name":"core-util-is","version":"1.0.2"}},{"id":"isarray@1.0.0","info":{"name":"isarray","version":"1.0.0"}},{"id":"process-nextick-args@2.0.0","info":{"name":"process-nextick-args","version":"2.0.0"}},{"id":"safe-buffer@5.1.2","info":{"name":"safe-buffer","version":"5.1.2"}},{"id":"string_decoder@1.1.1","info":{"name":"string_decoder","version":"1.1.1"}},{"id":"util-deprecate@1.0.2","info":{"name":"util-deprecate","version":"1.0.2"}},{"id":"readable-stream@2.3.6","info":{"name":"readable-stream","version":"2.3.6"}},{"id":"typedarray@0.0.6","info":{"name":"typedarray","version":"0.0.6"}},{"id":"concat-stream@1.6.2","info":{"name":"concat-stream","version":"1.6.2"}},{"id":"end-of-stream@1.4.1","info":{"name":"end-of-stream","version":"1.4.1"}},{"id":"stream-shift@1.0.0","info":{"name":"stream-shift","version":"1.0.0"}},{"id":"duplexify@3.6.0","info":{"name":"duplexify","version":"3.6.0"}},{"id":"flush-write-stream@1.0.3","info":{"name":"flush-write-stream","version":"1.0.3"}},{"id":"from2@2.3.0","info":{"name":"from2","version":"2.3.0"}},{"id":"cyclist@0.2.2","info":{"name":"cyclist","version":"0.2.2"}},{"id":"parallel-transform@1.1.0","info":{"name":"parallel-transform","version":"1.1.0"}},{"id":"pump@3.0.0","info":{"name":"pump","version":"3.0.0"}},{"id":"pump@2.0.1","info":{"name":"pump","version":"2.0.1"}},{"id":"pumpify@1.5.1","info":{"name":"pumpify","version":"1.5.1"}},{"id":"stream-each@1.2.2","info":{"name":"stream-each","version":"1.2.2"}},{"id":"xtend@4.0.1","info":{"name":"xtend","version":"4.0.1"}},{"id":"through2@2.0.3","info":{"name":"through2","version":"2.0.3"}},{"id":"mississippi@3.0.0","info":{"name":"mississippi","version":"3.0.0"}},{"id":"fs-write-stream-atomic@1.0.10","info":{"name":"fs-write-stream-atomic","version":"1.0.10"}},{"id":"run-queue@1.0.3","info":{"name":"run-queue","version":"1.0.3"}},{"id":"copy-concurrently@1.0.5","info":{"name":"copy-concurrently","version":"1.0.5"}},{"id":"move-concurrently@1.0.1","info":{"name":"move-concurrently","version":"1.0.1"}},{"id":"promise-inflight@1.0.1","info":{"name":"promise-inflight","version":"1.0.1"}},{"id":"ssri@6.0.1","info":{"name":"ssri","version":"6.0.1"}},{"id":"unique-slug@2.0.0","info":{"name":"unique-slug","version":"2.0.0"}},{"id":"unique-filename@1.1.1","info":{"name":"unique-filename","version":"1.1.1"}},{"id":"y18n@4.0.0","info":{"name":"y18n","version":"4.0.0"}},{"id":"cacache@12.0.3","info":{"name":"cacache","version":"12.0.3"}},{"id":"call-limit@1.1.1","info":{"name":"call-limit","version":"1.1.1"}},{"id":"ci-info@2.0.0","info":{"name":"ci-info","version":"2.0.0"}},{"id":"is-fullwidth-code-point@2.0.0","info":{"name":"is-fullwidth-code-point","version":"2.0.0"}},{"id":"ansi-regex@3.0.0","info":{"name":"ansi-regex","version":"3.0.0"}},{"id":"strip-ansi@4.0.0","info":{"name":"strip-ansi","version":"4.0.0"}},{"id":"string-width@2.1.1","info":{"name":"string-width","version":"2.1.1"}},{"id":"ansi-regex@2.1.1","info":{"name":"ansi-regex","version":"2.1.1"}},{"id":"strip-ansi@3.0.1","info":{"name":"strip-ansi","version":"3.0.1"}},{"id":"cli-columns@3.1.2","info":{"name":"cli-columns","version":"3.1.2"}},{"id":"colors@1.3.3","info":{"name":"colors","version":"1.3.3"}},{"id":"object-assign@4.1.1","info":{"name":"object-assign","version":"4.1.1"}},{"id":"cli-table3@0.5.1","info":{"name":"cli-table3","version":"0.5.1"}},{"id":"clone@1.0.4","info":{"name":"clone","version":"1.0.4"}},{"id":"defaults@1.0.3","info":{"name":"defaults","version":"1.0.3"}},{"id":"wcwidth@1.0.1","info":{"name":"wcwidth","version":"1.0.1"}},{"id":"columnify@1.5.4","info":{"name":"columnify","version":"1.5.4"}},{"id":"ini@1.3.5","info":{"name":"ini","version":"1.3.5"}},{"id":"proto-list@1.2.4","info":{"name":"proto-list","version":"1.2.4"}},{"id":"config-chain@1.1.12","info":{"name":"config-chain","version":"1.1.12"}},{"id":"detect-indent@5.0.0","info":{"name":"detect-indent","version":"5.0.0"}},{"id":"detect-newline@2.1.0","info":{"name":"detect-newline","version":"2.1.0"}},{"id":"asap@2.0.6","info":{"name":"asap","version":"2.0.6"}},{"id":"dezalgo@1.0.3","info":{"name":"dezalgo","version":"1.0.3"}},{"id":"editor@1.0.0","info":{"name":"editor","version":"1.0.0"}},{"id":"find-npm-prefix@1.0.2","info":{"name":"find-npm-prefix","version":"1.0.2"}},{"id":"has-unicode@2.0.1","info":{"name":"has-unicode","version":"2.0.1"}},{"id":"hosted-git-info@2.8.8","info":{"name":"hosted-git-info","version":"2.8.8"}},{"id":"iferr@1.0.2","info":{"name":"iferr","version":"1.0.2"}},{"id":"os-homedir@1.0.2","info":{"name":"os-homedir","version":"1.0.2"}},{"id":"os-tmpdir@1.0.2","info":{"name":"os-tmpdir","version":"1.0.2"}},{"id":"osenv@0.1.5","info":{"name":"osenv","version":"0.1.5"}},{"id":"semver@5.7.1","info":{"name":"semver","version":"5.7.1"}},{"id":"builtins@1.0.3","info":{"name":"builtins","version":"1.0.3"}},{"id":"validate-npm-package-name@3.0.0","info":{"name":"validate-npm-package-name","version":"3.0.0"}},{"id":"npm-package-arg@6.1.1","info":{"name":"npm-package-arg","version":"6.1.1"}},{"id":"mute-stream@0.0.7","info":{"name":"mute-stream","version":"0.0.7"}},{"id":"read@1.0.7","info":{"name":"read","version":"1.0.7"}},{"id":"promzard@0.3.0","info":{"name":"promzard","version":"0.3.0"}},{"id":"json-parse-better-errors@1.0.2","info":{"name":"json-parse-better-errors","version":"1.0.2"}},{"id":"path-parse@1.0.6","info":{"name":"path-parse","version":"1.0.6"}},{"id":"resolve@1.10.0","info":{"name":"resolve","version":"1.10.0"}},{"id":"spdx-exceptions@2.1.0","info":{"name":"spdx-exceptions","version":"2.1.0"}},{"id":"spdx-license-ids@3.0.3","info":{"name":"spdx-license-ids","version":"3.0.3"}},{"id":"spdx-expression-parse@3.0.0","info":{"name":"spdx-expression-parse","version":"3.0.0"}},{"id":"spdx-correct@3.0.0","info":{"name":"spdx-correct","version":"3.0.0"}},{"id":"validate-npm-package-license@3.0.4","info":{"name":"validate-npm-package-license","version":"3.0.4"}},{"id":"normalize-package-data@2.5.0","info":{"name":"normalize-package-data","version":"2.5.0"}},{"id":"read-package-json@2.1.1","info":{"name":"read-package-json","version":"2.1.1"}},{"id":"init-package-json@1.10.3","info":{"name":"init-package-json","version":"1.10.3"}},{"id":"ip-regex@2.1.0","info":{"name":"ip-regex","version":"2.1.0"}},{"id":"cidr-regex@2.0.10","info":{"name":"cidr-regex","version":"2.0.10"}},{"id":"is-cidr@3.0.0","info":{"name":"is-cidr","version":"3.0.0"}},{"id":"isexe@2.0.0","info":{"name":"isexe","version":"2.0.0"}},{"id":"lazy-property@1.0.0","info":{"name":"lazy-property","version":"1.0.0"}},{"id":"lock-verify@2.1.0","info":{"name":"lock-verify","version":"2.1.0"}},{"id":"byline@5.0.0","info":{"name":"byline","version":"5.0.0"}},{"id":"env-paths@2.2.0","info":{"name":"env-paths","version":"2.2.0"}},{"id":"nopt@4.0.3","info":{"name":"nopt","version":"4.0.3"}},{"id":"delegates@1.0.0","info":{"name":"delegates","version":"1.0.0"}},{"id":"are-we-there-yet@1.1.4","info":{"name":"are-we-there-yet","version":"1.1.4"}},{"id":"console-control-strings@1.1.0","info":{"name":"console-control-strings","version":"1.1.0"}},{"id":"code-point-at@1.1.0","info":{"name":"code-point-at","version":"1.1.0"}},{"id":"number-is-nan@1.0.1","info":{"name":"number-is-nan","version":"1.0.1"}},{"id":"is-fullwidth-code-point@1.0.0","info":{"name":"is-fullwidth-code-point","version":"1.0.0"}},{"id":"string-width@1.0.2","info":{"name":"string-width","version":"1.0.2"}},{"id":"wide-align@1.1.2","info":{"name":"wide-align","version":"1.1.2"}},{"id":"gauge@2.7.4","info":{"name":"gauge","version":"2.7.4"}},{"id":"set-blocking@2.0.0","info":{"name":"set-blocking","version":"2.0.0"}},{"id":"npmlog@4.1.2","info":{"name":"npmlog","version":"4.1.2"}},{"id":"aws-sign2@0.7.0","info":{"name":"aws-sign2","version":"0.7.0"}},{"id":"aws4@1.8.0","info":{"name":"aws4","version":"1.8.0"}},{"id":"caseless@0.12.0","info":{"name":"caseless","version":"0.12.0"}},{"id":"delayed-stream@1.0.0","info":{"name":"delayed-stream","version":"1.0.0"}},{"id":"combined-stream@1.0.6","info":{"name":"combined-stream","version":"1.0.6"}},{"id":"extend@3.0.2","info":{"name":"extend","version":"3.0.2"}},{"id":"forever-agent@0.6.1","info":{"name":"forever-agent","version":"0.6.1"}},{"id":"asynckit@0.4.0","info":{"name":"asynckit","version":"0.4.0"}},{"id":"mime-db@1.35.0","info":{"name":"mime-db","version":"1.35.0"}},{"id":"mime-types@2.1.19","info":{"name":"mime-types","version":"2.1.19"}},{"id":"form-data@2.3.2","info":{"name":"form-data","version":"2.3.2"}},{"id":"co@4.6.0","info":{"name":"co","version":"4.6.0"}},{"id":"fast-deep-equal@1.1.0","info":{"name":"fast-deep-equal","version":"1.1.0"}},{"id":"fast-json-stable-stringify@2.0.0","info":{"name":"fast-json-stable-stringify","version":"2.0.0"}},{"id":"json-schema-traverse@0.3.1","info":{"name":"json-schema-traverse","version":"0.3.1"}},{"id":"ajv@5.5.2","info":{"name":"ajv","version":"5.5.2"}},{"id":"har-schema@2.0.0","info":{"name":"har-schema","version":"2.0.0"}},{"id":"har-validator@5.1.0","info":{"name":"har-validator","version":"5.1.0"}},{"id":"assert-plus@1.0.0","info":{"name":"assert-plus","version":"1.0.0"}},{"id":"extsprintf@1.3.0","info":{"name":"extsprintf","version":"1.3.0"}},{"id":"json-schema@0.2.3","info":{"name":"json-schema","version":"0.2.3"}},{"id":"verror@1.10.0","info":{"name":"verror","version":"1.10.0"}},{"id":"jsprim@1.4.1","info":{"name":"jsprim","version":"1.4.1"}},{"id":"safer-buffer@2.1.2","info":{"name":"safer-buffer","version":"2.1.2"}},{"id":"asn1@0.2.4","info":{"name":"asn1","version":"0.2.4"}},{"id":"tweetnacl@0.14.5","info":{"name":"tweetnacl","version":"0.14.5"}},{"id":"bcrypt-pbkdf@1.0.2","info":{"name":"bcrypt-pbkdf","version":"1.0.2"}},{"id":"dashdash@1.14.1","info":{"name":"dashdash","version":"1.14.1"}},{"id":"jsbn@0.1.1","info":{"name":"jsbn","version":"0.1.1"}},{"id":"ecc-jsbn@0.1.2","info":{"name":"ecc-jsbn","version":"0.1.2"}},{"id":"getpass@0.1.7","info":{"name":"getpass","version":"0.1.7"}},{"id":"sshpk@1.14.2","info":{"name":"sshpk","version":"1.14.2"}},{"id":"http-signature@1.2.0","info":{"name":"http-signature","version":"1.2.0"}},{"id":"is-typedarray@1.0.0","info":{"name":"is-typedarray","version":"1.0.0"}},{"id":"isstream@0.1.2","info":{"name":"isstream","version":"0.1.2"}},{"id":"json-stringify-safe@5.0.1","info":{"name":"json-stringify-safe","version":"5.0.1"}},{"id":"oauth-sign@0.9.0","info":{"name":"oauth-sign","version":"0.9.0"}},{"id":"performance-now@2.1.0","info":{"name":"performance-now","version":"2.1.0"}},{"id":"qs@6.5.2","info":{"name":"qs","version":"6.5.2"}},{"id":"psl@1.1.29","info":{"name":"psl","version":"1.1.29"}},{"id":"punycode@1.4.1","info":{"name":"punycode","version":"1.4.1"}},{"id":"tough-cookie@2.4.3","info":{"name":"tough-cookie","version":"2.4.3"}},{"id":"tunnel-agent@0.6.0","info":{"name":"tunnel-agent","version":"0.6.0"}},{"id":"uuid@3.3.3","info":{"name":"uuid","version":"3.3.3"}},{"id":"request@2.88.0","info":{"name":"request","version":"2.88.0"}},{"id":"minipass@2.9.0","info":{"name":"minipass","version":"2.9.0"}},{"id":"fs-minipass@1.2.7","info":{"name":"fs-minipass","version":"1.2.7"}},{"id":"minizlib@1.3.3","info":{"name":"minizlib","version":"1.3.3"}},{"id":"tar@4.4.13","info":{"name":"tar","version":"4.4.13"}},{"id":"node-gyp@5.1.0","info":{"name":"node-gyp","version":"5.1.0"}},{"id":"resolve-from@4.0.0","info":{"name":"resolve-from","version":"4.0.0"}},{"id":"uid-number@0.0.6","info":{"name":"uid-number","version":"0.0.6"}},{"id":"umask@1.1.0","info":{"name":"umask","version":"1.1.0"}},{"id":"npm-lifecycle@3.1.4","info":{"name":"npm-lifecycle","version":"3.1.4"}},{"id":"npm-logical-tree@1.2.1","info":{"name":"npm-logical-tree","version":"1.2.1"}},{"id":"get-stream@4.1.0","info":{"name":"get-stream","version":"4.1.0"}},{"id":"ms@2.1.1","info":{"name":"ms","version":"2.1.1"}},{"id":"humanize-ms@1.2.1","info":{"name":"humanize-ms","version":"1.2.1"}},{"id":"agentkeepalive@3.5.2","info":{"name":"agentkeepalive","version":"3.5.2"}},{"id":"http-cache-semantics@3.8.1","info":{"name":"http-cache-semantics","version":"3.8.1"}},{"id":"es6-promise@4.2.8","info":{"name":"es6-promise","version":"4.2.8"}},{"id":"es6-promisify@5.0.0","info":{"name":"es6-promisify","version":"5.0.0"}},{"id":"agent-base@4.3.0","info":{"name":"agent-base","version":"4.3.0"}},{"id":"ms@2.0.0","info":{"name":"ms","version":"2.0.0"}},{"id":"debug@3.1.0","info":{"name":"debug","version":"3.1.0"}},{"id":"http-proxy-agent@2.1.0","info":{"name":"http-proxy-agent","version":"2.1.0"}},{"id":"https-proxy-agent@2.2.4","info":{"name":"https-proxy-agent","version":"2.2.4"}},{"id":"iconv-lite@0.4.23","info":{"name":"iconv-lite","version":"0.4.23"}},{"id":"encoding@0.1.12","info":{"name":"encoding","version":"0.1.12"}},{"id":"node-fetch-npm@2.0.2","info":{"name":"node-fetch-npm","version":"2.0.2"}},{"id":"err-code@1.1.2","info":{"name":"err-code","version":"1.1.2"}},{"id":"retry@0.10.1","info":{"name":"retry","version":"0.10.1"}},{"id":"promise-retry@1.1.1","info":{"name":"promise-retry","version":"1.1.1"}},{"id":"agent-base@4.2.1","info":{"name":"agent-base","version":"4.2.1"}},{"id":"ip@1.1.5","info":{"name":"ip","version":"1.1.5"}},{"id":"smart-buffer@4.1.0","info":{"name":"smart-buffer","version":"4.1.0"}},{"id":"socks@2.3.3","info":{"name":"socks","version":"2.3.3"}},{"id":"socks-proxy-agent@4.0.2","info":{"name":"socks-proxy-agent","version":"4.0.2"}},{"id":"make-fetch-happen@5.0.2","info":{"name":"make-fetch-happen","version":"5.0.2"}},{"id":"ignore-walk@3.0.3","info":{"name":"ignore-walk","version":"3.0.3"}},{"id":"npm-bundled@1.1.1","info":{"name":"npm-bundled","version":"1.1.1"}},{"id":"npm-packlist@1.4.8","info":{"name":"npm-packlist","version":"1.4.8"}},{"id":"npm-pick-manifest@3.0.2","info":{"name":"npm-pick-manifest","version":"3.0.2"}},{"id":"safe-buffer@5.2.0","info":{"name":"safe-buffer","version":"5.2.0"}},{"id":"npm-registry-fetch@4.0.4","info":{"name":"npm-registry-fetch","version":"4.0.4"}},{"id":"genfun@5.0.0","info":{"name":"genfun","version":"5.0.0"}},{"id":"protoduck@5.0.1","info":{"name":"protoduck","version":"5.0.1"}},{"id":"pacote@9.5.12","info":{"name":"pacote","version":"9.5.12"}},{"id":"prr@1.0.1","info":{"name":"prr","version":"1.0.1"}},{"id":"errno@0.1.7","info":{"name":"errno","version":"0.1.7"}},{"id":"worker-farm@1.7.0","info":{"name":"worker-farm","version":"1.7.0"}},{"id":"libcipm@4.0.7","info":{"name":"libcipm","version":"4.0.7"}},{"id":"libnpmaccess@3.0.2","info":{"name":"libnpmaccess","version":"3.0.2"}},{"id":"p-try@2.2.0","info":{"name":"p-try","version":"2.2.0"}},{"id":"p-limit@2.2.0","info":{"name":"p-limit","version":"2.2.0"}},{"id":"p-locate@3.0.0","info":{"name":"p-locate","version":"3.0.0"}},{"id":"path-exists@3.0.0","info":{"name":"path-exists","version":"3.0.0"}},{"id":"locate-path@3.0.0","info":{"name":"locate-path","version":"3.0.0"}},{"id":"find-up@3.0.0","info":{"name":"find-up","version":"3.0.0"}},{"id":"libnpmconfig@1.2.1","info":{"name":"libnpmconfig","version":"1.2.1"}},{"id":"libnpmhook@5.0.3","info":{"name":"libnpmhook","version":"5.0.3"}},{"id":"libnpmorg@1.0.1","info":{"name":"libnpmorg","version":"1.0.1"}},{"id":"lodash.clonedeep@4.5.0","info":{"name":"lodash.clonedeep","version":"4.5.0"}},{"id":"libnpmpublish@1.1.2","info":{"name":"libnpmpublish","version":"1.1.2"}},{"id":"libnpmsearch@2.0.2","info":{"name":"libnpmsearch","version":"2.0.2"}},{"id":"libnpmteam@1.0.2","info":{"name":"libnpmteam","version":"1.0.2"}},{"id":"npm-profile@4.0.4","info":{"name":"npm-profile","version":"4.0.4"}},{"id":"stringify-package@1.0.1","info":{"name":"stringify-package","version":"1.0.1"}},{"id":"libnpm@3.0.1","info":{"name":"libnpm","version":"3.0.1"}},{"id":"dotenv@5.0.1","info":{"name":"dotenv","version":"5.0.1"}},{"id":"ansi-align@2.0.0","info":{"name":"ansi-align","version":"2.0.0"}},{"id":"camelcase@4.1.0","info":{"name":"camelcase","version":"4.1.0"}},{"id":"color-name@1.1.3","info":{"name":"color-name","version":"1.1.3"}},{"id":"color-convert@1.9.1","info":{"name":"color-convert","version":"1.9.1"}},{"id":"ansi-styles@3.2.1","info":{"name":"ansi-styles","version":"3.2.1"}},{"id":"escape-string-regexp@1.0.5","info":{"name":"escape-string-regexp","version":"1.0.5"}},{"id":"has-flag@3.0.0","info":{"name":"has-flag","version":"3.0.0"}},{"id":"supports-color@5.4.0","info":{"name":"supports-color","version":"5.4.0"}},{"id":"chalk@2.4.1","info":{"name":"chalk","version":"2.4.1"}},{"id":"cli-boxes@1.0.0","info":{"name":"cli-boxes","version":"1.0.0"}},{"id":"pseudomap@1.0.2","info":{"name":"pseudomap","version":"1.0.2"}},{"id":"yallist@2.1.2","info":{"name":"yallist","version":"2.1.2"}},{"id":"lru-cache@4.1.5","info":{"name":"lru-cache","version":"4.1.5"}},{"id":"shebang-regex@1.0.0","info":{"name":"shebang-regex","version":"1.0.0"}},{"id":"shebang-command@1.2.0","info":{"name":"shebang-command","version":"1.2.0"}},{"id":"cross-spawn@5.1.0","info":{"name":"cross-spawn","version":"5.1.0"}},{"id":"get-stream@3.0.0","info":{"name":"get-stream","version":"3.0.0"}},{"id":"is-stream@1.1.0","info":{"name":"is-stream","version":"1.1.0"}},{"id":"path-key@2.0.1","info":{"name":"path-key","version":"2.0.1"}},{"id":"npm-run-path@2.0.2","info":{"name":"npm-run-path","version":"2.0.2"}},{"id":"p-finally@1.0.0","info":{"name":"p-finally","version":"1.0.0"}},{"id":"strip-eof@1.0.0","info":{"name":"strip-eof","version":"1.0.0"}},{"id":"execa@0.7.0","info":{"name":"execa","version":"0.7.0"}},{"id":"term-size@1.2.0","info":{"name":"term-size","version":"1.2.0"}},{"id":"widest-line@2.0.1","info":{"name":"widest-line","version":"2.0.1"}},{"id":"boxen@1.3.0","info":{"name":"boxen","version":"1.3.0"}},{"id":"is-obj@1.0.1","info":{"name":"is-obj","version":"1.0.1"}},{"id":"dot-prop@4.2.0","info":{"name":"dot-prop","version":"4.2.0"}},{"id":"pify@3.0.0","info":{"name":"pify","version":"3.0.0"}},{"id":"make-dir@1.3.0","info":{"name":"make-dir","version":"1.3.0"}},{"id":"crypto-random-string@1.0.0","info":{"name":"crypto-random-string","version":"1.0.0"}},{"id":"unique-string@1.0.0","info":{"name":"unique-string","version":"1.0.0"}},{"id":"xdg-basedir@3.0.0","info":{"name":"xdg-basedir","version":"3.0.0"}},{"id":"configstore@3.1.2","info":{"name":"configstore","version":"3.1.2"}},{"id":"import-lazy@2.1.0","info":{"name":"import-lazy","version":"2.1.0"}},{"id":"ci-info@1.6.0","info":{"name":"ci-info","version":"1.6.0"}},{"id":"is-ci@1.2.1","info":{"name":"is-ci","version":"1.2.1"}},{"id":"global-dirs@0.1.1","info":{"name":"global-dirs","version":"0.1.1"}},{"id":"is-path-inside@1.0.1","info":{"name":"is-path-inside","version":"1.0.1"}},{"id":"is-installed-globally@0.1.0","info":{"name":"is-installed-globally","version":"0.1.0"}},{"id":"is-npm@1.0.0","info":{"name":"is-npm","version":"1.0.0"}},{"id":"capture-stack-trace@1.0.0","info":{"name":"capture-stack-trace","version":"1.0.0"}},{"id":"create-error-class@3.0.2","info":{"name":"create-error-class","version":"3.0.2"}},{"id":"duplexer3@0.1.4","info":{"name":"duplexer3","version":"0.1.4"}},{"id":"is-redirect@1.0.0","info":{"name":"is-redirect","version":"1.0.0"}},{"id":"is-retry-allowed@1.2.0","info":{"name":"is-retry-allowed","version":"1.2.0"}},{"id":"lowercase-keys@1.0.1","info":{"name":"lowercase-keys","version":"1.0.1"}},{"id":"timed-out@4.0.1","info":{"name":"timed-out","version":"4.0.1"}},{"id":"unzip-response@2.0.1","info":{"name":"unzip-response","version":"2.0.1"}},{"id":"prepend-http@1.0.4","info":{"name":"prepend-http","version":"1.0.4"}},{"id":"url-parse-lax@1.0.0","info":{"name":"url-parse-lax","version":"1.0.0"}},{"id":"got@6.7.1","info":{"name":"got","version":"6.7.1"}},{"id":"deep-extend@0.6.0","info":{"name":"deep-extend","version":"0.6.0"}},{"id":"strip-json-comments@2.0.1","info":{"name":"strip-json-comments","version":"2.0.1"}},{"id":"rc@1.2.8","info":{"name":"rc","version":"1.2.8"}},{"id":"registry-auth-token@3.4.0","info":{"name":"registry-auth-token","version":"3.4.0"}},{"id":"registry-url@3.1.0","info":{"name":"registry-url","version":"3.1.0"}},{"id":"package-json@4.0.1","info":{"name":"package-json","version":"4.0.1"}},{"id":"latest-version@3.1.0","info":{"name":"latest-version","version":"3.1.0"}},{"id":"semver-diff@2.1.0","info":{"name":"semver-diff","version":"2.1.0"}},{"id":"update-notifier@2.5.0","info":{"name":"update-notifier","version":"2.5.0"}},{"id":"wrap-ansi@2.1.0","info":{"name":"wrap-ansi","version":"2.1.0"}},{"id":"cliui@4.1.0","info":{"name":"cliui","version":"4.1.0"}},{"id":"decamelize@1.2.0","info":{"name":"decamelize","version":"1.2.0"}},{"id":"p-try@1.0.0","info":{"name":"p-try","version":"1.0.0"}},{"id":"p-limit@1.2.0","info":{"name":"p-limit","version":"1.2.0"}},{"id":"p-locate@2.0.0","info":{"name":"p-locate","version":"2.0.0"}},{"id":"locate-path@2.0.0","info":{"name":"locate-path","version":"2.0.0"}},{"id":"find-up@2.1.0","info":{"name":"find-up","version":"2.1.0"}},{"id":"get-caller-file@1.0.3","info":{"name":"get-caller-file","version":"1.0.3"}},{"id":"nice-try@1.0.5","info":{"name":"nice-try","version":"1.0.5"}},{"id":"cross-spawn@6.0.5","info":{"name":"cross-spawn","version":"6.0.5"}},{"id":"execa@1.0.0","info":{"name":"execa","version":"1.0.0"}},{"id":"invert-kv@2.0.0","info":{"name":"invert-kv","version":"2.0.0"}},{"id":"lcid@2.0.0","info":{"name":"lcid","version":"2.0.0"}},{"id":"p-defer@1.0.0","info":{"name":"p-defer","version":"1.0.0"}},{"id":"map-age-cleaner@0.1.3","info":{"name":"map-age-cleaner","version":"0.1.3"}},{"id":"mimic-fn@2.1.0","info":{"name":"mimic-fn","version":"2.1.0"}},{"id":"p-is-promise@2.1.0","info":{"name":"p-is-promise","version":"2.1.0"}},{"id":"mem@4.3.0","info":{"name":"mem","version":"4.3.0"}},{"id":"os-locale@3.1.0","info":{"name":"os-locale","version":"3.1.0"}},{"id":"require-directory@2.1.1","info":{"name":"require-directory","version":"2.1.1"}},{"id":"require-main-filename@1.0.1","info":{"name":"require-main-filename","version":"1.0.1"}},{"id":"y18n@3.2.1","info":{"name":"y18n","version":"3.2.1"}},{"id":"yargs-parser@9.0.2","info":{"name":"yargs-parser","version":"9.0.2"}},{"id":"yargs@11.1.1","info":{"name":"yargs","version":"11.1.1"}},{"id":"libnpx@10.2.2","info":{"name":"libnpx","version":"10.2.2"}},{"id":"lockfile@1.0.4","info":{"name":"lockfile","version":"1.0.4"}},{"id":"lodash._baseindexof@3.1.0","info":{"name":"lodash._baseindexof","version":"3.1.0"}},{"id":"lodash._createset@4.0.3","info":{"name":"lodash._createset","version":"4.0.3"}},{"id":"lodash._root@3.0.1","info":{"name":"lodash._root","version":"3.0.1"}},{"id":"lodash._baseuniq@4.6.0","info":{"name":"lodash._baseuniq","version":"4.6.0"}},{"id":"lodash._bindcallback@3.0.1","info":{"name":"lodash._bindcallback","version":"3.0.1"}},{"id":"lodash._cacheindexof@3.0.2","info":{"name":"lodash._cacheindexof","version":"3.0.2"}},{"id":"lodash._getnative@3.9.1","info":{"name":"lodash._getnative","version":"3.9.1"}},{"id":"lodash._createcache@3.1.2","info":{"name":"lodash._createcache","version":"3.1.2"}},{"id":"lodash.restparam@3.6.1","info":{"name":"lodash.restparam","version":"3.6.1"}},{"id":"lodash.union@4.6.0","info":{"name":"lodash.union","version":"4.6.0"}},{"id":"lodash.uniq@4.5.0","info":{"name":"lodash.uniq","version":"4.5.0"}},{"id":"lodash.without@4.4.0","info":{"name":"lodash.without","version":"4.4.0"}},{"id":"meant@1.0.1","info":{"name":"meant","version":"1.0.1"}},{"id":"npm-audit-report@1.3.2","info":{"name":"npm-audit-report","version":"1.3.2"}},{"id":"npm-cache-filename@1.0.2","info":{"name":"npm-cache-filename","version":"1.0.2"}},{"id":"npm-install-checks@3.0.2","info":{"name":"npm-install-checks","version":"3.0.2"}},{"id":"npm-user-validate@1.0.0","info":{"name":"npm-user-validate","version":"1.0.0"}},{"id":"opener@1.5.1","info":{"name":"opener","version":"1.5.1"}},{"id":"qrcode-terminal@0.12.0","info":{"name":"qrcode-terminal","version":"0.12.0"}},{"id":"decode-uri-component@0.2.0","info":{"name":"decode-uri-component","version":"0.2.0"}},{"id":"split-on-first@1.1.0","info":{"name":"split-on-first","version":"1.1.0"}},{"id":"strict-uri-encode@2.0.0","info":{"name":"strict-uri-encode","version":"2.0.0"}},{"id":"query-string@6.8.2","info":{"name":"query-string","version":"6.8.2"}},{"id":"qw@1.0.1","info":{"name":"qw","version":"1.0.1"}},{"id":"debuglog@1.0.1","info":{"name":"debuglog","version":"1.0.1"}},{"id":"readdir-scoped-modules@1.1.0","info":{"name":"readdir-scoped-modules","version":"1.1.0"}},{"id":"util-extend@1.0.3","info":{"name":"util-extend","version":"1.0.3"}},{"id":"read-installed@4.0.3","info":{"name":"read-installed","version":"4.0.3"}},{"id":"object-keys@1.0.12","info":{"name":"object-keys","version":"1.0.12"}},{"id":"define-properties@1.1.3","info":{"name":"define-properties","version":"1.1.3"}},{"id":"is-callable@1.1.4","info":{"name":"is-callable","version":"1.1.4"}},{"id":"is-date-object@1.0.1","info":{"name":"is-date-object","version":"1.0.1"}},{"id":"has-symbols@1.0.0","info":{"name":"has-symbols","version":"1.0.0"}},{"id":"is-symbol@1.0.2","info":{"name":"is-symbol","version":"1.0.2"}},{"id":"es-to-primitive@1.2.0","info":{"name":"es-to-primitive","version":"1.2.0"}},{"id":"function-bind@1.1.1","info":{"name":"function-bind","version":"1.1.1"}},{"id":"has@1.0.3","info":{"name":"has","version":"1.0.3"}},{"id":"is-regex@1.0.4","info":{"name":"is-regex","version":"1.0.4"}},{"id":"es-abstract@1.12.0","info":{"name":"es-abstract","version":"1.12.0"}},{"id":"object.getownpropertydescriptors@2.0.3","info":{"name":"object.getownpropertydescriptors","version":"2.0.3"}},{"id":"util-promisify@2.1.0","info":{"name":"util-promisify","version":"2.1.0"}},{"id":"read-package-tree@5.3.1","info":{"name":"read-package-tree","version":"5.3.1"}},{"id":"string_decoder@1.3.0","info":{"name":"string_decoder","version":"1.3.0"}},{"id":"readable-stream@3.6.0","info":{"name":"readable-stream","version":"3.6.0"}},{"id":"retry@0.12.0","info":{"name":"retry","version":"0.12.0"}},{"id":"sha@3.0.0","info":{"name":"sha","version":"3.0.0"}},{"id":"sorted-object@2.0.1","info":{"name":"sorted-object","version":"2.0.1"}},{"id":"isarray@0.0.1","info":{"name":"isarray","version":"0.0.1"}},{"id":"string_decoder@0.10.31","info":{"name":"string_decoder","version":"0.10.31"}},{"id":"readable-stream@1.1.14","info":{"name":"readable-stream","version":"1.1.14"}},{"id":"from2@1.3.0","info":{"name":"from2","version":"1.3.0"}},{"id":"stream-iterate@1.2.0","info":{"name":"stream-iterate","version":"1.2.0"}},{"id":"sorted-union-stream@2.1.3","info":{"name":"sorted-union-stream","version":"2.1.3"}},{"id":"text-table@0.2.0","info":{"name":"text-table","version":"0.2.0"}},{"id":"tiny-relative-date@1.3.0","info":{"name":"tiny-relative-date","version":"1.3.0"}},{"id":"unpipe@1.0.0","info":{"name":"unpipe","version":"1.0.0"}},{"id":"npm@6.14.5","info":{"name":"npm","version":"6.14.5"}}],"graph":{"rootNodeId":"root-node","nodes":[{"nodeId":"root-node","pkgId":"lib@","deps":[{"nodeId":"npm@6.14.5"}]},{"nodeId":"jsonparse@1.3.1","pkgId":"jsonparse@1.3.1","deps":[]},{"nodeId":"through@2.3.8","pkgId":"through@2.3.8","deps":[]},{"nodeId":"JSONStream@1.3.5","pkgId":"JSONStream@1.3.5","deps":[{"nodeId":"jsonparse@1.3.1"},{"nodeId":"through@2.3.8"}]},{"nodeId":"abbrev@1.1.1","pkgId":"abbrev@1.1.1","deps":[]},{"nodeId":"ansicolors@0.3.2","pkgId":"ansicolors@0.3.2","deps":[]},{"nodeId":"ansistyles@0.1.3","pkgId":"ansistyles@0.1.3","deps":[]},{"nodeId":"aproba@2.0.0","pkgId":"aproba@2.0.0","deps":[]},{"nodeId":"archy@1.0.0","pkgId":"archy@1.0.0","deps":[]},{"nodeId":"bluebird@3.5.5","pkgId":"bluebird@3.5.5","deps":[]},{"nodeId":"graceful-fs@4.2.4","pkgId":"graceful-fs@4.2.4","deps":[]},{"nodeId":"minimist@1.2.5","pkgId":"minimist@1.2.5","deps":[]},{"nodeId":"mkdirp@0.5.5","pkgId":"mkdirp@0.5.5","deps":[{"nodeId":"minimist@1.2.5"}]},{"nodeId":"cmd-shim@3.0.3","pkgId":"cmd-shim@3.0.3","deps":[{"nodeId":"graceful-fs@4.2.4"},{"nodeId":"mkdirp@0.5.5"}]},{"nodeId":"aproba@1.2.0","pkgId":"aproba@1.2.0","deps":[]},{"nodeId":"chownr@1.1.4","pkgId":"chownr@1.1.4","deps":[]},{"nodeId":"path-is-inside@1.0.2","pkgId":"path-is-inside@1.0.2","deps":[]},{"nodeId":"fs.realpath@1.0.0","pkgId":"fs.realpath@1.0.0","deps":[]},{"nodeId":"wrappy@1.0.2","pkgId":"wrappy@1.0.2","deps":[]},{"nodeId":"once@1.4.0","pkgId":"once@1.4.0","deps":[{"nodeId":"wrappy@1.0.2"}]},{"nodeId":"inflight@1.0.6","pkgId":"inflight@1.0.6","deps":[{"nodeId":"once@1.4.0"},{"nodeId":"wrappy@1.0.2"}]},{"nodeId":"inherits@2.0.4","pkgId":"inherits@2.0.4","deps":[]},{"nodeId":"balanced-match@1.0.0","pkgId":"balanced-match@1.0.0","deps":[]},{"nodeId":"concat-map@0.0.1","pkgId":"concat-map@0.0.1","deps":[]},{"nodeId":"brace-expansion@1.1.11","pkgId":"brace-expansion@1.1.11","deps":[{"nodeId":"balanced-match@1.0.0"},{"nodeId":"concat-map@0.0.1"}]},{"nodeId":"minimatch@3.0.4","pkgId":"minimatch@3.0.4","deps":[{"nodeId":"brace-expansion@1.1.11"}]},{"nodeId":"path-is-absolute@1.0.1","pkgId":"path-is-absolute@1.0.1","deps":[]},{"nodeId":"glob@7.1.6","pkgId":"glob@7.1.6","deps":[{"nodeId":"fs.realpath@1.0.0"},{"nodeId":"inflight@1.0.6"},{"nodeId":"inherits@2.0.4"},{"nodeId":"minimatch@3.0.4"},{"nodeId":"once@1.4.0"},{"nodeId":"path-is-absolute@1.0.1"}]},{"nodeId":"rimraf@2.7.1","pkgId":"rimraf@2.7.1","deps":[{"nodeId":"glob@7.1.6"}]},{"nodeId":"fs-vacuum@1.2.10","pkgId":"fs-vacuum@1.2.10","deps":[{"nodeId":"graceful-fs@4.2.4"},{"nodeId":"path-is-inside@1.0.2"},{"nodeId":"rimraf@2.7.1"}]},{"nodeId":"iferr@0.1.5","pkgId":"iferr@0.1.5","deps":[]},{"nodeId":"infer-owner@1.0.4","pkgId":"infer-owner@1.0.4","deps":[]},{"nodeId":"read-cmd-shim@1.0.5","pkgId":"read-cmd-shim@1.0.5","deps":[{"nodeId":"graceful-fs@4.2.4"}]},{"nodeId":"slide@1.1.6","pkgId":"slide@1.1.6","deps":[]},{"nodeId":"gentle-fs@2.3.0","pkgId":"gentle-fs@2.3.0","deps":[{"nodeId":"aproba@1.2.0"},{"nodeId":"chownr@1.1.4"},{"nodeId":"cmd-shim@3.0.3"},{"nodeId":"fs-vacuum@1.2.10"},{"nodeId":"graceful-fs@4.2.4"},{"nodeId":"iferr@0.1.5"},{"nodeId":"infer-owner@1.0.4"},{"nodeId":"mkdirp@0.5.5"},{"nodeId":"path-is-inside@1.0.2"},{"nodeId":"read-cmd-shim@1.0.5"},{"nodeId":"slide@1.1.6"}]},{"nodeId":"npm-normalize-package-bin@1.0.1","pkgId":"npm-normalize-package-bin@1.0.1","deps":[]},{"nodeId":"imurmurhash@0.1.4","pkgId":"imurmurhash@0.1.4","deps":[]},{"nodeId":"signal-exit@3.0.2","pkgId":"signal-exit@3.0.2","deps":[]},{"nodeId":"write-file-atomic@2.4.3","pkgId":"write-file-atomic@2.4.3","deps":[{"nodeId":"graceful-fs@4.2.4"},{"nodeId":"imurmurhash@0.1.4"},{"nodeId":"signal-exit@3.0.2"}]},{"nodeId":"bin-links@1.1.7","pkgId":"bin-links@1.1.7","deps":[{"nodeId":"bluebird@3.5.5"},{"nodeId":"cmd-shim@3.0.3"},{"nodeId":"gentle-fs@2.3.0"},{"nodeId":"graceful-fs@4.2.4"},{"nodeId":"npm-normalize-package-bin@1.0.1"},{"nodeId":"write-file-atomic@2.4.3"}]},{"nodeId":"byte-size@5.0.1","pkgId":"byte-size@5.0.1","deps":[]},{"nodeId":"figgy-pudding@3.5.1","pkgId":"figgy-pudding@3.5.1","deps":[]},{"nodeId":"yallist@3.0.3","pkgId":"yallist@3.0.3","deps":[]},{"nodeId":"lru-cache@5.1.1","pkgId":"lru-cache@5.1.1","deps":[{"nodeId":"yallist@3.0.3"}]},{"nodeId":"buffer-from@1.0.0","pkgId":"buffer-from@1.0.0","deps":[]},{"nodeId":"core-util-is@1.0.2","pkgId":"core-util-is@1.0.2","deps":[]},{"nodeId":"isarray@1.0.0","pkgId":"isarray@1.0.0","deps":[]},{"nodeId":"process-nextick-args@2.0.0","pkgId":"process-nextick-args@2.0.0","deps":[]},{"nodeId":"safe-buffer@5.1.2","pkgId":"safe-buffer@5.1.2","deps":[]},{"nodeId":"string_decoder@1.1.1","pkgId":"string_decoder@1.1.1","deps":[{"nodeId":"safe-buffer@5.1.2"}]},{"nodeId":"util-deprecate@1.0.2","pkgId":"util-deprecate@1.0.2","deps":[]},{"nodeId":"readable-stream@2.3.6","pkgId":"readable-stream@2.3.6","deps":[{"nodeId":"core-util-is@1.0.2"},{"nodeId":"inherits@2.0.4"},{"nodeId":"isarray@1.0.0"},{"nodeId":"process-nextick-args@2.0.0"},{"nodeId":"safe-buffer@5.1.2"},{"nodeId":"string_decoder@1.1.1"},{"nodeId":"util-deprecate@1.0.2"}]},{"nodeId":"typedarray@0.0.6","pkgId":"typedarray@0.0.6","deps":[]},{"nodeId":"concat-stream@1.6.2","pkgId":"concat-stream@1.6.2","deps":[{"nodeId":"buffer-from@1.0.0"},{"nodeId":"inherits@2.0.4"},{"nodeId":"readable-stream@2.3.6"},{"nodeId":"typedarray@0.0.6"}]},{"nodeId":"end-of-stream@1.4.1","pkgId":"end-of-stream@1.4.1","deps":[{"nodeId":"once@1.4.0"}]},{"nodeId":"stream-shift@1.0.0","pkgId":"stream-shift@1.0.0","deps":[]},{"nodeId":"duplexify@3.6.0","pkgId":"duplexify@3.6.0","deps":[{"nodeId":"end-of-stream@1.4.1"},{"nodeId":"inherits@2.0.4"},{"nodeId":"readable-stream@2.3.6"},{"nodeId":"stream-shift@1.0.0"}]},{"nodeId":"flush-write-stream@1.0.3","pkgId":"flush-write-stream@1.0.3","deps":[{"nodeId":"inherits@2.0.4"},{"nodeId":"readable-stream@2.3.6"}]},{"nodeId":"from2@2.3.0","pkgId":"from2@2.3.0","deps":[{"nodeId":"inherits@2.0.4"},{"nodeId":"readable-stream@2.3.6"}]},{"nodeId":"cyclist@0.2.2","pkgId":"cyclist@0.2.2","deps":[]},{"nodeId":"parallel-transform@1.1.0","pkgId":"parallel-transform@1.1.0","deps":[{"nodeId":"cyclist@0.2.2"},{"nodeId":"inherits@2.0.4"},{"nodeId":"readable-stream@2.3.6"}]},{"nodeId":"pump@3.0.0","pkgId":"pump@3.0.0","deps":[{"nodeId":"end-of-stream@1.4.1"},{"nodeId":"once@1.4.0"}]},{"nodeId":"pump@2.0.1","pkgId":"pump@2.0.1","deps":[{"nodeId":"end-of-stream@1.4.1"},{"nodeId":"once@1.4.0"}]},{"nodeId":"pumpify@1.5.1","pkgId":"pumpify@1.5.1","deps":[{"nodeId":"duplexify@3.6.0"},{"nodeId":"inherits@2.0.4"},{"nodeId":"pump@2.0.1"}]},{"nodeId":"stream-each@1.2.2","pkgId":"stream-each@1.2.2","deps":[{"nodeId":"end-of-stream@1.4.1"},{"nodeId":"stream-shift@1.0.0"}]},{"nodeId":"xtend@4.0.1","pkgId":"xtend@4.0.1","deps":[]},{"nodeId":"through2@2.0.3","pkgId":"through2@2.0.3","deps":[{"nodeId":"readable-stream@2.3.6"},{"nodeId":"xtend@4.0.1"}]},{"nodeId":"mississippi@3.0.0","pkgId":"mississippi@3.0.0","deps":[{"nodeId":"concat-stream@1.6.2"},{"nodeId":"duplexify@3.6.0"},{"nodeId":"end-of-stream@1.4.1"},{"nodeId":"flush-write-stream@1.0.3"},{"nodeId":"from2@2.3.0"},{"nodeId":"parallel-transform@1.1.0"},{"nodeId":"pump@3.0.0"},{"nodeId":"pumpify@1.5.1"},{"nodeId":"stream-each@1.2.2"},{"nodeId":"through2@2.0.3"}]},{"nodeId":"fs-write-stream-atomic@1.0.10","pkgId":"fs-write-stream-atomic@1.0.10","deps":[{"nodeId":"graceful-fs@4.2.4"},{"nodeId":"iferr@0.1.5"},{"nodeId":"imurmurhash@0.1.4"},{"nodeId":"readable-stream@2.3.6"}]},{"nodeId":"run-queue@1.0.3","pkgId":"run-queue@1.0.3","deps":[{"nodeId":"aproba@1.2.0"}]},{"nodeId":"copy-concurrently@1.0.5","pkgId":"copy-concurrently@1.0.5","deps":[{"nodeId":"aproba@1.2.0"},{"nodeId":"fs-write-stream-atomic@1.0.10"},{"nodeId":"iferr@0.1.5"},{"nodeId":"mkdirp@0.5.5"},{"nodeId":"rimraf@2.7.1"},{"nodeId":"run-queue@1.0.3"}]},{"nodeId":"move-concurrently@1.0.1","pkgId":"move-concurrently@1.0.1","deps":[{"nodeId":"aproba@1.2.0"},{"nodeId":"copy-concurrently@1.0.5"},{"nodeId":"fs-write-stream-atomic@1.0.10"},{"nodeId":"mkdirp@0.5.5"},{"nodeId":"rimraf@2.7.1"},{"nodeId":"run-queue@1.0.3"}]},{"nodeId":"promise-inflight@1.0.1","pkgId":"promise-inflight@1.0.1","deps":[]},{"nodeId":"ssri@6.0.1","pkgId":"ssri@6.0.1","deps":[{"nodeId":"figgy-pudding@3.5.1"}]},{"nodeId":"unique-slug@2.0.0","pkgId":"unique-slug@2.0.0","deps":[{"nodeId":"imurmurhash@0.1.4"}]},{"nodeId":"unique-filename@1.1.1","pkgId":"unique-filename@1.1.1","deps":[{"nodeId":"unique-slug@2.0.0"}]},{"nodeId":"y18n@4.0.0","pkgId":"y18n@4.0.0","deps":[]},{"nodeId":"cacache@12.0.3","pkgId":"cacache@12.0.3","deps":[{"nodeId":"bluebird@3.5.5"},{"nodeId":"chownr@1.1.4"},{"nodeId":"figgy-pudding@3.5.1"},{"nodeId":"glob@7.1.6"},{"nodeId":"graceful-fs@4.2.4"},{"nodeId":"infer-owner@1.0.4"},{"nodeId":"lru-cache@5.1.1"},{"nodeId":"mississippi@3.0.0"},{"nodeId":"mkdirp@0.5.5"},{"nodeId":"move-concurrently@1.0.1"},{"nodeId":"promise-inflight@1.0.1"},{"nodeId":"rimraf@2.7.1"},{"nodeId":"ssri@6.0.1"},{"nodeId":"unique-filename@1.1.1"},{"nodeId":"y18n@4.0.0"}]},{"nodeId":"call-limit@1.1.1","pkgId":"call-limit@1.1.1","deps":[]},{"nodeId":"ci-info@2.0.0","pkgId":"ci-info@2.0.0","deps":[]},{"nodeId":"is-fullwidth-code-point@2.0.0","pkgId":"is-fullwidth-code-point@2.0.0","deps":[]},{"nodeId":"ansi-regex@3.0.0","pkgId":"ansi-regex@3.0.0","deps":[]},{"nodeId":"strip-ansi@4.0.0","pkgId":"strip-ansi@4.0.0","deps":[{"nodeId":"ansi-regex@3.0.0"}]},{"nodeId":"string-width@2.1.1","pkgId":"string-width@2.1.1","deps":[{"nodeId":"is-fullwidth-code-point@2.0.0"},{"nodeId":"strip-ansi@4.0.0"}]},{"nodeId":"ansi-regex@2.1.1","pkgId":"ansi-regex@2.1.1","deps":[]},{"nodeId":"strip-ansi@3.0.1","pkgId":"strip-ansi@3.0.1","deps":[{"nodeId":"ansi-regex@2.1.1"}]},{"nodeId":"cli-columns@3.1.2","pkgId":"cli-columns@3.1.2","deps":[{"nodeId":"string-width@2.1.1"},{"nodeId":"strip-ansi@3.0.1"}]},{"nodeId":"colors@1.3.3","pkgId":"colors@1.3.3","deps":[]},{"nodeId":"object-assign@4.1.1","pkgId":"object-assign@4.1.1","deps":[]},{"nodeId":"cli-table3@0.5.1","pkgId":"cli-table3@0.5.1","deps":[{"nodeId":"colors@1.3.3"},{"nodeId":"object-assign@4.1.1"},{"nodeId":"string-width@2.1.1"}]},{"nodeId":"clone@1.0.4","pkgId":"clone@1.0.4","deps":[]},{"nodeId":"defaults@1.0.3","pkgId":"defaults@1.0.3","deps":[{"nodeId":"clone@1.0.4"}]},{"nodeId":"wcwidth@1.0.1","pkgId":"wcwidth@1.0.1","deps":[{"nodeId":"defaults@1.0.3"}]},{"nodeId":"columnify@1.5.4","pkgId":"columnify@1.5.4","deps":[{"nodeId":"strip-ansi@3.0.1"},{"nodeId":"wcwidth@1.0.1"}]},{"nodeId":"ini@1.3.5","pkgId":"ini@1.3.5","deps":[]},{"nodeId":"proto-list@1.2.4","pkgId":"proto-list@1.2.4","deps":[]},{"nodeId":"config-chain@1.1.12","pkgId":"config-chain@1.1.12","deps":[{"nodeId":"ini@1.3.5"},{"nodeId":"proto-list@1.2.4"}]},{"nodeId":"detect-indent@5.0.0","pkgId":"detect-indent@5.0.0","deps":[]},{"nodeId":"detect-newline@2.1.0","pkgId":"detect-newline@2.1.0","deps":[]},{"nodeId":"asap@2.0.6","pkgId":"asap@2.0.6","deps":[]},{"nodeId":"dezalgo@1.0.3","pkgId":"dezalgo@1.0.3","deps":[{"nodeId":"asap@2.0.6"},{"nodeId":"wrappy@1.0.2"}]},{"nodeId":"editor@1.0.0","pkgId":"editor@1.0.0","deps":[]},{"nodeId":"find-npm-prefix@1.0.2","pkgId":"find-npm-prefix@1.0.2","deps":[]},{"nodeId":"has-unicode@2.0.1","pkgId":"has-unicode@2.0.1","deps":[]},{"nodeId":"hosted-git-info@2.8.8","pkgId":"hosted-git-info@2.8.8","deps":[]},{"nodeId":"iferr@1.0.2","pkgId":"iferr@1.0.2","deps":[]},{"nodeId":"os-homedir@1.0.2","pkgId":"os-homedir@1.0.2","deps":[]},{"nodeId":"os-tmpdir@1.0.2","pkgId":"os-tmpdir@1.0.2","deps":[]},{"nodeId":"osenv@0.1.5","pkgId":"osenv@0.1.5","deps":[{"nodeId":"os-homedir@1.0.2"},{"nodeId":"os-tmpdir@1.0.2"}]},{"nodeId":"semver@5.7.1","pkgId":"semver@5.7.1","deps":[]},{"nodeId":"builtins@1.0.3","pkgId":"builtins@1.0.3","deps":[]},{"nodeId":"validate-npm-package-name@3.0.0","pkgId":"validate-npm-package-name@3.0.0","deps":[{"nodeId":"builtins@1.0.3"}]},{"nodeId":"npm-package-arg@6.1.1","pkgId":"npm-package-arg@6.1.1","deps":[{"nodeId":"hosted-git-info@2.8.8"},{"nodeId":"osenv@0.1.5"},{"nodeId":"semver@5.7.1"},{"nodeId":"validate-npm-package-name@3.0.0"}]},{"nodeId":"mute-stream@0.0.7","pkgId":"mute-stream@0.0.7","deps":[]},{"nodeId":"read@1.0.7","pkgId":"read@1.0.7","deps":[{"nodeId":"mute-stream@0.0.7"}]},{"nodeId":"promzard@0.3.0","pkgId":"promzard@0.3.0","deps":[{"nodeId":"read@1.0.7"}]},{"nodeId":"json-parse-better-errors@1.0.2","pkgId":"json-parse-better-errors@1.0.2","deps":[]},{"nodeId":"path-parse@1.0.6","pkgId":"path-parse@1.0.6","deps":[]},{"nodeId":"resolve@1.10.0","pkgId":"resolve@1.10.0","deps":[{"nodeId":"path-parse@1.0.6"}]},{"nodeId":"spdx-exceptions@2.1.0","pkgId":"spdx-exceptions@2.1.0","deps":[]},{"nodeId":"spdx-license-ids@3.0.3","pkgId":"spdx-license-ids@3.0.3","deps":[]},{"nodeId":"spdx-expression-parse@3.0.0","pkgId":"spdx-expression-parse@3.0.0","deps":[{"nodeId":"spdx-exceptions@2.1.0"},{"nodeId":"spdx-license-ids@3.0.3"}]},{"nodeId":"spdx-correct@3.0.0","pkgId":"spdx-correct@3.0.0","deps":[{"nodeId":"spdx-expression-parse@3.0.0"},{"nodeId":"spdx-license-ids@3.0.3"}]},{"nodeId":"validate-npm-package-license@3.0.4","pkgId":"validate-npm-package-license@3.0.4","deps":[{"nodeId":"spdx-correct@3.0.0"},{"nodeId":"spdx-expression-parse@3.0.0"}]},{"nodeId":"normalize-package-data@2.5.0","pkgId":"normalize-package-data@2.5.0","deps":[{"nodeId":"hosted-git-info@2.8.8"},{"nodeId":"resolve@1.10.0"},{"nodeId":"semver@5.7.1"},{"nodeId":"validate-npm-package-license@3.0.4"}]},{"nodeId":"read-package-json@2.1.1","pkgId":"read-package-json@2.1.1","deps":[{"nodeId":"glob@7.1.6"},{"nodeId":"graceful-fs@4.2.4"},{"nodeId":"json-parse-better-errors@1.0.2"},{"nodeId":"normalize-package-data@2.5.0"},{"nodeId":"npm-normalize-package-bin@1.0.1"}]},{"nodeId":"init-package-json@1.10.3","pkgId":"init-package-json@1.10.3","deps":[{"nodeId":"glob@7.1.6"},{"nodeId":"npm-package-arg@6.1.1"},{"nodeId":"promzard@0.3.0"},{"nodeId":"read@1.0.7"},{"nodeId":"read-package-json@2.1.1"},{"nodeId":"semver@5.7.1"},{"nodeId":"validate-npm-package-license@3.0.4"},{"nodeId":"validate-npm-package-name@3.0.0"}]},{"nodeId":"ip-regex@2.1.0","pkgId":"ip-regex@2.1.0","deps":[]},{"nodeId":"cidr-regex@2.0.10","pkgId":"cidr-regex@2.0.10","deps":[{"nodeId":"ip-regex@2.1.0"}]},{"nodeId":"is-cidr@3.0.0","pkgId":"is-cidr@3.0.0","deps":[{"nodeId":"cidr-regex@2.0.10"}]},{"nodeId":"isexe@2.0.0","pkgId":"isexe@2.0.0","deps":[]},{"nodeId":"lazy-property@1.0.0","pkgId":"lazy-property@1.0.0","deps":[]},{"nodeId":"lock-verify@2.1.0","pkgId":"lock-verify@2.1.0","deps":[{"nodeId":"npm-package-arg@6.1.1"},{"nodeId":"semver@5.7.1"}]},{"nodeId":"byline@5.0.0","pkgId":"byline@5.0.0","deps":[]},{"nodeId":"env-paths@2.2.0","pkgId":"env-paths@2.2.0","deps":[]},{"nodeId":"nopt@4.0.3","pkgId":"nopt@4.0.3","deps":[{"nodeId":"abbrev@1.1.1"},{"nodeId":"osenv@0.1.5"}]},{"nodeId":"delegates@1.0.0","pkgId":"delegates@1.0.0","deps":[]},{"nodeId":"are-we-there-yet@1.1.4","pkgId":"are-we-there-yet@1.1.4","deps":[{"nodeId":"delegates@1.0.0"},{"nodeId":"readable-stream@2.3.6"}]},{"nodeId":"console-control-strings@1.1.0","pkgId":"console-control-strings@1.1.0","deps":[]},{"nodeId":"code-point-at@1.1.0","pkgId":"code-point-at@1.1.0","deps":[]},{"nodeId":"number-is-nan@1.0.1","pkgId":"number-is-nan@1.0.1","deps":[]},{"nodeId":"is-fullwidth-code-point@1.0.0","pkgId":"is-fullwidth-code-point@1.0.0","deps":[{"nodeId":"number-is-nan@1.0.1"}]},{"nodeId":"string-width@1.0.2","pkgId":"string-width@1.0.2","deps":[{"nodeId":"code-point-at@1.1.0"},{"nodeId":"is-fullwidth-code-point@1.0.0"},{"nodeId":"strip-ansi@3.0.1"}]},{"nodeId":"wide-align@1.1.2","pkgId":"wide-align@1.1.2","deps":[{"nodeId":"string-width@1.0.2"}]},{"nodeId":"gauge@2.7.4","pkgId":"gauge@2.7.4","deps":[{"nodeId":"aproba@1.2.0"},{"nodeId":"console-control-strings@1.1.0"},{"nodeId":"has-unicode@2.0.1"},{"nodeId":"object-assign@4.1.1"},{"nodeId":"signal-exit@3.0.2"},{"nodeId":"string-width@1.0.2"},{"nodeId":"strip-ansi@3.0.1"},{"nodeId":"wide-align@1.1.2"}]},{"nodeId":"set-blocking@2.0.0","pkgId":"set-blocking@2.0.0","deps":[]},{"nodeId":"npmlog@4.1.2","pkgId":"npmlog@4.1.2","deps":[{"nodeId":"are-we-there-yet@1.1.4"},{"nodeId":"console-control-strings@1.1.0"},{"nodeId":"gauge@2.7.4"},{"nodeId":"set-blocking@2.0.0"}]},{"nodeId":"aws-sign2@0.7.0","pkgId":"aws-sign2@0.7.0","deps":[]},{"nodeId":"aws4@1.8.0","pkgId":"aws4@1.8.0","deps":[]},{"nodeId":"caseless@0.12.0","pkgId":"caseless@0.12.0","deps":[]},{"nodeId":"delayed-stream@1.0.0","pkgId":"delayed-stream@1.0.0","deps":[]},{"nodeId":"combined-stream@1.0.6","pkgId":"combined-stream@1.0.6","deps":[{"nodeId":"delayed-stream@1.0.0"}]},{"nodeId":"extend@3.0.2","pkgId":"extend@3.0.2","deps":[]},{"nodeId":"forever-agent@0.6.1","pkgId":"forever-agent@0.6.1","deps":[]},{"nodeId":"asynckit@0.4.0","pkgId":"asynckit@0.4.0","deps":[]},{"nodeId":"mime-db@1.35.0","pkgId":"mime-db@1.35.0","deps":[]},{"nodeId":"mime-types@2.1.19","pkgId":"mime-types@2.1.19","deps":[{"nodeId":"mime-db@1.35.0"}]},{"nodeId":"form-data@2.3.2","pkgId":"form-data@2.3.2","deps":[{"nodeId":"asynckit@0.4.0"},{"nodeId":"combined-stream@1.0.6"},{"nodeId":"mime-types@2.1.19"}]},{"nodeId":"co@4.6.0","pkgId":"co@4.6.0","deps":[]},{"nodeId":"fast-deep-equal@1.1.0","pkgId":"fast-deep-equal@1.1.0","deps":[]},{"nodeId":"fast-json-stable-stringify@2.0.0","pkgId":"fast-json-stable-stringify@2.0.0","deps":[]},{"nodeId":"json-schema-traverse@0.3.1","pkgId":"json-schema-traverse@0.3.1","deps":[]},{"nodeId":"ajv@5.5.2","pkgId":"ajv@5.5.2","deps":[{"nodeId":"co@4.6.0"},{"nodeId":"fast-deep-equal@1.1.0"},{"nodeId":"fast-json-stable-stringify@2.0.0"},{"nodeId":"json-schema-traverse@0.3.1"}]},{"nodeId":"har-schema@2.0.0","pkgId":"har-schema@2.0.0","deps":[]},{"nodeId":"har-validator@5.1.0","pkgId":"har-validator@5.1.0","deps":[{"nodeId":"ajv@5.5.2"},{"nodeId":"har-schema@2.0.0"}]},{"nodeId":"assert-plus@1.0.0","pkgId":"assert-plus@1.0.0","deps":[]},{"nodeId":"extsprintf@1.3.0","pkgId":"extsprintf@1.3.0","deps":[]},{"nodeId":"json-schema@0.2.3","pkgId":"json-schema@0.2.3","deps":[]},{"nodeId":"verror@1.10.0","pkgId":"verror@1.10.0","deps":[{"nodeId":"assert-plus@1.0.0"},{"nodeId":"core-util-is@1.0.2"},{"nodeId":"extsprintf@1.3.0"}]},{"nodeId":"jsprim@1.4.1","pkgId":"jsprim@1.4.1","deps":[{"nodeId":"assert-plus@1.0.0"},{"nodeId":"extsprintf@1.3.0"},{"nodeId":"json-schema@0.2.3"},{"nodeId":"verror@1.10.0"}]},{"nodeId":"safer-buffer@2.1.2","pkgId":"safer-buffer@2.1.2","deps":[]},{"nodeId":"asn1@0.2.4","pkgId":"asn1@0.2.4","deps":[{"nodeId":"safer-buffer@2.1.2"}]},{"nodeId":"tweetnacl@0.14.5","pkgId":"tweetnacl@0.14.5","deps":[]},{"nodeId":"bcrypt-pbkdf@1.0.2","pkgId":"bcrypt-pbkdf@1.0.2","deps":[{"nodeId":"tweetnacl@0.14.5"}]},{"nodeId":"dashdash@1.14.1","pkgId":"dashdash@1.14.1","deps":[{"nodeId":"assert-plus@1.0.0"}]},{"nodeId":"jsbn@0.1.1","pkgId":"jsbn@0.1.1","deps":[]},{"nodeId":"ecc-jsbn@0.1.2","pkgId":"ecc-jsbn@0.1.2","deps":[{"nodeId":"jsbn@0.1.1"},{"nodeId":"safer-buffer@2.1.2"}]},{"nodeId":"getpass@0.1.7","pkgId":"getpass@0.1.7","deps":[{"nodeId":"assert-plus@1.0.0"}]},{"nodeId":"sshpk@1.14.2","pkgId":"sshpk@1.14.2","deps":[{"nodeId":"asn1@0.2.4"},{"nodeId":"assert-plus@1.0.0"},{"nodeId":"bcrypt-pbkdf@1.0.2"},{"nodeId":"dashdash@1.14.1"},{"nodeId":"ecc-jsbn@0.1.2"},{"nodeId":"getpass@0.1.7"},{"nodeId":"jsbn@0.1.1"},{"nodeId":"safer-buffer@2.1.2"},{"nodeId":"tweetnacl@0.14.5"}]},{"nodeId":"http-signature@1.2.0","pkgId":"http-signature@1.2.0","deps":[{"nodeId":"assert-plus@1.0.0"},{"nodeId":"jsprim@1.4.1"},{"nodeId":"sshpk@1.14.2"}]},{"nodeId":"is-typedarray@1.0.0","pkgId":"is-typedarray@1.0.0","deps":[]},{"nodeId":"isstream@0.1.2","pkgId":"isstream@0.1.2","deps":[]},{"nodeId":"json-stringify-safe@5.0.1","pkgId":"json-stringify-safe@5.0.1","deps":[]},{"nodeId":"oauth-sign@0.9.0","pkgId":"oauth-sign@0.9.0","deps":[]},{"nodeId":"performance-now@2.1.0","pkgId":"performance-now@2.1.0","deps":[]},{"nodeId":"qs@6.5.2","pkgId":"qs@6.5.2","deps":[]},{"nodeId":"psl@1.1.29","pkgId":"psl@1.1.29","deps":[]},{"nodeId":"punycode@1.4.1","pkgId":"punycode@1.4.1","deps":[]},{"nodeId":"tough-cookie@2.4.3","pkgId":"tough-cookie@2.4.3","deps":[{"nodeId":"psl@1.1.29"},{"nodeId":"punycode@1.4.1"}]},{"nodeId":"tunnel-agent@0.6.0","pkgId":"tunnel-agent@0.6.0","deps":[{"nodeId":"safe-buffer@5.1.2"}]},{"nodeId":"uuid@3.3.3","pkgId":"uuid@3.3.3","deps":[]},{"nodeId":"request@2.88.0","pkgId":"request@2.88.0","deps":[{"nodeId":"aws-sign2@0.7.0"},{"nodeId":"aws4@1.8.0"},{"nodeId":"caseless@0.12.0"},{"nodeId":"combined-stream@1.0.6"},{"nodeId":"extend@3.0.2"},{"nodeId":"forever-agent@0.6.1"},{"nodeId":"form-data@2.3.2"},{"nodeId":"har-validator@5.1.0"},{"nodeId":"http-signature@1.2.0"},{"nodeId":"is-typedarray@1.0.0"},{"nodeId":"isstream@0.1.2"},{"nodeId":"json-stringify-safe@5.0.1"},{"nodeId":"mime-types@2.1.19"},{"nodeId":"oauth-sign@0.9.0"},{"nodeId":"performance-now@2.1.0"},{"nodeId":"qs@6.5.2"},{"nodeId":"safe-buffer@5.1.2"},{"nodeId":"tough-cookie@2.4.3"},{"nodeId":"tunnel-agent@0.6.0"},{"nodeId":"uuid@3.3.3"}]},{"nodeId":"minipass@2.9.0","pkgId":"minipass@2.9.0","deps":[{"nodeId":"safe-buffer@5.1.2"},{"nodeId":"yallist@3.0.3"}]},{"nodeId":"fs-minipass@1.2.7","pkgId":"fs-minipass@1.2.7","deps":[{"nodeId":"minipass@2.9.0"}]},{"nodeId":"minizlib@1.3.3","pkgId":"minizlib@1.3.3","deps":[{"nodeId":"minipass@2.9.0"}]},{"nodeId":"tar@4.4.13","pkgId":"tar@4.4.13","deps":[{"nodeId":"chownr@1.1.4"},{"nodeId":"fs-minipass@1.2.7"},{"nodeId":"minipass@2.9.0"},{"nodeId":"minizlib@1.3.3"},{"nodeId":"mkdirp@0.5.5"},{"nodeId":"safe-buffer@5.1.2"},{"nodeId":"yallist@3.0.3"}]},{"nodeId":"node-gyp@5.1.0","pkgId":"node-gyp@5.1.0","deps":[{"nodeId":"env-paths@2.2.0"},{"nodeId":"glob@7.1.6"},{"nodeId":"graceful-fs@4.2.4"},{"nodeId":"mkdirp@0.5.5"},{"nodeId":"nopt@4.0.3"},{"nodeId":"npmlog@4.1.2"},{"nodeId":"request@2.88.0"},{"nodeId":"rimraf@2.7.1"},{"nodeId":"semver@5.7.1"},{"nodeId":"tar@4.4.13"}]},{"nodeId":"resolve-from@4.0.0","pkgId":"resolve-from@4.0.0","deps":[]},{"nodeId":"uid-number@0.0.6","pkgId":"uid-number@0.0.6","deps":[]},{"nodeId":"umask@1.1.0","pkgId":"umask@1.1.0","deps":[]},{"nodeId":"npm-lifecycle@3.1.4","pkgId":"npm-lifecycle@3.1.4","deps":[{"nodeId":"byline@5.0.0"},{"nodeId":"graceful-fs@4.2.4"},{"nodeId":"node-gyp@5.1.0"},{"nodeId":"resolve-from@4.0.0"},{"nodeId":"slide@1.1.6"},{"nodeId":"uid-number@0.0.6"},{"nodeId":"umask@1.1.0"}]},{"nodeId":"npm-logical-tree@1.2.1","pkgId":"npm-logical-tree@1.2.1","deps":[]},{"nodeId":"get-stream@4.1.0","pkgId":"get-stream@4.1.0","deps":[{"nodeId":"pump@3.0.0"}]},{"nodeId":"ms@2.1.1","pkgId":"ms@2.1.1","deps":[]},{"nodeId":"humanize-ms@1.2.1","pkgId":"humanize-ms@1.2.1","deps":[{"nodeId":"ms@2.1.1"}]},{"nodeId":"agentkeepalive@3.5.2","pkgId":"agentkeepalive@3.5.2","deps":[{"nodeId":"humanize-ms@1.2.1"}]},{"nodeId":"http-cache-semantics@3.8.1","pkgId":"http-cache-semantics@3.8.1","deps":[]},{"nodeId":"es6-promise@4.2.8","pkgId":"es6-promise@4.2.8","deps":[]},{"nodeId":"es6-promisify@5.0.0","pkgId":"es6-promisify@5.0.0","deps":[{"nodeId":"es6-promise@4.2.8"}]},{"nodeId":"agent-base@4.3.0","pkgId":"agent-base@4.3.0","deps":[{"nodeId":"es6-promisify@5.0.0"}]},{"nodeId":"ms@2.0.0","pkgId":"ms@2.0.0","deps":[]},{"nodeId":"debug@3.1.0","pkgId":"debug@3.1.0","deps":[{"nodeId":"ms@2.0.0"}]},{"nodeId":"http-proxy-agent@2.1.0","pkgId":"http-proxy-agent@2.1.0","deps":[{"nodeId":"agent-base@4.3.0"},{"nodeId":"debug@3.1.0"}]},{"nodeId":"https-proxy-agent@2.2.4","pkgId":"https-proxy-agent@2.2.4","deps":[{"nodeId":"agent-base@4.3.0"},{"nodeId":"debug@3.1.0"}]},{"nodeId":"iconv-lite@0.4.23","pkgId":"iconv-lite@0.4.23","deps":[{"nodeId":"safer-buffer@2.1.2"}]},{"nodeId":"encoding@0.1.12","pkgId":"encoding@0.1.12","deps":[{"nodeId":"iconv-lite@0.4.23"}]},{"nodeId":"node-fetch-npm@2.0.2","pkgId":"node-fetch-npm@2.0.2","deps":[{"nodeId":"encoding@0.1.12"},{"nodeId":"json-parse-better-errors@1.0.2"},{"nodeId":"safe-buffer@5.1.2"}]},{"nodeId":"err-code@1.1.2","pkgId":"err-code@1.1.2","deps":[]},{"nodeId":"retry@0.10.1","pkgId":"retry@0.10.1","deps":[]},{"nodeId":"promise-retry@1.1.1","pkgId":"promise-retry@1.1.1","deps":[{"nodeId":"err-code@1.1.2"},{"nodeId":"retry@0.10.1"}]},{"nodeId":"agent-base@4.2.1","pkgId":"agent-base@4.2.1","deps":[{"nodeId":"es6-promisify@5.0.0"}]},{"nodeId":"ip@1.1.5","pkgId":"ip@1.1.5","deps":[]},{"nodeId":"smart-buffer@4.1.0","pkgId":"smart-buffer@4.1.0","deps":[]},{"nodeId":"socks@2.3.3","pkgId":"socks@2.3.3","deps":[{"nodeId":"ip@1.1.5"},{"nodeId":"smart-buffer@4.1.0"}]},{"nodeId":"socks-proxy-agent@4.0.2","pkgId":"socks-proxy-agent@4.0.2","deps":[{"nodeId":"agent-base@4.2.1"},{"nodeId":"socks@2.3.3"}]},{"nodeId":"make-fetch-happen@5.0.2","pkgId":"make-fetch-happen@5.0.2","deps":[{"nodeId":"agentkeepalive@3.5.2"},{"nodeId":"cacache@12.0.3"},{"nodeId":"http-cache-semantics@3.8.1"},{"nodeId":"http-proxy-agent@2.1.0"},{"nodeId":"https-proxy-agent@2.2.4"},{"nodeId":"lru-cache@5.1.1"},{"nodeId":"mississippi@3.0.0"},{"nodeId":"node-fetch-npm@2.0.2"},{"nodeId":"promise-retry@1.1.1"},{"nodeId":"socks-proxy-agent@4.0.2"},{"nodeId":"ssri@6.0.1"}]},{"nodeId":"ignore-walk@3.0.3","pkgId":"ignore-walk@3.0.3","deps":[{"nodeId":"minimatch@3.0.4"}]},{"nodeId":"npm-bundled@1.1.1","pkgId":"npm-bundled@1.1.1","deps":[{"nodeId":"npm-normalize-package-bin@1.0.1"}]},{"nodeId":"npm-packlist@1.4.8","pkgId":"npm-packlist@1.4.8","deps":[{"nodeId":"ignore-walk@3.0.3"},{"nodeId":"npm-bundled@1.1.1"},{"nodeId":"npm-normalize-package-bin@1.0.1"}]},{"nodeId":"npm-pick-manifest@3.0.2","pkgId":"npm-pick-manifest@3.0.2","deps":[{"nodeId":"figgy-pudding@3.5.1"},{"nodeId":"npm-package-arg@6.1.1"},{"nodeId":"semver@5.7.1"}]},{"nodeId":"safe-buffer@5.2.0","pkgId":"safe-buffer@5.2.0","deps":[]},{"nodeId":"npm-registry-fetch@4.0.4","pkgId":"npm-registry-fetch@4.0.4","deps":[{"nodeId":"JSONStream@1.3.5"},{"nodeId":"bluebird@3.5.5"},{"nodeId":"figgy-pudding@3.5.1"},{"nodeId":"lru-cache@5.1.1"},{"nodeId":"make-fetch-happen@5.0.2"},{"nodeId":"npm-package-arg@6.1.1"},{"nodeId":"safe-buffer@5.2.0"}]},{"nodeId":"genfun@5.0.0","pkgId":"genfun@5.0.0","deps":[]},{"nodeId":"protoduck@5.0.1","pkgId":"protoduck@5.0.1","deps":[{"nodeId":"genfun@5.0.0"}]},{"nodeId":"pacote@9.5.12","pkgId":"pacote@9.5.12","deps":[{"nodeId":"bluebird@3.5.5"},{"nodeId":"cacache@12.0.3"},{"nodeId":"chownr@1.1.4"},{"nodeId":"figgy-pudding@3.5.1"},{"nodeId":"get-stream@4.1.0"},{"nodeId":"glob@7.1.6"},{"nodeId":"infer-owner@1.0.4"},{"nodeId":"lru-cache@5.1.1"},{"nodeId":"make-fetch-happen@5.0.2"},{"nodeId":"minimatch@3.0.4"},{"nodeId":"minipass@2.9.0"},{"nodeId":"mississippi@3.0.0"},{"nodeId":"mkdirp@0.5.5"},{"nodeId":"normalize-package-data@2.5.0"},{"nodeId":"npm-normalize-package-bin@1.0.1"},{"nodeId":"npm-package-arg@6.1.1"},{"nodeId":"npm-packlist@1.4.8"},{"nodeId":"npm-pick-manifest@3.0.2"},{"nodeId":"npm-registry-fetch@4.0.4"},{"nodeId":"osenv@0.1.5"},{"nodeId":"promise-inflight@1.0.1"},{"nodeId":"promise-retry@1.1.1"},{"nodeId":"protoduck@5.0.1"},{"nodeId":"rimraf@2.7.1"},{"nodeId":"safe-buffer@5.1.2"},{"nodeId":"semver@5.7.1"},{"nodeId":"ssri@6.0.1"},{"nodeId":"tar@4.4.13"},{"nodeId":"unique-filename@1.1.1"}]},{"nodeId":"prr@1.0.1","pkgId":"prr@1.0.1","deps":[]},{"nodeId":"errno@0.1.7","pkgId":"errno@0.1.7","deps":[{"nodeId":"prr@1.0.1"}]},{"nodeId":"worker-farm@1.7.0","pkgId":"worker-farm@1.7.0","deps":[{"nodeId":"errno@0.1.7"}]},{"nodeId":"libcipm@4.0.7","pkgId":"libcipm@4.0.7","deps":[{"nodeId":"bin-links@1.1.7"},{"nodeId":"bluebird@3.5.5"},{"nodeId":"figgy-pudding@3.5.1"},{"nodeId":"find-npm-prefix@1.0.2"},{"nodeId":"graceful-fs@4.2.4"},{"nodeId":"ini@1.3.5"},{"nodeId":"lock-verify@2.1.0"},{"nodeId":"mkdirp@0.5.5"},{"nodeId":"npm-lifecycle@3.1.4"},{"nodeId":"npm-logical-tree@1.2.1"},{"nodeId":"npm-package-arg@6.1.1"},{"nodeId":"pacote@9.5.12"},{"nodeId":"read-package-json@2.1.1"},{"nodeId":"rimraf@2.7.1"},{"nodeId":"worker-farm@1.7.0"}]},{"nodeId":"libnpmaccess@3.0.2","pkgId":"libnpmaccess@3.0.2","deps":[{"nodeId":"aproba@2.0.0"},{"nodeId":"get-stream@4.1.0"},{"nodeId":"npm-package-arg@6.1.1"},{"nodeId":"npm-registry-fetch@4.0.4"}]},{"nodeId":"p-try@2.2.0","pkgId":"p-try@2.2.0","deps":[]},{"nodeId":"p-limit@2.2.0","pkgId":"p-limit@2.2.0","deps":[{"nodeId":"p-try@2.2.0"}]},{"nodeId":"p-locate@3.0.0","pkgId":"p-locate@3.0.0","deps":[{"nodeId":"p-limit@2.2.0"}]},{"nodeId":"path-exists@3.0.0","pkgId":"path-exists@3.0.0","deps":[]},{"nodeId":"locate-path@3.0.0","pkgId":"locate-path@3.0.0","deps":[{"nodeId":"p-locate@3.0.0"},{"nodeId":"path-exists@3.0.0"}]},{"nodeId":"find-up@3.0.0","pkgId":"find-up@3.0.0","deps":[{"nodeId":"locate-path@3.0.0"}]},{"nodeId":"libnpmconfig@1.2.1","pkgId":"libnpmconfig@1.2.1","deps":[{"nodeId":"figgy-pudding@3.5.1"},{"nodeId":"find-up@3.0.0"},{"nodeId":"ini@1.3.5"}]},{"nodeId":"libnpmhook@5.0.3","pkgId":"libnpmhook@5.0.3","deps":[{"nodeId":"aproba@2.0.0"},{"nodeId":"figgy-pudding@3.5.1"},{"nodeId":"get-stream@4.1.0"},{"nodeId":"npm-registry-fetch@4.0.4"}]},{"nodeId":"libnpmorg@1.0.1","pkgId":"libnpmorg@1.0.1","deps":[{"nodeId":"aproba@2.0.0"},{"nodeId":"figgy-pudding@3.5.1"},{"nodeId":"get-stream@4.1.0"},{"nodeId":"npm-registry-fetch@4.0.4"}]},{"nodeId":"lodash.clonedeep@4.5.0","pkgId":"lodash.clonedeep@4.5.0","deps":[]},{"nodeId":"libnpmpublish@1.1.2","pkgId":"libnpmpublish@1.1.2","deps":[{"nodeId":"aproba@2.0.0"},{"nodeId":"figgy-pudding@3.5.1"},{"nodeId":"get-stream@4.1.0"},{"nodeId":"lodash.clonedeep@4.5.0"},{"nodeId":"normalize-package-data@2.5.0"},{"nodeId":"npm-package-arg@6.1.1"},{"nodeId":"npm-registry-fetch@4.0.4"},{"nodeId":"semver@5.7.1"},{"nodeId":"ssri@6.0.1"}]},{"nodeId":"libnpmsearch@2.0.2","pkgId":"libnpmsearch@2.0.2","deps":[{"nodeId":"figgy-pudding@3.5.1"},{"nodeId":"get-stream@4.1.0"},{"nodeId":"npm-registry-fetch@4.0.4"}]},{"nodeId":"libnpmteam@1.0.2","pkgId":"libnpmteam@1.0.2","deps":[{"nodeId":"aproba@2.0.0"},{"nodeId":"figgy-pudding@3.5.1"},{"nodeId":"get-stream@4.1.0"},{"nodeId":"npm-registry-fetch@4.0.4"}]},{"nodeId":"npm-profile@4.0.4","pkgId":"npm-profile@4.0.4","deps":[{"nodeId":"aproba@2.0.0"},{"nodeId":"figgy-pudding@3.5.1"},{"nodeId":"npm-registry-fetch@4.0.4"}]},{"nodeId":"stringify-package@1.0.1","pkgId":"stringify-package@1.0.1","deps":[]},{"nodeId":"libnpm@3.0.1","pkgId":"libnpm@3.0.1","deps":[{"nodeId":"bin-links@1.1.7"},{"nodeId":"bluebird@3.5.5"},{"nodeId":"find-npm-prefix@1.0.2"},{"nodeId":"libnpmaccess@3.0.2"},{"nodeId":"libnpmconfig@1.2.1"},{"nodeId":"libnpmhook@5.0.3"},{"nodeId":"libnpmorg@1.0.1"},{"nodeId":"libnpmpublish@1.1.2"},{"nodeId":"libnpmsearch@2.0.2"},{"nodeId":"libnpmteam@1.0.2"},{"nodeId":"lock-verify@2.1.0"},{"nodeId":"npm-lifecycle@3.1.4"},{"nodeId":"npm-logical-tree@1.2.1"},{"nodeId":"npm-package-arg@6.1.1"},{"nodeId":"npm-profile@4.0.4"},{"nodeId":"npm-registry-fetch@4.0.4"},{"nodeId":"npmlog@4.1.2"},{"nodeId":"pacote@9.5.12"},{"nodeId":"read-package-json@2.1.1"},{"nodeId":"stringify-package@1.0.1"}]},{"nodeId":"dotenv@5.0.1","pkgId":"dotenv@5.0.1","deps":[]},{"nodeId":"ansi-align@2.0.0","pkgId":"ansi-align@2.0.0","deps":[{"nodeId":"string-width@2.1.1"}]},{"nodeId":"camelcase@4.1.0","pkgId":"camelcase@4.1.0","deps":[]},{"nodeId":"color-name@1.1.3","pkgId":"color-name@1.1.3","deps":[]},{"nodeId":"color-convert@1.9.1","pkgId":"color-convert@1.9.1","deps":[{"nodeId":"color-name@1.1.3"}]},{"nodeId":"ansi-styles@3.2.1","pkgId":"ansi-styles@3.2.1","deps":[{"nodeId":"color-convert@1.9.1"}]},{"nodeId":"escape-string-regexp@1.0.5","pkgId":"escape-string-regexp@1.0.5","deps":[]},{"nodeId":"has-flag@3.0.0","pkgId":"has-flag@3.0.0","deps":[]},{"nodeId":"supports-color@5.4.0","pkgId":"supports-color@5.4.0","deps":[{"nodeId":"has-flag@3.0.0"}]},{"nodeId":"chalk@2.4.1","pkgId":"chalk@2.4.1","deps":[{"nodeId":"ansi-styles@3.2.1"},{"nodeId":"escape-string-regexp@1.0.5"},{"nodeId":"supports-color@5.4.0"}]},{"nodeId":"cli-boxes@1.0.0","pkgId":"cli-boxes@1.0.0","deps":[]},{"nodeId":"pseudomap@1.0.2","pkgId":"pseudomap@1.0.2","deps":[]},{"nodeId":"yallist@2.1.2","pkgId":"yallist@2.1.2","deps":[]},{"nodeId":"lru-cache@4.1.5","pkgId":"lru-cache@4.1.5","deps":[{"nodeId":"pseudomap@1.0.2"},{"nodeId":"yallist@2.1.2"}]},{"nodeId":"shebang-regex@1.0.0","pkgId":"shebang-regex@1.0.0","deps":[]},{"nodeId":"shebang-command@1.2.0","pkgId":"shebang-command@1.2.0","deps":[{"nodeId":"shebang-regex@1.0.0"}]},{"nodeId":"cross-spawn@5.1.0","pkgId":"cross-spawn@5.1.0","deps":[{"nodeId":"lru-cache@4.1.5"},{"nodeId":"shebang-command@1.2.0"}]},{"nodeId":"get-stream@3.0.0","pkgId":"get-stream@3.0.0","deps":[]},{"nodeId":"is-stream@1.1.0","pkgId":"is-stream@1.1.0","deps":[]},{"nodeId":"path-key@2.0.1","pkgId":"path-key@2.0.1","deps":[]},{"nodeId":"npm-run-path@2.0.2","pkgId":"npm-run-path@2.0.2","deps":[{"nodeId":"path-key@2.0.1"}]},{"nodeId":"p-finally@1.0.0","pkgId":"p-finally@1.0.0","deps":[]},{"nodeId":"strip-eof@1.0.0","pkgId":"strip-eof@1.0.0","deps":[]},{"nodeId":"execa@0.7.0","pkgId":"execa@0.7.0","deps":[{"nodeId":"cross-spawn@5.1.0"},{"nodeId":"get-stream@3.0.0"},{"nodeId":"is-stream@1.1.0"},{"nodeId":"npm-run-path@2.0.2"},{"nodeId":"p-finally@1.0.0"},{"nodeId":"signal-exit@3.0.2"},{"nodeId":"strip-eof@1.0.0"}]},{"nodeId":"term-size@1.2.0","pkgId":"term-size@1.2.0","deps":[{"nodeId":"execa@0.7.0"}]},{"nodeId":"widest-line@2.0.1","pkgId":"widest-line@2.0.1","deps":[{"nodeId":"string-width@2.1.1"}]},{"nodeId":"boxen@1.3.0","pkgId":"boxen@1.3.0","deps":[{"nodeId":"ansi-align@2.0.0"},{"nodeId":"camelcase@4.1.0"},{"nodeId":"chalk@2.4.1"},{"nodeId":"cli-boxes@1.0.0"},{"nodeId":"string-width@2.1.1"},{"nodeId":"term-size@1.2.0"},{"nodeId":"widest-line@2.0.1"}]},{"nodeId":"is-obj@1.0.1","pkgId":"is-obj@1.0.1","deps":[]},{"nodeId":"dot-prop@4.2.0","pkgId":"dot-prop@4.2.0","deps":[{"nodeId":"is-obj@1.0.1"}]},{"nodeId":"pify@3.0.0","pkgId":"pify@3.0.0","deps":[]},{"nodeId":"make-dir@1.3.0","pkgId":"make-dir@1.3.0","deps":[{"nodeId":"pify@3.0.0"}]},{"nodeId":"crypto-random-string@1.0.0","pkgId":"crypto-random-string@1.0.0","deps":[]},{"nodeId":"unique-string@1.0.0","pkgId":"unique-string@1.0.0","deps":[{"nodeId":"crypto-random-string@1.0.0"}]},{"nodeId":"xdg-basedir@3.0.0","pkgId":"xdg-basedir@3.0.0","deps":[]},{"nodeId":"configstore@3.1.2","pkgId":"configstore@3.1.2","deps":[{"nodeId":"dot-prop@4.2.0"},{"nodeId":"graceful-fs@4.2.4"},{"nodeId":"make-dir@1.3.0"},{"nodeId":"unique-string@1.0.0"},{"nodeId":"write-file-atomic@2.4.3"},{"nodeId":"xdg-basedir@3.0.0"}]},{"nodeId":"import-lazy@2.1.0","pkgId":"import-lazy@2.1.0","deps":[]},{"nodeId":"ci-info@1.6.0","pkgId":"ci-info@1.6.0","deps":[]},{"nodeId":"is-ci@1.2.1","pkgId":"is-ci@1.2.1","deps":[{"nodeId":"ci-info@1.6.0"}]},{"nodeId":"global-dirs@0.1.1","pkgId":"global-dirs@0.1.1","deps":[{"nodeId":"ini@1.3.5"}]},{"nodeId":"is-path-inside@1.0.1","pkgId":"is-path-inside@1.0.1","deps":[{"nodeId":"path-is-inside@1.0.2"}]},{"nodeId":"is-installed-globally@0.1.0","pkgId":"is-installed-globally@0.1.0","deps":[{"nodeId":"global-dirs@0.1.1"},{"nodeId":"is-path-inside@1.0.1"}]},{"nodeId":"is-npm@1.0.0","pkgId":"is-npm@1.0.0","deps":[]},{"nodeId":"capture-stack-trace@1.0.0","pkgId":"capture-stack-trace@1.0.0","deps":[]},{"nodeId":"create-error-class@3.0.2","pkgId":"create-error-class@3.0.2","deps":[{"nodeId":"capture-stack-trace@1.0.0"}]},{"nodeId":"duplexer3@0.1.4","pkgId":"duplexer3@0.1.4","deps":[]},{"nodeId":"is-redirect@1.0.0","pkgId":"is-redirect@1.0.0","deps":[]},{"nodeId":"is-retry-allowed@1.2.0","pkgId":"is-retry-allowed@1.2.0","deps":[]},{"nodeId":"lowercase-keys@1.0.1","pkgId":"lowercase-keys@1.0.1","deps":[]},{"nodeId":"timed-out@4.0.1","pkgId":"timed-out@4.0.1","deps":[]},{"nodeId":"unzip-response@2.0.1","pkgId":"unzip-response@2.0.1","deps":[]},{"nodeId":"prepend-http@1.0.4","pkgId":"prepend-http@1.0.4","deps":[]},{"nodeId":"url-parse-lax@1.0.0","pkgId":"url-parse-lax@1.0.0","deps":[{"nodeId":"prepend-http@1.0.4"}]},{"nodeId":"got@6.7.1","pkgId":"got@6.7.1","deps":[{"nodeId":"create-error-class@3.0.2"},{"nodeId":"duplexer3@0.1.4"},{"nodeId":"get-stream@3.0.0"},{"nodeId":"is-redirect@1.0.0"},{"nodeId":"is-retry-allowed@1.2.0"},{"nodeId":"is-stream@1.1.0"},{"nodeId":"lowercase-keys@1.0.1"},{"nodeId":"safe-buffer@5.1.2"},{"nodeId":"timed-out@4.0.1"},{"nodeId":"unzip-response@2.0.1"},{"nodeId":"url-parse-lax@1.0.0"}]},{"nodeId":"deep-extend@0.6.0","pkgId":"deep-extend@0.6.0","deps":[]},{"nodeId":"strip-json-comments@2.0.1","pkgId":"strip-json-comments@2.0.1","deps":[]},{"nodeId":"rc@1.2.8","pkgId":"rc@1.2.8","deps":[{"nodeId":"deep-extend@0.6.0"},{"nodeId":"ini@1.3.5"},{"nodeId":"minimist@1.2.5"},{"nodeId":"strip-json-comments@2.0.1"}]},{"nodeId":"registry-auth-token@3.4.0","pkgId":"registry-auth-token@3.4.0","deps":[{"nodeId":"rc@1.2.8"},{"nodeId":"safe-buffer@5.1.2"}]},{"nodeId":"registry-url@3.1.0","pkgId":"registry-url@3.1.0","deps":[{"nodeId":"rc@1.2.8"}]},{"nodeId":"package-json@4.0.1","pkgId":"package-json@4.0.1","deps":[{"nodeId":"got@6.7.1"},{"nodeId":"registry-auth-token@3.4.0"},{"nodeId":"registry-url@3.1.0"},{"nodeId":"semver@5.7.1"}]},{"nodeId":"latest-version@3.1.0","pkgId":"latest-version@3.1.0","deps":[{"nodeId":"package-json@4.0.1"}]},{"nodeId":"semver-diff@2.1.0","pkgId":"semver-diff@2.1.0","deps":[{"nodeId":"semver@5.7.1"}]},{"nodeId":"update-notifier@2.5.0","pkgId":"update-notifier@2.5.0","deps":[{"nodeId":"boxen@1.3.0"},{"nodeId":"chalk@2.4.1"},{"nodeId":"configstore@3.1.2"},{"nodeId":"import-lazy@2.1.0"},{"nodeId":"is-ci@1.2.1"},{"nodeId":"is-installed-globally@0.1.0"},{"nodeId":"is-npm@1.0.0"},{"nodeId":"latest-version@3.1.0"},{"nodeId":"semver-diff@2.1.0"},{"nodeId":"xdg-basedir@3.0.0"}]},{"nodeId":"wrap-ansi@2.1.0","pkgId":"wrap-ansi@2.1.0","deps":[{"nodeId":"string-width@1.0.2"},{"nodeId":"strip-ansi@3.0.1"}]},{"nodeId":"cliui@4.1.0","pkgId":"cliui@4.1.0","deps":[{"nodeId":"string-width@2.1.1"},{"nodeId":"strip-ansi@4.0.0"},{"nodeId":"wrap-ansi@2.1.0"}]},{"nodeId":"decamelize@1.2.0","pkgId":"decamelize@1.2.0","deps":[]},{"nodeId":"p-try@1.0.0","pkgId":"p-try@1.0.0","deps":[]},{"nodeId":"p-limit@1.2.0","pkgId":"p-limit@1.2.0","deps":[{"nodeId":"p-try@1.0.0"}]},{"nodeId":"p-locate@2.0.0","pkgId":"p-locate@2.0.0","deps":[{"nodeId":"p-limit@1.2.0"}]},{"nodeId":"locate-path@2.0.0","pkgId":"locate-path@2.0.0","deps":[{"nodeId":"p-locate@2.0.0"},{"nodeId":"path-exists@3.0.0"}]},{"nodeId":"find-up@2.1.0","pkgId":"find-up@2.1.0","deps":[{"nodeId":"locate-path@2.0.0"}]},{"nodeId":"get-caller-file@1.0.3","pkgId":"get-caller-file@1.0.3","deps":[]},{"nodeId":"nice-try@1.0.5","pkgId":"nice-try@1.0.5","deps":[]},{"nodeId":"cross-spawn@6.0.5","pkgId":"cross-spawn@6.0.5","deps":[{"nodeId":"nice-try@1.0.5"},{"nodeId":"path-key@2.0.1"},{"nodeId":"semver@5.7.1"},{"nodeId":"shebang-command@1.2.0"}]},{"nodeId":"execa@1.0.0","pkgId":"execa@1.0.0","deps":[{"nodeId":"cross-spawn@6.0.5"},{"nodeId":"get-stream@4.1.0"},{"nodeId":"is-stream@1.1.0"},{"nodeId":"npm-run-path@2.0.2"},{"nodeId":"p-finally@1.0.0"},{"nodeId":"signal-exit@3.0.2"},{"nodeId":"strip-eof@1.0.0"}]},{"nodeId":"invert-kv@2.0.0","pkgId":"invert-kv@2.0.0","deps":[]},{"nodeId":"lcid@2.0.0","pkgId":"lcid@2.0.0","deps":[{"nodeId":"invert-kv@2.0.0"}]},{"nodeId":"p-defer@1.0.0","pkgId":"p-defer@1.0.0","deps":[]},{"nodeId":"map-age-cleaner@0.1.3","pkgId":"map-age-cleaner@0.1.3","deps":[{"nodeId":"p-defer@1.0.0"}]},{"nodeId":"mimic-fn@2.1.0","pkgId":"mimic-fn@2.1.0","deps":[]},{"nodeId":"p-is-promise@2.1.0","pkgId":"p-is-promise@2.1.0","deps":[]},{"nodeId":"mem@4.3.0","pkgId":"mem@4.3.0","deps":[{"nodeId":"map-age-cleaner@0.1.3"},{"nodeId":"mimic-fn@2.1.0"},{"nodeId":"p-is-promise@2.1.0"}]},{"nodeId":"os-locale@3.1.0","pkgId":"os-locale@3.1.0","deps":[{"nodeId":"execa@1.0.0"},{"nodeId":"lcid@2.0.0"},{"nodeId":"mem@4.3.0"}]},{"nodeId":"require-directory@2.1.1","pkgId":"require-directory@2.1.1","deps":[]},{"nodeId":"require-main-filename@1.0.1","pkgId":"require-main-filename@1.0.1","deps":[]},{"nodeId":"y18n@3.2.1","pkgId":"y18n@3.2.1","deps":[]},{"nodeId":"yargs-parser@9.0.2","pkgId":"yargs-parser@9.0.2","deps":[{"nodeId":"camelcase@4.1.0"}]},{"nodeId":"yargs@11.1.1","pkgId":"yargs@11.1.1","deps":[{"nodeId":"cliui@4.1.0"},{"nodeId":"decamelize@1.2.0"},{"nodeId":"find-up@2.1.0"},{"nodeId":"get-caller-file@1.0.3"},{"nodeId":"os-locale@3.1.0"},{"nodeId":"require-directory@2.1.1"},{"nodeId":"require-main-filename@1.0.1"},{"nodeId":"set-blocking@2.0.0"},{"nodeId":"string-width@2.1.1"},{"nodeId":"y18n@3.2.1"},{"nodeId":"yargs-parser@9.0.2"}]},{"nodeId":"libnpx@10.2.2","pkgId":"libnpx@10.2.2","deps":[{"nodeId":"dotenv@5.0.1"},{"nodeId":"npm-package-arg@6.1.1"},{"nodeId":"rimraf@2.7.1"},{"nodeId":"safe-buffer@5.1.2"},{"nodeId":"update-notifier@2.5.0"},{"nodeId":"y18n@4.0.0"},{"nodeId":"yargs@11.1.1"}]},{"nodeId":"lockfile@1.0.4","pkgId":"lockfile@1.0.4","deps":[{"nodeId":"signal-exit@3.0.2"}]},{"nodeId":"lodash._baseindexof@3.1.0","pkgId":"lodash._baseindexof@3.1.0","deps":[]},{"nodeId":"lodash._createset@4.0.3","pkgId":"lodash._createset@4.0.3","deps":[]},{"nodeId":"lodash._root@3.0.1","pkgId":"lodash._root@3.0.1","deps":[]},{"nodeId":"lodash._baseuniq@4.6.0","pkgId":"lodash._baseuniq@4.6.0","deps":[{"nodeId":"lodash._createset@4.0.3"},{"nodeId":"lodash._root@3.0.1"}]},{"nodeId":"lodash._bindcallback@3.0.1","pkgId":"lodash._bindcallback@3.0.1","deps":[]},{"nodeId":"lodash._cacheindexof@3.0.2","pkgId":"lodash._cacheindexof@3.0.2","deps":[]},{"nodeId":"lodash._getnative@3.9.1","pkgId":"lodash._getnative@3.9.1","deps":[]},{"nodeId":"lodash._createcache@3.1.2","pkgId":"lodash._createcache@3.1.2","deps":[{"nodeId":"lodash._getnative@3.9.1"}]},{"nodeId":"lodash.restparam@3.6.1","pkgId":"lodash.restparam@3.6.1","deps":[]},{"nodeId":"lodash.union@4.6.0","pkgId":"lodash.union@4.6.0","deps":[]},{"nodeId":"lodash.uniq@4.5.0","pkgId":"lodash.uniq@4.5.0","deps":[]},{"nodeId":"lodash.without@4.4.0","pkgId":"lodash.without@4.4.0","deps":[]},{"nodeId":"meant@1.0.1","pkgId":"meant@1.0.1","deps":[]},{"nodeId":"npm-audit-report@1.3.2","pkgId":"npm-audit-report@1.3.2","deps":[{"nodeId":"cli-table3@0.5.1"},{"nodeId":"console-control-strings@1.1.0"}]},{"nodeId":"npm-cache-filename@1.0.2","pkgId":"npm-cache-filename@1.0.2","deps":[]},{"nodeId":"npm-install-checks@3.0.2","pkgId":"npm-install-checks@3.0.2","deps":[{"nodeId":"semver@5.7.1"}]},{"nodeId":"npm-user-validate@1.0.0","pkgId":"npm-user-validate@1.0.0","deps":[]},{"nodeId":"opener@1.5.1","pkgId":"opener@1.5.1","deps":[]},{"nodeId":"qrcode-terminal@0.12.0","pkgId":"qrcode-terminal@0.12.0","deps":[]},{"nodeId":"decode-uri-component@0.2.0","pkgId":"decode-uri-component@0.2.0","deps":[]},{"nodeId":"split-on-first@1.1.0","pkgId":"split-on-first@1.1.0","deps":[]},{"nodeId":"strict-uri-encode@2.0.0","pkgId":"strict-uri-encode@2.0.0","deps":[]},{"nodeId":"query-string@6.8.2","pkgId":"query-string@6.8.2","deps":[{"nodeId":"decode-uri-component@0.2.0"},{"nodeId":"split-on-first@1.1.0"},{"nodeId":"strict-uri-encode@2.0.0"}]},{"nodeId":"qw@1.0.1","pkgId":"qw@1.0.1","deps":[]},{"nodeId":"debuglog@1.0.1","pkgId":"debuglog@1.0.1","deps":[]},{"nodeId":"readdir-scoped-modules@1.1.0","pkgId":"readdir-scoped-modules@1.1.0","deps":[{"nodeId":"debuglog@1.0.1"},{"nodeId":"dezalgo@1.0.3"},{"nodeId":"graceful-fs@4.2.4"},{"nodeId":"once@1.4.0"}]},{"nodeId":"util-extend@1.0.3","pkgId":"util-extend@1.0.3","deps":[]},{"nodeId":"read-installed@4.0.3","pkgId":"read-installed@4.0.3","deps":[{"nodeId":"debuglog@1.0.1"},{"nodeId":"graceful-fs@4.2.4"},{"nodeId":"read-package-json@2.1.1"},{"nodeId":"readdir-scoped-modules@1.1.0"},{"nodeId":"semver@5.7.1"},{"nodeId":"slide@1.1.6"},{"nodeId":"util-extend@1.0.3"}]},{"nodeId":"object-keys@1.0.12","pkgId":"object-keys@1.0.12","deps":[]},{"nodeId":"define-properties@1.1.3","pkgId":"define-properties@1.1.3","deps":[{"nodeId":"object-keys@1.0.12"}]},{"nodeId":"is-callable@1.1.4","pkgId":"is-callable@1.1.4","deps":[]},{"nodeId":"is-date-object@1.0.1","pkgId":"is-date-object@1.0.1","deps":[]},{"nodeId":"has-symbols@1.0.0","pkgId":"has-symbols@1.0.0","deps":[]},{"nodeId":"is-symbol@1.0.2","pkgId":"is-symbol@1.0.2","deps":[{"nodeId":"has-symbols@1.0.0"}]},{"nodeId":"es-to-primitive@1.2.0","pkgId":"es-to-primitive@1.2.0","deps":[{"nodeId":"is-callable@1.1.4"},{"nodeId":"is-date-object@1.0.1"},{"nodeId":"is-symbol@1.0.2"}]},{"nodeId":"function-bind@1.1.1","pkgId":"function-bind@1.1.1","deps":[]},{"nodeId":"has@1.0.3","pkgId":"has@1.0.3","deps":[{"nodeId":"function-bind@1.1.1"}]},{"nodeId":"is-regex@1.0.4","pkgId":"is-regex@1.0.4","deps":[{"nodeId":"has@1.0.3"}]},{"nodeId":"es-abstract@1.12.0","pkgId":"es-abstract@1.12.0","deps":[{"nodeId":"es-to-primitive@1.2.0"},{"nodeId":"function-bind@1.1.1"},{"nodeId":"has@1.0.3"},{"nodeId":"is-callable@1.1.4"},{"nodeId":"is-regex@1.0.4"}]},{"nodeId":"object.getownpropertydescriptors@2.0.3","pkgId":"object.getownpropertydescriptors@2.0.3","deps":[{"nodeId":"define-properties@1.1.3"},{"nodeId":"es-abstract@1.12.0"}]},{"nodeId":"util-promisify@2.1.0","pkgId":"util-promisify@2.1.0","deps":[{"nodeId":"object.getownpropertydescriptors@2.0.3"}]},{"nodeId":"read-package-tree@5.3.1","pkgId":"read-package-tree@5.3.1","deps":[{"nodeId":"read-package-json@2.1.1"},{"nodeId":"readdir-scoped-modules@1.1.0"},{"nodeId":"util-promisify@2.1.0"}]},{"nodeId":"string_decoder@1.3.0","pkgId":"string_decoder@1.3.0","deps":[{"nodeId":"safe-buffer@5.2.0"}]},{"nodeId":"readable-stream@3.6.0","pkgId":"readable-stream@3.6.0","deps":[{"nodeId":"inherits@2.0.4"},{"nodeId":"string_decoder@1.3.0"},{"nodeId":"util-deprecate@1.0.2"}]},{"nodeId":"retry@0.12.0","pkgId":"retry@0.12.0","deps":[]},{"nodeId":"sha@3.0.0","pkgId":"sha@3.0.0","deps":[{"nodeId":"graceful-fs@4.2.4"}]},{"nodeId":"sorted-object@2.0.1","pkgId":"sorted-object@2.0.1","deps":[]},{"nodeId":"isarray@0.0.1","pkgId":"isarray@0.0.1","deps":[]},{"nodeId":"string_decoder@0.10.31","pkgId":"string_decoder@0.10.31","deps":[]},{"nodeId":"readable-stream@1.1.14","pkgId":"readable-stream@1.1.14","deps":[{"nodeId":"core-util-is@1.0.2"},{"nodeId":"inherits@2.0.4"},{"nodeId":"isarray@0.0.1"},{"nodeId":"string_decoder@0.10.31"}]},{"nodeId":"from2@1.3.0","pkgId":"from2@1.3.0","deps":[{"nodeId":"inherits@2.0.4"},{"nodeId":"readable-stream@1.1.14"}]},{"nodeId":"stream-iterate@1.2.0","pkgId":"stream-iterate@1.2.0","deps":[{"nodeId":"readable-stream@2.3.6"},{"nodeId":"stream-shift@1.0.0"}]},{"nodeId":"sorted-union-stream@2.1.3","pkgId":"sorted-union-stream@2.1.3","deps":[{"nodeId":"from2@1.3.0"},{"nodeId":"stream-iterate@1.2.0"}]},{"nodeId":"text-table@0.2.0","pkgId":"text-table@0.2.0","deps":[]},{"nodeId":"tiny-relative-date@1.3.0","pkgId":"tiny-relative-date@1.3.0","deps":[]},{"nodeId":"unpipe@1.0.0","pkgId":"unpipe@1.0.0","deps":[]},{"nodeId":"npm@6.14.5","pkgId":"npm@6.14.5","deps":[{"nodeId":"JSONStream@1.3.5"},{"nodeId":"abbrev@1.1.1"},{"nodeId":"ansicolors@0.3.2"},{"nodeId":"ansistyles@0.1.3"},{"nodeId":"aproba@2.0.0"},{"nodeId":"archy@1.0.0"},{"nodeId":"bin-links@1.1.7"},{"nodeId":"bluebird@3.5.5"},{"nodeId":"byte-size@5.0.1"},{"nodeId":"cacache@12.0.3"},{"nodeId":"call-limit@1.1.1"},{"nodeId":"chownr@1.1.4"},{"nodeId":"ci-info@2.0.0"},{"nodeId":"cli-columns@3.1.2"},{"nodeId":"cli-table3@0.5.1"},{"nodeId":"cmd-shim@3.0.3"},{"nodeId":"columnify@1.5.4"},{"nodeId":"config-chain@1.1.12"},{"nodeId":"detect-indent@5.0.0"},{"nodeId":"detect-newline@2.1.0"},{"nodeId":"dezalgo@1.0.3"},{"nodeId":"editor@1.0.0"},{"nodeId":"figgy-pudding@3.5.1"},{"nodeId":"find-npm-prefix@1.0.2"},{"nodeId":"fs-vacuum@1.2.10"},{"nodeId":"fs-write-stream-atomic@1.0.10"},{"nodeId":"gentle-fs@2.3.0"},{"nodeId":"glob@7.1.6"},{"nodeId":"graceful-fs@4.2.4"},{"nodeId":"has-unicode@2.0.1"},{"nodeId":"hosted-git-info@2.8.8"},{"nodeId":"iferr@1.0.2"},{"nodeId":"infer-owner@1.0.4"},{"nodeId":"inflight@1.0.6"},{"nodeId":"inherits@2.0.4"},{"nodeId":"ini@1.3.5"},{"nodeId":"init-package-json@1.10.3"},{"nodeId":"is-cidr@3.0.0"},{"nodeId":"isexe@2.0.0"},{"nodeId":"json-parse-better-errors@1.0.2"},{"nodeId":"lazy-property@1.0.0"},{"nodeId":"libcipm@4.0.7"},{"nodeId":"libnpm@3.0.1"},{"nodeId":"libnpmaccess@3.0.2"},{"nodeId":"libnpmhook@5.0.3"},{"nodeId":"libnpmorg@1.0.1"},{"nodeId":"libnpmsearch@2.0.2"},{"nodeId":"libnpmteam@1.0.2"},{"nodeId":"libnpx@10.2.2"},{"nodeId":"lock-verify@2.1.0"},{"nodeId":"lockfile@1.0.4"},{"nodeId":"lodash._baseindexof@3.1.0"},{"nodeId":"lodash._baseuniq@4.6.0"},{"nodeId":"lodash._bindcallback@3.0.1"},{"nodeId":"lodash._cacheindexof@3.0.2"},{"nodeId":"lodash._createcache@3.1.2"},{"nodeId":"lodash.clonedeep@4.5.0"},{"nodeId":"lodash.restparam@3.6.1"},{"nodeId":"lodash.union@4.6.0"},{"nodeId":"lodash.uniq@4.5.0"},{"nodeId":"lodash.without@4.4.0"},{"nodeId":"lru-cache@5.1.1"},{"nodeId":"meant@1.0.1"},{"nodeId":"mississippi@3.0.0"},{"nodeId":"mkdirp@0.5.5"},{"nodeId":"move-concurrently@1.0.1"},{"nodeId":"node-gyp@5.1.0"},{"nodeId":"nopt@4.0.3"},{"nodeId":"normalize-package-data@2.5.0"},{"nodeId":"npm-audit-report@1.3.2"},{"nodeId":"npm-cache-filename@1.0.2"},{"nodeId":"npm-install-checks@3.0.2"},{"nodeId":"npm-lifecycle@3.1.4"},{"nodeId":"npm-package-arg@6.1.1"},{"nodeId":"npm-packlist@1.4.8"},{"nodeId":"npm-pick-manifest@3.0.2"},{"nodeId":"npm-profile@4.0.4"},{"nodeId":"npm-registry-fetch@4.0.4"},{"nodeId":"npm-user-validate@1.0.0"},{"nodeId":"npmlog@4.1.2"},{"nodeId":"once@1.4.0"},{"nodeId":"opener@1.5.1"},{"nodeId":"osenv@0.1.5"},{"nodeId":"pacote@9.5.12"},{"nodeId":"path-is-inside@1.0.2"},{"nodeId":"promise-inflight@1.0.1"},{"nodeId":"qrcode-terminal@0.12.0"},{"nodeId":"query-string@6.8.2"},{"nodeId":"qw@1.0.1"},{"nodeId":"read@1.0.7"},{"nodeId":"read-cmd-shim@1.0.5"},{"nodeId":"read-installed@4.0.3"},{"nodeId":"read-package-json@2.1.1"},{"nodeId":"read-package-tree@5.3.1"},{"nodeId":"readable-stream@3.6.0"},{"nodeId":"readdir-scoped-modules@1.1.0"},{"nodeId":"request@2.88.0"},{"nodeId":"retry@0.12.0"},{"nodeId":"rimraf@2.7.1"},{"nodeId":"safe-buffer@5.1.2"},{"nodeId":"semver@5.7.1"},{"nodeId":"sha@3.0.0"},{"nodeId":"slide@1.1.6"},{"nodeId":"sorted-object@2.0.1"},{"nodeId":"sorted-union-stream@2.1.3"},{"nodeId":"ssri@6.0.1"},{"nodeId":"stringify-package@1.0.1"},{"nodeId":"tar@4.4.13"},{"nodeId":"text-table@0.2.0"},{"nodeId":"tiny-relative-date@1.3.0"},{"nodeId":"uid-number@0.0.6"},{"nodeId":"umask@1.1.0"},{"nodeId":"unique-filename@1.1.1"},{"nodeId":"unpipe@1.0.0"},{"nodeId":"update-notifier@2.5.0"},{"nodeId":"uuid@3.3.3"},{"nodeId":"validate-npm-package-license@3.0.4"},{"nodeId":"validate-npm-package-name@3.0.0"},{"nodeId":"worker-farm@1.7.0"},{"nodeId":"write-file-atomic@2.4.3"}]}]}}", + "docker-image|multi-project-image.tar:/usr/local/lib/node_modules", + ], +] +`; diff --git a/test/jest/acceptance/snyk-container/container.spec.ts b/test/jest/acceptance/snyk-container/container.spec.ts index e3f44af377..e9b2ee8b19 100644 --- a/test/jest/acceptance/snyk-container/container.spec.ts +++ b/test/jest/acceptance/snyk-container/container.spec.ts @@ -185,23 +185,31 @@ describe('snyk container', () => { timeout: 60 * 1000, }); }); + it('prints dep graph with --print-graph flag', async () => { const { code, stdout, stderr } = await runSnykCLIWithDebug( - `container test --print-graph ${TEST_DISTROLESS_STATIC_IMAGE}`, + `container test --print-graph docker-archive:test/fixtures/container-projects/multi-project-image.tar`, ); assertCliExitCode(code, 0, stderr); + expect(stdout).toContain('DepGraph data:'); expect(stdout).toContain( `DepGraph target: -docker-image|gcr.io/distroless/static +docker-image|multi-project-image.tar DepGraph end`, ); - const jsonDGStr = stdout - .split('DepGraph data:')[1] - .split('DepGraph target:')[0]; - const jsonDG = JSON.parse(jsonDGStr); - expect(jsonDG).toMatchObject(TEST_DISTROLESS_STATIC_IMAGE_DEPGRAPH); + + const payloads = stdout + .split('DepGraph data:') + .slice(1) + .map((payload) => + payload + .split('DepGraph target:') + .map((str) => str.replace('DepGraph end', '').trim()), + ); + + expect(payloads).toMatchSnapshot(); }); }); @@ -251,6 +259,15 @@ DepGraph end`, }); it('should print sbom for image - spdx', async () => { + // return a dep-graph fixture from `/test-dependencies` endpoint + server.setCustomResponse({ + result: { + issues: [], + issuesData: {}, + depGraphData: TEST_DISTROLESS_STATIC_IMAGE_DEPGRAPH, + }, + meta: { org: 'test-org', isPublic: false }, + }); const { code, stdout, @@ -274,6 +291,15 @@ DepGraph end`, }); it('should print sbom for image - cyclonedx 1.4', async () => { + // return a dep-graph fixture from `/test-dependencies` endpoint + server.setCustomResponse({ + result: { + issues: [], + issuesData: {}, + depGraphData: TEST_DISTROLESS_STATIC_IMAGE_DEPGRAPH, + }, + meta: { org: 'test-org', isPublic: false }, + }); const { code, stdout, @@ -301,6 +327,15 @@ DepGraph end`, }); it('should print sbom for image - cyclonedx 1.5', async () => { + // return a dep-graph fixture from `/test-dependencies` endpoint + server.setCustomResponse({ + result: { + issues: [], + issuesData: {}, + depGraphData: TEST_DISTROLESS_STATIC_IMAGE_DEPGRAPH, + }, + meta: { org: 'test-org', isPublic: false }, + }); const { code, stdout,