Skip to content
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

yarn test hangs with "RUNS ./hello_world.test.ts" #205

Closed
vogelbek opened this issue Jul 17, 2018 · 11 comments
Closed

yarn test hangs with "RUNS ./hello_world.test.ts" #205

vogelbek opened this issue Jul 17, 2018 · 11 comments

Comments

@vogelbek
Copy link

Hello,

I've encountered an issue with getting yarn test to play nicely. It hangs displaying `RUNS ./hello_world.test.ts. The output looks like this:

yarn test
yarn run v1.7.0
$ tsc --noEmit -p . && jest --no-cache

 RUNS  ./hello-world.test.ts

Note that RUNS is highlighted, and the output seems to be refreshing because I can not copy it until I ctrl-c out of the process.

Yarn lint looks fine:

yarn lint
yarn run v1.7.0
$ tsc --noEmit -p . && tslint "*.ts?(x)"
✨  Done in 2.06s.

Jest problem?

I did google around a bit, and Jest Issue #4529 suggested a similar looking issue. Unfortunately, they seem to have made it work with brew upgrade watchman which didn't help me (see below).

yarn list jest
yarn list v1.7.0
warning Filtering by arguments is deprecated. Please use the pattern option instead.
└─ jest@21.2.1
✨  Done in 0.33s.
npm jest -v
6.1.0
cat node_modules/jest/package.json
{
  "name": "jest",
  "description": "Delightful JavaScript Testing.",
  "version": "21.2.1",
  "main": "build/jest.js",
  "dependencies": {
    "jest-cli": "^21.2.1"
  },
  "bin": {
    "jest": "./bin/jest.js"
  },
  "engines": {
    "node": ">= 4"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/facebook/jest"
  },
  "homepage": "http://facebook.github.io/jest/",
  "license": "MIT",
  "keywords": [
    "ava",
    "babel",
    "coverage",
    "easy",
    "expect",
    "facebook",
    "immersive",
    "instant",
    "jasmine",
    "jest",
    "jsdom",
    "mocha",
    "mocking",
    "painless",
    "qunit",
    "runner",
    "sandboxed",
    "snapshot",
    "tap",
    "tape",
    "test",
    "testing",
    "typescript",
    "watch"
  ]
}

There was a suggestion to install/upgrade watchman, which I did to no avail:

brew install watchman
<... a bunch of brew formulae updates ...>
Warning: watchman 4.9.0 is already installed and up-to-date
To reinstall 4.9.0, run `brew reinstall watchman`

Brew upgrade watchman doesn't help, as it is already using the latest version:

brew upgrade watchman
Error: watchman 4.9.0 already installed

Some details that I can think of for my environment:

  • OSX 10.12.6
  • exercism version 3.0.2
  • yarn version 1.7.0
  • ls -a
.                   README.md           node_modules        tslint.json
..                  hello-world.test.ts package.json        yarn.lock
.solution.json      hello-world.ts      tsconfig.json

The contents of TS Config look like this:

cat tsconfig.json 
{
    "compilerOptions": { 
        "target": "es2017",
        "module": "commonjs",
        "alwaysStrict": true,
        "noUnusedLocals": true,
        "noUnusedParameters": true,
        "noImplicitAny": true,
        "strictNullChecks": true,
        "preserveConstEnums": true,
        "noFallthroughCasesInSwitch":true,
        "noImplicitThis":true,
        "noImplicitReturns":true,
        "sourceMap": true,
        "noEmitOnError": true,
        "outDir": "./build"
    },
    "compileOnSave": true, 
    "exclude": [
        "node_modules"
    ]
}

Full Output of yarn list in case you have insomnia:

yarn list v1.7.0
├─ @types/jest@21.1.5
├─ @types/node@8.0.47
├─ abab@1.0.4
├─ abbrev@1.1.1
├─ acorn-globals@3.1.0
│  └─ acorn@^4.0.4
├─ acorn@4.0.13
├─ ajv@5.3.0
│  ├─ co@^4.6.0
│  ├─ fast-deep-equal@^1.0.0
│  ├─ fast-json-stable-stringify@^2.0.0
│  └─ json-schema-traverse@^0.3.0
├─ align-text@0.1.4
│  ├─ kind-of@^3.0.2
│  ├─ longest@^1.0.1
│  └─ repeat-string@^1.5.2
├─ amdefine@1.0.1
├─ ansi-escapes@3.0.0
├─ ansi-regex@2.1.1
├─ ansi-styles@3.2.0
│  └─ color-convert@^1.9.0
├─ anymatch@1.3.2
│  ├─ micromatch@^2.1.5
│  └─ normalize-path@^2.0.0
├─ append-transform@0.4.0
│  └─ default-require-extensions@^1.0.0
├─ aproba@1.2.0
├─ are-we-there-yet@1.1.4
│  ├─ delegates@^1.0.0
│  └─ readable-stream@^2.0.6
├─ argparse@1.0.9
│  └─ sprintf-js@~1.0.2
├─ arr-diff@2.0.0
│  └─ arr-flatten@^1.0.1
├─ arr-flatten@1.1.0
├─ array-equal@1.0.0
├─ array-unique@0.2.1
├─ arrify@1.0.1
├─ asn1@0.2.3
├─ assert-plus@1.0.0
├─ astral-regex@1.0.0
├─ async@2.5.0
│  └─ lodash@^4.14.0
├─ asynckit@0.4.0
├─ aws-sign2@0.7.0
├─ aws4@1.6.0
├─ babel-code-frame@6.26.0
│  ├─ ansi-styles@2.2.1
│  ├─ chalk@^1.1.3
│  ├─ chalk@1.1.3
│  │  ├─ ansi-styles@^2.2.1
│  │  ├─ escape-string-regexp@^1.0.2
│  │  ├─ has-ansi@^2.0.0
│  │  ├─ strip-ansi@^3.0.0
│  │  └─ supports-color@^2.0.0
│  ├─ esutils@^2.0.2
│  ├─ js-tokens@^3.0.2
│  └─ supports-color@2.0.0
├─ babel-core@6.26.0
│  ├─ babel-code-frame@^6.26.0
│  ├─ babel-generator@^6.26.0
│  ├─ babel-helpers@^6.24.1
│  ├─ babel-messages@^6.23.0
│  ├─ babel-register@^6.26.0
│  ├─ babel-runtime@^6.26.0
│  ├─ babel-template@^6.26.0
│  ├─ babel-traverse@^6.26.0
│  ├─ babel-types@^6.26.0
│  ├─ babylon@^6.18.0
│  ├─ convert-source-map@^1.5.0
│  ├─ debug@^2.6.8
│  ├─ json5@^0.5.1
│  ├─ lodash@^4.17.4
│  ├─ minimatch@^3.0.4
│  ├─ path-is-absolute@^1.0.1
│  ├─ private@^0.1.7
│  ├─ slash@^1.0.0
│  └─ source-map@^0.5.6
├─ babel-generator@6.26.0
│  ├─ babel-messages@^6.23.0
│  ├─ babel-runtime@^6.26.0
│  ├─ babel-types@^6.26.0
│  ├─ detect-indent@^4.0.0
│  ├─ jsesc@^1.3.0
│  ├─ lodash@^4.17.4
│  ├─ source-map@^0.5.6
│  └─ trim-right@^1.0.1
├─ babel-helpers@6.24.1
│  ├─ babel-runtime@^6.22.0
│  └─ babel-template@^6.24.1
├─ babel-jest@21.2.0
│  ├─ babel-plugin-istanbul@^4.0.0
│  └─ babel-preset-jest@^21.2.0
├─ babel-messages@6.23.0
│  └─ babel-runtime@^6.22.0
├─ babel-plugin-istanbul@4.1.5
│  ├─ find-up@^2.1.0
│  ├─ istanbul-lib-instrument@^1.7.5
│  └─ test-exclude@^4.1.1
├─ babel-plugin-jest-hoist@21.2.0
├─ babel-plugin-syntax-object-rest-spread@6.13.0
├─ babel-plugin-transform-es2015-modules-commonjs@6.26.0
│  ├─ babel-plugin-transform-strict-mode@^6.24.1
│  ├─ babel-runtime@^6.26.0
│  ├─ babel-template@^6.26.0
│  └─ babel-types@^6.26.0
├─ babel-plugin-transform-strict-mode@6.24.1
│  ├─ babel-runtime@^6.22.0
│  └─ babel-types@^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
├─ babel-register@6.26.0
│  ├─ babel-core@^6.26.0
│  ├─ babel-runtime@^6.26.0
│  ├─ core-js@^2.5.0
│  ├─ home-or-tmp@^2.0.0
│  ├─ lodash@^4.17.4
│  ├─ mkdirp@^0.5.1
│  ├─ source-map-support@^0.4.15
│  └─ source-map-support@0.4.18
│     └─ source-map@^0.5.6
├─ babel-runtime@6.26.0
│  ├─ core-js@^2.4.0
│  └─ regenerator-runtime@^0.11.0
├─ babel-template@6.26.0
│  ├─ babel-runtime@^6.26.0
│  ├─ babel-traverse@^6.26.0
│  ├─ babel-types@^6.26.0
│  ├─ babylon@^6.18.0
│  └─ lodash@^4.17.4
├─ babel-traverse@6.26.0
│  ├─ babel-code-frame@^6.26.0
│  ├─ babel-messages@^6.23.0
│  ├─ babel-runtime@^6.26.0
│  ├─ babel-types@^6.26.0
│  ├─ babylon@^6.18.0
│  ├─ debug@^2.6.8
│  ├─ globals@^9.18.0
│  ├─ invariant@^2.2.2
│  └─ lodash@^4.17.4
├─ babel-types@6.26.0
│  ├─ babel-runtime@^6.26.0
│  ├─ esutils@^2.0.2
│  ├─ lodash@^4.17.4
│  └─ to-fast-properties@^1.0.3
├─ babylon@6.18.0
├─ balanced-match@1.0.0
├─ bcrypt-pbkdf@1.0.1
│  └─ tweetnacl@^0.14.3
├─ block-stream@0.0.9
│  └─ inherits@~2.0.0
├─ boom@2.10.1
│  ├─ hoek@2.16.3
│  └─ hoek@2.x.x
├─ brace-expansion@1.1.8
│  ├─ balanced-match@^1.0.0
│  └─ concat-map@0.0.1
├─ braces@1.8.5
│  ├─ expand-range@^1.8.1
│  ├─ preserve@^0.2.0
│  └─ repeat-element@^1.1.2
├─ browser-resolve@1.11.2
│  ├─ resolve@1.1.7
│  └─ resolve@1.1.7
├─ bser@2.0.0
│  └─ node-int64@^0.4.0
├─ builtin-modules@1.1.1
├─ callsites@2.0.0
├─ camelcase@4.1.0
├─ caseless@0.12.0
├─ center-align@0.1.3
│  ├─ align-text@^0.1.3
│  └─ lazy-cache@^1.0.3
├─ chalk@2.3.0
│  ├─ ansi-styles@^3.1.0
│  ├─ escape-string-regexp@^1.0.5
│  └─ supports-color@^4.0.0
├─ ci-info@1.1.1
├─ cliui@3.2.0
│  ├─ string-width@^1.0.1
│  ├─ strip-ansi@^3.0.1
│  └─ wrap-ansi@^2.0.0
├─ co@4.6.0
├─ code-point-at@1.1.0
├─ color-convert@1.9.0
│  └─ color-name@^1.1.1
├─ color-name@1.1.3
├─ combined-stream@1.0.5
│  └─ delayed-stream@~1.0.0
├─ commander@2.11.0
├─ concat-map@0.0.1
├─ console-control-strings@1.1.0
├─ content-type-parser@1.0.2
├─ convert-source-map@1.5.0
├─ core-js@2.5.1
├─ core-util-is@1.0.2
├─ cross-spawn@5.1.0
│  ├─ lru-cache@^4.0.1
│  ├─ shebang-command@^1.2.0
│  └─ which@^1.2.9
├─ cryptiles@2.0.5
│  └─ boom@2.x.x
├─ cssom@0.3.2
├─ cssstyle@0.2.37
│  └─ cssom@0.3.x
├─ dashdash@1.14.1
│  └─ assert-plus@^1.0.0
├─ debug@2.6.9
│  └─ ms@2.0.0
├─ decamelize@1.2.0
├─ deep-extend@0.4.2
├─ deep-is@0.1.3
├─ default-require-extensions@1.0.0
│  └─ strip-bom@^2.0.0
├─ delayed-stream@1.0.0
├─ delegates@1.0.0
├─ detect-indent@4.0.0
│  └─ repeating@^2.0.0
├─ diff@3.4.0
├─ ecc-jsbn@0.1.1
│  └─ jsbn@~0.1.0
├─ errno@0.1.4
│  └─ prr@~0.0.0
├─ error-ex@1.3.1
│  └─ is-arrayish@^0.2.1
├─ escape-string-regexp@1.0.5
├─ escodegen@1.9.0
│  ├─ esprima@^3.1.3
│  ├─ esprima@3.1.3
│  ├─ estraverse@^4.2.0
│  ├─ esutils@^2.0.2
│  ├─ optionator@^0.8.1
│  └─ source-map@~0.5.6
├─ esprima@4.0.0
├─ estraverse@4.2.0
├─ esutils@2.0.2
├─ exec-sh@0.2.1
│  └─ merge@^1.1.3
├─ execa@0.7.0
│  ├─ cross-spawn@^5.0.1
│  ├─ get-stream@^3.0.0
│  ├─ is-stream@^1.1.0
│  ├─ npm-run-path@^2.0.0
│  ├─ p-finally@^1.0.0
│  ├─ signal-exit@^3.0.0
│  └─ strip-eof@^1.0.0
├─ expand-brackets@0.1.5
│  └─ is-posix-bracket@^0.1.0
├─ expand-range@1.8.2
│  └─ fill-range@^2.1.0
├─ expect@21.2.1
│  ├─ ansi-styles@^3.2.0
│  ├─ jest-diff@^21.2.1
│  ├─ jest-get-type@^21.2.0
│  ├─ jest-matcher-utils@^21.2.1
│  ├─ jest-message-util@^21.2.1
│  └─ jest-regex-util@^21.2.0
├─ extend@3.0.1
├─ extglob@0.3.2
│  └─ is-extglob@^1.0.0
├─ extsprintf@1.3.0
├─ fast-deep-equal@1.0.0
├─ fast-json-stable-stringify@2.0.0
├─ fast-levenshtein@2.0.6
├─ fb-watchman@2.0.0
│  └─ bser@^2.0.0
├─ filename-regex@2.0.1
├─ fileset@2.0.3
│  ├─ glob@^7.0.3
│  └─ minimatch@^3.0.3
├─ fill-range@2.2.3
│  ├─ is-number@^2.1.0
│  ├─ isobject@^2.0.0
│  ├─ randomatic@^1.1.3
│  ├─ repeat-element@^1.1.2
│  └─ repeat-string@^1.5.2
├─ find-up@2.1.0
│  └─ locate-path@^2.0.0
├─ for-in@1.0.2
├─ for-own@0.1.5
│  └─ for-in@^1.0.1
├─ forever-agent@0.6.1
├─ form-data@2.3.1
│  ├─ asynckit@^0.4.0
│  ├─ combined-stream@^1.0.5
│  └─ mime-types@^2.1.12
├─ fs-extra@4.0.2
│  ├─ graceful-fs@^4.1.2
│  ├─ jsonfile@^4.0.0
│  └─ universalify@^0.1.0
├─ fs.realpath@1.0.0
├─ fsevents@1.1.2
│  ├─ nan@^2.3.0
│  └─ node-pre-gyp@^0.6.36
├─ fstream-ignore@1.0.5
│  ├─ fstream@^1.0.0
│  ├─ inherits@2
│  └─ minimatch@^3.0.0
├─ fstream@1.0.11
│  ├─ graceful-fs@^4.1.2
│  ├─ inherits@~2.0.0
│  ├─ mkdirp@>=0.5 0
│  └─ rimraf@2
├─ gauge@2.7.4
│  ├─ aproba@^1.0.3
│  ├─ console-control-strings@^1.0.0
│  ├─ has-unicode@^2.0.0
│  ├─ object-assign@^4.1.0
│  ├─ signal-exit@^3.0.0
│  ├─ string-width@^1.0.1
│  ├─ strip-ansi@^3.0.1
│  └─ wide-align@^1.1.0
├─ get-caller-file@1.0.2
├─ get-stream@3.0.0
├─ getpass@0.1.7
│  └─ assert-plus@^1.0.0
├─ glob-base@0.3.0
│  ├─ glob-parent@^2.0.0
│  └─ is-glob@^2.0.0
├─ glob-parent@2.0.0
│  └─ is-glob@^2.0.0
├─ glob@7.1.2
│  ├─ fs.realpath@^1.0.0
│  ├─ inflight@^1.0.4
│  ├─ inherits@2
│  ├─ minimatch@^3.0.4
│  ├─ once@^1.3.0
│  └─ path-is-absolute@^1.0.0
├─ globals@9.18.0
├─ graceful-fs@4.1.11
├─ growly@1.3.0
├─ handlebars@4.0.11
│  ├─ async@^1.4.0
│  ├─ async@1.5.2
│  ├─ optimist@^0.6.1
│  ├─ source-map@^0.4.4
│  ├─ source-map@0.4.4
│  │  └─ amdefine@>=0.0.4
│  └─ uglify-js@^2.6
├─ har-schema@2.0.0
├─ har-validator@5.0.3
│  ├─ ajv@^5.1.0
│  └─ har-schema@^2.0.0
├─ has-ansi@2.0.0
│  └─ ansi-regex@^2.0.0
├─ has-flag@2.0.0
├─ has-unicode@2.0.1
├─ hawk@3.1.3
│  ├─ boom@2.x.x
│  ├─ cryptiles@2.x.x
│  ├─ hoek@2.16.3
│  ├─ hoek@2.x.x
│  └─ sntp@1.x.x
├─ hoek@4.2.0
├─ home-or-tmp@2.0.0
│  ├─ os-homedir@^1.0.0
│  └─ os-tmpdir@^1.0.1
├─ hosted-git-info@2.5.0
├─ html-encoding-sniffer@1.0.2
│  └─ whatwg-encoding@^1.0.1
├─ http-signature@1.2.0
│  ├─ assert-plus@^1.0.0
│  ├─ jsprim@^1.2.2
│  └─ sshpk@^1.7.0
├─ iconv-lite@0.4.13
├─ imurmurhash@0.1.4
├─ inflight@1.0.6
│  ├─ once@^1.3.0
│  └─ wrappy@1
├─ inherits@2.0.3
├─ ini@1.3.4
├─ invariant@2.2.2
│  └─ loose-envify@^1.0.0
├─ invert-kv@1.0.0
├─ is-arrayish@0.2.1
├─ is-buffer@1.1.5
├─ is-builtin-module@1.0.0
│  └─ builtin-modules@^1.0.0
├─ is-ci@1.0.10
│  └─ ci-info@^1.0.0
├─ is-dotfile@1.0.3
├─ is-equal-shallow@0.1.3
│  └─ is-primitive@^2.0.0
├─ is-extendable@0.1.1
├─ is-extglob@1.0.0
├─ is-finite@1.0.2
│  └─ number-is-nan@^1.0.0
├─ is-fullwidth-code-point@1.0.0
│  └─ number-is-nan@^1.0.0
├─ is-glob@2.0.1
│  └─ is-extglob@^1.0.0
├─ is-number@2.1.0
│  └─ kind-of@^3.0.2
├─ is-posix-bracket@0.1.1
├─ is-primitive@2.0.0
├─ is-stream@1.1.0
├─ is-typedarray@1.0.0
├─ is-utf8@0.2.1
├─ isarray@1.0.0
├─ isexe@2.0.0
├─ isobject@2.1.0
│  └─ isarray@1.0.0
├─ isstream@0.1.2
├─ istanbul-api@1.2.1
│  ├─ async@^2.1.4
│  ├─ fileset@^2.0.2
│  ├─ istanbul-lib-coverage@^1.1.1
│  ├─ istanbul-lib-hook@^1.1.0
│  ├─ istanbul-lib-instrument@^1.9.1
│  ├─ istanbul-lib-report@^1.1.2
│  ├─ istanbul-lib-source-maps@^1.2.2
│  ├─ istanbul-reports@^1.1.3
│  ├─ js-yaml@^3.7.0
│  ├─ mkdirp@^0.5.1
│  └─ once@^1.4.0
├─ istanbul-lib-coverage@1.1.1
├─ istanbul-lib-hook@1.1.0
│  └─ append-transform@^0.4.0
├─ istanbul-lib-instrument@1.9.1
│  ├─ babel-generator@^6.18.0
│  ├─ babel-template@^6.16.0
│  ├─ babel-traverse@^6.18.0
│  ├─ babel-types@^6.18.0
│  ├─ babylon@^6.18.0
│  ├─ istanbul-lib-coverage@^1.1.1
│  └─ semver@^5.3.0
├─ istanbul-lib-report@1.1.2
│  ├─ has-flag@1.0.0
│  ├─ istanbul-lib-coverage@^1.1.1
│  ├─ mkdirp@^0.5.1
│  ├─ path-parse@^1.0.5
│  ├─ supports-color@^3.1.2
│  └─ supports-color@3.2.3
│     └─ has-flag@^1.0.0
├─ istanbul-lib-source-maps@1.2.2
│  ├─ debug@^3.1.0
│  ├─ debug@3.1.0
│  │  └─ ms@2.0.0
│  ├─ istanbul-lib-coverage@^1.1.1
│  ├─ mkdirp@^0.5.1
│  ├─ rimraf@^2.6.1
│  └─ source-map@^0.5.3
├─ istanbul-reports@1.1.3
│  └─ handlebars@^4.0.3
├─ jest-changed-files@21.2.0
│  └─ throat@^4.0.0
├─ jest-cli@21.2.1
│  ├─ ansi-escapes@^3.0.0
│  ├─ ansi-regex@3.0.0
│  ├─ chalk@^2.0.1
│  ├─ glob@^7.1.2
│  ├─ graceful-fs@^4.1.11
│  ├─ is-ci@^1.0.10
│  ├─ istanbul-api@^1.1.1
│  ├─ istanbul-lib-coverage@^1.0.1
│  ├─ istanbul-lib-instrument@^1.4.2
│  ├─ istanbul-lib-source-maps@^1.1.0
│  ├─ jest-changed-files@^21.2.0
│  ├─ jest-config@^21.2.1
│  ├─ jest-environment-jsdom@^21.2.1
│  ├─ jest-haste-map@^21.2.0
│  ├─ jest-message-util@^21.2.1
│  ├─ jest-regex-util@^21.2.0
│  ├─ jest-resolve-dependencies@^21.2.0
│  ├─ jest-runner@^21.2.1
│  ├─ jest-runtime@^21.2.1
│  ├─ jest-snapshot@^21.2.1
│  ├─ jest-util@^21.2.1
│  ├─ micromatch@^2.3.11
│  ├─ node-notifier@^5.0.2
│  ├─ pify@^3.0.0
│  ├─ pify@3.0.0
│  ├─ slash@^1.0.0
│  ├─ string-length@^2.0.0
│  ├─ strip-ansi@^4.0.0
│  ├─ strip-ansi@4.0.0
│  │  └─ ansi-regex@^3.0.0
│  ├─ which@^1.2.12
│  ├─ worker-farm@^1.3.1
│  └─ yargs@^9.0.0
├─ jest-config@21.2.1
│  ├─ chalk@^2.0.1
│  ├─ glob@^7.1.1
│  ├─ jest-environment-jsdom@^21.2.1
│  ├─ jest-environment-node@^21.2.1
│  ├─ jest-get-type@^21.2.0
│  ├─ jest-jasmine2@^21.2.1
│  ├─ jest-regex-util@^21.2.0
│  ├─ jest-resolve@^21.2.0
│  ├─ jest-util@^21.2.1
│  ├─ jest-validate@^21.2.1
│  └─ pretty-format@^21.2.1
├─ jest-diff@21.2.1
│  ├─ chalk@^2.0.1
│  ├─ diff@^3.2.0
│  ├─ jest-get-type@^21.2.0
│  └─ pretty-format@^21.2.1
├─ jest-docblock@21.2.0
├─ jest-environment-jsdom@21.2.1
│  ├─ jest-mock@^21.2.0
│  ├─ jest-util@^21.2.1
│  └─ jsdom@^9.12.0
├─ jest-environment-node@21.2.1
│  ├─ jest-mock@^21.2.0
│  └─ jest-util@^21.2.1
├─ jest-get-type@21.2.0
├─ jest-haste-map@21.2.0
│  ├─ fb-watchman@^2.0.0
│  ├─ graceful-fs@^4.1.11
│  ├─ jest-docblock@^21.2.0
│  ├─ micromatch@^2.3.11
│  ├─ sane@^2.0.0
│  └─ worker-farm@^1.3.1
├─ jest-jasmine2@21.2.1
│  ├─ chalk@^2.0.1
│  ├─ expect@^21.2.1
│  ├─ graceful-fs@^4.1.11
│  ├─ 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-matcher-utils@21.2.1
│  ├─ chalk@^2.0.1
│  ├─ jest-get-type@^21.2.0
│  └─ pretty-format@^21.2.1
├─ jest-message-util@21.2.1
│  ├─ chalk@^2.0.1
│  ├─ micromatch@^2.3.11
│  └─ slash@^1.0.0
├─ jest-mock@21.2.0
├─ jest-regex-util@21.2.0
├─ jest-resolve-dependencies@21.2.0
│  └─ jest-regex-util@^21.2.0
├─ jest-resolve@21.2.0
│  ├─ browser-resolve@^1.11.2
│  ├─ chalk@^2.0.1
│  └─ is-builtin-module@^1.0.0
├─ jest-runner@21.2.1
│  ├─ jest-config@^21.2.1
│  ├─ jest-docblock@^21.2.0
│  ├─ jest-haste-map@^21.2.0
│  ├─ jest-jasmine2@^21.2.1
│  ├─ jest-message-util@^21.2.1
│  ├─ jest-runtime@^21.2.1
│  ├─ jest-util@^21.2.1
│  ├─ pify@^3.0.0
│  ├─ pify@3.0.0
│  ├─ throat@^4.0.0
│  └─ worker-farm@^1.3.1
├─ jest-runtime@21.2.1
│  ├─ babel-core@^6.0.0
│  ├─ babel-jest@^21.2.0
│  ├─ babel-plugin-istanbul@^4.0.0
│  ├─ chalk@^2.0.1
│  ├─ convert-source-map@^1.4.0
│  ├─ graceful-fs@^4.1.11
│  ├─ jest-config@^21.2.1
│  ├─ jest-haste-map@^21.2.0
│  ├─ jest-regex-util@^21.2.0
│  ├─ jest-resolve@^21.2.0
│  ├─ jest-util@^21.2.1
│  ├─ json-stable-stringify@^1.0.1
│  ├─ micromatch@^2.3.11
│  ├─ slash@^1.0.0
│  ├─ strip-bom@3.0.0
│  ├─ strip-bom@3.0.0
│  ├─ write-file-atomic@^2.1.0
│  └─ yargs@^9.0.0
├─ jest-snapshot@21.2.1
│  ├─ chalk@^2.0.1
│  ├─ jest-diff@^21.2.1
│  ├─ jest-matcher-utils@^21.2.1
│  ├─ mkdirp@^0.5.1
│  ├─ natural-compare@^1.4.0
│  └─ pretty-format@^21.2.1
├─ jest-util@21.2.1
│  ├─ callsites@^2.0.0
│  ├─ chalk@^2.0.1
│  ├─ graceful-fs@^4.1.11
│  ├─ jest-message-util@^21.2.1
│  ├─ jest-mock@^21.2.0
│  ├─ jest-validate@^21.2.1
│  └─ mkdirp@^0.5.1
├─ jest-validate@21.2.1
│  ├─ chalk@^2.0.1
│  ├─ jest-get-type@^21.2.0
│  ├─ leven@^2.1.0
│  └─ pretty-format@^21.2.1
├─ jest@21.2.1
│  └─ jest-cli@^21.2.1
├─ js-tokens@3.0.2
├─ js-yaml@3.10.0
│  ├─ argparse@^1.0.7
│  └─ esprima@^4.0.0
├─ jsbn@0.1.1
├─ jsdom@9.12.0
│  ├─ abab@^1.0.3
│  ├─ acorn-globals@^3.1.0
│  ├─ acorn@^4.0.4
│  ├─ array-equal@^1.0.0
│  ├─ content-type-parser@^1.0.1
│  ├─ cssom@>= 0.3.2 < 0.4.0
│  ├─ cssstyle@>= 0.2.37 < 0.3.0
│  ├─ escodegen@^1.6.1
│  ├─ html-encoding-sniffer@^1.0.1
│  ├─ nwmatcher@>= 1.3.9 < 2.0.0
│  ├─ parse5@^1.5.1
│  ├─ request@^2.79.0
│  ├─ sax@^1.2.1
│  ├─ symbol-tree@^3.2.1
│  ├─ tough-cookie@^2.3.2
│  ├─ webidl-conversions@^4.0.0
│  ├─ whatwg-encoding@^1.0.1
│  ├─ whatwg-url@^4.3.0
│  └─ xml-name-validator@^2.0.1
├─ jsesc@1.3.0
├─ json-schema-traverse@0.3.1
├─ json-schema@0.2.3
├─ json-stable-stringify@1.0.1
│  └─ jsonify@~0.0.0
├─ json-stringify-safe@5.0.1
├─ json5@0.5.1
├─ jsonfile@4.0.0
│  └─ graceful-fs@^4.1.6
├─ jsonify@0.0.0
├─ jsprim@1.4.1
│  ├─ assert-plus@1.0.0
│  ├─ extsprintf@1.3.0
│  ├─ json-schema@0.2.3
│  └─ verror@1.10.0
├─ kind-of@3.2.2
│  └─ is-buffer@^1.1.5
├─ lazy-cache@1.0.4
├─ lcid@1.0.0
│  └─ invert-kv@^1.0.0
├─ leven@2.1.0
├─ levn@0.3.0
│  ├─ prelude-ls@~1.1.2
│  └─ type-check@~0.3.2
├─ load-json-file@2.0.0
│  ├─ graceful-fs@^4.1.2
│  ├─ parse-json@^2.2.0
│  ├─ pify@^2.0.0
│  ├─ strip-bom@^3.0.0
│  └─ strip-bom@3.0.0
├─ locate-path@2.0.0
│  ├─ p-locate@^2.0.0
│  └─ path-exists@^3.0.0
├─ lodash@4.17.4
├─ longest@1.0.1
├─ loose-envify@1.3.1
│  └─ js-tokens@^3.0.0
├─ lru-cache@4.1.1
│  ├─ pseudomap@^1.0.2
│  └─ yallist@^2.1.2
├─ makeerror@1.0.11
│  └─ tmpl@1.0.x
├─ mem@1.1.0
│  └─ mimic-fn@^1.0.0
├─ merge@1.2.0
├─ micromatch@2.3.11
│  ├─ arr-diff@^2.0.0
│  ├─ array-unique@^0.2.1
│  ├─ braces@^1.8.2
│  ├─ expand-brackets@^0.1.4
│  ├─ extglob@^0.3.1
│  ├─ filename-regex@^2.0.0
│  ├─ is-extglob@^1.0.0
│  ├─ is-glob@^2.0.1
│  ├─ kind-of@^3.0.2
│  ├─ normalize-path@^2.0.1
│  ├─ object.omit@^2.0.0
│  ├─ parse-glob@^3.0.4
│  └─ regex-cache@^0.4.2
├─ mime-db@1.30.0
├─ mime-types@2.1.17
│  └─ mime-db@~1.30.0
├─ mimic-fn@1.1.0
├─ minimatch@3.0.4
│  └─ brace-expansion@^1.1.7
├─ minimist@1.2.0
├─ mkdirp@0.5.1
│  ├─ minimist@0.0.8
│  └─ minimist@0.0.8
├─ ms@2.0.0
├─ nan@2.7.0
├─ natural-compare@1.4.0
├─ node-int64@0.4.0
├─ node-notifier@5.1.2
│  ├─ growly@^1.3.0
│  ├─ semver@^5.3.0
│  ├─ shellwords@^0.1.0
│  └─ which@^1.2.12
├─ node-pre-gyp@0.6.38
│  ├─ ajv@4.11.8
│  │  ├─ co@^4.6.0
│  │  └─ json-stable-stringify@^1.0.1
│  ├─ assert-plus@0.2.0
│  ├─ aws-sign2@0.6.0
│  ├─ form-data@2.1.4
│  │  ├─ asynckit@^0.4.0
│  │  ├─ combined-stream@^1.0.5
│  │  └─ mime-types@^2.1.12
│  ├─ har-schema@1.0.5
│  ├─ har-validator@4.2.1
│  │  ├─ ajv@^4.9.1
│  │  └─ har-schema@^1.0.5
│  ├─ hawk@3.1.3
│  ├─ http-signature@1.1.1
│  │  ├─ assert-plus@^0.2.0
│  │  ├─ jsprim@^1.2.2
│  │  └─ sshpk@^1.7.0
│  ├─ mkdirp@^0.5.1
│  ├─ nopt@^4.0.1
│  ├─ npmlog@^4.0.2
│  ├─ performance-now@0.2.0
│  ├─ qs@6.4.0
│  ├─ rc@^1.1.7
│  ├─ request@2.81.0
│  ├─ request@2.81.0
│  │  ├─ aws-sign2@~0.6.0
│  │  ├─ aws4@^1.2.1
│  │  ├─ caseless@~0.12.0
│  │  ├─ combined-stream@~1.0.5
│  │  ├─ extend@~3.0.0
│  │  ├─ forever-agent@~0.6.1
│  │  ├─ form-data@~2.1.1
│  │  ├─ har-validator@~4.2.1
│  │  ├─ hawk@~3.1.3
│  │  ├─ http-signature@~1.1.0
│  │  ├─ is-typedarray@~1.0.0
│  │  ├─ isstream@~0.1.2
│  │  ├─ json-stringify-safe@~5.0.1
│  │  ├─ mime-types@~2.1.7
│  │  ├─ oauth-sign@~0.8.1
│  │  ├─ performance-now@^0.2.0
│  │  ├─ qs@~6.4.0
│  │  ├─ safe-buffer@^5.0.1
│  │  ├─ stringstream@~0.0.4
│  │  ├─ tough-cookie@~2.3.0
│  │  ├─ tunnel-agent@^0.6.0
│  │  └─ uuid@^3.0.0
│  ├─ rimraf@^2.6.1
│  ├─ semver@^5.3.0
│  ├─ tar-pack@^3.4.0
│  └─ tar@^2.2.1
├─ nopt@4.0.1
│  ├─ abbrev@1
│  └─ osenv@^0.1.4
├─ normalize-package-data@2.4.0
│  ├─ hosted-git-info@^2.1.4
│  ├─ is-builtin-module@^1.0.0
│  ├─ semver@2 || 3 || 4 || 5
│  └─ validate-npm-package-license@^3.0.1
├─ normalize-path@2.1.1
│  └─ remove-trailing-separator@^1.0.1
├─ npm-run-path@2.0.2
│  └─ path-key@^2.0.0
├─ npmlog@4.1.2
│  ├─ are-we-there-yet@~1.1.2
│  ├─ console-control-strings@~1.1.0
│  ├─ gauge@~2.7.3
│  └─ set-blocking@~2.0.0
├─ number-is-nan@1.0.1
├─ nwmatcher@1.4.3
├─ oauth-sign@0.8.2
├─ object-assign@4.1.1
├─ object.omit@2.0.1
│  ├─ for-own@^0.1.4
│  └─ is-extendable@^0.1.1
├─ once@1.4.0
│  └─ wrappy@1
├─ optimist@0.6.1
│  ├─ minimist@~0.0.1
│  ├─ minimist@0.0.8
│  └─ wordwrap@~0.0.2
├─ optionator@0.8.2
│  ├─ deep-is@~0.1.3
│  ├─ fast-levenshtein@~2.0.4
│  ├─ levn@~0.3.0
│  ├─ prelude-ls@~1.1.2
│  ├─ type-check@~0.3.2
│  ├─ wordwrap@~1.0.0
│  └─ wordwrap@1.0.0
├─ os-homedir@1.0.2
├─ os-locale@2.1.0
│  ├─ execa@^0.7.0
│  ├─ lcid@^1.0.0
│  └─ mem@^1.1.0
├─ os-tmpdir@1.0.2
├─ osenv@0.1.4
│  ├─ os-homedir@^1.0.0
│  └─ os-tmpdir@^1.0.0
├─ p-cancelable@0.3.0
├─ p-finally@1.0.0
├─ p-limit@1.1.0
├─ p-locate@2.0.0
│  └─ p-limit@^1.1.0
├─ parse-glob@3.0.4
│  ├─ glob-base@^0.3.0
│  ├─ is-dotfile@^1.0.0
│  ├─ is-extglob@^1.0.0
│  └─ is-glob@^2.0.0
├─ parse-json@2.2.0
│  └─ error-ex@^1.2.0
├─ parse5@1.5.1
├─ path-exists@3.0.0
├─ path-is-absolute@1.0.1
├─ path-key@2.0.1
├─ path-parse@1.0.5
├─ path-type@2.0.0
│  └─ pify@^2.0.0
├─ performance-now@2.1.0
├─ pify@2.3.0
├─ pinkie-promise@2.0.1
│  └─ pinkie@^2.0.0
├─ pinkie@2.0.4
├─ pkg-dir@2.0.0
│  └─ find-up@^2.1.0
├─ prelude-ls@1.1.2
├─ preserve@0.2.0
├─ pretty-format@21.2.1
│  ├─ ansi-regex@^3.0.0
│  ├─ ansi-regex@3.0.0
│  └─ ansi-styles@^3.2.0
├─ private@0.1.8
├─ process-nextick-args@1.0.7
├─ prr@0.0.0
├─ pseudomap@1.0.2
├─ punycode@1.4.1
├─ qs@6.5.1
├─ randomatic@1.1.7
│  ├─ is-number@^3.0.0
│  ├─ is-number@3.0.0
│  │  ├─ kind-of@^3.0.2
│  │  └─ kind-of@3.2.2
│  │     └─ is-buffer@^1.1.5
│  ├─ kind-of@^4.0.0
│  └─ kind-of@4.0.0
│     └─ is-buffer@^1.1.5
├─ rc@1.2.2
│  ├─ deep-extend@~0.4.0
│  ├─ ini@~1.3.0
│  ├─ minimist@^1.2.0
│  └─ strip-json-comments@~2.0.1
├─ read-pkg-up@2.0.0
│  ├─ find-up@^2.0.0
│  └─ read-pkg@^2.0.0
├─ read-pkg@2.0.0
│  ├─ load-json-file@^2.0.0
│  ├─ normalize-package-data@^2.3.2
│  └─ path-type@^2.0.0
├─ readable-stream@2.3.3
│  ├─ core-util-is@~1.0.0
│  ├─ inherits@~2.0.3
│  ├─ isarray@~1.0.0
│  ├─ process-nextick-args@~1.0.6
│  ├─ safe-buffer@~5.1.1
│  ├─ string_decoder@~1.0.3
│  └─ util-deprecate@~1.0.1
├─ regenerator-runtime@0.11.0
├─ regex-cache@0.4.4
│  └─ is-equal-shallow@^0.1.3
├─ remove-trailing-separator@1.1.0
├─ repeat-element@1.1.2
├─ repeat-string@1.6.1
├─ repeating@2.0.1
│  └─ is-finite@^1.0.0
├─ request@2.83.0
│  ├─ aws-sign2@~0.7.0
│  ├─ aws4@^1.6.0
│  ├─ boom@4.3.1
│  │  └─ hoek@4.x.x
│  ├─ caseless@~0.12.0
│  ├─ combined-stream@~1.0.5
│  ├─ cryptiles@3.1.2
│  │  ├─ boom@5.2.0
│  │  │  └─ hoek@4.x.x
│  │  └─ boom@5.x.x
│  ├─ extend@~3.0.1
│  ├─ forever-agent@~0.6.1
│  ├─ form-data@~2.3.1
│  ├─ har-validator@~5.0.3
│  ├─ hawk@~6.0.2
│  ├─ hawk@6.0.2
│  │  ├─ boom@4.x.x
│  │  ├─ cryptiles@3.x.x
│  │  ├─ hoek@4.x.x
│  │  └─ sntp@2.x.x
│  ├─ http-signature@~1.2.0
│  ├─ is-typedarray@~1.0.0
│  ├─ isstream@~0.1.2
│  ├─ json-stringify-safe@~5.0.1
│  ├─ mime-types@~2.1.17
│  ├─ oauth-sign@~0.8.2
│  ├─ performance-now@^2.1.0
│  ├─ qs@~6.5.1
│  ├─ safe-buffer@^5.1.1
│  ├─ sntp@2.0.2
│  │  └─ hoek@4.x.x
│  ├─ stringstream@~0.0.5
│  ├─ tough-cookie@~2.3.3
│  ├─ tunnel-agent@^0.6.0
│  └─ uuid@^3.1.0
├─ require-directory@2.1.1
├─ require-main-filename@1.0.1
├─ resolve@1.5.0
│  └─ path-parse@^1.0.5
├─ right-align@0.1.3
│  └─ align-text@^0.1.1
├─ rimraf@2.6.2
│  └─ glob@^7.0.5
├─ safe-buffer@5.1.1
├─ sane@2.2.0
│  ├─ anymatch@^1.3.0
│  ├─ exec-sh@^0.2.0
│  ├─ fb-watchman@^2.0.0
│  ├─ fsevents@^1.1.1
│  ├─ minimatch@^3.0.2
│  ├─ minimist@^1.1.1
│  ├─ walker@~1.0.5
│  └─ watch@~0.18.0
├─ sax@1.2.4
├─ semver@5.4.1
├─ set-blocking@2.0.0
├─ shebang-command@1.2.0
│  └─ shebang-regex@^1.0.0
├─ shebang-regex@1.0.0
├─ shellwords@0.1.1
├─ signal-exit@3.0.2
├─ slash@1.0.0
├─ sntp@1.0.9
│  ├─ hoek@2.16.3
│  └─ hoek@2.x.x
├─ source-map-support@0.5.0
│  ├─ source-map@^0.6.0
│  └─ source-map@0.6.1
├─ source-map@0.5.7
├─ spdx-correct@1.0.2
│  └─ spdx-license-ids@^1.0.2
├─ spdx-expression-parse@1.0.4
├─ spdx-license-ids@1.2.2
├─ sprintf-js@1.0.3
├─ sshpk@1.13.1
│  ├─ asn1@~0.2.3
│  ├─ assert-plus@^1.0.0
│  ├─ bcrypt-pbkdf@^1.0.0
│  ├─ dashdash@^1.12.0
│  ├─ ecc-jsbn@~0.1.1
│  ├─ getpass@^0.1.1
│  ├─ jsbn@~0.1.0
│  └─ tweetnacl@~0.14.0
├─ string_decoder@1.0.3
│  └─ safe-buffer@~5.1.0
├─ string-length@2.0.0
│  ├─ ansi-regex@3.0.0
│  ├─ astral-regex@^1.0.0
│  ├─ strip-ansi@^4.0.0
│  └─ strip-ansi@4.0.0
│     └─ ansi-regex@^3.0.0
├─ string-width@1.0.2
│  ├─ code-point-at@^1.0.0
│  ├─ is-fullwidth-code-point@^1.0.0
│  └─ strip-ansi@^3.0.0
├─ stringstream@0.0.5
├─ strip-ansi@3.0.1
│  └─ ansi-regex@^2.0.0
├─ strip-bom@2.0.0
│  └─ is-utf8@^0.2.0
├─ strip-eof@1.0.0
├─ strip-json-comments@2.0.1
├─ supports-color@4.5.0
│  └─ has-flag@^2.0.0
├─ symbol-tree@3.2.2
├─ tar-pack@3.4.1
│  ├─ debug@^2.2.0
│  ├─ fstream-ignore@^1.0.5
│  ├─ fstream@^1.0.10
│  ├─ once@^1.3.3
│  ├─ readable-stream@^2.1.4
│  ├─ rimraf@^2.5.1
│  ├─ tar@^2.2.1
│  └─ uid-number@^0.0.6
├─ tar@2.2.1
│  ├─ block-stream@*
│  ├─ fstream@^1.0.2
│  └─ inherits@2
├─ test-exclude@4.1.1
│  ├─ arrify@^1.0.1
│  ├─ find-up@1.1.2
│  │  ├─ path-exists@^2.0.0
│  │  └─ pinkie-promise@^2.0.0
│  ├─ load-json-file@1.1.0
│  │  ├─ graceful-fs@^4.1.2
│  │  ├─ parse-json@^2.2.0
│  │  ├─ pify@^2.0.0
│  │  ├─ pinkie-promise@^2.0.0
│  │  └─ strip-bom@^2.0.0
│  ├─ micromatch@^2.3.11
│  ├─ object-assign@^4.1.0
│  ├─ path-exists@2.1.0
│  │  └─ pinkie-promise@^2.0.0
│  ├─ path-type@1.1.0
│  │  ├─ graceful-fs@^4.1.2
│  │  ├─ pify@^2.0.0
│  │  └─ pinkie-promise@^2.0.0
│  ├─ read-pkg-up@^1.0.1
│  ├─ read-pkg-up@1.0.1
│  │  ├─ find-up@^1.0.0
│  │  └─ read-pkg@^1.0.0
│  ├─ read-pkg@1.1.0
│  │  ├─ load-json-file@^1.0.0
│  │  ├─ normalize-package-data@^2.3.2
│  │  └─ path-type@^1.0.0
│  └─ require-main-filename@^1.0.1
├─ throat@4.1.0
├─ tmpl@1.0.4
├─ to-fast-properties@1.0.3
├─ tough-cookie@2.3.3
│  └─ punycode@^1.4.1
├─ tr46@0.0.3
├─ trim-right@1.0.1
├─ ts-jest@21.1.3
│  ├─ babel-core@^6.24.1
│  ├─ babel-plugin-istanbul@^4.1.4
│  ├─ babel-plugin-transform-es2015-modules-commonjs@^6.24.1
│  ├─ babel-preset-jest@^21.2.0
│  ├─ fs-extra@^4.0.0
│  ├─ jest-config@^21.2.1
│  ├─ jest-util@^21.2.1
│  ├─ pkg-dir@^2.0.0
│  ├─ source-map-support@^0.5.0
│  └─ yargs@^9.0.1
├─ tslib@1.8.0
├─ tslint@5.8.0
│  ├─ babel-code-frame@^6.22.0
│  ├─ builtin-modules@^1.1.1
│  ├─ chalk@^2.1.0
│  ├─ commander@^2.9.0
│  ├─ diff@^3.2.0
│  ├─ glob@^7.1.1
│  ├─ minimatch@^3.0.4
│  ├─ resolve@^1.3.2
│  ├─ semver@^5.3.0
│  ├─ tslib@^1.7.1
│  └─ tsutils@^2.12.1
├─ tsutils@2.12.1
│  └─ tslib@^1.7.1
├─ tunnel-agent@0.6.0
│  └─ safe-buffer@^5.0.1
├─ tweetnacl@0.14.5
├─ type-check@0.3.2
│  └─ prelude-ls@~1.1.2
├─ typescript@2.5.3
├─ uglify-js@2.8.29
│  ├─ camelcase@1.2.1
│  ├─ cliui@2.1.0
│  │  ├─ center-align@^0.1.1
│  │  ├─ right-align@^0.1.1
│  │  └─ wordwrap@0.0.2
│  ├─ source-map@~0.5.1
│  ├─ uglify-to-browserify@~1.0.0
│  ├─ wordwrap@0.0.2
│  ├─ yargs@~3.10.0
│  └─ yargs@3.10.0
│     ├─ camelcase@^1.0.2
│     ├─ cliui@^2.1.0
│     ├─ decamelize@^1.0.0
│     └─ window-size@0.1.0
├─ uglify-to-browserify@1.0.2
├─ uid-number@0.0.6
├─ universalify@0.1.1
├─ util-deprecate@1.0.2
├─ uuid@3.1.0
├─ validate-npm-package-license@3.0.1
│  ├─ spdx-correct@~1.0.0
│  └─ spdx-expression-parse@~1.0.0
├─ verror@1.10.0
│  ├─ assert-plus@^1.0.0
│  ├─ core-util-is@1.0.2
│  └─ extsprintf@^1.2.0
├─ walker@1.0.7
│  └─ makeerror@1.0.x
├─ watch@0.18.0
│  ├─ exec-sh@^0.2.0
│  └─ minimist@^1.2.0
├─ webidl-conversions@4.0.2
├─ whatwg-encoding@1.0.2
│  └─ iconv-lite@0.4.13
├─ whatwg-url@4.8.0
│  ├─ tr46@~0.0.3
│  ├─ webidl-conversions@^3.0.0
│  └─ webidl-conversions@3.0.1
├─ which-module@2.0.0
├─ which@1.3.0
│  └─ isexe@^2.0.0
├─ wide-align@1.1.2
│  └─ string-width@^1.0.2
├─ window-size@0.1.0
├─ wordwrap@0.0.3
├─ worker-farm@1.5.0
│  ├─ errno@^0.1.4
│  └─ xtend@^4.0.1
├─ wrap-ansi@2.1.0
│  ├─ string-width@^1.0.1
│  └─ strip-ansi@^3.0.1
├─ wrappy@1.0.2
├─ write-file-atomic@2.3.0
│  ├─ graceful-fs@^4.1.11
│  ├─ imurmurhash@^0.1.4
│  └─ signal-exit@^3.0.2
├─ xml-name-validator@2.0.1
├─ xtend@4.0.1
├─ y18n@3.2.1
├─ yallist@2.1.2
├─ yargs-parser@7.0.0
│  └─ camelcase@^4.1.0
└─ yargs@9.0.1
   ├─ ansi-regex@3.0.0
   ├─ camelcase@^4.1.0
   ├─ cliui@^3.2.0
   ├─ decamelize@^1.1.1
   ├─ get-caller-file@^1.0.1
   ├─ is-fullwidth-code-point@2.0.0
   ├─ os-locale@^2.0.0
   ├─ read-pkg-up@^2.0.0
   ├─ require-directory@^2.1.1
   ├─ require-main-filename@^1.0.1
   ├─ set-blocking@^2.0.0
   ├─ string-width@^2.0.0
   ├─ string-width@2.1.1
   │  ├─ is-fullwidth-code-point@^2.0.0
   │  └─ strip-ansi@^4.0.0
   ├─ strip-ansi@4.0.0
   │  └─ ansi-regex@^3.0.0
   ├─ which-module@^2.0.0
   ├─ y18n@^3.2.1
   └─ yargs-parser@^7.0.0
✨  Done in 0.38s.

@masters3d
Copy link
Contributor

masters3d commented Jul 17, 2018 via email

@masters3d
Copy link
Contributor

masters3d commented Jul 17, 2018 via email

@masters3d
Copy link
Contributor

masters3d commented Jul 18, 2018

I can not reproduce this.
Tested on windows

C:\Source\github\exercism\typescript\exercises\hello-world [master ≡]> yarn install
yarn install v1.7.0
[1/4] Resolving packages...
[2/4] Fetching packages...
info fsevents@1.1.2: The platform "win32" is incompatible with this module.
info "fsevents@1.1.2" is an optional dependency and failed compatibility check. Excluding it from installation.
[3/4] Linking dependencies...
[4/4] Building fresh packages...
Done in 25.86s.
C:\Source\github\exercism\typescript\exercises\hello-world [master ≡]> yarn test
yarn run v1.7.0
$ tsc --noEmit -p . && jest --no-cache
hello-world.test.ts(11,12): error TS2554: Expected 0 arguments, but got 1.
hello-world.test.ts(15,12): error TS2554: Expected 0 arguments, but got 1.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
C:\Source\github\exercism\typescript\exercises\hello-world [master ≡]> tsc --version
Version 2.6.1
C:\Source\github\exercism\typescript\exercises\hello-world [master ≡]> yarn --version
1.7.0
C:\Source\github\exercism\typescript\exercises\hello-world [master ≡]> node --version
v8.11.3
C:\Source\github\exercism\typescript\exercises\hello-world [master ≡]> npm --version
5.6.0
C:\Source\github\exercism\typescript\exercises\hello-world [master ≡]>

@masters3d
Copy link
Contributor

Check the version that the npm/yarn is using, it should match what is listed in the dependencies

"version-check": "tsc --version && jest --version && tslint --version",

Please open this again if you still need help

@vogelbek
Copy link
Author

@masters3d Can you please tell me where to look for this?
When I look in the yarn.lock, I see the following:
tslint@^5.8.0
jest-cli@^21.2.1
TSC is not in the yarn.lock.

I might need you to assume less JS configuration knowledge on my part and be more specific in your recommendations. Thank you for trying to get through.

@masters3d
Copy link
Contributor

masters3d commented Jul 18, 2018

tsc is the typescript compiler. You want npm/yarn to use the one specified in the package dependency list.

yarn install
yarn test

if you add "version-check": "tsc --version && jest --version && tslint --version", to the package.json/ scripts
then you can do

yarn run version-check which should give you the same version listed in the package dependencies.

The only think I can think of is that npm/yarn are using a global package.json instead of the one inside.

@vogelbek
Copy link
Author

vogelbek commented Jul 19, 2018

@masters3d Thank you for the coaching. Here is what I found with that script:

yarn run version-check
yarn run v1.7.0
$ tsc --version && jest --version && tslint --version
Version 2.5.3
v21.2.1
5.8.0
✨  Done in 0.86s.

Comparing to the dependencies in package.json:

"dependencies": {
    "@types/jest": "^21.1.5",
    "@types/node": "^8.0.47",
    "jest": "^21.2.1",
    "ts-jest": "^21.1.3",
    "tslint": "^5.8.0",
    "typescript": "^2.5.3"
  },

could there be a problem with whether to use @types/jest, jest, or ts-jest?

@masters3d
Copy link
Contributor

Interesting,

This is what the yarn locked file says:

ts-jest@^21.1.3:
  version "21.1.3"
  resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-21.1.3.tgz#cc3c552e7e8a67db9ededc28c00ae98223614ddc"

Delete your node_modules and replace your local lockfile and try again with yarn install.

@masters3d masters3d reopened this Jul 19, 2018
@masters3d
Copy link
Contributor

I miss read. But do try nuking the node_modules and replace the lock file.

@masters3d
Copy link
Contributor

Somehow, there is a server or process running the file. I have no idea why this is happening. Could you try stackoverflow.com? The RUNS ./hello-world.test.ts should not be happening.

C:\Source\github\exercism\typescript\exercises\hello-world>npm install
npm WARN deprecated istanbul-lib-hook@1.2.1: 1.2.0 should have been a major version bump
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.4 (node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.4: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})

added 590 packages in 34.725s

C:\Source\github\exercism\typescript\exercises\hello-world>npm test

> xtypescript@1.0.0 test C:\Source\github\exercism\typescript\exercises\hello-world
> tsc --noEmit -p . && jest --no-cache

hello-world.test.ts:11:12 - error TS2554: Expected 0 arguments, but got 1.

11     expect(HelloWorld.hello('Bob')).toEqual('Hello, Bob!')
              ~~~~~~~~~~~~~~~~~~~~~~~


hello-world.test.ts:15:12 - error TS2554: Expected 0 arguments, but got 1.

15     expect(HelloWorld.hello('Sally')).toEqual('Hello, Sally!')
              ~~~~~~~~~~~~~~~~~~~~~~~~~


npm ERR! Test failed.  See above for more details.

C:\Source\github\exercism\typescript\exercises\hello-world>

@vogelbek
Copy link
Author

SUCCESS!!!

Ran:
rm -rf node_modules and rm yarn.lock, and now yarn test runs the specs as expected.

@masters3d You have created good karma today, thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants