New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Coverage Broken: metrics.isEmpty is not a function at tableRow #5772

Closed
felangel opened this Issue Mar 10, 2018 · 23 comments

Comments

Projects
None yet
@felangel

felangel commented Mar 10, 2018

command run:
jest --forceExit --verbose --bail --useStderr --runInBand --expand --colors --coverage

output:
Failed to write coverage reports: ERROR: TypeError: metrics.isEmpty is not a function STACK: TypeError: metrics.isEmpty is not a function at tableRow (/Users/qtb9604/bmw/packages/http/node_modules/istanbul-reports/lib/text/index.js:133:27) at TextReport.onSummary (/Users/qtb9604/bmw/packages/http/node_modules/istanbul-reports/lib/text/index.js:188:15) at TextReport.onDetail (/Users/qtb9604/bmw/packages/http/node_modules/istanbul-reports/lib/text/index.js:193:17) at Visitor.(anonymous function) [as onDetail] (/Users/qtb9604/bmw/packages/http/node_modules/istanbul-lib-report/lib/tree.js:34:30) at ReportNode.Node.visit (/Users/qtb9604/bmw/packages/http/node_modules/istanbul-lib-report/lib/tree.js:123:17) at /Users/qtb9604/bmw/packages/http/node_modules/istanbul-lib-report/lib/tree.js:116:23 at Array.forEach (native) at visitChildren (/Users/qtb9604/bmw/packages/http/node_modules/istanbul-lib-report/lib/tree.js:115:32) at ReportNode.Node.visit (/Users/qtb9604/bmw/packages/http/node_modules/istanbul-lib-report/lib/tree.js:126:5) at /Users/qtb9604/bmw/packages/http/node_modules/istanbul-lib-report/lib/tree.js:116:23

jest --debug yields:
{ "configs": [ { "automock": false, "browser": false, "cache": true, "cacheDirectory": "/var/folders/t6/0brzsz0s6v5fqttj19rylpn18r1g3z/T/jest_mm3xxb", "clearMocks": false, "coveragePathIgnorePatterns": [ "index.ts", "locales", "src/controllers", "src/middleware", "src/prototypes", "src/types", "tests/unit/mocks" ], "detectLeaks": false, "forceCoverageMatch": [], "globals": { "ts-jest": { "tsConfigFile": "tsconfig.json" } }, "haste": { "providesModuleNodeModules": [] }, "moduleDirectories": [ "node_modules" ], "moduleFileExtensions": [ "ts", "js" ], "moduleNameMapper": {}, "modulePathIgnorePatterns": [], "name": "3fa0a9dc4bb9d4586ae003b68f15eda0", "resetMocks": false, "resetModules": false, "restoreMocks": false, "rootDir": "/Users/qtb9604/vea-server", "roots": [ "/Users/qtb9604/vea-server" ], "runner": "jest-runner", "setupFiles": [], "snapshotSerializers": [], "testEnvironment": "/Users/qtb9604/vea-server/node_modules/jest-environment-node/build/index.js", "testEnvironmentOptions": {}, "testLocationInResults": false, "testMatch": [ "**/tests/**/*.test.(ts)" ], "testPathIgnorePatterns": [ "/node_modules/" ], "testRegex": "", "testRunner": "/Users/qtb9604/vea-server/node_modules/jest-jasmine2/build/index.js", "testURL": "about:blank", "timers": "real", "transform": [ [ "^.+\\.(ts|tsx)$", "/Users/qtb9604/vea-server/node_modules/ts-jest/preprocessor.js" ] ], "transformIgnorePatterns": [ "/node_modules/" ], "watchPathIgnorePatterns": [] } ], "globalConfig": { "bail": false, "changedFilesWithAncestor": false, "collectCoverageFrom": [ "src/**" ], "coverageDirectory": "/Users/qtb9604/vea-server/coverage", "coverageReporters": [ "json", "text", "lcov", "clover" ], "detectLeaks": false, "expand": false, "globalSetup": null, "globalTeardown": null, "listTests": false, "maxWorkers": 7, "noStackTrace": false, "nonFlagArgs": [], "notify": false, "notifyMode": "always", "passWithNoTests": false, "rootDir": "/Users/qtb9604/vea-server", "runTestsByPath": false, "testFailureExitCode": 1, "testPathPattern": "", "testResultsProcessor": null, "updateSnapshot": "new", "useStderr": false, "verbose": null, "watch": false, "watchman": true }, "version": "22.4.2" }

@dazip

This comment has been minimized.

Show comment
Hide comment

dazip commented Mar 10, 2018

@felangel

This comment has been minimized.

Show comment
Hide comment
@felangel

felangel Mar 10, 2018

@dazip how does this help?

felangel commented Mar 10, 2018

@dazip how does this help?

@dazip

This comment has been minimized.

Show comment
Hide comment
@dazip

dazip Mar 10, 2018

The pull request referenced appears to break coverage within jest. In cases where my package-lock.json used version 1.1.4 of istanbul-reports, coverage works. Updating, in which Jest pulls in 1.3.0, and the pull request above, breaks.

dazip commented Mar 10, 2018

The pull request referenced appears to break coverage within jest. In cases where my package-lock.json used version 1.1.4 of istanbul-reports, coverage works. Updating, in which Jest pulls in 1.3.0, and the pull request above, breaks.

@bcoe

This comment has been minimized.

Show comment
Hide comment
@bcoe

bcoe Mar 10, 2018

Contributor

@dazip @felangel could you try reinstalling, I'm pretty sure the core issue is an incompatible version of istanbul-reports and istanbul-lib-coverage ... not quite sure why one would be upgrading and not the other for you (probably lock related).

Contributor

bcoe commented Mar 10, 2018

@dazip @felangel could you try reinstalling, I'm pretty sure the core issue is an incompatible version of istanbul-reports and istanbul-lib-coverage ... not quite sure why one would be upgrading and not the other for you (probably lock related).

@felangel

This comment has been minimized.

Show comment
Hide comment
@felangel

felangel Mar 10, 2018

@bcoe I have tried installing multiple times and it seems to have no effect. My dependency tree is:

vea-service@0.0.0 /Users/qtb9604/vea-server
├── @bmw/attribute-api@0.0.1-15
├── @bmw/http@0.0.1-15
├── @bmw/notification-api@0.0.1-15
├── @types/body-parser@1.16.8
├── @types/dotenv@2.0.23
├─┬ @types/express@4.11.0
│ ├─┬ @types/express-serve-static-core@4.11.1
│ │ └── @types/events@1.2.0
│ └─┬ @types/serve-static@1.13.1
│   └── @types/mime@2.0.0
├── @types/jest@21.1.8
├── @types/lodash@4.14.91
├── @types/moment-timezone@0.5.3
├── @types/morgan@1.7.35
├── @types/nock@9.1.2
├── @types/node@7.0.51
├─┬ @types/request@0.0.45
│ ├─┬ @types/form-data@2.2.1
│ │ └── @types/node@9.4.7
│ └── @types/node@9.4.7
├─┬ @types/supertest@2.0.4
│ └── @types/superagent@3.5.7
├─┬ applicationinsights@1.0.1
│ ├── diagnostic-channel@0.2.0
│ ├── diagnostic-channel-publishers@0.2.1
│ └── zone.js@0.7.6
├─┬ body-parser@1.18.2
│ ├── bytes@3.0.0
│ ├── content-type@1.0.4
│ ├─┬ debug@2.6.9
│ │ └── ms@2.0.0
│ ├── depd@1.1.2
│ ├─┬ http-errors@1.6.2
│ │ ├── depd@1.1.1
│ │ ├── inherits@2.0.3
│ │ ├── setprototypeof@1.0.3
│ │ └── statuses@1.4.0
│ ├── iconv-lite@0.4.19
│ ├─┬ on-finished@2.3.0
│ │ └── ee-first@1.1.1
│ ├── qs@6.5.1
│ ├─┬ raw-body@2.3.2
│ │ └── unpipe@1.0.0
│ └─┬ type-is@1.6.16
│   └── media-typer@0.3.0
├─┬ concurrently@3.5.1
│ ├─┬ chalk@0.5.1
│ │ ├── ansi-styles@1.1.0
│ │ ├── escape-string-regexp@1.0.5
│ │ ├─┬ has-ansi@0.1.0
│ │ │ └── ansi-regex@0.2.1
│ │ ├── strip-ansi@0.3.0
│ │ └── supports-color@0.2.0
│ ├── commander@2.6.0
│ ├── date-fns@1.29.0
│ ├── rx@2.3.24
│ ├── spawn-command@0.0.2-1
│ ├─┬ supports-color@3.2.3
│ │ └── has-flag@1.0.0
│ └── tree-kill@1.2.0
├── dotenv@4.0.0
├─┬ express@4.16.2
│ ├─┬ accepts@1.3.5
│ │ └── negotiator@0.6.1
│ ├── array-flatten@1.1.1
│ ├── content-disposition@0.5.2
│ ├── cookie@0.3.1
│ ├── cookie-signature@1.0.6
│ ├── encodeurl@1.0.2
│ ├── escape-html@1.0.3
│ ├── etag@1.8.1
│ ├─┬ finalhandler@1.1.0
│ │ └── statuses@1.3.1
│ ├── fresh@0.5.2
│ ├── merge-descriptors@1.0.1
│ ├── methods@1.1.2
│ ├── parseurl@1.3.2
│ ├── path-to-regexp@0.1.7
│ ├─┬ proxy-addr@2.0.3
│ │ ├── forwarded@0.1.2
│ │ └── ipaddr.js@1.6.0
│ ├── range-parser@1.2.0
│ ├── safe-buffer@5.1.1
│ ├─┬ send@0.16.1
│ │ ├── destroy@1.0.4
│ │ ├── mime@1.4.1
│ │ └── statuses@1.3.1
│ ├── serve-static@1.13.1
│ ├── setprototypeof@1.1.0
│ ├── statuses@1.3.1
│ ├── utils-merge@1.0.1
│ └── vary@1.1.2
├── express-https-redirect@1.0.0
├─┬ jest@22.4.2
│ ├─┬ import-local@1.0.0
│ │ └─┬ resolve-cwd@2.0.0
│ │   └── resolve-from@3.0.0
│ └─┬ jest-cli@22.4.2
│   ├── ansi-escapes@3.0.0
│   ├─┬ chalk@2.3.2
│   │ ├── ansi-styles@3.2.1
│   │ └─┬ supports-color@5.3.0
│   │   └── has-flag@3.0.0
│   ├── exit@0.1.2
│   ├── graceful-fs@4.1.11
│   ├─┬ is-ci@1.1.0
│   │ └── ci-info@1.1.2
│   ├─┬ istanbul-api@1.3.1
│   │ ├── async@2.6.0
│   │ ├── compare-versions@3.1.0
│   │ ├── fileset@2.0.3
│   │ ├── istanbul-lib-coverage@1.2.0
│   │ ├─┬ istanbul-lib-hook@1.2.0
│   │ │ └─┬ append-transform@0.4.0
│   │ │   └─┬ default-require-extensions@1.0.0
│   │ │     └─┬ strip-bom@2.0.0
│   │ │       └── is-utf8@0.2.1
│   │ ├─┬ istanbul-lib-report@1.1.4
│   │ │ └── istanbul-lib-coverage@1.2.0
│   │ ├─┬ istanbul-lib-source-maps@1.2.4
│   │ │ └── debug@3.1.0
│   │ ├─┬ istanbul-reports@1.3.0
│   │ │ └─┬ handlebars@4.0.11
│   │ │   ├── async@1.5.2
│   │ │   ├─┬ optimist@0.6.1
│   │ │   │ └── wordwrap@0.0.3
│   │ │   ├─┬ source-map@0.4.4
│   │ │   │ └── amdefine@1.0.1
│   │ │   └─┬ uglify-js@2.8.29
│   │ │     ├── uglify-to-browserify@1.0.2
│   │ │     └─┬ yargs@3.10.0
│   │ │       ├── camelcase@1.2.1
│   │ │       ├─┬ cliui@2.1.0
│   │ │       │ ├─┬ center-align@0.1.3
│   │ │       │ │ ├─┬ align-text@0.1.4
│   │ │       │ │ │ └── longest@1.0.1
│   │ │       │ │ └── lazy-cache@1.0.4
│   │ │       │ ├── right-align@0.1.3
│   │ │       │ └── wordwrap@0.0.2
│   │ │       └── window-size@0.1.0
│   │ └─┬ js-yaml@3.11.0
│   │   ├─┬ argparse@1.0.10
│   │   │ └── sprintf-js@1.0.3
│   │   └── esprima@4.0.0
│   ├── istanbul-lib-coverage@1.1.2
│   ├─┬ istanbul-lib-instrument@1.10.1
│   │ └── istanbul-lib-coverage@1.2.0
│   ├─┬ istanbul-lib-source-maps@1.2.3
│   │ └── debug@3.1.0
│   ├─┬ jest-changed-files@22.2.0
│   │ └── throat@4.1.0
│   ├─┬ jest-config@22.4.2
│   │ ├─┬ chalk@2.3.2
│   │ │ ├── ansi-styles@3.2.1
│   │ │ └─┬ supports-color@5.3.0
│   │ │   └── has-flag@3.0.0
│   │ ├── jest-environment-node@22.4.1
│   │ ├─┬ jest-jasmine2@22.4.2
│   │ │ ├─┬ chalk@2.3.2
│   │ │ │ ├── ansi-styles@3.2.1
│   │ │ │ └─┬ supports-color@5.3.0
│   │ │ │   └── has-flag@3.0.0
│   │ │ ├─┬ expect@22.4.0
│   │ │ │ └── ansi-styles@3.2.1
│   │ │ └── is-generator-fn@1.0.0
│   │ ├─┬ jest-resolve@22.4.2
│   │ │ └─┬ chalk@2.3.2
│   │ │   ├── ansi-styles@3.2.1
│   │ │   └─┬ supports-color@5.3.0
│   │ │     └── has-flag@3.0.0
│   │ └─┬ pretty-format@22.4.0
│   │   ├── ansi-regex@3.0.0
│   │   └── ansi-styles@3.2.1
│   ├─┬ jest-environment-jsdom@22.4.1
│   │ ├── jest-mock@22.2.0
│   │ └─┬ jsdom@11.6.2
│   │   ├── abab@1.0.4
│   │   ├── acorn@5.5.3
│   │   ├── acorn-globals@4.1.0
│   │   ├── array-equal@1.0.0
│   │   ├── browser-process-hrtime@0.1.2
│   │   ├── content-type-parser@1.0.2
│   │   ├── cssom@0.3.2
│   │   ├── cssstyle@0.2.37
│   │   ├── domexception@1.0.1
│   │   ├─┬ escodegen@1.9.1
│   │   │ ├── esprima@3.1.3
│   │   │ ├── estraverse@4.2.0
│   │   │ ├─┬ optionator@0.8.2
│   │   │ │ ├── deep-is@0.1.3
│   │   │ │ ├── fast-levenshtein@2.0.6
│   │   │ │ ├── levn@0.3.0
│   │   │ │ ├── prelude-ls@1.1.2
│   │   │ │ ├── type-check@0.3.2
│   │   │ │ └── wordwrap@1.0.0
│   │   │ └── source-map@0.6.1
│   │   ├── html-encoding-sniffer@1.0.2
│   │   ├── left-pad@1.2.0
│   │   ├── nwmatcher@1.4.3
│   │   ├── parse5@4.0.0
│   │   ├── pn@1.1.0
│   │   ├─┬ request-promise-native@1.0.5
│   │   │ ├── request-promise-core@1.1.1
│   │   │ └── stealthy-require@1.1.1
│   │   ├── sax@1.2.4
│   │   ├── symbol-tree@3.2.2
│   │   ├── w3c-hr-time@1.0.1
│   │   ├── webidl-conversions@4.0.2
│   │   ├── whatwg-encoding@1.0.3
│   │   ├─┬ whatwg-url@6.4.0
│   │   │ ├── lodash.sortby@4.7.0
│   │   │ └─┬ tr46@1.0.1
│   │   │   └── punycode@2.1.0
│   │   ├─┬ ws@4.1.0
│   │   │ └── async-limiter@1.0.0
│   │   └── xml-name-validator@3.0.0
│   ├── jest-get-type@22.1.0
│   ├─┬ jest-haste-map@22.4.2
│   │ ├─┬ fb-watchman@2.0.0
│   │ │ └─┬ bser@2.0.0
│   │ │   └── node-int64@0.4.0
│   │ ├─┬ jest-docblock@22.4.0
│   │ │ └── detect-newline@2.1.0
│   │ ├── jest-serializer@22.4.0
│   │ └─┬ sane@2.4.1
│   │   ├─┬ exec-sh@0.2.1
│   │   │ └── merge@1.2.0
│   │   ├── minimist@1.2.0
│   │   ├─┬ walker@1.0.7
│   │   │ └─┬ makeerror@1.0.11
│   │   │   └── tmpl@1.0.4
│   │   └─┬ watch@0.18.0
│   │     └── minimist@1.2.0
│   ├─┬ jest-message-util@22.4.0
│   │ ├─┬ @babel/code-frame@7.0.0-beta.40
│   │ │ └─┬ @babel/highlight@7.0.0-beta.40
│   │ │   └─┬ chalk@2.3.2
│   │ │     ├── ansi-styles@3.2.1
│   │ │     └─┬ supports-color@5.3.0
│   │ │       └── has-flag@3.0.0
│   │ ├─┬ chalk@2.3.2
│   │ │ ├── ansi-styles@3.2.1
│   │ │ └─┬ supports-color@5.3.0
│   │ │   └── has-flag@3.0.0
│   │ └── stack-utils@1.0.1
│   ├── jest-regex-util@22.1.0
│   ├── jest-resolve-dependencies@22.1.0
│   ├─┬ jest-runner@22.4.2
│   │ └── jest-leak-detector@22.4.0
│   ├─┬ jest-runtime@22.4.2
│   │ ├─┬ babel-jest@22.4.1
│   │ │ └─┬ babel-preset-jest@22.4.1
│   │ │   └── babel-plugin-jest-hoist@22.4.1
│   │ ├─┬ chalk@2.3.2
│   │ │ ├── ansi-styles@3.2.1
│   │ │ └─┬ supports-color@5.3.0
│   │ │   └── has-flag@3.0.0
│   │ ├── json-stable-stringify@1.0.1
│   │ ├── strip-bom@3.0.0
│   │ └─┬ write-file-atomic@2.3.0
│   │   ├── imurmurhash@0.1.4
│   │   └── signal-exit@3.0.2
│   ├─┬ jest-snapshot@22.4.0
│   │ ├─┬ chalk@2.3.2
│   │ │ ├── ansi-styles@3.2.1
│   │ │ └─┬ supports-color@5.3.0
│   │ │   └── has-flag@3.0.0
│   │ ├─┬ jest-diff@22.4.0
│   │ │ └─┬ chalk@2.3.2
│   │ │   ├── ansi-styles@3.2.1
│   │ │   └─┬ supports-color@5.3.0
│   │ │     └── has-flag@3.0.0
│   │ ├─┬ jest-matcher-utils@22.4.0
│   │ │ └─┬ chalk@2.3.2
│   │ │   ├── ansi-styles@3.2.1
│   │ │   └─┬ supports-color@5.3.0
│   │ │     └── has-flag@3.0.0
│   │ └── natural-compare@1.4.0
│   ├─┬ jest-util@22.4.1
│   │ ├── callsites@2.0.0
│   │ ├─┬ chalk@2.3.2
│   │ │ ├── ansi-styles@3.2.1
│   │ │ └─┬ supports-color@5.3.0
│   │ │   └── has-flag@3.0.0
│   │ └── source-map@0.6.1
│   ├─┬ jest-validate@22.4.2
│   │ ├─┬ chalk@2.3.2
│   │ │ ├── ansi-styles@3.2.1
│   │ │ └─┬ supports-color@5.3.0
│   │ │   └── has-flag@3.0.0
│   │ └── leven@2.1.0
│   ├─┬ jest-worker@22.2.2
│   │ └── merge-stream@1.0.1
│   ├─┬ micromatch@2.3.11
│   │ ├─┬ arr-diff@2.0.0
│   │ │ └── arr-flatten@1.1.0
│   │ ├── array-unique@0.2.1
│   │ ├─┬ braces@1.8.5
│   │ │ ├─┬ expand-range@1.8.2
│   │ │ │ └─┬ fill-range@2.2.3
│   │ │ │   ├── is-number@2.1.0
│   │ │ │   ├── isobject@2.1.0
│   │ │ │   ├─┬ randomatic@1.1.7
│   │ │ │   │ ├─┬ is-number@3.0.0
│   │ │ │   │ │ └── kind-of@3.2.2
│   │ │ │   │ └── kind-of@4.0.0
│   │ │ │   └── repeat-string@1.6.1
│   │ │ ├── preserve@0.2.0
│   │ │ └── repeat-element@1.1.2
│   │ ├─┬ expand-brackets@0.1.5
│   │ │ └── is-posix-bracket@0.1.1
│   │ ├── extglob@0.3.2
│   │ ├── filename-regex@2.0.1
│   │ ├── is-extglob@1.0.0
│   │ ├─┬ kind-of@3.2.2
│   │ │ └── is-buffer@1.1.6
│   │ ├─┬ normalize-path@2.1.1
│   │ │ └── remove-trailing-separator@1.1.0
│   │ ├─┬ object.omit@2.0.1
│   │ │ ├─┬ for-own@0.1.5
│   │ │ │ └── for-in@1.0.2
│   │ │ └── is-extendable@0.1.1
│   │ ├─┬ parse-glob@3.0.4
│   │ │ ├── glob-base@0.3.0
│   │ │ └── is-dotfile@1.0.3
│   │ └─┬ regex-cache@0.4.4
│   │   └─┬ is-equal-shallow@0.1.3
│   │     └── is-primitive@2.0.0
│   ├─┬ node-notifier@5.2.1
│   │ ├── growly@1.3.0
│   │ └── shellwords@0.1.1
│   ├─┬ realpath-native@1.0.0
│   │ └─┬ util.promisify@1.0.0
│   │   ├─┬ define-properties@1.1.2
│   │   │ ├── foreach@2.0.5
│   │   │ └── object-keys@1.0.11
│   │   └─┬ object.getownpropertydescriptors@2.0.3
│   │     └─┬ es-abstract@1.10.0
│   │       ├─┬ es-to-primitive@1.1.1
│   │       │ ├── is-date-object@1.0.1
│   │       │ └── is-symbol@1.0.1
│   │       ├── function-bind@1.1.1
│   │       ├── has@1.0.1
│   │       ├── is-callable@1.1.3
│   │       └── is-regex@1.0.4
│   ├── slash@1.0.0
│   ├─┬ string-length@2.0.0
│   │ ├── astral-regex@1.0.0
│   │ └─┬ strip-ansi@4.0.0
│   │   └── ansi-regex@3.0.0
│   ├─┬ strip-ansi@4.0.0
│   │ └── ansi-regex@3.0.0
│   └─┬ which@1.3.0
│     └── isexe@2.0.0
├─┬ locale-manager@1.2.6
│ ├─┬ glob@7.1.2
│ │ ├── fs.realpath@1.0.0
│ │ ├─┬ inflight@1.0.6
│ │ │ └── wrappy@1.0.2
│ │ ├── once@1.4.0
│ │ └── path-is-absolute@1.0.1
│ └─┬ path@0.12.7
│   ├── process@0.11.10
│   └─┬ util@0.10.3
│     └── inherits@2.0.1
├── lodash@4.17.4
├── moment@2.20.1
├── moment-duration-format@2.2.1
├── moment-timezone@0.5.14
├─┬ morgan@1.9.0
│ ├── basic-auth@2.0.0
│ └── on-headers@1.0.1
├─┬ nock@9.1.5
│ ├─┬ chai@3.5.0
│ │ ├── assertion-error@1.1.0
│ │ ├─┬ deep-eql@0.1.3
│ │ │ └── type-detect@0.1.1
│ │ └── type-detect@1.0.0
│ ├── deep-equal@1.0.1
│ ├── json-stringify-safe@5.0.1
│ ├─┬ mkdirp@0.5.1
│ │ └── minimist@0.0.8
│ ├── propagate@0.4.0
│ └── semver@5.5.0
├─┬ nodemon@1.14.3
│ ├─┬ chokidar@1.7.0
│ │ ├── anymatch@1.3.2
│ │ ├── async-each@1.0.1
│ │ ├─┬ fsevents@1.1.3
│ │ │ ├── nan@2.9.2
│ │ │ └─┬ node-pre-gyp@0.6.39
│ │ │   ├── detect-libc@1.0.2
│ │ │   ├─┬ hawk@3.1.3
│ │ │   │ ├── boom@2.10.1
│ │ │   │ ├── cryptiles@2.0.5
│ │ │   │ ├── hoek@2.16.3
│ │ │   │ └── sntp@1.0.9
│ │ │   ├─┬ mkdirp@0.5.1
│ │ │   │ └── minimist@0.0.8
│ │ │   ├─┬ nopt@4.0.1
│ │ │   │ ├── abbrev@1.1.0
│ │ │   │ └─┬ osenv@0.1.4
│ │ │   │   ├── os-homedir@1.0.2
│ │ │   │   └── os-tmpdir@1.0.2
│ │ │   ├─┬ npmlog@4.1.0
│ │ │   │ ├─┬ are-we-there-yet@1.1.4
│ │ │   │ │ └── delegates@1.0.0
│ │ │   │ ├── console-control-strings@1.1.0
│ │ │   │ ├─┬ gauge@2.7.4
│ │ │   │ │ ├── aproba@1.1.1
│ │ │   │ │ ├── has-unicode@2.0.1
│ │ │   │ │ ├── object-assign@4.1.1
│ │ │   │ │ ├── signal-exit@3.0.2
│ │ │   │ │ ├─┬ string-width@1.0.2
│ │ │   │ │ │ ├── code-point-at@1.1.0
│ │ │   │ │ │ └─┬ is-fullwidth-code-point@1.0.0
│ │ │   │ │ │   └── number-is-nan@1.0.1
│ │ │   │ │ ├─┬ strip-ansi@3.0.1
│ │ │   │ │ │ └── ansi-regex@2.1.1
│ │ │   │ │ └── wide-align@1.1.2
│ │ │   │ └── set-blocking@2.0.0
│ │ │   ├─┬ rc@1.2.1
│ │ │   │ ├── deep-extend@0.4.2
│ │ │   │ ├── ini@1.3.4
│ │ │   │ ├── minimist@1.2.0
│ │ │   │ └── strip-json-comments@2.0.1
│ │ │   ├─┬ request@2.81.0
│ │ │   │ ├── aws-sign2@0.6.0
│ │ │   │ ├── aws4@1.6.0
│ │ │   │ ├── caseless@0.12.0
│ │ │   │ ├─┬ combined-stream@1.0.5
│ │ │   │ │ └── delayed-stream@1.0.0
│ │ │   │ ├── extend@3.0.1
│ │ │   │ ├── forever-agent@0.6.1
│ │ │   │ ├─┬ form-data@2.1.4
│ │ │   │ │ └── asynckit@0.4.0
│ │ │   │ ├─┬ har-validator@4.2.1
│ │ │   │ │ ├─┬ ajv@4.11.8
│ │ │   │ │ │ ├── co@4.6.0
│ │ │   │ │ │ └─┬ json-stable-stringify@1.0.1
│ │ │   │ │ │   └── jsonify@0.0.0
│ │ │   │ │ └── har-schema@1.0.5
│ │ │   │ ├─┬ http-signature@1.1.1
│ │ │   │ │ ├── assert-plus@0.2.0
│ │ │   │ │ ├─┬ jsprim@1.4.0
│ │ │   │ │ │ ├── assert-plus@1.0.0
│ │ │   │ │ │ ├── extsprintf@1.0.2
│ │ │   │ │ │ ├── json-schema@0.2.3
│ │ │   │ │ │ └── verror@1.3.6
│ │ │   │ │ └─┬ sshpk@1.13.0
│ │ │   │ │   ├── asn1@0.2.3
│ │ │   │ │   ├── assert-plus@1.0.0
│ │ │   │ │   ├── bcrypt-pbkdf@1.0.1
│ │ │   │ │   ├─┬ dashdash@1.14.1
│ │ │   │ │   │ └── assert-plus@1.0.0
│ │ │   │ │   ├── ecc-jsbn@0.1.1
│ │ │   │ │   ├─┬ getpass@0.1.7
│ │ │   │ │   │ └── assert-plus@1.0.0
│ │ │   │ │   ├── jodid25519@1.0.2
│ │ │   │ │   ├── jsbn@0.1.1
│ │ │   │ │   └── tweetnacl@0.14.5
│ │ │   │ ├── is-typedarray@1.0.0
│ │ │   │ ├── isstream@0.1.2
│ │ │   │ ├── json-stringify-safe@5.0.1
│ │ │   │ ├─┬ mime-types@2.1.15
│ │ │   │ │ └── mime-db@1.27.0
│ │ │   │ ├── oauth-sign@0.8.2
│ │ │   │ ├── performance-now@0.2.0
│ │ │   │ ├── qs@6.4.0
│ │ │   │ ├── safe-buffer@5.0.1
│ │ │   │ ├── stringstream@0.0.5
│ │ │   │ ├─┬ tough-cookie@2.3.2
│ │ │   │ │ └── punycode@1.4.1
│ │ │   │ ├── tunnel-agent@0.6.0
│ │ │   │ └── uuid@3.0.1
│ │ │   ├─┬ rimraf@2.6.1
│ │ │   │ └─┬ glob@7.1.2
│ │ │   │   ├── fs.realpath@1.0.0
│ │ │   │   ├── inflight@1.0.6
│ │ │   │   ├─┬ minimatch@3.0.4
│ │ │   │   │ └─┬ brace-expansion@1.1.7
│ │ │   │   │   ├── balanced-match@0.4.2
│ │ │   │   │   └── concat-map@0.0.1
│ │ │   │   └── path-is-absolute@1.0.1
│ │ │   ├── semver@5.3.0
│ │ │   ├─┬ tar@2.2.1
│ │ │   │ ├── block-stream@0.0.9
│ │ │   │ ├─┬ fstream@1.0.11
│ │ │   │ │ └── graceful-fs@4.1.11
│ │ │   │ └── inherits@2.0.3
│ │ │   └─┬ tar-pack@3.4.0
│ │ │     ├─┬ debug@2.6.8
│ │ │     │ └── ms@2.0.0
│ │ │     ├── fstream-ignore@1.0.5
│ │ │     ├─┬ once@1.4.0
│ │ │     │ └── wrappy@1.0.2
│ │ │     ├─┬ readable-stream@2.2.9
│ │ │     │ ├── buffer-shims@1.0.0
│ │ │     │ ├── core-util-is@1.0.2
│ │ │     │ ├── isarray@1.0.0
│ │ │     │ ├── process-nextick-args@1.0.7
│ │ │     │ ├── string_decoder@1.0.1
│ │ │     │ └── util-deprecate@1.0.2
│ │ │     └── uid-number@0.0.6
│ │ ├── glob-parent@2.0.0
│ │ ├─┬ is-binary-path@1.0.1
│ │ │ └── binary-extensions@1.11.0
│ │ ├── is-glob@2.0.1
│ │ └─┬ readdirp@2.1.0
│ │   └── set-immediate-shim@1.0.1
│ ├── ignore-by-default@1.0.1
│ ├─┬ minimatch@3.0.4
│ │ └─┬ brace-expansion@1.1.11
│ │   ├── balanced-match@1.0.0
│ │   └── concat-map@0.0.1
│ ├─┬ pstree.remy@1.1.0
│ │ └─┬ ps-tree@1.1.0
│ │   └─┬ event-stream@3.3.4
│ │     ├── from@0.1.7
│ │     ├── map-stream@0.1.0
│ │     ├── pause-stream@0.0.11
│ │     ├── split@0.3.3
│ │     ├── stream-combiner@0.0.4
│ │     └── through@2.3.8
│ ├─┬ touch@3.1.0
│ │ └─┬ nopt@1.0.10
│ │   └── abbrev@1.1.1
│ ├── undefsafe@0.0.3
│ └─┬ update-notifier@2.3.0
│   ├─┬ boxen@1.3.0
│   │ ├── ansi-align@2.0.0
│   │ ├── camelcase@4.1.0
│   │ ├─┬ chalk@2.3.2
│   │ │ ├── ansi-styles@3.2.1
│   │ │ └─┬ supports-color@5.3.0
│   │ │   └── has-flag@3.0.0
│   │ ├── cli-boxes@1.0.0
│   │ ├── term-size@1.2.0
│   │ └── widest-line@2.0.0
│   ├─┬ chalk@2.3.2
│   │ ├── ansi-styles@3.2.1
│   │ └─┬ supports-color@5.3.0
│   │   └── has-flag@3.0.0
│   ├─┬ configstore@3.1.1
│   │ ├─┬ dot-prop@4.2.0
│   │ │ └── is-obj@1.0.1
│   │ ├─┬ make-dir@1.2.0
│   │ │ └── pify@3.0.0
│   │ └─┬ unique-string@1.0.0
│   │   └── crypto-random-string@1.0.0
│   ├── import-lazy@2.1.0
│   ├─┬ is-installed-globally@0.1.0
│   │ ├─┬ global-dirs@0.1.1
│   │ │ └── ini@1.3.5
│   │ └─┬ is-path-inside@1.0.1
│   │   └── path-is-inside@1.0.2
│   ├── is-npm@1.0.0
│   ├─┬ latest-version@3.1.0
│   │ └─┬ package-json@4.0.1
│   │   ├─┬ got@6.7.1
│   │   │ ├─┬ create-error-class@3.0.2
│   │   │ │ └── capture-stack-trace@1.0.0
│   │   │ ├── duplexer3@0.1.4
│   │   │ ├── is-redirect@1.0.0
│   │   │ ├── is-retry-allowed@1.1.0
│   │   │ ├── lowercase-keys@1.0.0
│   │   │ ├── timed-out@4.0.1
│   │   │ ├── unzip-response@2.0.1
│   │   │ └─┬ url-parse-lax@1.0.0
│   │   │   └── prepend-http@1.0.4
│   │   ├─┬ registry-auth-token@3.3.2
│   │   │ └─┬ rc@1.2.5
│   │   │   ├── deep-extend@0.4.2
│   │   │   ├── minimist@1.2.0
│   │   │   └── strip-json-comments@2.0.1
│   │   └── registry-url@3.1.0
│   ├── semver-diff@2.1.0
│   └── xdg-basedir@3.0.0
├── prettier@1.10.2
├─┬ request@2.83.0
│ ├── aws-sign2@0.7.0
│ ├── aws4@1.6.0
│ ├── caseless@0.12.0
│ ├─┬ combined-stream@1.0.6
│ │ └── delayed-stream@1.0.0
│ ├── extend@3.0.1
│ ├── forever-agent@0.6.1
│ ├─┬ form-data@2.3.2
│ │ └── asynckit@0.4.0
│ ├─┬ har-validator@5.0.3
│ │ ├─┬ ajv@5.5.2
│ │ │ ├── co@4.6.0
│ │ │ ├── fast-deep-equal@1.1.0
│ │ │ ├── fast-json-stable-stringify@2.0.0
│ │ │ └── json-schema-traverse@0.3.1
│ │ └── har-schema@2.0.0
│ ├─┬ hawk@6.0.2
│ │ ├── boom@4.3.1
│ │ ├─┬ cryptiles@3.1.2
│ │ │ └── boom@5.2.0
│ │ ├── hoek@4.2.1
│ │ └── sntp@2.1.0
│ ├─┬ http-signature@1.2.0
│ │ ├── assert-plus@1.0.0
│ │ ├─┬ jsprim@1.4.1
│ │ │ ├── extsprintf@1.3.0
│ │ │ ├── json-schema@0.2.3
│ │ │ └── verror@1.10.0
│ │ └─┬ sshpk@1.13.1
│ │   ├── asn1@0.2.3
│ │   ├── bcrypt-pbkdf@1.0.1
│ │   ├── dashdash@1.14.1
│ │   ├── ecc-jsbn@0.1.1
│ │   ├── getpass@0.1.7
│ │   ├── jsbn@0.1.1
│ │   └── tweetnacl@0.14.5
│ ├── is-typedarray@1.0.0
│ ├── isstream@0.1.2
│ ├─┬ mime-types@2.1.18
│ │ └── mime-db@1.33.0
│ ├── oauth-sign@0.8.2
│ ├── performance-now@2.1.0
│ ├── stringstream@0.0.5
│ ├─┬ tough-cookie@2.3.4
│ │ └── punycode@1.4.1
│ ├── tunnel-agent@0.6.0
│ └── uuid@3.2.1
├── rimraf@2.6.2
├─┬ shelljs@0.7.8
│ ├── interpret@1.1.0
│ └─┬ rechoir@0.6.2
│   └── resolve@1.1.7
├─┬ supertest@3.0.0
│ └─┬ superagent@3.8.2
│   ├── component-emitter@1.2.1
│   ├── cookiejar@2.1.1
│   ├── debug@3.1.0
│   ├── formidable@1.2.0
│   └─┬ readable-stream@2.3.5
│     ├── core-util-is@1.0.2
│     ├── isarray@1.0.0
│     ├── process-nextick-args@2.0.0
│     ├── string_decoder@1.0.3
│     └── util-deprecate@1.0.2
├─┬ ts-jest@21.2.4
│ ├─┬ babel-core@6.26.0
│ │ ├─┬ babel-generator@6.26.1
│ │ │ ├─┬ detect-indent@4.0.0
│ │ │ │ └─┬ repeating@2.0.1
│ │ │ │   └─┬ is-finite@1.0.2
│ │ │ │     └── number-is-nan@1.0.1
│ │ │ ├── jsesc@1.3.0
│ │ │ └── trim-right@1.0.1
│ │ ├── babel-helpers@6.24.1
│ │ ├── babel-messages@6.23.0
│ │ ├─┬ babel-register@6.26.0
│ │ │ ├── core-js@2.5.3
│ │ │ ├─┬ home-or-tmp@2.0.0
│ │ │ │ ├── os-homedir@1.0.2
│ │ │ │ └── os-tmpdir@1.0.2
│ │ │ └── source-map-support@0.4.18
│ │ ├─┬ babel-runtime@6.26.0
│ │ │ └── regenerator-runtime@0.11.1
│ │ ├── babel-template@6.26.0
│ │ ├─┬ babel-traverse@6.26.0
│ │ │ ├── globals@9.18.0
│ │ │ └─┬ invariant@2.2.3
│ │ │   └── loose-envify@1.3.1
│ │ ├─┬ babel-types@6.26.0
│ │ │ └── to-fast-properties@1.0.3
│ │ ├── babylon@6.18.0
│ │ ├── convert-source-map@1.5.1
│ │ ├── json5@0.5.1
│ │ ├── private@0.1.8
│ │ └── source-map@0.5.7
│ ├─┬ babel-plugin-istanbul@4.1.5
│ │ ├─┬ find-up@2.1.0
│ │ │ └─┬ locate-path@2.0.0
│ │ │   ├─┬ p-locate@2.0.0
│ │ │   │ └─┬ p-limit@1.2.0
│ │ │   │   └── p-try@1.0.0
│ │ │   └── path-exists@3.0.0
│ │ └─┬ test-exclude@4.2.1
│ │   ├── arrify@1.0.1
│ │   ├─┬ micromatch@3.1.9
│ │   │ ├── arr-diff@4.0.0
│ │   │ ├── array-unique@0.3.2
│ │   │ ├─┬ braces@2.3.1
│ │   │ │ ├── define-property@1.0.0
│ │   │ │ ├── extend-shallow@2.0.1
│ │   │ │ ├─┬ fill-range@4.0.0
│ │   │ │ │ ├── extend-shallow@2.0.1
│ │   │ │ │ ├─┬ is-number@3.0.0
│ │   │ │ │ │ └── kind-of@3.2.2
│ │   │ │ │ └─┬ to-regex-range@2.1.1
│ │   │ │ │   └── is-number@3.0.0
│ │   │ │ ├── isobject@3.0.1
│ │   │ │ ├─┬ snapdragon-node@2.1.1
│ │   │ │ │ ├── define-property@1.0.0
│ │   │ │ │ ├── isobject@3.0.1
│ │   │ │ │ └── snapdragon-util@3.0.1
│ │   │ │ └── split-string@3.1.0
│ │   │ ├─┬ define-property@2.0.2
│ │   │ │ ├─┬ is-descriptor@1.0.2
│ │   │ │ │ ├─┬ is-accessor-descriptor@1.0.0
│ │   │ │ │ │ └── kind-of@6.0.2
│ │   │ │ │ ├─┬ is-data-descriptor@1.0.0
│ │   │ │ │ │ └── kind-of@6.0.2
│ │   │ │ │ └── kind-of@6.0.2
│ │   │ │ └── isobject@3.0.1
│ │   │ ├─┬ extend-shallow@3.0.2
│ │   │ │ ├── assign-symbols@1.0.0
│ │   │ │ └─┬ is-extendable@1.0.1
│ │   │ │   └─┬ is-plain-object@2.0.4
│ │   │ │     └── isobject@3.0.1
│ │   │ ├─┬ extglob@2.0.4
│ │   │ │ ├── define-property@1.0.0
│ │   │ │ ├─┬ expand-brackets@2.1.4
│ │   │ │ │ ├─┬ define-property@0.2.5
│ │   │ │ │ │ └─┬ is-descriptor@0.1.6
│ │   │ │ │ │   ├─┬ is-accessor-descriptor@0.1.6
│ │   │ │ │ │   │ └── kind-of@3.2.2
│ │   │ │ │ │   ├─┬ is-data-descriptor@0.1.4
│ │   │ │ │ │   │ └── kind-of@3.2.2
│ │   │ │ │ │   └── kind-of@5.1.0
│ │   │ │ │ ├── extend-shallow@2.0.1
│ │   │ │ │ └── posix-character-classes@0.1.1
│ │   │ │ └── extend-shallow@2.0.1
│ │   │ ├─┬ fragment-cache@0.2.1
│ │   │ │ └── map-cache@0.2.2
│ │   │ ├── kind-of@6.0.2
│ │   │ ├─┬ nanomatch@1.2.9
│ │   │ │ ├── arr-diff@4.0.0
│ │   │ │ ├── array-unique@0.3.2
│ │   │ │ ├─┬ is-odd@2.0.0
│ │   │ │ │ └── is-number@4.0.0
│ │   │ │ ├── is-windows@1.0.2
│ │   │ │ └── kind-of@6.0.2
│ │   │ ├─┬ object.pick@1.3.0
│ │   │ │ └── isobject@3.0.1
│ │   │ ├─┬ regex-not@1.0.2
│ │   │ │ └─┬ safe-regex@1.1.0
│ │   │ │   └── ret@0.1.15
│ │   │ ├─┬ snapdragon@0.8.1
│ │   │ │ ├─┬ base@0.11.2
│ │   │ │ │ ├─┬ cache-base@1.0.1
│ │   │ │ │ │ ├─┬ collection-visit@1.0.0
│ │   │ │ │ │ │ ├── map-visit@1.0.0
│ │   │ │ │ │ │ └─┬ object-visit@1.0.1
│ │   │ │ │ │ │   └── isobject@3.0.1
│ │   │ │ │ │ ├── get-value@2.0.6
│ │   │ │ │ │ ├─┬ has-value@1.0.0
│ │   │ │ │ │ │ ├─┬ has-values@1.0.0
│ │   │ │ │ │ │ │ ├─┬ is-number@3.0.0
│ │   │ │ │ │ │ │ │ └── kind-of@3.2.2
│ │   │ │ │ │ │ │ └── kind-of@4.0.0
│ │   │ │ │ │ │ └── isobject@3.0.1
│ │   │ │ │ │ ├── isobject@3.0.1
│ │   │ │ │ │ ├─┬ set-value@2.0.0
│ │   │ │ │ │ │ └── extend-shallow@2.0.1
│ │   │ │ │ │ ├── to-object-path@0.3.0
│ │   │ │ │ │ ├─┬ union-value@1.0.0
│ │   │ │ │ │ │ └─┬ set-value@0.4.3
│ │   │ │ │ │ │   └── extend-shallow@2.0.1
│ │   │ │ │ │ └─┬ unset-value@1.0.0
│ │   │ │ │ │   ├─┬ has-value@0.3.1
│ │   │ │ │ │   │ ├── has-values@0.1.4
│ │   │ │ │ │   │ └── isobject@2.1.0
│ │   │ │ │ │   └── isobject@3.0.1
│ │   │ │ │ ├─┬ class-utils@0.3.6
│ │   │ │ │ │ ├── arr-union@3.1.0
│ │   │ │ │ │ ├─┬ define-property@0.2.5
│ │   │ │ │ │ │ └─┬ is-descriptor@0.1.6
│ │   │ │ │ │ │   ├─┬ is-accessor-descriptor@0.1.6
│ │   │ │ │ │ │   │ └── kind-of@3.2.2
│ │   │ │ │ │ │   ├─┬ is-data-descriptor@0.1.4
│ │   │ │ │ │ │   │ └── kind-of@3.2.2
│ │   │ │ │ │ │   └── kind-of@5.1.0
│ │   │ │ │ │ ├── isobject@3.0.1
│ │   │ │ │ │ └─┬ static-extend@0.1.2
│ │   │ │ │ │   ├─┬ define-property@0.2.5
│ │   │ │ │ │   │ └─┬ is-descriptor@0.1.6
│ │   │ │ │ │   │   ├─┬ is-accessor-descriptor@0.1.6
│ │   │ │ │ │   │   │ └── kind-of@3.2.2
│ │   │ │ │ │   │   ├─┬ is-data-descriptor@0.1.4
│ │   │ │ │ │   │   │ └── kind-of@3.2.2
│ │   │ │ │ │   │   └── kind-of@5.1.0
│ │   │ │ │ │   └─┬ object-copy@0.1.0
│ │   │ │ │ │     ├── copy-descriptor@0.1.1
│ │   │ │ │ │     └─┬ define-property@0.2.5
│ │   │ │ │ │       └─┬ is-descriptor@0.1.6
│ │   │ │ │ │         ├── is-accessor-descriptor@0.1.6
│ │   │ │ │ │         ├── is-data-descriptor@0.1.4
│ │   │ │ │ │         └── kind-of@5.1.0
│ │   │ │ │ ├── define-property@1.0.0
│ │   │ │ │ ├── isobject@3.0.1
│ │   │ │ │ ├─┬ mixin-deep@1.3.1
│ │   │ │ │ │ └── is-extendable@1.0.1
│ │   │ │ │ └── pascalcase@0.1.1
│ │   │ │ ├─┬ define-property@0.2.5
│ │   │ │ │ └─┬ is-descriptor@0.1.6
│ │   │ │ │   ├─┬ is-accessor-descriptor@0.1.6
│ │   │ │ │   │ └── kind-of@3.2.2
│ │   │ │ │   ├─┬ is-data-descriptor@0.1.4
│ │   │ │ │   │ └── kind-of@3.2.2
│ │   │ │ │   └── kind-of@5.1.0
│ │   │ │ ├── extend-shallow@2.0.1
│ │   │ │ ├─┬ source-map-resolve@0.5.1
│ │   │ │ │ ├── atob@2.0.3
│ │   │ │ │ ├── decode-uri-component@0.2.0
│ │   │ │ │ ├── resolve-url@0.2.1
│ │   │ │ │ ├── source-map-url@0.4.0
│ │   │ │ │ └── urix@0.1.0
│ │   │ │ └─┬ use@2.0.2
│ │   │ │   ├─┬ define-property@0.2.5
│ │   │ │   │ └─┬ is-descriptor@0.1.6
│ │   │ │   │   ├─┬ is-accessor-descriptor@0.1.6
│ │   │ │   │   │ └── kind-of@3.2.2
│ │   │ │   │   ├─┬ is-data-descriptor@0.1.4
│ │   │ │   │   │ └── kind-of@3.2.2
│ │   │ │   │   └── kind-of@5.1.0
│ │   │ │   ├── isobject@3.0.1
│ │   │ │   └─┬ lazy-cache@2.0.2
│ │   │ │     └── set-getter@0.1.0
│ │   │ └── to-regex@3.0.2
│ │   ├── object-assign@4.1.1
│ │   └─┬ read-pkg-up@1.0.1
│ │     ├─┬ find-up@1.1.2
│ │     │ ├── path-exists@2.1.0
│ │     │ └─┬ pinkie-promise@2.0.1
│ │     │   └── pinkie@2.0.4
│ │     └─┬ read-pkg@1.1.0
│ │       ├─┬ load-json-file@1.1.0
│ │       │ ├─┬ parse-json@2.2.0
│ │       │ │ └─┬ error-ex@1.3.1
│ │       │ │   └── is-arrayish@0.2.1
│ │       │ └── pify@2.3.0
│ │       ├─┬ normalize-package-data@2.4.0
│ │       │ ├── hosted-git-info@2.6.0
│ │       │ └─┬ validate-npm-package-license@3.0.3
│ │       │   ├─┬ spdx-correct@3.0.0
│ │       │   │ └── spdx-license-ids@3.0.0
│ │       │   └─┬ spdx-expression-parse@3.0.0
│ │       │     └── spdx-exceptions@2.1.0
│ │       └── path-type@1.1.0
│ ├─┬ babel-plugin-transform-es2015-modules-commonjs@6.26.0
│ │ └── babel-plugin-transform-strict-mode@6.24.1
│ ├─┬ babel-preset-jest@21.2.0
│ │ ├── babel-plugin-jest-hoist@21.2.0
│ │ └── babel-plugin-syntax-object-rest-spread@6.13.0
│ ├─┬ cpx@1.5.0
│ │ ├── duplexer@0.1.1
│ │ ├─┬ glob2base@0.0.12
│ │ │ └── find-index@0.1.1
│ │ ├─┬ shell-quote@1.6.1
│ │ │ ├── array-filter@0.0.1
│ │ │ ├── array-map@0.0.0
│ │ │ ├── array-reduce@0.0.0
│ │ │ └── jsonify@0.0.0
│ │ └─┬ subarg@1.0.0
│ │   └── minimist@1.2.0
│ ├─┬ fs-extra@4.0.3
│ │ ├── jsonfile@4.0.0
│ │ └── universalify@0.1.1
│ ├─┬ jest-config@21.2.1
│ │ ├─┬ chalk@2.3.2
│ │ │ ├── ansi-styles@3.2.1
│ │ │ └─┬ supports-color@5.3.0
│ │ │   └── has-flag@3.0.0
│ │ ├─┬ jest-environment-jsdom@21.2.1
│ │ │ ├── jest-mock@21.2.0
│ │ │ └─┬ jsdom@9.12.0
│ │ │   ├── acorn@4.0.13
│ │ │   ├── acorn-globals@3.1.0
│ │ │   ├── parse5@1.5.1
│ │ │   ├─┬ whatwg-url@4.8.0
│ │ │   │ ├── tr46@0.0.3
│ │ │   │ └── webidl-conversions@3.0.1
│ │ │   └── xml-name-validator@2.0.1
│ │ ├── jest-environment-node@21.2.1
│ │ ├── jest-get-type@21.2.0
│ │ ├─┬ jest-jasmine2@21.2.1
│ │ │ ├── expect@21.2.1
│ │ │ ├── jest-diff@21.2.1
│ │ │ ├── jest-matcher-utils@21.2.1
│ │ │ ├── jest-message-util@21.2.1
│ │ │ ├── jest-snapshot@21.2.1
│ │ │ └── p-cancelable@0.3.0
│ │ ├── jest-regex-util@21.2.0
│ │ ├─┬ jest-resolve@21.2.0
│ │ │ ├── browser-resolve@1.11.2
│ │ │ └── is-builtin-module@1.0.0
│ │ ├── jest-util@21.2.1
│ │ ├── jest-validate@21.2.1
│ │ └─┬ pretty-format@21.2.1
│ │   └── ansi-regex@3.0.0
│ ├── pkg-dir@2.0.0
│ ├─┬ source-map-support@0.5.3
│ │ └── source-map@0.6.1
│ └─┬ yargs@10.1.2
│   ├─┬ cliui@4.0.0
│   │ ├─┬ strip-ansi@4.0.0
│   │ │ └── ansi-regex@3.0.0
│   │ └─┬ wrap-ansi@2.1.0
│   │   ├─┬ string-width@1.0.2
│   │   │ ├── code-point-at@1.1.0
│   │   │ └── is-fullwidth-code-point@1.0.0
│   │   └─┬ strip-ansi@3.0.1
│   │     └── ansi-regex@2.1.1
│   ├── decamelize@1.2.0
│   ├── get-caller-file@1.0.2
│   ├─┬ os-locale@2.1.0
│   │ ├─┬ execa@0.7.0
│   │ │ ├─┬ cross-spawn@5.1.0
│   │ │ │ ├─┬ lru-cache@4.1.2
│   │ │ │ │ ├── pseudomap@1.0.2
│   │ │ │ │ └── yallist@2.1.2
│   │ │ │ └─┬ shebang-command@1.2.0
│   │ │ │   └── shebang-regex@1.0.0
│   │ │ ├── get-stream@3.0.0
│   │ │ ├── is-stream@1.1.0
│   │ │ ├─┬ npm-run-path@2.0.2
│   │ │ │ └── path-key@2.0.1
│   │ │ ├── p-finally@1.0.0
│   │ │ └── strip-eof@1.0.0
│   │ ├─┬ lcid@1.0.0
│   │ │ └── invert-kv@1.0.0
│   │ └─┬ mem@1.1.0
│   │   └── mimic-fn@1.2.0
│   ├── require-directory@2.1.1
│   ├── require-main-filename@1.0.1
│   ├── set-blocking@2.0.0
│   ├─┬ string-width@2.1.1
│   │ ├── is-fullwidth-code-point@2.0.0
│   │ └─┬ strip-ansi@4.0.0
│   │   └── ansi-regex@3.0.0
│   ├── which-module@2.0.0
│   ├── y18n@3.2.1
│   └─┬ yargs-parser@8.1.0
│     └── camelcase@4.1.0
├─┬ tslint@5.8.0
│ ├─┬ babel-code-frame@6.26.0
│ │ ├─┬ chalk@1.1.3
│ │ │ ├── ansi-styles@2.2.1
│ │ │ ├─┬ has-ansi@2.0.0
│ │ │ │ └── ansi-regex@2.1.1
│ │ │ ├── strip-ansi@3.0.1
│ │ │ └── supports-color@2.0.0
│ │ ├── esutils@2.0.2
│ │ └── js-tokens@3.0.2
│ ├── builtin-modules@1.1.1
│ ├─┬ chalk@2.3.2
│ │ ├─┬ ansi-styles@3.2.1
│ │ │ └─┬ color-convert@1.9.1
│ │ │   └── color-name@1.1.3
│ │ └─┬ supports-color@5.3.0
│ │   └── has-flag@3.0.0
│ ├── commander@2.15.0
│ ├── diff@3.5.0
│ ├─┬ resolve@1.5.0
│ │ └── path-parse@1.0.5
│ ├── tslib@1.9.0
│ └── tsutils@2.22.2
├── typescript@2.6.2
└── tz-lookup@6.1.3

Also, i'm still on npm v4.2.0 so there is no package lock etc. I think @dazip is right, since Jest is pulling 1.3.0 of istanbul-reports coverage has been broken.

felangel commented Mar 10, 2018

@bcoe I have tried installing multiple times and it seems to have no effect. My dependency tree is:

vea-service@0.0.0 /Users/qtb9604/vea-server
├── @bmw/attribute-api@0.0.1-15
├── @bmw/http@0.0.1-15
├── @bmw/notification-api@0.0.1-15
├── @types/body-parser@1.16.8
├── @types/dotenv@2.0.23
├─┬ @types/express@4.11.0
│ ├─┬ @types/express-serve-static-core@4.11.1
│ │ └── @types/events@1.2.0
│ └─┬ @types/serve-static@1.13.1
│   └── @types/mime@2.0.0
├── @types/jest@21.1.8
├── @types/lodash@4.14.91
├── @types/moment-timezone@0.5.3
├── @types/morgan@1.7.35
├── @types/nock@9.1.2
├── @types/node@7.0.51
├─┬ @types/request@0.0.45
│ ├─┬ @types/form-data@2.2.1
│ │ └── @types/node@9.4.7
│ └── @types/node@9.4.7
├─┬ @types/supertest@2.0.4
│ └── @types/superagent@3.5.7
├─┬ applicationinsights@1.0.1
│ ├── diagnostic-channel@0.2.0
│ ├── diagnostic-channel-publishers@0.2.1
│ └── zone.js@0.7.6
├─┬ body-parser@1.18.2
│ ├── bytes@3.0.0
│ ├── content-type@1.0.4
│ ├─┬ debug@2.6.9
│ │ └── ms@2.0.0
│ ├── depd@1.1.2
│ ├─┬ http-errors@1.6.2
│ │ ├── depd@1.1.1
│ │ ├── inherits@2.0.3
│ │ ├── setprototypeof@1.0.3
│ │ └── statuses@1.4.0
│ ├── iconv-lite@0.4.19
│ ├─┬ on-finished@2.3.0
│ │ └── ee-first@1.1.1
│ ├── qs@6.5.1
│ ├─┬ raw-body@2.3.2
│ │ └── unpipe@1.0.0
│ └─┬ type-is@1.6.16
│   └── media-typer@0.3.0
├─┬ concurrently@3.5.1
│ ├─┬ chalk@0.5.1
│ │ ├── ansi-styles@1.1.0
│ │ ├── escape-string-regexp@1.0.5
│ │ ├─┬ has-ansi@0.1.0
│ │ │ └── ansi-regex@0.2.1
│ │ ├── strip-ansi@0.3.0
│ │ └── supports-color@0.2.0
│ ├── commander@2.6.0
│ ├── date-fns@1.29.0
│ ├── rx@2.3.24
│ ├── spawn-command@0.0.2-1
│ ├─┬ supports-color@3.2.3
│ │ └── has-flag@1.0.0
│ └── tree-kill@1.2.0
├── dotenv@4.0.0
├─┬ express@4.16.2
│ ├─┬ accepts@1.3.5
│ │ └── negotiator@0.6.1
│ ├── array-flatten@1.1.1
│ ├── content-disposition@0.5.2
│ ├── cookie@0.3.1
│ ├── cookie-signature@1.0.6
│ ├── encodeurl@1.0.2
│ ├── escape-html@1.0.3
│ ├── etag@1.8.1
│ ├─┬ finalhandler@1.1.0
│ │ └── statuses@1.3.1
│ ├── fresh@0.5.2
│ ├── merge-descriptors@1.0.1
│ ├── methods@1.1.2
│ ├── parseurl@1.3.2
│ ├── path-to-regexp@0.1.7
│ ├─┬ proxy-addr@2.0.3
│ │ ├── forwarded@0.1.2
│ │ └── ipaddr.js@1.6.0
│ ├── range-parser@1.2.0
│ ├── safe-buffer@5.1.1
│ ├─┬ send@0.16.1
│ │ ├── destroy@1.0.4
│ │ ├── mime@1.4.1
│ │ └── statuses@1.3.1
│ ├── serve-static@1.13.1
│ ├── setprototypeof@1.1.0
│ ├── statuses@1.3.1
│ ├── utils-merge@1.0.1
│ └── vary@1.1.2
├── express-https-redirect@1.0.0
├─┬ jest@22.4.2
│ ├─┬ import-local@1.0.0
│ │ └─┬ resolve-cwd@2.0.0
│ │   └── resolve-from@3.0.0
│ └─┬ jest-cli@22.4.2
│   ├── ansi-escapes@3.0.0
│   ├─┬ chalk@2.3.2
│   │ ├── ansi-styles@3.2.1
│   │ └─┬ supports-color@5.3.0
│   │   └── has-flag@3.0.0
│   ├── exit@0.1.2
│   ├── graceful-fs@4.1.11
│   ├─┬ is-ci@1.1.0
│   │ └── ci-info@1.1.2
│   ├─┬ istanbul-api@1.3.1
│   │ ├── async@2.6.0
│   │ ├── compare-versions@3.1.0
│   │ ├── fileset@2.0.3
│   │ ├── istanbul-lib-coverage@1.2.0
│   │ ├─┬ istanbul-lib-hook@1.2.0
│   │ │ └─┬ append-transform@0.4.0
│   │ │   └─┬ default-require-extensions@1.0.0
│   │ │     └─┬ strip-bom@2.0.0
│   │ │       └── is-utf8@0.2.1
│   │ ├─┬ istanbul-lib-report@1.1.4
│   │ │ └── istanbul-lib-coverage@1.2.0
│   │ ├─┬ istanbul-lib-source-maps@1.2.4
│   │ │ └── debug@3.1.0
│   │ ├─┬ istanbul-reports@1.3.0
│   │ │ └─┬ handlebars@4.0.11
│   │ │   ├── async@1.5.2
│   │ │   ├─┬ optimist@0.6.1
│   │ │   │ └── wordwrap@0.0.3
│   │ │   ├─┬ source-map@0.4.4
│   │ │   │ └── amdefine@1.0.1
│   │ │   └─┬ uglify-js@2.8.29
│   │ │     ├── uglify-to-browserify@1.0.2
│   │ │     └─┬ yargs@3.10.0
│   │ │       ├── camelcase@1.2.1
│   │ │       ├─┬ cliui@2.1.0
│   │ │       │ ├─┬ center-align@0.1.3
│   │ │       │ │ ├─┬ align-text@0.1.4
│   │ │       │ │ │ └── longest@1.0.1
│   │ │       │ │ └── lazy-cache@1.0.4
│   │ │       │ ├── right-align@0.1.3
│   │ │       │ └── wordwrap@0.0.2
│   │ │       └── window-size@0.1.0
│   │ └─┬ js-yaml@3.11.0
│   │   ├─┬ argparse@1.0.10
│   │   │ └── sprintf-js@1.0.3
│   │   └── esprima@4.0.0
│   ├── istanbul-lib-coverage@1.1.2
│   ├─┬ istanbul-lib-instrument@1.10.1
│   │ └── istanbul-lib-coverage@1.2.0
│   ├─┬ istanbul-lib-source-maps@1.2.3
│   │ └── debug@3.1.0
│   ├─┬ jest-changed-files@22.2.0
│   │ └── throat@4.1.0
│   ├─┬ jest-config@22.4.2
│   │ ├─┬ chalk@2.3.2
│   │ │ ├── ansi-styles@3.2.1
│   │ │ └─┬ supports-color@5.3.0
│   │ │   └── has-flag@3.0.0
│   │ ├── jest-environment-node@22.4.1
│   │ ├─┬ jest-jasmine2@22.4.2
│   │ │ ├─┬ chalk@2.3.2
│   │ │ │ ├── ansi-styles@3.2.1
│   │ │ │ └─┬ supports-color@5.3.0
│   │ │ │   └── has-flag@3.0.0
│   │ │ ├─┬ expect@22.4.0
│   │ │ │ └── ansi-styles@3.2.1
│   │ │ └── is-generator-fn@1.0.0
│   │ ├─┬ jest-resolve@22.4.2
│   │ │ └─┬ chalk@2.3.2
│   │ │   ├── ansi-styles@3.2.1
│   │ │   └─┬ supports-color@5.3.0
│   │ │     └── has-flag@3.0.0
│   │ └─┬ pretty-format@22.4.0
│   │   ├── ansi-regex@3.0.0
│   │   └── ansi-styles@3.2.1
│   ├─┬ jest-environment-jsdom@22.4.1
│   │ ├── jest-mock@22.2.0
│   │ └─┬ jsdom@11.6.2
│   │   ├── abab@1.0.4
│   │   ├── acorn@5.5.3
│   │   ├── acorn-globals@4.1.0
│   │   ├── array-equal@1.0.0
│   │   ├── browser-process-hrtime@0.1.2
│   │   ├── content-type-parser@1.0.2
│   │   ├── cssom@0.3.2
│   │   ├── cssstyle@0.2.37
│   │   ├── domexception@1.0.1
│   │   ├─┬ escodegen@1.9.1
│   │   │ ├── esprima@3.1.3
│   │   │ ├── estraverse@4.2.0
│   │   │ ├─┬ optionator@0.8.2
│   │   │ │ ├── deep-is@0.1.3
│   │   │ │ ├── fast-levenshtein@2.0.6
│   │   │ │ ├── levn@0.3.0
│   │   │ │ ├── prelude-ls@1.1.2
│   │   │ │ ├── type-check@0.3.2
│   │   │ │ └── wordwrap@1.0.0
│   │   │ └── source-map@0.6.1
│   │   ├── html-encoding-sniffer@1.0.2
│   │   ├── left-pad@1.2.0
│   │   ├── nwmatcher@1.4.3
│   │   ├── parse5@4.0.0
│   │   ├── pn@1.1.0
│   │   ├─┬ request-promise-native@1.0.5
│   │   │ ├── request-promise-core@1.1.1
│   │   │ └── stealthy-require@1.1.1
│   │   ├── sax@1.2.4
│   │   ├── symbol-tree@3.2.2
│   │   ├── w3c-hr-time@1.0.1
│   │   ├── webidl-conversions@4.0.2
│   │   ├── whatwg-encoding@1.0.3
│   │   ├─┬ whatwg-url@6.4.0
│   │   │ ├── lodash.sortby@4.7.0
│   │   │ └─┬ tr46@1.0.1
│   │   │   └── punycode@2.1.0
│   │   ├─┬ ws@4.1.0
│   │   │ └── async-limiter@1.0.0
│   │   └── xml-name-validator@3.0.0
│   ├── jest-get-type@22.1.0
│   ├─┬ jest-haste-map@22.4.2
│   │ ├─┬ fb-watchman@2.0.0
│   │ │ └─┬ bser@2.0.0
│   │ │   └── node-int64@0.4.0
│   │ ├─┬ jest-docblock@22.4.0
│   │ │ └── detect-newline@2.1.0
│   │ ├── jest-serializer@22.4.0
│   │ └─┬ sane@2.4.1
│   │   ├─┬ exec-sh@0.2.1
│   │   │ └── merge@1.2.0
│   │   ├── minimist@1.2.0
│   │   ├─┬ walker@1.0.7
│   │   │ └─┬ makeerror@1.0.11
│   │   │   └── tmpl@1.0.4
│   │   └─┬ watch@0.18.0
│   │     └── minimist@1.2.0
│   ├─┬ jest-message-util@22.4.0
│   │ ├─┬ @babel/code-frame@7.0.0-beta.40
│   │ │ └─┬ @babel/highlight@7.0.0-beta.40
│   │ │   └─┬ chalk@2.3.2
│   │ │     ├── ansi-styles@3.2.1
│   │ │     └─┬ supports-color@5.3.0
│   │ │       └── has-flag@3.0.0
│   │ ├─┬ chalk@2.3.2
│   │ │ ├── ansi-styles@3.2.1
│   │ │ └─┬ supports-color@5.3.0
│   │ │   └── has-flag@3.0.0
│   │ └── stack-utils@1.0.1
│   ├── jest-regex-util@22.1.0
│   ├── jest-resolve-dependencies@22.1.0
│   ├─┬ jest-runner@22.4.2
│   │ └── jest-leak-detector@22.4.0
│   ├─┬ jest-runtime@22.4.2
│   │ ├─┬ babel-jest@22.4.1
│   │ │ └─┬ babel-preset-jest@22.4.1
│   │ │   └── babel-plugin-jest-hoist@22.4.1
│   │ ├─┬ chalk@2.3.2
│   │ │ ├── ansi-styles@3.2.1
│   │ │ └─┬ supports-color@5.3.0
│   │ │   └── has-flag@3.0.0
│   │ ├── json-stable-stringify@1.0.1
│   │ ├── strip-bom@3.0.0
│   │ └─┬ write-file-atomic@2.3.0
│   │   ├── imurmurhash@0.1.4
│   │   └── signal-exit@3.0.2
│   ├─┬ jest-snapshot@22.4.0
│   │ ├─┬ chalk@2.3.2
│   │ │ ├── ansi-styles@3.2.1
│   │ │ └─┬ supports-color@5.3.0
│   │ │   └── has-flag@3.0.0
│   │ ├─┬ jest-diff@22.4.0
│   │ │ └─┬ chalk@2.3.2
│   │ │   ├── ansi-styles@3.2.1
│   │ │   └─┬ supports-color@5.3.0
│   │ │     └── has-flag@3.0.0
│   │ ├─┬ jest-matcher-utils@22.4.0
│   │ │ └─┬ chalk@2.3.2
│   │ │   ├── ansi-styles@3.2.1
│   │ │   └─┬ supports-color@5.3.0
│   │ │     └── has-flag@3.0.0
│   │ └── natural-compare@1.4.0
│   ├─┬ jest-util@22.4.1
│   │ ├── callsites@2.0.0
│   │ ├─┬ chalk@2.3.2
│   │ │ ├── ansi-styles@3.2.1
│   │ │ └─┬ supports-color@5.3.0
│   │ │   └── has-flag@3.0.0
│   │ └── source-map@0.6.1
│   ├─┬ jest-validate@22.4.2
│   │ ├─┬ chalk@2.3.2
│   │ │ ├── ansi-styles@3.2.1
│   │ │ └─┬ supports-color@5.3.0
│   │ │   └── has-flag@3.0.0
│   │ └── leven@2.1.0
│   ├─┬ jest-worker@22.2.2
│   │ └── merge-stream@1.0.1
│   ├─┬ micromatch@2.3.11
│   │ ├─┬ arr-diff@2.0.0
│   │ │ └── arr-flatten@1.1.0
│   │ ├── array-unique@0.2.1
│   │ ├─┬ braces@1.8.5
│   │ │ ├─┬ expand-range@1.8.2
│   │ │ │ └─┬ fill-range@2.2.3
│   │ │ │   ├── is-number@2.1.0
│   │ │ │   ├── isobject@2.1.0
│   │ │ │   ├─┬ randomatic@1.1.7
│   │ │ │   │ ├─┬ is-number@3.0.0
│   │ │ │   │ │ └── kind-of@3.2.2
│   │ │ │   │ └── kind-of@4.0.0
│   │ │ │   └── repeat-string@1.6.1
│   │ │ ├── preserve@0.2.0
│   │ │ └── repeat-element@1.1.2
│   │ ├─┬ expand-brackets@0.1.5
│   │ │ └── is-posix-bracket@0.1.1
│   │ ├── extglob@0.3.2
│   │ ├── filename-regex@2.0.1
│   │ ├── is-extglob@1.0.0
│   │ ├─┬ kind-of@3.2.2
│   │ │ └── is-buffer@1.1.6
│   │ ├─┬ normalize-path@2.1.1
│   │ │ └── remove-trailing-separator@1.1.0
│   │ ├─┬ object.omit@2.0.1
│   │ │ ├─┬ for-own@0.1.5
│   │ │ │ └── for-in@1.0.2
│   │ │ └── is-extendable@0.1.1
│   │ ├─┬ parse-glob@3.0.4
│   │ │ ├── glob-base@0.3.0
│   │ │ └── is-dotfile@1.0.3
│   │ └─┬ regex-cache@0.4.4
│   │   └─┬ is-equal-shallow@0.1.3
│   │     └── is-primitive@2.0.0
│   ├─┬ node-notifier@5.2.1
│   │ ├── growly@1.3.0
│   │ └── shellwords@0.1.1
│   ├─┬ realpath-native@1.0.0
│   │ └─┬ util.promisify@1.0.0
│   │   ├─┬ define-properties@1.1.2
│   │   │ ├── foreach@2.0.5
│   │   │ └── object-keys@1.0.11
│   │   └─┬ object.getownpropertydescriptors@2.0.3
│   │     └─┬ es-abstract@1.10.0
│   │       ├─┬ es-to-primitive@1.1.1
│   │       │ ├── is-date-object@1.0.1
│   │       │ └── is-symbol@1.0.1
│   │       ├── function-bind@1.1.1
│   │       ├── has@1.0.1
│   │       ├── is-callable@1.1.3
│   │       └── is-regex@1.0.4
│   ├── slash@1.0.0
│   ├─┬ string-length@2.0.0
│   │ ├── astral-regex@1.0.0
│   │ └─┬ strip-ansi@4.0.0
│   │   └── ansi-regex@3.0.0
│   ├─┬ strip-ansi@4.0.0
│   │ └── ansi-regex@3.0.0
│   └─┬ which@1.3.0
│     └── isexe@2.0.0
├─┬ locale-manager@1.2.6
│ ├─┬ glob@7.1.2
│ │ ├── fs.realpath@1.0.0
│ │ ├─┬ inflight@1.0.6
│ │ │ └── wrappy@1.0.2
│ │ ├── once@1.4.0
│ │ └── path-is-absolute@1.0.1
│ └─┬ path@0.12.7
│   ├── process@0.11.10
│   └─┬ util@0.10.3
│     └── inherits@2.0.1
├── lodash@4.17.4
├── moment@2.20.1
├── moment-duration-format@2.2.1
├── moment-timezone@0.5.14
├─┬ morgan@1.9.0
│ ├── basic-auth@2.0.0
│ └── on-headers@1.0.1
├─┬ nock@9.1.5
│ ├─┬ chai@3.5.0
│ │ ├── assertion-error@1.1.0
│ │ ├─┬ deep-eql@0.1.3
│ │ │ └── type-detect@0.1.1
│ │ └── type-detect@1.0.0
│ ├── deep-equal@1.0.1
│ ├── json-stringify-safe@5.0.1
│ ├─┬ mkdirp@0.5.1
│ │ └── minimist@0.0.8
│ ├── propagate@0.4.0
│ └── semver@5.5.0
├─┬ nodemon@1.14.3
│ ├─┬ chokidar@1.7.0
│ │ ├── anymatch@1.3.2
│ │ ├── async-each@1.0.1
│ │ ├─┬ fsevents@1.1.3
│ │ │ ├── nan@2.9.2
│ │ │ └─┬ node-pre-gyp@0.6.39
│ │ │   ├── detect-libc@1.0.2
│ │ │   ├─┬ hawk@3.1.3
│ │ │   │ ├── boom@2.10.1
│ │ │   │ ├── cryptiles@2.0.5
│ │ │   │ ├── hoek@2.16.3
│ │ │   │ └── sntp@1.0.9
│ │ │   ├─┬ mkdirp@0.5.1
│ │ │   │ └── minimist@0.0.8
│ │ │   ├─┬ nopt@4.0.1
│ │ │   │ ├── abbrev@1.1.0
│ │ │   │ └─┬ osenv@0.1.4
│ │ │   │   ├── os-homedir@1.0.2
│ │ │   │   └── os-tmpdir@1.0.2
│ │ │   ├─┬ npmlog@4.1.0
│ │ │   │ ├─┬ are-we-there-yet@1.1.4
│ │ │   │ │ └── delegates@1.0.0
│ │ │   │ ├── console-control-strings@1.1.0
│ │ │   │ ├─┬ gauge@2.7.4
│ │ │   │ │ ├── aproba@1.1.1
│ │ │   │ │ ├── has-unicode@2.0.1
│ │ │   │ │ ├── object-assign@4.1.1
│ │ │   │ │ ├── signal-exit@3.0.2
│ │ │   │ │ ├─┬ string-width@1.0.2
│ │ │   │ │ │ ├── code-point-at@1.1.0
│ │ │   │ │ │ └─┬ is-fullwidth-code-point@1.0.0
│ │ │   │ │ │   └── number-is-nan@1.0.1
│ │ │   │ │ ├─┬ strip-ansi@3.0.1
│ │ │   │ │ │ └── ansi-regex@2.1.1
│ │ │   │ │ └── wide-align@1.1.2
│ │ │   │ └── set-blocking@2.0.0
│ │ │   ├─┬ rc@1.2.1
│ │ │   │ ├── deep-extend@0.4.2
│ │ │   │ ├── ini@1.3.4
│ │ │   │ ├── minimist@1.2.0
│ │ │   │ └── strip-json-comments@2.0.1
│ │ │   ├─┬ request@2.81.0
│ │ │   │ ├── aws-sign2@0.6.0
│ │ │   │ ├── aws4@1.6.0
│ │ │   │ ├── caseless@0.12.0
│ │ │   │ ├─┬ combined-stream@1.0.5
│ │ │   │ │ └── delayed-stream@1.0.0
│ │ │   │ ├── extend@3.0.1
│ │ │   │ ├── forever-agent@0.6.1
│ │ │   │ ├─┬ form-data@2.1.4
│ │ │   │ │ └── asynckit@0.4.0
│ │ │   │ ├─┬ har-validator@4.2.1
│ │ │   │ │ ├─┬ ajv@4.11.8
│ │ │   │ │ │ ├── co@4.6.0
│ │ │   │ │ │ └─┬ json-stable-stringify@1.0.1
│ │ │   │ │ │   └── jsonify@0.0.0
│ │ │   │ │ └── har-schema@1.0.5
│ │ │   │ ├─┬ http-signature@1.1.1
│ │ │   │ │ ├── assert-plus@0.2.0
│ │ │   │ │ ├─┬ jsprim@1.4.0
│ │ │   │ │ │ ├── assert-plus@1.0.0
│ │ │   │ │ │ ├── extsprintf@1.0.2
│ │ │   │ │ │ ├── json-schema@0.2.3
│ │ │   │ │ │ └── verror@1.3.6
│ │ │   │ │ └─┬ sshpk@1.13.0
│ │ │   │ │   ├── asn1@0.2.3
│ │ │   │ │   ├── assert-plus@1.0.0
│ │ │   │ │   ├── bcrypt-pbkdf@1.0.1
│ │ │   │ │   ├─┬ dashdash@1.14.1
│ │ │   │ │   │ └── assert-plus@1.0.0
│ │ │   │ │   ├── ecc-jsbn@0.1.1
│ │ │   │ │   ├─┬ getpass@0.1.7
│ │ │   │ │   │ └── assert-plus@1.0.0
│ │ │   │ │   ├── jodid25519@1.0.2
│ │ │   │ │   ├── jsbn@0.1.1
│ │ │   │ │   └── tweetnacl@0.14.5
│ │ │   │ ├── is-typedarray@1.0.0
│ │ │   │ ├── isstream@0.1.2
│ │ │   │ ├── json-stringify-safe@5.0.1
│ │ │   │ ├─┬ mime-types@2.1.15
│ │ │   │ │ └── mime-db@1.27.0
│ │ │   │ ├── oauth-sign@0.8.2
│ │ │   │ ├── performance-now@0.2.0
│ │ │   │ ├── qs@6.4.0
│ │ │   │ ├── safe-buffer@5.0.1
│ │ │   │ ├── stringstream@0.0.5
│ │ │   │ ├─┬ tough-cookie@2.3.2
│ │ │   │ │ └── punycode@1.4.1
│ │ │   │ ├── tunnel-agent@0.6.0
│ │ │   │ └── uuid@3.0.1
│ │ │   ├─┬ rimraf@2.6.1
│ │ │   │ └─┬ glob@7.1.2
│ │ │   │   ├── fs.realpath@1.0.0
│ │ │   │   ├── inflight@1.0.6
│ │ │   │   ├─┬ minimatch@3.0.4
│ │ │   │   │ └─┬ brace-expansion@1.1.7
│ │ │   │   │   ├── balanced-match@0.4.2
│ │ │   │   │   └── concat-map@0.0.1
│ │ │   │   └── path-is-absolute@1.0.1
│ │ │   ├── semver@5.3.0
│ │ │   ├─┬ tar@2.2.1
│ │ │   │ ├── block-stream@0.0.9
│ │ │   │ ├─┬ fstream@1.0.11
│ │ │   │ │ └── graceful-fs@4.1.11
│ │ │   │ └── inherits@2.0.3
│ │ │   └─┬ tar-pack@3.4.0
│ │ │     ├─┬ debug@2.6.8
│ │ │     │ └── ms@2.0.0
│ │ │     ├── fstream-ignore@1.0.5
│ │ │     ├─┬ once@1.4.0
│ │ │     │ └── wrappy@1.0.2
│ │ │     ├─┬ readable-stream@2.2.9
│ │ │     │ ├── buffer-shims@1.0.0
│ │ │     │ ├── core-util-is@1.0.2
│ │ │     │ ├── isarray@1.0.0
│ │ │     │ ├── process-nextick-args@1.0.7
│ │ │     │ ├── string_decoder@1.0.1
│ │ │     │ └── util-deprecate@1.0.2
│ │ │     └── uid-number@0.0.6
│ │ ├── glob-parent@2.0.0
│ │ ├─┬ is-binary-path@1.0.1
│ │ │ └── binary-extensions@1.11.0
│ │ ├── is-glob@2.0.1
│ │ └─┬ readdirp@2.1.0
│ │   └── set-immediate-shim@1.0.1
│ ├── ignore-by-default@1.0.1
│ ├─┬ minimatch@3.0.4
│ │ └─┬ brace-expansion@1.1.11
│ │   ├── balanced-match@1.0.0
│ │   └── concat-map@0.0.1
│ ├─┬ pstree.remy@1.1.0
│ │ └─┬ ps-tree@1.1.0
│ │   └─┬ event-stream@3.3.4
│ │     ├── from@0.1.7
│ │     ├── map-stream@0.1.0
│ │     ├── pause-stream@0.0.11
│ │     ├── split@0.3.3
│ │     ├── stream-combiner@0.0.4
│ │     └── through@2.3.8
│ ├─┬ touch@3.1.0
│ │ └─┬ nopt@1.0.10
│ │   └── abbrev@1.1.1
│ ├── undefsafe@0.0.3
│ └─┬ update-notifier@2.3.0
│   ├─┬ boxen@1.3.0
│   │ ├── ansi-align@2.0.0
│   │ ├── camelcase@4.1.0
│   │ ├─┬ chalk@2.3.2
│   │ │ ├── ansi-styles@3.2.1
│   │ │ └─┬ supports-color@5.3.0
│   │ │   └── has-flag@3.0.0
│   │ ├── cli-boxes@1.0.0
│   │ ├── term-size@1.2.0
│   │ └── widest-line@2.0.0
│   ├─┬ chalk@2.3.2
│   │ ├── ansi-styles@3.2.1
│   │ └─┬ supports-color@5.3.0
│   │   └── has-flag@3.0.0
│   ├─┬ configstore@3.1.1
│   │ ├─┬ dot-prop@4.2.0
│   │ │ └── is-obj@1.0.1
│   │ ├─┬ make-dir@1.2.0
│   │ │ └── pify@3.0.0
│   │ └─┬ unique-string@1.0.0
│   │   └── crypto-random-string@1.0.0
│   ├── import-lazy@2.1.0
│   ├─┬ is-installed-globally@0.1.0
│   │ ├─┬ global-dirs@0.1.1
│   │ │ └── ini@1.3.5
│   │ └─┬ is-path-inside@1.0.1
│   │   └── path-is-inside@1.0.2
│   ├── is-npm@1.0.0
│   ├─┬ latest-version@3.1.0
│   │ └─┬ package-json@4.0.1
│   │   ├─┬ got@6.7.1
│   │   │ ├─┬ create-error-class@3.0.2
│   │   │ │ └── capture-stack-trace@1.0.0
│   │   │ ├── duplexer3@0.1.4
│   │   │ ├── is-redirect@1.0.0
│   │   │ ├── is-retry-allowed@1.1.0
│   │   │ ├── lowercase-keys@1.0.0
│   │   │ ├── timed-out@4.0.1
│   │   │ ├── unzip-response@2.0.1
│   │   │ └─┬ url-parse-lax@1.0.0
│   │   │   └── prepend-http@1.0.4
│   │   ├─┬ registry-auth-token@3.3.2
│   │   │ └─┬ rc@1.2.5
│   │   │   ├── deep-extend@0.4.2
│   │   │   ├── minimist@1.2.0
│   │   │   └── strip-json-comments@2.0.1
│   │   └── registry-url@3.1.0
│   ├── semver-diff@2.1.0
│   └── xdg-basedir@3.0.0
├── prettier@1.10.2
├─┬ request@2.83.0
│ ├── aws-sign2@0.7.0
│ ├── aws4@1.6.0
│ ├── caseless@0.12.0
│ ├─┬ combined-stream@1.0.6
│ │ └── delayed-stream@1.0.0
│ ├── extend@3.0.1
│ ├── forever-agent@0.6.1
│ ├─┬ form-data@2.3.2
│ │ └── asynckit@0.4.0
│ ├─┬ har-validator@5.0.3
│ │ ├─┬ ajv@5.5.2
│ │ │ ├── co@4.6.0
│ │ │ ├── fast-deep-equal@1.1.0
│ │ │ ├── fast-json-stable-stringify@2.0.0
│ │ │ └── json-schema-traverse@0.3.1
│ │ └── har-schema@2.0.0
│ ├─┬ hawk@6.0.2
│ │ ├── boom@4.3.1
│ │ ├─┬ cryptiles@3.1.2
│ │ │ └── boom@5.2.0
│ │ ├── hoek@4.2.1
│ │ └── sntp@2.1.0
│ ├─┬ http-signature@1.2.0
│ │ ├── assert-plus@1.0.0
│ │ ├─┬ jsprim@1.4.1
│ │ │ ├── extsprintf@1.3.0
│ │ │ ├── json-schema@0.2.3
│ │ │ └── verror@1.10.0
│ │ └─┬ sshpk@1.13.1
│ │   ├── asn1@0.2.3
│ │   ├── bcrypt-pbkdf@1.0.1
│ │   ├── dashdash@1.14.1
│ │   ├── ecc-jsbn@0.1.1
│ │   ├── getpass@0.1.7
│ │   ├── jsbn@0.1.1
│ │   └── tweetnacl@0.14.5
│ ├── is-typedarray@1.0.0
│ ├── isstream@0.1.2
│ ├─┬ mime-types@2.1.18
│ │ └── mime-db@1.33.0
│ ├── oauth-sign@0.8.2
│ ├── performance-now@2.1.0
│ ├── stringstream@0.0.5
│ ├─┬ tough-cookie@2.3.4
│ │ └── punycode@1.4.1
│ ├── tunnel-agent@0.6.0
│ └── uuid@3.2.1
├── rimraf@2.6.2
├─┬ shelljs@0.7.8
│ ├── interpret@1.1.0
│ └─┬ rechoir@0.6.2
│   └── resolve@1.1.7
├─┬ supertest@3.0.0
│ └─┬ superagent@3.8.2
│   ├── component-emitter@1.2.1
│   ├── cookiejar@2.1.1
│   ├── debug@3.1.0
│   ├── formidable@1.2.0
│   └─┬ readable-stream@2.3.5
│     ├── core-util-is@1.0.2
│     ├── isarray@1.0.0
│     ├── process-nextick-args@2.0.0
│     ├── string_decoder@1.0.3
│     └── util-deprecate@1.0.2
├─┬ ts-jest@21.2.4
│ ├─┬ babel-core@6.26.0
│ │ ├─┬ babel-generator@6.26.1
│ │ │ ├─┬ detect-indent@4.0.0
│ │ │ │ └─┬ repeating@2.0.1
│ │ │ │   └─┬ is-finite@1.0.2
│ │ │ │     └── number-is-nan@1.0.1
│ │ │ ├── jsesc@1.3.0
│ │ │ └── trim-right@1.0.1
│ │ ├── babel-helpers@6.24.1
│ │ ├── babel-messages@6.23.0
│ │ ├─┬ babel-register@6.26.0
│ │ │ ├── core-js@2.5.3
│ │ │ ├─┬ home-or-tmp@2.0.0
│ │ │ │ ├── os-homedir@1.0.2
│ │ │ │ └── os-tmpdir@1.0.2
│ │ │ └── source-map-support@0.4.18
│ │ ├─┬ babel-runtime@6.26.0
│ │ │ └── regenerator-runtime@0.11.1
│ │ ├── babel-template@6.26.0
│ │ ├─┬ babel-traverse@6.26.0
│ │ │ ├── globals@9.18.0
│ │ │ └─┬ invariant@2.2.3
│ │ │   └── loose-envify@1.3.1
│ │ ├─┬ babel-types@6.26.0
│ │ │ └── to-fast-properties@1.0.3
│ │ ├── babylon@6.18.0
│ │ ├── convert-source-map@1.5.1
│ │ ├── json5@0.5.1
│ │ ├── private@0.1.8
│ │ └── source-map@0.5.7
│ ├─┬ babel-plugin-istanbul@4.1.5
│ │ ├─┬ find-up@2.1.0
│ │ │ └─┬ locate-path@2.0.0
│ │ │   ├─┬ p-locate@2.0.0
│ │ │   │ └─┬ p-limit@1.2.0
│ │ │   │   └── p-try@1.0.0
│ │ │   └── path-exists@3.0.0
│ │ └─┬ test-exclude@4.2.1
│ │   ├── arrify@1.0.1
│ │   ├─┬ micromatch@3.1.9
│ │   │ ├── arr-diff@4.0.0
│ │   │ ├── array-unique@0.3.2
│ │   │ ├─┬ braces@2.3.1
│ │   │ │ ├── define-property@1.0.0
│ │   │ │ ├── extend-shallow@2.0.1
│ │   │ │ ├─┬ fill-range@4.0.0
│ │   │ │ │ ├── extend-shallow@2.0.1
│ │   │ │ │ ├─┬ is-number@3.0.0
│ │   │ │ │ │ └── kind-of@3.2.2
│ │   │ │ │ └─┬ to-regex-range@2.1.1
│ │   │ │ │   └── is-number@3.0.0
│ │   │ │ ├── isobject@3.0.1
│ │   │ │ ├─┬ snapdragon-node@2.1.1
│ │   │ │ │ ├── define-property@1.0.0
│ │   │ │ │ ├── isobject@3.0.1
│ │   │ │ │ └── snapdragon-util@3.0.1
│ │   │ │ └── split-string@3.1.0
│ │   │ ├─┬ define-property@2.0.2
│ │   │ │ ├─┬ is-descriptor@1.0.2
│ │   │ │ │ ├─┬ is-accessor-descriptor@1.0.0
│ │   │ │ │ │ └── kind-of@6.0.2
│ │   │ │ │ ├─┬ is-data-descriptor@1.0.0
│ │   │ │ │ │ └── kind-of@6.0.2
│ │   │ │ │ └── kind-of@6.0.2
│ │   │ │ └── isobject@3.0.1
│ │   │ ├─┬ extend-shallow@3.0.2
│ │   │ │ ├── assign-symbols@1.0.0
│ │   │ │ └─┬ is-extendable@1.0.1
│ │   │ │   └─┬ is-plain-object@2.0.4
│ │   │ │     └── isobject@3.0.1
│ │   │ ├─┬ extglob@2.0.4
│ │   │ │ ├── define-property@1.0.0
│ │   │ │ ├─┬ expand-brackets@2.1.4
│ │   │ │ │ ├─┬ define-property@0.2.5
│ │   │ │ │ │ └─┬ is-descriptor@0.1.6
│ │   │ │ │ │   ├─┬ is-accessor-descriptor@0.1.6
│ │   │ │ │ │   │ └── kind-of@3.2.2
│ │   │ │ │ │   ├─┬ is-data-descriptor@0.1.4
│ │   │ │ │ │   │ └── kind-of@3.2.2
│ │   │ │ │ │   └── kind-of@5.1.0
│ │   │ │ │ ├── extend-shallow@2.0.1
│ │   │ │ │ └── posix-character-classes@0.1.1
│ │   │ │ └── extend-shallow@2.0.1
│ │   │ ├─┬ fragment-cache@0.2.1
│ │   │ │ └── map-cache@0.2.2
│ │   │ ├── kind-of@6.0.2
│ │   │ ├─┬ nanomatch@1.2.9
│ │   │ │ ├── arr-diff@4.0.0
│ │   │ │ ├── array-unique@0.3.2
│ │   │ │ ├─┬ is-odd@2.0.0
│ │   │ │ │ └── is-number@4.0.0
│ │   │ │ ├── is-windows@1.0.2
│ │   │ │ └── kind-of@6.0.2
│ │   │ ├─┬ object.pick@1.3.0
│ │   │ │ └── isobject@3.0.1
│ │   │ ├─┬ regex-not@1.0.2
│ │   │ │ └─┬ safe-regex@1.1.0
│ │   │ │   └── ret@0.1.15
│ │   │ ├─┬ snapdragon@0.8.1
│ │   │ │ ├─┬ base@0.11.2
│ │   │ │ │ ├─┬ cache-base@1.0.1
│ │   │ │ │ │ ├─┬ collection-visit@1.0.0
│ │   │ │ │ │ │ ├── map-visit@1.0.0
│ │   │ │ │ │ │ └─┬ object-visit@1.0.1
│ │   │ │ │ │ │   └── isobject@3.0.1
│ │   │ │ │ │ ├── get-value@2.0.6
│ │   │ │ │ │ ├─┬ has-value@1.0.0
│ │   │ │ │ │ │ ├─┬ has-values@1.0.0
│ │   │ │ │ │ │ │ ├─┬ is-number@3.0.0
│ │   │ │ │ │ │ │ │ └── kind-of@3.2.2
│ │   │ │ │ │ │ │ └── kind-of@4.0.0
│ │   │ │ │ │ │ └── isobject@3.0.1
│ │   │ │ │ │ ├── isobject@3.0.1
│ │   │ │ │ │ ├─┬ set-value@2.0.0
│ │   │ │ │ │ │ └── extend-shallow@2.0.1
│ │   │ │ │ │ ├── to-object-path@0.3.0
│ │   │ │ │ │ ├─┬ union-value@1.0.0
│ │   │ │ │ │ │ └─┬ set-value@0.4.3
│ │   │ │ │ │ │   └── extend-shallow@2.0.1
│ │   │ │ │ │ └─┬ unset-value@1.0.0
│ │   │ │ │ │   ├─┬ has-value@0.3.1
│ │   │ │ │ │   │ ├── has-values@0.1.4
│ │   │ │ │ │   │ └── isobject@2.1.0
│ │   │ │ │ │   └── isobject@3.0.1
│ │   │ │ │ ├─┬ class-utils@0.3.6
│ │   │ │ │ │ ├── arr-union@3.1.0
│ │   │ │ │ │ ├─┬ define-property@0.2.5
│ │   │ │ │ │ │ └─┬ is-descriptor@0.1.6
│ │   │ │ │ │ │   ├─┬ is-accessor-descriptor@0.1.6
│ │   │ │ │ │ │   │ └── kind-of@3.2.2
│ │   │ │ │ │ │   ├─┬ is-data-descriptor@0.1.4
│ │   │ │ │ │ │   │ └── kind-of@3.2.2
│ │   │ │ │ │ │   └── kind-of@5.1.0
│ │   │ │ │ │ ├── isobject@3.0.1
│ │   │ │ │ │ └─┬ static-extend@0.1.2
│ │   │ │ │ │   ├─┬ define-property@0.2.5
│ │   │ │ │ │   │ └─┬ is-descriptor@0.1.6
│ │   │ │ │ │   │   ├─┬ is-accessor-descriptor@0.1.6
│ │   │ │ │ │   │   │ └── kind-of@3.2.2
│ │   │ │ │ │   │   ├─┬ is-data-descriptor@0.1.4
│ │   │ │ │ │   │   │ └── kind-of@3.2.2
│ │   │ │ │ │   │   └── kind-of@5.1.0
│ │   │ │ │ │   └─┬ object-copy@0.1.0
│ │   │ │ │ │     ├── copy-descriptor@0.1.1
│ │   │ │ │ │     └─┬ define-property@0.2.5
│ │   │ │ │ │       └─┬ is-descriptor@0.1.6
│ │   │ │ │ │         ├── is-accessor-descriptor@0.1.6
│ │   │ │ │ │         ├── is-data-descriptor@0.1.4
│ │   │ │ │ │         └── kind-of@5.1.0
│ │   │ │ │ ├── define-property@1.0.0
│ │   │ │ │ ├── isobject@3.0.1
│ │   │ │ │ ├─┬ mixin-deep@1.3.1
│ │   │ │ │ │ └── is-extendable@1.0.1
│ │   │ │ │ └── pascalcase@0.1.1
│ │   │ │ ├─┬ define-property@0.2.5
│ │   │ │ │ └─┬ is-descriptor@0.1.6
│ │   │ │ │   ├─┬ is-accessor-descriptor@0.1.6
│ │   │ │ │   │ └── kind-of@3.2.2
│ │   │ │ │   ├─┬ is-data-descriptor@0.1.4
│ │   │ │ │   │ └── kind-of@3.2.2
│ │   │ │ │   └── kind-of@5.1.0
│ │   │ │ ├── extend-shallow@2.0.1
│ │   │ │ ├─┬ source-map-resolve@0.5.1
│ │   │ │ │ ├── atob@2.0.3
│ │   │ │ │ ├── decode-uri-component@0.2.0
│ │   │ │ │ ├── resolve-url@0.2.1
│ │   │ │ │ ├── source-map-url@0.4.0
│ │   │ │ │ └── urix@0.1.0
│ │   │ │ └─┬ use@2.0.2
│ │   │ │   ├─┬ define-property@0.2.5
│ │   │ │   │ └─┬ is-descriptor@0.1.6
│ │   │ │   │   ├─┬ is-accessor-descriptor@0.1.6
│ │   │ │   │   │ └── kind-of@3.2.2
│ │   │ │   │   ├─┬ is-data-descriptor@0.1.4
│ │   │ │   │   │ └── kind-of@3.2.2
│ │   │ │   │   └── kind-of@5.1.0
│ │   │ │   ├── isobject@3.0.1
│ │   │ │   └─┬ lazy-cache@2.0.2
│ │   │ │     └── set-getter@0.1.0
│ │   │ └── to-regex@3.0.2
│ │   ├── object-assign@4.1.1
│ │   └─┬ read-pkg-up@1.0.1
│ │     ├─┬ find-up@1.1.2
│ │     │ ├── path-exists@2.1.0
│ │     │ └─┬ pinkie-promise@2.0.1
│ │     │   └── pinkie@2.0.4
│ │     └─┬ read-pkg@1.1.0
│ │       ├─┬ load-json-file@1.1.0
│ │       │ ├─┬ parse-json@2.2.0
│ │       │ │ └─┬ error-ex@1.3.1
│ │       │ │   └── is-arrayish@0.2.1
│ │       │ └── pify@2.3.0
│ │       ├─┬ normalize-package-data@2.4.0
│ │       │ ├── hosted-git-info@2.6.0
│ │       │ └─┬ validate-npm-package-license@3.0.3
│ │       │   ├─┬ spdx-correct@3.0.0
│ │       │   │ └── spdx-license-ids@3.0.0
│ │       │   └─┬ spdx-expression-parse@3.0.0
│ │       │     └── spdx-exceptions@2.1.0
│ │       └── path-type@1.1.0
│ ├─┬ babel-plugin-transform-es2015-modules-commonjs@6.26.0
│ │ └── babel-plugin-transform-strict-mode@6.24.1
│ ├─┬ babel-preset-jest@21.2.0
│ │ ├── babel-plugin-jest-hoist@21.2.0
│ │ └── babel-plugin-syntax-object-rest-spread@6.13.0
│ ├─┬ cpx@1.5.0
│ │ ├── duplexer@0.1.1
│ │ ├─┬ glob2base@0.0.12
│ │ │ └── find-index@0.1.1
│ │ ├─┬ shell-quote@1.6.1
│ │ │ ├── array-filter@0.0.1
│ │ │ ├── array-map@0.0.0
│ │ │ ├── array-reduce@0.0.0
│ │ │ └── jsonify@0.0.0
│ │ └─┬ subarg@1.0.0
│ │   └── minimist@1.2.0
│ ├─┬ fs-extra@4.0.3
│ │ ├── jsonfile@4.0.0
│ │ └── universalify@0.1.1
│ ├─┬ jest-config@21.2.1
│ │ ├─┬ chalk@2.3.2
│ │ │ ├── ansi-styles@3.2.1
│ │ │ └─┬ supports-color@5.3.0
│ │ │   └── has-flag@3.0.0
│ │ ├─┬ jest-environment-jsdom@21.2.1
│ │ │ ├── jest-mock@21.2.0
│ │ │ └─┬ jsdom@9.12.0
│ │ │   ├── acorn@4.0.13
│ │ │   ├── acorn-globals@3.1.0
│ │ │   ├── parse5@1.5.1
│ │ │   ├─┬ whatwg-url@4.8.0
│ │ │   │ ├── tr46@0.0.3
│ │ │   │ └── webidl-conversions@3.0.1
│ │ │   └── xml-name-validator@2.0.1
│ │ ├── jest-environment-node@21.2.1
│ │ ├── jest-get-type@21.2.0
│ │ ├─┬ jest-jasmine2@21.2.1
│ │ │ ├── expect@21.2.1
│ │ │ ├── jest-diff@21.2.1
│ │ │ ├── jest-matcher-utils@21.2.1
│ │ │ ├── jest-message-util@21.2.1
│ │ │ ├── jest-snapshot@21.2.1
│ │ │ └── p-cancelable@0.3.0
│ │ ├── jest-regex-util@21.2.0
│ │ ├─┬ jest-resolve@21.2.0
│ │ │ ├── browser-resolve@1.11.2
│ │ │ └── is-builtin-module@1.0.0
│ │ ├── jest-util@21.2.1
│ │ ├── jest-validate@21.2.1
│ │ └─┬ pretty-format@21.2.1
│ │   └── ansi-regex@3.0.0
│ ├── pkg-dir@2.0.0
│ ├─┬ source-map-support@0.5.3
│ │ └── source-map@0.6.1
│ └─┬ yargs@10.1.2
│   ├─┬ cliui@4.0.0
│   │ ├─┬ strip-ansi@4.0.0
│   │ │ └── ansi-regex@3.0.0
│   │ └─┬ wrap-ansi@2.1.0
│   │   ├─┬ string-width@1.0.2
│   │   │ ├── code-point-at@1.1.0
│   │   │ └── is-fullwidth-code-point@1.0.0
│   │   └─┬ strip-ansi@3.0.1
│   │     └── ansi-regex@2.1.1
│   ├── decamelize@1.2.0
│   ├── get-caller-file@1.0.2
│   ├─┬ os-locale@2.1.0
│   │ ├─┬ execa@0.7.0
│   │ │ ├─┬ cross-spawn@5.1.0
│   │ │ │ ├─┬ lru-cache@4.1.2
│   │ │ │ │ ├── pseudomap@1.0.2
│   │ │ │ │ └── yallist@2.1.2
│   │ │ │ └─┬ shebang-command@1.2.0
│   │ │ │   └── shebang-regex@1.0.0
│   │ │ ├── get-stream@3.0.0
│   │ │ ├── is-stream@1.1.0
│   │ │ ├─┬ npm-run-path@2.0.2
│   │ │ │ └── path-key@2.0.1
│   │ │ ├── p-finally@1.0.0
│   │ │ └── strip-eof@1.0.0
│   │ ├─┬ lcid@1.0.0
│   │ │ └── invert-kv@1.0.0
│   │ └─┬ mem@1.1.0
│   │   └── mimic-fn@1.2.0
│   ├── require-directory@2.1.1
│   ├── require-main-filename@1.0.1
│   ├── set-blocking@2.0.0
│   ├─┬ string-width@2.1.1
│   │ ├── is-fullwidth-code-point@2.0.0
│   │ └─┬ strip-ansi@4.0.0
│   │   └── ansi-regex@3.0.0
│   ├── which-module@2.0.0
│   ├── y18n@3.2.1
│   └─┬ yargs-parser@8.1.0
│     └── camelcase@4.1.0
├─┬ tslint@5.8.0
│ ├─┬ babel-code-frame@6.26.0
│ │ ├─┬ chalk@1.1.3
│ │ │ ├── ansi-styles@2.2.1
│ │ │ ├─┬ has-ansi@2.0.0
│ │ │ │ └── ansi-regex@2.1.1
│ │ │ ├── strip-ansi@3.0.1
│ │ │ └── supports-color@2.0.0
│ │ ├── esutils@2.0.2
│ │ └── js-tokens@3.0.2
│ ├── builtin-modules@1.1.1
│ ├─┬ chalk@2.3.2
│ │ ├─┬ ansi-styles@3.2.1
│ │ │ └─┬ color-convert@1.9.1
│ │ │   └── color-name@1.1.3
│ │ └─┬ supports-color@5.3.0
│ │   └── has-flag@3.0.0
│ ├── commander@2.15.0
│ ├── diff@3.5.0
│ ├─┬ resolve@1.5.0
│ │ └── path-parse@1.0.5
│ ├── tslib@1.9.0
│ └── tsutils@2.22.2
├── typescript@2.6.2
└── tz-lookup@6.1.3

Also, i'm still on npm v4.2.0 so there is no package lock etc. I think @dazip is right, since Jest is pulling 1.3.0 of istanbul-reports coverage has been broken.

@VtoCorleone

This comment has been minimized.

Show comment
Hide comment
@VtoCorleone

VtoCorleone Mar 10, 2018

@bcoe suggestion worked for me. I initially just updated the package.json to get the latest version of jest and that's when I got the error listed by the OP. I uninstalled and then reinstalled jest and it worked. Thanks @bcoe.

VtoCorleone commented Mar 10, 2018

@bcoe suggestion worked for me. I initially just updated the package.json to get the latest version of jest and that's when I got the error listed by the OP. I uninstalled and then reinstalled jest and it worked. Thanks @bcoe.

@felangel

This comment has been minimized.

Show comment
Hide comment
@felangel

felangel Mar 10, 2018

It worked for me as well now. Not sure what was going on before...thanks!

felangel commented Mar 10, 2018

It worked for me as well now. Not sure what was going on before...thanks!

@felangel felangel closed this Mar 10, 2018

@SimenB

This comment has been minimized.

Show comment
Hide comment
@SimenB

SimenB Mar 10, 2018

Collaborator

PR welcome to bump Jests dependencies to make sure we get the correct versions

Collaborator

SimenB commented Mar 10, 2018

PR welcome to bump Jests dependencies to make sure we get the correct versions

@bambielli

This comment has been minimized.

Show comment
Hide comment
@bambielli

bambielli Mar 12, 2018

Contributor

I am running in to this issue as well. Upgrading to the latest version of jest does not appear to help.

        Failed to write coverage reports:
        ERROR: TypeError: metrics.isEmpty is not a function
        STACK: TypeError: metrics.isEmpty is not a function
    at tableRow (/node_modules/istanbul-reports/lib/text/index.js:133:27)
    at TextReport.onSummary (/node_modules/istanbul-reports/lib/text/index.js:188:15)
    at TextReport.onDetail (/node_modules/istanbul-reports/lib/text/index.js:193:17)
    at Visitor.(anonymous function) [as onDetail] (/node_modules/istanbul-lib-report/lib/tree.js:34:30)
    at ReportNode.Node.visit (/node_modules/istanbul-lib-report/lib/tree.js:123:17)
    at /node_modules/istanbul-lib-report/lib/tree.js:116:23
    at Array.forEach (<anonymous>)
    at visitChildren (/node_modules/istanbul-lib-report/lib/tree.js:115:32)
    at ReportNode.Node.visit (/node_modules/istanbul-lib-report/lib/tree.js:126:5)
Contributor

bambielli commented Mar 12, 2018

I am running in to this issue as well. Upgrading to the latest version of jest does not appear to help.

        Failed to write coverage reports:
        ERROR: TypeError: metrics.isEmpty is not a function
        STACK: TypeError: metrics.isEmpty is not a function
    at tableRow (/node_modules/istanbul-reports/lib/text/index.js:133:27)
    at TextReport.onSummary (/node_modules/istanbul-reports/lib/text/index.js:188:15)
    at TextReport.onDetail (/node_modules/istanbul-reports/lib/text/index.js:193:17)
    at Visitor.(anonymous function) [as onDetail] (/node_modules/istanbul-lib-report/lib/tree.js:34:30)
    at ReportNode.Node.visit (/node_modules/istanbul-lib-report/lib/tree.js:123:17)
    at /node_modules/istanbul-lib-report/lib/tree.js:116:23
    at Array.forEach (<anonymous>)
    at visitChildren (/node_modules/istanbul-lib-report/lib/tree.js:115:32)
    at ReportNode.Node.visit (/node_modules/istanbul-lib-report/lib/tree.js:126:5)
@SimenB

This comment has been minimized.

Show comment
Hide comment
@SimenB

SimenB Mar 12, 2018

Collaborator

try yarn remove jest && yarn add --dev jest (or npm equivalent) to amke sure all of Jest's dependencies are updated as well

Collaborator

SimenB commented Mar 12, 2018

try yarn remove jest && yarn add --dev jest (or npm equivalent) to amke sure all of Jest's dependencies are updated as well

@bambielli

This comment has been minimized.

Show comment
Hide comment
@bambielli

bambielli Mar 12, 2018

Contributor

^got it working. I forgot my lockfile updated as well when I did the upgrade.
I also ran an npm clear cache just to be sure newer versions were not cached as well.
thanks!

Contributor

bambielli commented Mar 12, 2018

^got it working. I forgot my lockfile updated as well when I did the upgrade.
I also ran an npm clear cache just to be sure newer versions were not cached as well.
thanks!

@benjamincharity

This comment has been minimized.

Show comment
Hide comment
@benjamincharity

benjamincharity Mar 12, 2018

FWIW, I had to manually delete my yarn.lock file to get this working. Much thanks to others in this thread that pointed me in the correct direction 🙏 .. I was banging my head around for a while.


Things tried with no luck (in no particular order):

  • manually remove the yarn cache file from my machine
  • tell yarn to clean up the cache
  • manually lock istanbul deps to earlier versions
  • remove node_modules and reinstall
  • bump jest back down to 22.4.0

benjamincharity commented Mar 12, 2018

FWIW, I had to manually delete my yarn.lock file to get this working. Much thanks to others in this thread that pointed me in the correct direction 🙏 .. I was banging my head around for a while.


Things tried with no luck (in no particular order):

  • manually remove the yarn cache file from my machine
  • tell yarn to clean up the cache
  • manually lock istanbul deps to earlier versions
  • remove node_modules and reinstall
  • bump jest back down to 22.4.0
@stevenzeck

This comment has been minimized.

Show comment
Hide comment
@stevenzeck

stevenzeck Mar 14, 2018

If you're using only npm (not yarn), delete node_modules and package-lock.json and run npm install again.

stevenzeck commented Mar 14, 2018

If you're using only npm (not yarn), delete node_modules and package-lock.json and run npm install again.

maoberlehner added a commit to maoberlehner/vuex-map-fields that referenced this issue Mar 14, 2018

kirlat added a commit to alpheios-project/data-models that referenced this issue Mar 22, 2018

Fixed a regression in `Lexeme.getSortByTwoLemmaFeatures`. Rebuilt pac…
…kage.lock to fix an issue with Jest metrics reporting (see facebook/jest#5772).

kmjennison added a commit to gladly-team/tab that referenced this issue Mar 26, 2018

Recreate yarn.lock to fix broken code coverage
Fixes “metrics.isEmpty is not a function” when running Jest code coverage. Make sure Jest dependencies are up to date:
facebook/jest#5772 (comment)

lquixada added a commit to lquixada/boggle that referenced this issue Apr 9, 2018

@mjesun

This comment has been minimized.

Show comment
Hide comment
@mjesun

mjesun Apr 11, 2018

Contributor

@SimenB, Could we force somehow the upgrade of istanbul by tweaking package.json, instead of the yarn remove + yarn add? 😄 We just got hit by that with alpha.5r. 🙃

Contributor

mjesun commented Apr 11, 2018

@SimenB, Could we force somehow the upgrade of istanbul by tweaking package.json, instead of the yarn remove + yarn add? 😄 We just got hit by that with alpha.5r. 🙃

@SimenB

This comment has been minimized.

Show comment
Hide comment
@SimenB

SimenB Apr 11, 2018

Collaborator

For sure, it's just a matter of applying this:

diff --git i/packages/jest-cli/package.json w/packages/jest-cli/package.json
index 3e4bfd85..bebedaea 100644
--- i/packages/jest-cli/package.json
+++ w/packages/jest-cli/package.json
@@ -12,9 +12,9 @@
     "import-local": "^1.0.0",
     "is-ci": "^1.0.10",
     "istanbul-api": "^1.3.1",
-    "istanbul-lib-coverage": "^1.1.1",
-    "istanbul-lib-instrument": "^1.8.0",
-    "istanbul-lib-source-maps": "^1.2.1",
+    "istanbul-lib-coverage": "^1.2.0",
+    "istanbul-lib-instrument": "^1.10.1",
+    "istanbul-lib-source-maps": "^1.2.3",
     "jest-changed-files": "^22.2.0",
     "jest-config": "^22.4.2",
     "jest-environment-jsdom": "^22.4.1",
diff --git i/packages/jest-runtime/package.json w/packages/jest-runtime/package.json
index 6ab876ad..c4cb00c4 100644
--- i/packages/jest-runtime/package.json
+++ w/packages/jest-runtime/package.json
@@ -9,7 +9,7 @@
   "main": "build/index.js",
   "dependencies": {
     "babel-core": "^6.0.0",
-    "babel-plugin-istanbul": "^4.1.5",
+    "babel-plugin-istanbul": "^4.1.6",
     "chalk": "^2.0.1",
     "convert-source-map": "^1.4.0",
     "exit": "^0.1.2",

Not sure which of them matters, but that should be enough to bump things up enough.

Collaborator

SimenB commented Apr 11, 2018

For sure, it's just a matter of applying this:

diff --git i/packages/jest-cli/package.json w/packages/jest-cli/package.json
index 3e4bfd85..bebedaea 100644
--- i/packages/jest-cli/package.json
+++ w/packages/jest-cli/package.json
@@ -12,9 +12,9 @@
     "import-local": "^1.0.0",
     "is-ci": "^1.0.10",
     "istanbul-api": "^1.3.1",
-    "istanbul-lib-coverage": "^1.1.1",
-    "istanbul-lib-instrument": "^1.8.0",
-    "istanbul-lib-source-maps": "^1.2.1",
+    "istanbul-lib-coverage": "^1.2.0",
+    "istanbul-lib-instrument": "^1.10.1",
+    "istanbul-lib-source-maps": "^1.2.3",
     "jest-changed-files": "^22.2.0",
     "jest-config": "^22.4.2",
     "jest-environment-jsdom": "^22.4.1",
diff --git i/packages/jest-runtime/package.json w/packages/jest-runtime/package.json
index 6ab876ad..c4cb00c4 100644
--- i/packages/jest-runtime/package.json
+++ w/packages/jest-runtime/package.json
@@ -9,7 +9,7 @@
   "main": "build/index.js",
   "dependencies": {
     "babel-core": "^6.0.0",
-    "babel-plugin-istanbul": "^4.1.5",
+    "babel-plugin-istanbul": "^4.1.6",
     "chalk": "^2.0.1",
     "convert-source-map": "^1.4.0",
     "exit": "^0.1.2",

Not sure which of them matters, but that should be enough to bump things up enough.

@mjesun

This comment has been minimized.

Show comment
Hide comment
@mjesun

mjesun Apr 11, 2018

Contributor

I'm open to apply them all 🤪

Contributor

mjesun commented Apr 11, 2018

I'm open to apply them all 🤪

@SimenB

This comment has been minimized.

Show comment
Hide comment
@SimenB

SimenB Apr 11, 2018

Collaborator

istanbul-lib-coverage is the one we care about, in theory, but doesn't hurt to bump'em all.

Collaborator

SimenB commented Apr 11, 2018

istanbul-lib-coverage is the one we care about, in theory, but doesn't hurt to bump'em all.

@mjesun

This comment has been minimized.

Show comment
Hide comment
@mjesun

mjesun Apr 11, 2018

Contributor

Ok! Will do the PR in a min, thanks @SimenB!

Contributor

mjesun commented Apr 11, 2018

Ok! Will do the PR in a min, thanks @SimenB!

bryfox added a commit to codaco/Server that referenced this issue Apr 12, 2018

Upgrade jest
Had to do this sooner or later: done() signature changed; any argument
will be treated as a failure.

Note: coverage broken until we/they update istanbul-coverage
(facebook/jest#5772)

bryfox added a commit to codaco/Server that referenced this issue Apr 12, 2018

Bump istanbul-lib-coverage for jest
Can remove from package.json pending
facebook/jest#5772

bryfox added a commit to codaco/Server that referenced this issue Apr 13, 2018

Upgrade jest
Had to do this sooner or later: done() signature changed; any argument
will be treated as a failure.

Note: coverage broken until we/they update istanbul-coverage
(facebook/jest#5772)

bryfox added a commit to codaco/Server that referenced this issue Apr 13, 2018

Bump istanbul-lib-coverage for jest
Can remove from package.json pending
facebook/jest#5772

bryfox added a commit to codaco/Server that referenced this issue Apr 13, 2018

Upgrade jest
Had to do this sooner or later: done() signature changed; any argument
will be treated as a failure.

Note: coverage broken until we/they update istanbul-coverage
(facebook/jest#5772)

bryfox added a commit to codaco/Server that referenced this issue Apr 13, 2018

Bump istanbul-lib-coverage for jest
Can remove from package.json pending
facebook/jest#5772

bryfox added a commit to codaco/Server that referenced this issue Apr 13, 2018

Upgrade jest
Had to do this sooner or later: done() signature changed; any argument
will be treated as a failure.

Note: coverage broken until we/they update istanbul-coverage
(facebook/jest#5772)

bryfox added a commit to codaco/Server that referenced this issue Apr 13, 2018

Bump istanbul-lib-coverage for jest
Can remove from package.json pending
facebook/jest#5772

JMPerez added a commit to JMPerez/spotify-web-api-js that referenced this issue Apr 17, 2018

JMPerez added a commit to JMPerez/spotify-web-api-js that referenced this issue Apr 17, 2018

cloughney pushed a commit to cloughney/spotify-web-api-js that referenced this issue Apr 17, 2018

maoberlehner added a commit to maoberlehner/css-node-extract that referenced this issue Apr 23, 2018

@slawiko

This comment has been minimized.

Show comment
Hide comment
@slawiko

slawiko Apr 28, 2018

When can we see the release with this fix? Or it's released? I didn't find this fix in CHANGELOG.md

slawiko commented Apr 28, 2018

When can we see the release with this fix? Or it's released? I didn't find this fix in CHANGELOG.md

@rickhanlonii

This comment has been minimized.

Show comment
Hide comment
@rickhanlonii

rickhanlonii Apr 28, 2018

Collaborator

@slawiko this should be in jest@23.0.0-beta.2

Collaborator

rickhanlonii commented Apr 28, 2018

@slawiko this should be in jest@23.0.0-beta.2

@SimenB

This comment has been minimized.

Show comment
Hide comment
@SimenB

SimenB Apr 29, 2018

Collaborator

And you don't need jest to bump the version, as they are within semver range. Just update your own lockfile

Collaborator

SimenB commented Apr 29, 2018

And you don't need jest to bump the version, as they are within semver range. Just update your own lockfile

@slawiko

This comment has been minimized.

Show comment
Hide comment
@slawiko

slawiko Apr 30, 2018

@SimenB didn't understand: I have "jest": "^22.4.3", "jest-cli": "^22.4.3" in my package.json. How can semver help me to get jest@23.0.0-beta.2? I don't want to "jest": "*" :)

slawiko commented Apr 30, 2018

@SimenB didn't understand: I have "jest": "^22.4.3", "jest-cli": "^22.4.3" in my package.json. How can semver help me to get jest@23.0.0-beta.2? I don't want to "jest": "*" :)

@SimenB

This comment has been minimized.

Show comment
Hide comment
@SimenB

SimenB May 1, 2018

Collaborator

You don't need the jest beta, you need istanbul-lib-coverage@1.2.0 and istanbul-lib-instrument@1.10.1, which are within semver range of at least Jest 21 and Jest 22.

Collaborator

SimenB commented May 1, 2018

You don't need the jest beta, you need istanbul-lib-coverage@1.2.0 and istanbul-lib-instrument@1.10.1, which are within semver range of at least Jest 21 and Jest 22.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment