Skip to content

[v0.57.0-rc.3] New project unit testing doesn't work #20876

@jeremywiebe

Description

@jeremywiebe

UPDATE: This might be a duplicate of #19859 but it definitely exists in 0.57-rc.3 still.

Environment

Run react-native info in your terminal and paste its contents here.

React Native Environment Info:
System:
OS: macOS High Sierra 10.13.6
CPU: x64 Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz
Memory: 270.51 MB / 16.00 GB
Shell: 2.7.1 - /usr/local/bin/fish
Binaries:
Node: 8.11.4 - /usr/local/bin/node
Yarn: 1.9.4 - /usr/local/bin/yarn
npm: 5.6.0 - /usr/local/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
SDKs:
iOS SDK:
Platforms: iOS 11.4, macOS 10.13, tvOS 11.4, watchOS 4.3
IDEs:
Android Studio: 3.1 AI-173.4907809
Xcode: 9.4.1/9F2000 - /usr/bin/xcodebuild
npmPackages:
react: 16.4.1 => 16.4.1
react-native: 0.57.0-rc.3 => 0.57.0-rc.3

Description

Unit tests in new projects generated using the react-native CLI are broken. Here's the steps to reproduce:

$ react-native init rntest
....
$ cd rntest
$ mkdir __tests__
$ cat "class Button {
    _binder 

    constructor() {
        this._binder = this._binder.bind(this);
    }

    _binder() {
        console.log('_binder bound to:', this);
    }
}

describe('Button', () => {
    it('does stuff', () => {
        const x = new Button();
    })
});
" > __tests__/Button.test.js
$ yarn test
yarn run v1.9.4
$ jest
 FAIL  __tests__/Button.test.js
  ● Test suite failed to run

    Couldn't find preset "module:metro-react-native-babel-preset" relative to directory "/Users/jeremy/dev/rntest"

      at node_modules/babel-core/lib/transformation/file/options/option-manager.js:293:19
          at Array.map (<anonymous>)
      at OptionManager.resolvePresets (node_modules/babel-core/lib/transformation/file/options/option-manager.js:275:20)
      at OptionManager.mergePresets (node_modules/babel-core/lib/transformation/file/options/option-manager.js:264:10)
      at OptionManager.mergeOptions (node_modules/babel-core/lib/transformation/file/options/option-manager.js:249:14)
      at OptionManager.init (node_modules/babel-core/lib/transformation/file/options/option-manager.js:368:12)
      at File.initOptions (node_modules/babel-core/lib/transformation/file/index.js:212:65)
      at new File (node_modules/babel-core/lib/transformation/file/index.js:135:24)
      at Pipeline.transform (node_modules/babel-core/lib/transformation/pipeline.js:46:16)

Test Suites: 1 failed, 1 total
Tests:       0 total
Snapshots:   0 total
Time:        0.309s
Ran all test suites.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
$ _
`yarn info`
$ yarn list
yarn list v1.9.4
├─ @babel/[email protected]
│  └─ @babel/[email protected]
├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ convert-source-map@^1.1.0
│  ├─ debug@^3.1.0
│  ├─ [email protected]
│  │  └─ [email protected]
│  ├─ json5@^0.5.0
│  ├─ lodash@^4.17.10
│  ├─ resolve@^1.3.2
│  ├─ semver@^5.4.1
│  └─ source-map@^0.5.0
├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ jsesc@^2.5.1
│  ├─ [email protected]
│  ├─ lodash@^4.17.10
│  ├─ source-map@^0.5.0
│  └─ trim-right@^1.0.1
├─ @babel/[email protected]
│  └─ @babel/[email protected]
├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  └─ @babel/[email protected]
├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  └─ esutils@^2.0.0
├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  └─ @babel/[email protected]
├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  └─ lodash@^4.17.10
├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  └─ @babel/[email protected]
├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  └─ @babel/[email protected]
├─ @babel/[email protected]
│  └─ @babel/[email protected]
├─ @babel/[email protected]
│  └─ @babel/[email protected]
├─ @babel/[email protected]
│  └─ @babel/[email protected]
├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  └─ lodash@^4.17.10
├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  └─ lodash@^4.17.10
├─ @babel/[email protected]
│  └─ @babel/[email protected]
├─ @babel/[email protected]
├─ @babel/[email protected]
│  └─ lodash@^4.17.10
├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  └─ @babel/[email protected]
├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  └─ @babel/[email protected]
├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  └─ lodash@^4.17.10
├─ @babel/[email protected]
│  └─ @babel/[email protected]
├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  └─ @babel/[email protected]
├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  └─ @babel/[email protected]
├─ @babel/[email protected]
│  ├─ chalk@^2.0.0
│  ├─ esutils@^2.0.2
│  └─ js-tokens@^3.0.0
├─ @babel/[email protected]
├─ @babel/[email protected]
│  └─ @babel/[email protected]
├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  └─ @babel/[email protected]
├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  └─ @babel/[email protected]
├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  └─ @babel/[email protected]
├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  └─ @babel/[email protected]
├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  └─ @babel/[email protected]
├─ @babel/[email protected]
│  └─ @babel/[email protected]
├─ @babel/[email protected]
│  └─ @babel/[email protected]
├─ @babel/[email protected]
│  └─ @babel/[email protected]
├─ @babel/[email protected]
│  └─ @babel/[email protected]
├─ @babel/[email protected]
│  └─ @babel/[email protected]
├─ @babel/[email protected]
│  └─ @babel/[email protected]
├─ @babel/[email protected]
│  └─ @babel/[email protected]
├─ @babel/[email protected]
│  └─ @babel/[email protected]
├─ @babel/[email protected]
│  └─ @babel/[email protected]
├─ @babel/[email protected]
│  └─ @babel/[email protected]
├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  └─ @babel/[email protected]
├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  └─ lodash@^4.17.10
├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  └─ globals@^11.1.0
├─ @babel/[email protected]
│  └─ @babel/[email protected]
├─ @babel/[email protected]
│  └─ @babel/[email protected]
├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  └─ @babel/[email protected]
├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  └─ @babel/[email protected]
├─ @babel/[email protected]
│  └─ @babel/[email protected]
├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  └─ @babel/[email protected]
├─ @babel/[email protected]
│  └─ @babel/[email protected]
├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  └─ @babel/[email protected]
├─ @babel/[email protected]
│  └─ @babel/[email protected]
├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  └─ @babel/[email protected]
├─ @babel/[email protected]
│  └─ @babel/[email protected]
├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  └─ @babel/[email protected]
├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  └─ @babel/[email protected]
├─ @babel/[email protected]
│  └─ regenerator-transform@^0.13.3
├─ @babel/[email protected]
│  └─ @babel/[email protected]
├─ @babel/[email protected]
│  └─ @babel/[email protected]
├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  └─ @babel/[email protected]
├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  └─ @babel/[email protected]
├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  └─ @babel/[email protected]
├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  └─ regexpu-core@^4.1.3
├─ @babel/[email protected]
│  ├─ core-js@^2.5.7
│  ├─ find-cache-dir@^1.0.0
│  ├─ home-or-tmp@^3.0.0
│  ├─ [email protected]
│  ├─ lodash@^4.17.10
│  ├─ mkdirp@^0.5.1
│  ├─ pirates@^4.0.0
│  └─ source-map-support@^0.4.2
├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  └─ lodash@^4.17.10
├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ debug@^3.1.0
│  ├─ [email protected]
│  │  └─ [email protected]
│  ├─ globals@^11.1.0
│  └─ lodash@^4.17.10
├─ @babel/[email protected]
│  ├─ esutils@^2.0.2
│  ├─ lodash@^4.17.10
│  └─ to-fast-properties@^2.0.0
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  ├─ mime-types@~2.1.18
│  └─ [email protected]
├─ [email protected]
│  └─ acorn@^5.0.0
├─ [email protected]
├─ [email protected]
│  ├─ co@^4.6.0
│  ├─ fast-deep-equal@^1.0.0
│  ├─ fast-json-stable-stringify@^2.0.0
│  └─ json-schema-traverse@^0.3.0
├─ [email protected]
│  ├─ kind-of@^3.0.2
│  ├─ longest@^1.0.1
│  └─ repeat-string@^1.5.2
├─ [email protected]
├─ [email protected]
│  └─ ansi-wrap@^0.1.0
├─ [email protected]
│  └─ [email protected]
├─ [email protected]
├─ [email protected]
│  └─ [email protected]
├─ [email protected]
│  └─ [email protected]
├─ [email protected]
├─ [email protected]
│  └─ color-convert@^1.9.0
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  ├─ [email protected]
│  │  ├─ arr-flatten@^1.1.0
│  │  ├─ array-unique@^0.3.2
│  │  ├─ extend-shallow@^2.0.1
│  │  ├─ [email protected]
│  │  │  └─ is-extendable@^0.1.0
│  │  ├─ fill-range@^4.0.0
│  │  ├─ [email protected]
│  │  ├─ isobject@^3.0.1
│  │  ├─ repeat-element@^1.1.2
│  │  ├─ snapdragon-node@^2.0.1
│  │  ├─ snapdragon@^0.8.1
│  │  ├─ split-string@^3.0.2
│  │  └─ to-regex@^3.0.1
│  ├─ [email protected]
│  │  ├─ is-descriptor@^1.0.2
│  │  └─ isobject@^3.0.1
│  ├─ [email protected]
│  │  ├─ debug@^2.3.3
│  │  ├─ define-property@^0.2.5
│  │  ├─ [email protected]
│  │  │  └─ is-descriptor@^0.1.0
│  │  ├─ extend-shallow@^2.0.1
│  │  ├─ [email protected]
│  │  │  └─ is-extendable@^0.1.0
│  │  ├─ [email protected]
│  │  │  ├─ is-accessor-descriptor@^0.1.6
│  │  │  ├─ is-data-descriptor@^0.1.4
│  │  │  └─ kind-of@^5.0.0
│  │  ├─ [email protected]
│  │  ├─ [email protected]
│  │  ├─ posix-character-classes@^0.1.0
│  │  ├─ regex-not@^1.0.0
│  │  ├─ snapdragon@^0.8.1
│  │  └─ to-regex@^3.0.1
│  ├─ [email protected]
│  │  ├─ assign-symbols@^1.0.0
│  │  └─ is-extendable@^1.0.1
│  ├─ [email protected]
│  │  ├─ array-unique@^0.3.2
│  │  ├─ define-property@^1.0.0
│  │  ├─ [email protected]
│  │  │  └─ is-descriptor@^1.0.0
│  │  ├─ expand-brackets@^2.1.4
│  │  ├─ extend-shallow@^2.0.1
│  │  ├─ [email protected]
│  │  │  └─ is-extendable@^0.1.0
│  │  ├─ fragment-cache@^0.2.1
│  │  ├─ [email protected]
│  │  ├─ regex-not@^1.0.0
│  │  ├─ snapdragon@^0.8.1
│  │  └─ to-regex@^3.0.1
│  ├─ [email protected]
│  │  ├─ extend-shallow@^2.0.1
│  │  ├─ [email protected]
│  │  │  └─ is-extendable@^0.1.0
│  │  ├─ [email protected]
│  │  ├─ is-number@^3.0.0
│  │  ├─ repeat-string@^1.6.1
│  │  └─ to-regex-range@^2.1.0
│  ├─ [email protected]
│  │  ├─ kind-of@^3.0.2
│  │  └─ [email protected]
│  │     └─ is-buffer@^1.1.5
│  ├─ [email protected]
│  │  ├─ kind-of@^3.0.2
│  │  └─ [email protected]
│  │     └─ is-buffer@^1.1.5
│  ├─ [email protected]
│  │  └─ is-plain-object@^2.0.4
│  ├─ [email protected]
│  ├─ micromatch@^3.1.4
│  ├─ [email protected]
│  │  ├─ arr-diff@^4.0.0
│  │  ├─ array-unique@^0.3.2
│  │  ├─ braces@^2.3.1
│  │  ├─ define-property@^2.0.2
│  │  ├─ extend-shallow@^3.0.2
│  │  ├─ extglob@^2.0.4
│  │  ├─ fragment-cache@^0.2.1
│  │  ├─ kind-of@^6.0.2
│  │  ├─ nanomatch@^1.2.9
│  │  ├─ object.pick@^1.3.0
│  │  ├─ regex-not@^1.0.0
│  │  ├─ snapdragon@^0.8.1
│  │  └─ to-regex@^3.0.2
│  └─ normalize-path@^2.1.1
├─ [email protected]
│  └─ default-require-extensions@^2.0.0
├─ [email protected]
├─ [email protected]
│  ├─ delegates@^1.0.0
│  └─ readable-stream@^2.0.6
├─ [email protected]
│  └─ sprintf-js@~1.0.2
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  └─ safer-buffer@~2.1.0
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  └─ lodash@^4.17.10
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  ├─ [email protected]
│  ├─ chalk@^1.1.3
│  ├─ [email protected]
│  │  ├─ 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
│  └─ [email protected]
├─ [email protected]
│  ├─ 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.1
│  ├─ debug@^2.6.9
│  ├─ json5@^0.5.1
│  ├─ lodash@^4.17.4
│  ├─ minimatch@^3.0.4
│  ├─ path-is-absolute@^1.0.1
│  ├─ private@^0.1.8
│  ├─ slash@^1.0.0
│  └─ source-map@^0.5.7
├─ [email protected]
│  ├─ babel-messages@^6.23.0
│  ├─ babel-runtime@^6.26.0
│  ├─ babel-types@^6.26.0
│  ├─ detect-indent@^4.0.0
│  ├─ jsesc@^1.3.0
│  ├─ [email protected]
│  ├─ lodash@^4.17.4
│  ├─ source-map@^0.5.7
│  └─ trim-right@^1.0.1
├─ [email protected]
│  ├─ babel-runtime@^6.26.0
│  ├─ babel-types@^6.26.0
│  └─ esutils@^2.0.2
├─ [email protected]
│  ├─ babel-helper-hoist-variables@^6.24.1
│  ├─ babel-runtime@^6.22.0
│  ├─ babel-traverse@^6.24.1
│  └─ babel-types@^6.24.1
├─ [email protected]
│  ├─ babel-helper-function-name@^6.24.1
│  ├─ babel-runtime@^6.26.0
│  ├─ babel-types@^6.26.0
│  └─ lodash@^4.17.4
├─ [email protected]
│  ├─ babel-helper-get-function-arity@^6.24.1
│  ├─ babel-runtime@^6.22.0
│  ├─ babel-template@^6.24.1
│  ├─ babel-traverse@^6.24.1
│  └─ babel-types@^6.24.1
├─ [email protected]
│  ├─ babel-runtime@^6.22.0
│  └─ babel-types@^6.24.1
├─ [email protected]
│  ├─ babel-runtime@^6.22.0
│  └─ babel-types@^6.24.1
├─ [email protected]
│  ├─ babel-runtime@^6.22.0
│  └─ babel-types@^6.24.1
├─ [email protected]
│  ├─ babel-runtime@^6.26.0
│  ├─ babel-types@^6.26.0
│  └─ lodash@^4.17.4
├─ [email protected]
│  ├─ babel-helper-optimise-call-expression@^6.24.1
│  ├─ babel-messages@^6.23.0
│  ├─ babel-runtime@^6.22.0
│  ├─ babel-template@^6.24.1
│  ├─ babel-traverse@^6.24.1
│  └─ babel-types@^6.24.1
├─ [email protected]
│  ├─ babel-runtime@^6.22.0
│  └─ babel-template@^6.24.1
├─ [email protected]
│  ├─ babel-plugin-istanbul@^4.1.6
│  └─ babel-preset-jest@^23.2.0
├─ [email protected]
│  └─ babel-runtime@^6.22.0
├─ [email protected]
│  └─ babel-runtime@^6.22.0
├─ [email protected]
│  ├─ babel-plugin-syntax-object-rest-spread@^6.13.0
│  ├─ find-up@^2.1.0
│  ├─ istanbul-lib-instrument@^1.10.1
│  └─ test-exclude@^4.2.1
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  ├─ babel-helper-function-name@^6.24.1
│  ├─ babel-plugin-syntax-class-properties@^6.8.0
│  ├─ babel-runtime@^6.22.0
│  └─ babel-template@^6.24.1
├─ [email protected]
│  └─ babel-runtime@^6.22.0
├─ [email protected]
│  └─ babel-runtime@^6.22.0
├─ [email protected]
│  ├─ babel-runtime@^6.26.0
│  ├─ babel-template@^6.26.0
│  ├─ babel-traverse@^6.26.0
│  ├─ babel-types@^6.26.0
│  └─ lodash@^4.17.4
├─ [email protected]
│  ├─ babel-helper-define-map@^6.24.1
│  ├─ babel-helper-function-name@^6.24.1
│  ├─ babel-helper-optimise-call-expression@^6.24.1
│  ├─ babel-helper-replace-supers@^6.24.1
│  ├─ babel-messages@^6.23.0
│  ├─ babel-runtime@^6.22.0
│  ├─ babel-template@^6.24.1
│  ├─ babel-traverse@^6.24.1
│  └─ babel-types@^6.24.1
├─ [email protected]
│  ├─ babel-runtime@^6.22.0
│  └─ babel-template@^6.24.1
├─ [email protected]
│  └─ babel-runtime@^6.22.0
├─ [email protected]
│  └─ babel-runtime@^6.22.0
├─ [email protected]
│  ├─ babel-helper-function-name@^6.24.1
│  ├─ babel-runtime@^6.22.0
│  └─ babel-types@^6.24.1
├─ [email protected]
│  └─ babel-runtime@^6.22.0
├─ [email protected]
│  ├─ babel-plugin-transform-strict-mode@^6.24.1
│  ├─ babel-runtime@^6.26.0
│  ├─ babel-template@^6.26.0
│  └─ babel-types@^6.26.0
├─ [email protected]
│  ├─ babel-helper-replace-supers@^6.24.1
│  └─ babel-runtime@^6.22.0
├─ [email protected]
│  ├─ babel-helper-call-delegate@^6.24.1
│  ├─ babel-helper-get-function-arity@^6.24.1
│  ├─ babel-runtime@^6.22.0
│  ├─ babel-template@^6.24.1
│  ├─ babel-traverse@^6.24.1
│  └─ babel-types@^6.24.1
├─ [email protected]
│  ├─ babel-runtime@^6.22.0
│  └─ babel-types@^6.24.1
├─ [email protected]
│  └─ babel-runtime@^6.22.0
├─ [email protected]
│  ├─ babel-helper-regex@^6.24.1
│  ├─ babel-runtime@^6.22.0
│  └─ babel-types@^6.24.1
├─ [email protected]
│  └─ babel-runtime@^6.22.0
├─ [email protected]
│  ├─ babel-helper-regex@^6.24.1
│  ├─ babel-runtime@^6.22.0
│  ├─ regexpu-core@^2.0.0
│  ├─ [email protected]
│  │  ├─ regenerate@^1.2.1
│  │  ├─ regjsgen@^0.2.0
│  │  └─ regjsparser@^0.1.4
│  ├─ [email protected]
│  └─ [email protected]
│     └─ jsesc@~0.5.0
├─ [email protected]
│  └─ babel-runtime@^6.22.0
├─ [email protected]
│  └─ babel-runtime@^6.22.0
├─ [email protected]
│  ├─ babel-plugin-syntax-flow@^6.18.0
│  └─ babel-runtime@^6.22.0
├─ [email protected]
│  ├─ babel-plugin-syntax-object-rest-spread@^6.8.0
│  └─ babel-runtime@^6.26.0
├─ [email protected]
│  └─ babel-runtime@^6.22.0
├─ [email protected]
│  ├─ babel-helper-builder-react-jsx@^6.24.1
│  ├─ babel-plugin-syntax-jsx@^6.8.0
│  └─ babel-runtime@^6.22.0
├─ [email protected]
│  ├─ babel-runtime@^6.22.0
│  └─ babel-types@^6.24.1
├─ [email protected]
│  ├─ [email protected]
│  ├─ [email protected]
│  ├─ [email protected]
│  ├─ [email protected]
│  ├─ [email protected]
│  ├─ [email protected]
│  ├─ [email protected]
│  ├─ [email protected]
│  └─ [email protected]
├─ [email protected]
│  ├─ babel-plugin-check-es2015-constants@^6.8.0
│  ├─ babel-plugin-syntax-class-properties@^6.8.0
│  ├─ babel-plugin-syntax-flow@^6.8.0
│  ├─ babel-plugin-syntax-jsx@^6.8.0
│  ├─ babel-plugin-syntax-object-rest-spread@^6.8.0
│  ├─ babel-plugin-syntax-trailing-function-commas@^6.8.0
│  ├─ babel-plugin-transform-class-properties@^6.8.0
│  ├─ babel-plugin-transform-es2015-arrow-functions@^6.8.0
│  ├─ babel-plugin-transform-es2015-block-scoped-functions@^6.8.0
│  ├─ babel-plugin-transform-es2015-block-scoping@^6.8.0
│  ├─ babel-plugin-transform-es2015-classes@^6.8.0
│  ├─ babel-plugin-transform-es2015-computed-properties@^6.8.0
│  ├─ babel-plugin-transform-es2015-destructuring@^6.8.0
│  ├─ babel-plugin-transform-es2015-for-of@^6.8.0
│  ├─ babel-plugin-transform-es2015-function-name@^6.8.0
│  ├─ babel-plugin-transform-es2015-literals@^6.8.0
│  ├─ babel-plugin-transform-es2015-modules-commonjs@^6.8.0
│  ├─ babel-plugin-transform-es2015-object-super@^6.8.0
│  ├─ babel-plugin-transform-es2015-parameters@^6.8.0
│  ├─ babel-plugin-transform-es2015-shorthand-properties@^6.8.0
│  ├─ babel-plugin-transform-es2015-spread@^6.8.0
│  ├─ babel-plugin-transform-es2015-template-literals@^6.8.0
│  ├─ babel-plugin-transform-es3-member-expression-literals@^6.8.0
│  ├─ babel-plugin-transform-es3-property-literals@^6.8.0
│  ├─ babel-plugin-transform-flow-strip-types@^6.8.0
│  ├─ babel-plugin-transform-object-rest-spread@^6.8.0
│  ├─ babel-plugin-transform-react-display-name@^6.8.0
│  └─ babel-plugin-transform-react-jsx@^6.8.0
├─ [email protected]
│  ├─ babel-plugin-jest-hoist@^23.2.0
│  └─ babel-plugin-syntax-object-rest-spread@^6.13.0
├─ [email protected]
│  ├─ 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
├─ [email protected]
│  ├─ core-js@^2.4.0
│  └─ regenerator-runtime@^0.11.0
├─ [email protected]
│  ├─ babel-runtime@^6.26.0
│  ├─ babel-traverse@^6.26.0
│  ├─ babel-types@^6.26.0
│  ├─ babylon@^6.18.0
│  └─ lodash@^4.17.4
├─ [email protected]
│  ├─ 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
│  ├─ [email protected]
│  ├─ invariant@^2.2.2
│  └─ lodash@^4.17.4
├─ [email protected]
│  ├─ babel-runtime@^6.26.0
│  ├─ esutils@^2.0.2
│  ├─ lodash@^4.17.4
│  ├─ to-fast-properties@^1.0.3
│  └─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  ├─ cache-base@^1.0.1
│  ├─ class-utils@^0.3.5
│  ├─ component-emitter@^1.2.1
│  ├─ define-property@^1.0.0
│  ├─ [email protected]
│  │  └─ is-descriptor@^1.0.0
│  ├─ isobject@^3.0.1
│  ├─ mixin-deep@^1.2.0
│  └─ pascalcase@^0.1.1
├─ [email protected]
├─ [email protected]
│  ├─ [email protected]
│  └─ [email protected]
├─ [email protected]
│  └─ tweetnacl@^0.14.3
├─ [email protected]
├─ [email protected]
│  └─ stream-buffers@~2.2.0
├─ [email protected]
│  └─ big-integer@^1.6.7
├─ [email protected]
│  ├─ balanced-match@^1.0.0
│  └─ [email protected]
├─ [email protected]
│  ├─ expand-range@^1.8.1
│  ├─ preserve@^0.2.0
│  └─ repeat-element@^1.1.2
├─ [email protected]
├─ [email protected]
│  ├─ [email protected]
│  └─ [email protected]
├─ [email protected]
│  └─ node-int64@^0.4.0
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  ├─ collection-visit@^1.0.0
│  ├─ component-emitter@^1.2.1
│  ├─ get-value@^2.0.6
│  ├─ has-value@^1.0.0
│  ├─ isobject@^3.0.1
│  ├─ set-value@^2.0.0
│  ├─ to-object-path@^0.3.0
│  ├─ union-value@^1.0.0
│  └─ unset-value@^1.0.0
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  └─ rsvp@^3.3.3
├─ [email protected]
├─ [email protected]
│  ├─ align-text@^0.1.3
│  └─ lazy-cache@^1.0.3
├─ [email protected]
│  ├─ ansi-styles@^3.2.1
│  ├─ escape-string-regexp@^1.0.5
│  └─ supports-color@^5.3.0
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  ├─ arr-union@^3.1.0
│  ├─ define-property@^0.2.5
│  ├─ isobject@^3.0.0
│  └─ static-extend@^0.1.1
├─ [email protected]
│  └─ restore-cursor@^2.0.0
├─ [email protected]
├─ [email protected]
│  ├─ [email protected]
│  ├─ string-width@^2.1.1
│  ├─ strip-ansi@^4.0.0
│  ├─ [email protected]
│  │  └─ ansi-regex@^3.0.0
│  └─ wrap-ansi@^2.0.0
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  ├─ map-visit@^1.0.0
│  └─ object-visit@^1.0.0
├─ [email protected]
│  └─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  └─ delayed-stream@~1.0.0
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  └─ mime-db@>= 1.34.0 < 2
├─ [email protected]
│  ├─ accepts@~1.3.5
│  ├─ [email protected]
│  ├─ compressible@~2.0.14
│  ├─ [email protected]
│  ├─ on-headers@~1.0.1
│  ├─ [email protected]
│  └─ vary@~1.1.2
├─ [email protected]
├─ [email protected]
│  ├─ buffer-from@^1.0.0
│  ├─ inherits@^2.0.3
│  ├─ readable-stream@^2.2.2
│  └─ typedarray@^0.0.6
├─ [email protected]
│  ├─ [email protected]
│  ├─ [email protected]
│  ├─ parseurl@~1.3.2
│  └─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  ├─ is-directory@^0.3.1
│  ├─ js-yaml@^3.9.0
│  ├─ parse-json@^4.0.0
│  └─ [email protected]
│     ├─ error-ex@^1.3.1
│     └─ json-parse-better-errors@^1.0.1
├─ [email protected]
│  ├─ fbjs@^0.8.9
│  ├─ loose-envify@^1.3.1
│  └─ object-assign@^4.1.1
├─ [email protected]
│  ├─ lru-cache@^4.0.1
│  ├─ shebang-command@^1.2.0
│  └─ which@^1.2.9
├─ [email protected]
├─ [email protected]
│  └─ [email protected]
├─ [email protected]
│  └─ assert-plus@^1.0.0
├─ [email protected]
│  ├─ abab@^2.0.0
│  ├─ whatwg-mimetype@^2.1.0
│  ├─ whatwg-url@^7.0.0
│  └─ [email protected]
│     ├─ lodash.sortby@^4.7.0
│     ├─ tr46@^1.0.1
│     └─ webidl-conversions@^4.0.2
├─ [email protected]
│  └─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  └─ strip-bom@^3.0.0
├─ [email protected]
│  └─ object-keys@^1.0.12
├─ [email protected]
│  ├─ [email protected]
│  │  ├─ kind-of@^3.0.2
│  │  └─ [email protected]
│  │     └─ is-buffer@^1.1.5
│  ├─ [email protected]
│  │  ├─ kind-of@^3.0.2
│  │  └─ [email protected]
│  │     └─ is-buffer@^1.1.5
│  ├─ is-descriptor@^0.1.0
│  ├─ [email protected]
│  │  ├─ is-accessor-descriptor@^0.1.6
│  │  ├─ is-data-descriptor@^0.1.4
│  │  └─ kind-of@^5.0.0
│  └─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  └─ repeating@^2.0.0
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  └─ webidl-conversions@^4.0.2
├─ [email protected]
│  ├─ jsbn@~0.1.0
│  └─ safer-buffer@^2.1.0
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  └─ iconv-lite@~0.4.13
├─ [email protected]
├─ [email protected]
│  └─ is-arrayish@^0.2.1
├─ [email protected]
│  ├─ accepts@~1.3.3
│  └─ escape-html@~1.0.3
├─ [email protected]
│  ├─ es-to-primitive@^1.1.1
│  ├─ function-bind@^1.1.1
│  ├─ has@^1.0.1
│  ├─ is-callable@^1.1.3
│  └─ is-regex@^1.0.4
├─ [email protected]
│  ├─ is-callable@^1.1.1
│  ├─ is-date-object@^1.0.1
│  └─ is-symbol@^1.0.1
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  ├─ esprima@^3.1.3
│  ├─ [email protected]
│  ├─ estraverse@^4.2.0
│  ├─ esutils@^2.0.2
│  ├─ optionator@^0.8.1
│  ├─ source-map@~0.6.1
│  └─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  └─ merge@^1.2.0
├─ [email protected]
│  ├─ 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
├─ [email protected]
├─ [email protected]
│  └─ is-posix-bracket@^0.1.0
├─ [email protected]
│  └─ fill-range@^2.1.0
├─ [email protected]
│  ├─ ansi-styles@^3.2.0
│  ├─ jest-diff@^23.5.0
│  ├─ jest-get-type@^22.1.0
│  ├─ jest-matcher-utils@^23.5.0
│  ├─ jest-message-util@^23.4.0
│  └─ jest-regex-util@^23.3.0
├─ [email protected]
│  └─ is-extendable@^0.1.0
├─ [email protected]
├─ [email protected]
│  ├─ chardet@^0.4.0
│  ├─ iconv-lite@^0.4.17
│  └─ tmp@^0.0.33
├─ [email protected]
│  └─ is-extglob@^1.0.0
├─ [email protected]
├─ [email protected]
│  ├─ ansi-gray@^0.1.1
│  ├─ color-support@^1.1.3
│  └─ time-stamp@^1.0.0
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  └─ bser@^2.0.0
├─ [email protected]
│  ├─ ansi-colors@^1.0.1
│  ├─ babel-core@^6.7.2
│  ├─ babel-preset-fbjs@^2.1.2
│  ├─ [email protected]
│  │  ├─ babel-plugin-check-es2015-constants@^6.8.0
│  │  ├─ babel-plugin-syntax-class-properties@^6.8.0
│  │  ├─ babel-plugin-syntax-flow@^6.8.0
│  │  ├─ babel-plugin-syntax-jsx@^6.8.0
│  │  ├─ babel-plugin-syntax-object-rest-spread@^6.8.0
│  │  ├─ babel-plugin-syntax-trailing-function-commas@^6.8.0
│  │  ├─ babel-plugin-transform-class-properties@^6.8.0
│  │  ├─ babel-plugin-transform-es2015-arrow-functions@^6.8.0
│  │  ├─ babel-plugin-transform-es2015-block-scoped-functions@^6.8.0
│  │  ├─ babel-plugin-transform-es2015-block-scoping@^6.8.0
│  │  ├─ babel-plugin-transform-es2015-classes@^6.8.0
│  │  ├─ babel-plugin-transform-es2015-computed-properties@^6.8.0
│  │  ├─ babel-plugin-transform-es2015-destructuring@^6.8.0
│  │  ├─ babel-plugin-transform-es2015-for-of@^6.8.0
│  │  ├─ babel-plugin-transform-es2015-function-name@^6.8.0
│  │  ├─ babel-plugin-transform-es2015-literals@^6.8.0
│  │  ├─ babel-plugin-transform-es2015-modules-commonjs@^6.8.0
│  │  ├─ babel-plugin-transform-es2015-object-super@^6.8.0
│  │  ├─ babel-plugin-transform-es2015-parameters@^6.8.0
│  │  ├─ babel-plugin-transform-es2015-shorthand-properties@^6.8.0
│  │  ├─ babel-plugin-transform-es2015-spread@^6.8.0
│  │  ├─ babel-plugin-transform-es2015-template-literals@^6.8.0
│  │  ├─ babel-plugin-transform-es3-member-expression-literals@^6.8.0
│  │  ├─ babel-plugin-transform-es3-property-literals@^6.8.0
│  │  ├─ babel-plugin-transform-flow-strip-types@^6.8.0
│  │  ├─ babel-plugin-transform-object-rest-spread@^6.8.0
│  │  ├─ babel-plugin-transform-react-display-name@^6.8.0
│  │  └─ babel-plugin-transform-react-jsx@^6.8.0
│  ├─ core-js@^2.4.1
│  ├─ cross-spawn@^5.1.0
│  ├─ fancy-log@^1.3.2
│  ├─ object-assign@^4.0.1
│  ├─ plugin-error@^0.1.2
│  ├─ semver@^5.1.0
│  └─ through2@^2.0.0
├─ [email protected]
│  ├─ core-js@^1.0.0
│  ├─ [email protected]
│  ├─ isomorphic-fetch@^2.1.1
│  ├─ loose-envify@^1.0.0
│  ├─ object-assign@^4.1.0
│  ├─ promise@^7.1.1
│  ├─ setimmediate@^1.0.5
│  └─ ua-parser-js@^0.7.18
├─ [email protected]
│  └─ escape-string-regexp@^1.0.5
├─ [email protected]
├─ [email protected]
│  ├─ glob@^7.0.3
│  └─ minimatch@^3.0.3
├─ [email protected]
│  ├─ is-number@^2.1.0
│  ├─ [email protected]
│  │  └─ kind-of@^3.0.2
│  ├─ isobject@^2.0.0
│  ├─ [email protected]
│  │  └─ [email protected]
│  ├─ randomatic@^3.0.0
│  ├─ repeat-element@^1.1.2
│  └─ repeat-string@^1.5.2
├─ [email protected]
│  ├─ [email protected]
│  ├─ encodeurl@~1.0.1
│  ├─ escape-html@~1.0.3
│  ├─ on-finished@~2.3.0
│  ├─ parseurl@~1.3.2
│  ├─ statuses@~1.3.1
│  └─ unpipe@~1.0.0
├─ [email protected]
│  ├─ commondir@^1.0.1
│  ├─ make-dir@^1.0.0
│  └─ pkg-dir@^2.0.0
├─ [email protected]
│  └─ locate-path@^2.0.0
├─ [email protected]
├─ [email protected]
│  └─ for-in@^1.0.1
├─ [email protected]
├─ [email protected]
│  ├─ asynckit@^0.4.0
│  ├─ [email protected]
│  └─ mime-types@^2.1.12
├─ [email protected]
│  └─ map-cache@^0.2.2
├─ [email protected]
├─ [email protected]
│  ├─ graceful-fs@^4.1.2
│  ├─ jsonfile@^2.1.0
│  └─ klaw@^1.0.0
├─ [email protected]
│  └─ minipass@^2.2.1
├─ [email protected]
├─ [email protected]
│  ├─ nan@^2.9.2
│  └─ node-pre-gyp@^0.10.0
├─ [email protected]
├─ [email protected]
│  ├─ ansi@^0.3.0
│  ├─ has-unicode@^2.0.0
│  ├─ lodash.pad@^4.1.0
│  ├─ lodash.padend@^4.1.0
│  └─ lodash.padstart@^4.1.0
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  └─ assert-plus@^1.0.0
├─ [email protected]
│  ├─ glob-parent@^2.0.0
│  └─ is-glob@^2.0.0
├─ [email protected]
│  └─ is-glob@^2.0.0
├─ [email protected]
│  ├─ 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
├─ [email protected]
│  ├─ min-document@^2.19.0
│  └─ process@~0.5.1
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  ├─ async@^1.4.0
│  ├─ [email protected]
│  ├─ optimist@^0.6.1
│  ├─ source-map@^0.4.4
│  ├─ [email protected]
│  │  └─ amdefine@>=0.0.4
│  └─ uglify-js@^2.6
├─ [email protected]
├─ [email protected]
│  ├─ ajv@^5.3.0
│  └─ har-schema@^2.0.0
├─ [email protected]
│  └─ ansi-regex@^2.0.0
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  ├─ get-value@^2.0.6
│  ├─ has-values@^1.0.0
│  └─ isobject@^3.0.0
├─ [email protected]
│  ├─ is-number@^3.0.0
│  ├─ kind-of@^4.0.0
│  └─ [email protected]
│     └─ is-buffer@^1.1.5
├─ [email protected]
│  └─ function-bind@^1.1.1
├─ [email protected]
│  ├─ os-homedir@^1.0.0
│  └─ os-tmpdir@^1.0.1
├─ [email protected]
├─ [email protected]
│  └─ whatwg-encoding@^1.0.1
├─ [email protected]
│  ├─ depd@~1.1.2
│  ├─ [email protected]
│  ├─ [email protected]
│  ├─ statuses@>= 1.4.0 < 2
│  └─ [email protected]
├─ [email protected]
│  ├─ assert-plus@^1.0.0
│  ├─ jsprim@^1.2.2
│  └─ sshpk@^1.7.0
├─ [email protected]
│  └─ safer-buffer@>= 2.1.2 < 3
├─ [email protected]
│  └─ minimatch@^3.0.4
├─ [email protected]
├─ [email protected]
│  ├─ pkg-dir@^2.0.0
│  └─ resolve-cwd@^2.0.0
├─ [email protected]
├─ [email protected]
│  ├─ once@^1.3.0
│  └─ wrappy@1
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  ├─ ansi-escapes@^3.0.0
│  ├─ [email protected]
│  ├─ chalk@^2.0.0
│  ├─ cli-cursor@^2.1.0
│  ├─ cli-width@^2.0.0
│  ├─ external-editor@^2.0.4
│  ├─ figures@^2.0.0
│  ├─ lodash@^4.3.0
│  ├─ [email protected]
│  ├─ run-async@^2.2.0
│  ├─ rx-lite-aggregates@^4.0.8
│  ├─ rx-lite@^4.0.8
│  ├─ string-width@^2.1.0
│  ├─ strip-ansi@^4.0.0
│  ├─ [email protected]
│  │  └─ ansi-regex@^3.0.0
│  └─ through@^2.3.6
├─ [email protected]
│  └─ loose-envify@^1.0.0
├─ [email protected]
├─ [email protected]
│  ├─ kind-of@^6.0.0
│  └─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  └─ builtin-modules@^1.0.0
├─ [email protected]
├─ [email protected]
│  └─ ci-info@^1.3.0
├─ [email protected]
│  ├─ kind-of@^6.0.0
│  └─ [email protected]
├─ [email protected]
├─ [email protected]
│  ├─ is-accessor-descriptor@^1.0.0
│  ├─ is-data-descriptor@^1.0.0
│  ├─ kind-of@^6.0.2
│  └─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  └─ is-primitive@^2.0.0
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  └─ number-is-nan@^1.0.0
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  └─ is-extglob@^1.0.0
├─ [email protected]
│  └─ kind-of@^3.0.2
├─ [email protected]
│  └─ isobject@^3.0.1
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  └─ has@^1.0.1
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  ├─ node-fetch@^1.0.1
│  ├─ [email protected]
│  │  ├─ encoding@^0.1.11
│  │  └─ is-stream@^1.0.1
│  └─ whatwg-fetch@>=0.10.0
├─ [email protected]
├─ [email protected]
│  ├─ async@^2.1.4
│  ├─ compare-versions@^3.1.0
│  ├─ fileset@^2.0.2
│  ├─ istanbul-lib-coverage@^1.2.0
│  ├─ istanbul-lib-hook@^1.2.0
│  ├─ istanbul-lib-instrument@^1.10.1
│  ├─ istanbul-lib-report@^1.1.4
│  ├─ istanbul-lib-source-maps@^1.2.4
│  ├─ istanbul-reports@^1.3.0
│  ├─ js-yaml@^3.7.0
│  ├─ mkdirp@^0.5.1
│  └─ once@^1.4.0
├─ [email protected]
├─ [email protected]
│  └─ append-transform@^1.0.0
├─ [email protected]
│  ├─ 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.2.0
│  └─ semver@^5.3.0
├─ [email protected]
│  ├─ [email protected]
│  ├─ istanbul-lib-coverage@^1.2.0
│  ├─ mkdirp@^0.5.1
│  ├─ path-parse@^1.0.5
│  ├─ supports-color@^3.1.2
│  └─ [email protected]
│     └─ has-flag@^1.0.0
├─ [email protected]
│  ├─ debug@^3.1.0
│  ├─ [email protected]
│  │  └─ [email protected]
│  ├─ istanbul-lib-coverage@^1.2.0
│  ├─ mkdirp@^0.5.1
│  ├─ rimraf@^2.6.1
│  └─ source-map@^0.5.3
├─ [email protected]
│  └─ handlebars@^4.0.3
├─ [email protected]
│  └─ throat@^4.0.0
├─ [email protected]
│  ├─ ansi-escapes@^3.0.0
│  ├─ [email protected]
│  ├─ chalk@^2.0.1
│  ├─ exit@^0.1.2
│  ├─ glob@^7.1.2
│  ├─ graceful-fs@^4.1.11
│  ├─ import-local@^1.0.0
│  ├─ is-ci@^1.0.10
│  ├─ istanbul-api@^1.3.1
│  ├─ istanbul-lib-coverage@^1.2.0
│  ├─ istanbul-lib-instrument@^1.10.1
│  ├─ istanbul-lib-source-maps@^1.2.4
│  ├─ jest-changed-files@^23.4.2
│  ├─ jest-config@^23.5.0
│  ├─ jest-environment-jsdom@^23.4.0
│  ├─ jest-get-type@^22.1.0
│  ├─ jest-haste-map@^23.5.0
│  ├─ jest-message-util@^23.4.0
│  ├─ jest-regex-util@^23.3.0
│  ├─ jest-resolve-dependencies@^23.5.0
│  ├─ jest-runner@^23.5.0
│  ├─ jest-runtime@^23.5.0
│  ├─ jest-snapshot@^23.5.0
│  ├─ jest-util@^23.4.0
│  ├─ jest-validate@^23.5.0
│  ├─ jest-watcher@^23.4.0
│  ├─ jest-worker@^23.2.0
│  ├─ micromatch@^2.3.11
│  ├─ node-notifier@^5.2.1
│  ├─ prompts@^0.1.9
│  ├─ realpath-native@^1.0.0
│  ├─ rimraf@^2.5.4
│  ├─ slash@^1.0.0
│  ├─ string-length@^2.0.0
│  ├─ strip-ansi@^4.0.0
│  ├─ [email protected]
│  │  └─ ansi-regex@^3.0.0
│  ├─ which@^1.2.12
│  └─ yargs@^11.0.0
├─ [email protected]
│  ├─ babel-core@^6.0.0
│  ├─ babel-jest@^23.4.2
│  ├─ chalk@^2.0.1
│  ├─ glob@^7.1.1
│  ├─ jest-environment-jsdom@^23.4.0
│  ├─ jest-environment-node@^23.4.0
│  ├─ jest-get-type@^22.1.0
│  ├─ jest-jasmine2@^23.5.0
│  ├─ jest-regex-util@^23.3.0
│  ├─ jest-resolve@^23.5.0
│  ├─ jest-util@^23.4.0
│  ├─ jest-validate@^23.5.0
│  ├─ micromatch@^2.3.11
│  └─ pretty-format@^23.5.0
├─ [email protected]
│  ├─ chalk@^2.0.1
│  ├─ diff@^3.2.0
│  ├─ jest-get-type@^22.1.0
│  └─ pretty-format@^23.5.0
├─ [email protected]
│  └─ detect-newline@^2.1.0
├─ [email protected]
│  ├─ chalk@^2.0.1
│  └─ pretty-format@^23.5.0
├─ [email protected]
│  ├─ jest-mock@^23.2.0
│  ├─ jest-util@^23.4.0
│  └─ jsdom@^11.5.1
├─ [email protected]
│  ├─ jest-mock@^23.2.0
│  └─ jest-util@^23.4.0
├─ [email protected]
├─ [email protected]
│  ├─ fb-watchman@^2.0.0
│  ├─ graceful-fs@^4.1.11
│  ├─ invariant@^2.2.4
│  ├─ jest-docblock@^23.2.0
│  ├─ jest-serializer@^23.0.1
│  ├─ jest-worker@^23.2.0
│  ├─ micromatch@^2.3.11
│  └─ sane@^2.0.0
├─ [email protected]
│  ├─ babel-traverse@^6.0.0
│  ├─ chalk@^2.0.1
│  ├─ co@^4.6.0
│  ├─ expect@^23.5.0
│  ├─ is-generator-fn@^1.0.0
│  ├─ jest-diff@^23.5.0
│  ├─ jest-each@^23.5.0
│  ├─ jest-matcher-utils@^23.5.0
│  ├─ jest-message-util@^23.4.0
│  ├─ jest-snapshot@^23.5.0
│  ├─ jest-util@^23.4.0
│  └─ pretty-format@^23.5.0
├─ [email protected]
│  └─ pretty-format@^23.5.0
├─ [email protected]
│  ├─ chalk@^2.0.1
│  ├─ jest-get-type@^22.1.0
│  └─ pretty-format@^23.5.0
├─ [email protected]
│  ├─ @babel/code-frame@^7.0.0-beta.35
│  ├─ @babel/[email protected]
│  │  └─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  │  ├─ chalk@^2.0.0
│  │  ├─ esutils@^2.0.2
│  │  └─ js-tokens@^4.0.0
│  ├─ chalk@^2.0.1
│  ├─ [email protected]
│  ├─ micromatch@^2.3.11
│  ├─ slash@^1.0.0
│  └─ stack-utils@^1.0.1
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  ├─ jest-regex-util@^23.3.0
│  └─ jest-snapshot@^23.5.0
├─ [email protected]
│  ├─ browser-resolve@^1.11.3
│  ├─ chalk@^2.0.1
│  └─ realpath-native@^1.0.0
├─ [email protected]
│  ├─ exit@^0.1.2
│  ├─ graceful-fs@^4.1.11
│  ├─ jest-config@^23.5.0
│  ├─ jest-docblock@^23.2.0
│  ├─ jest-haste-map@^23.5.0
│  ├─ jest-jasmine2@^23.5.0
│  ├─ jest-leak-detector@^23.5.0
│  ├─ jest-message-util@^23.4.0
│  ├─ jest-runtime@^23.5.0
│  ├─ jest-util@^23.4.0
│  ├─ jest-worker@^23.2.0
│  ├─ source-map-support@^0.5.6
│  ├─ [email protected]
│  │  ├─ buffer-from@^1.0.0
│  │  └─ source-map@^0.6.0
│  ├─ [email protected]
│  └─ throat@^4.0.0
├─ [email protected]
│  ├─ babel-core@^6.0.0
│  ├─ babel-plugin-istanbul@^4.1.6
│  ├─ chalk@^2.0.1
│  ├─ convert-source-map@^1.4.0
│  ├─ exit@^0.1.2
│  ├─ fast-json-stable-stringify@^2.0.0
│  ├─ graceful-fs@^4.1.11
│  ├─ jest-config@^23.5.0
│  ├─ jest-haste-map@^23.5.0
│  ├─ jest-message-util@^23.4.0
│  ├─ jest-regex-util@^23.3.0
│  ├─ jest-resolve@^23.5.0
│  ├─ jest-snapshot@^23.5.0
│  ├─ jest-util@^23.4.0
│  ├─ jest-validate@^23.5.0
│  ├─ micromatch@^2.3.11
│  ├─ realpath-native@^1.0.0
│  ├─ slash@^1.0.0
│  ├─ [email protected]
│  ├─ write-file-atomic@^2.1.0
│  ├─ [email protected]
│  │  ├─ graceful-fs@^4.1.11
│  │  ├─ imurmurhash@^0.1.4
│  │  └─ signal-exit@^3.0.2
│  └─ yargs@^11.0.0
├─ [email protected]
├─ [email protected]
│  ├─ babel-types@^6.0.0
│  ├─ chalk@^2.0.1
│  ├─ jest-diff@^23.5.0
│  ├─ jest-matcher-utils@^23.5.0
│  ├─ jest-message-util@^23.4.0
│  ├─ jest-resolve@^23.5.0
│  ├─ mkdirp@^0.5.1
│  ├─ natural-compare@^1.4.0
│  ├─ pretty-format@^23.5.0
│  └─ semver@^5.5.0
├─ [email protected]
│  ├─ callsites@^2.0.0
│  ├─ chalk@^2.0.1
│  ├─ graceful-fs@^4.1.11
│  ├─ is-ci@^1.0.10
│  ├─ jest-message-util@^23.4.0
│  ├─ mkdirp@^0.5.1
│  ├─ slash@^1.0.0
│  ├─ source-map@^0.6.0
│  └─ [email protected]
├─ [email protected]
│  ├─ chalk@^2.0.1
│  ├─ jest-get-type@^22.1.0
│  ├─ leven@^2.1.0
│  └─ pretty-format@^23.5.0
├─ [email protected]
│  ├─ ansi-escapes@^3.0.0
│  ├─ chalk@^2.0.1
│  └─ string-length@^2.0.0
├─ [email protected]
│  └─ merge-stream@^1.0.1
├─ [email protected]
│  ├─ import-local@^1.0.0
│  └─ jest-cli@^23.5.0
├─ [email protected]
├─ [email protected]
│  ├─ argparse@^1.0.7
│  └─ esprima@^4.0.0
├─ [email protected]
├─ [email protected]
│  ├─ abab@^2.0.0
│  ├─ acorn-globals@^4.1.0
│  ├─ acorn@^5.5.3
│  ├─ array-equal@^1.0.0
│  ├─ cssom@>= 0.3.2 < 0.4.0
│  ├─ cssstyle@^1.0.0
│  ├─ data-urls@^1.0.0
│  ├─ domexception@^1.0.1
│  ├─ escodegen@^1.9.1
│  ├─ html-encoding-sniffer@^1.0.2
│  ├─ left-pad@^1.3.0
│  ├─ nwsapi@^2.0.7
│  ├─ [email protected]
│  ├─ pn@^1.1.0
│  ├─ request-promise-native@^1.0.5
│  ├─ request@^2.87.0
│  ├─ sax@^1.2.4
│  ├─ symbol-tree@^3.2.2
│  ├─ tough-cookie@^2.3.4
│  ├─ w3c-hr-time@^1.0.1
│  ├─ webidl-conversions@^4.0.2
│  ├─ whatwg-encoding@^1.0.3
│  ├─ whatwg-mimetype@^2.1.0
│  ├─ whatwg-url@^6.4.1
│  ├─ ws@^5.2.0
│  ├─ [email protected]
│  │  └─ async-limiter@~1.0.0
│  └─ xml-name-validator@^3.0.0
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  └─ jsonify@~0.0.0
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  └─ graceful-fs@^4.1.6
├─ [email protected]
├─ [email protected]
│  ├─ [email protected]
│  ├─ [email protected]
│  ├─ [email protected]
│  └─ [email protected]
├─ [email protected]
│  └─ is-buffer@^1.1.5
├─ [email protected]
│  └─ graceful-fs@^4.1.9
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  └─ invert-kv@^1.0.0
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  ├─ prelude-ls@~1.1.2
│  └─ type-check@~0.3.2
├─ [email protected]
│  ├─ graceful-fs@^4.1.2
│  ├─ parse-json@^2.2.0
│  ├─ pify@^2.0.0
│  └─ strip-bom@^3.0.0
├─ [email protected]
│  ├─ p-locate@^2.0.0
│  └─ path-exists@^3.0.0
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  ├─ js-tokens@^3.0.0 || ^4.0.0
│  └─ [email protected]
├─ [email protected]
│  ├─ pseudomap@^1.0.2
│  ├─ yallist@^2.1.2
│  └─ [email protected]
├─ [email protected]
│  ├─ pify@^3.0.0
│  └─ [email protected]
├─ [email protected]
│  └─ [email protected]
├─ [email protected]
├─ [email protected]
│  └─ object-visit@^1.0.0
├─ [email protected]
├─ [email protected]
│  └─ mimic-fn@^1.0.0
├─ [email protected]
│  └─ readable-stream@^2.0.1
├─ [email protected]
├─ [email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ core-js@^2.2.2
│  └─ escape-string-regexp@^1.0.5
├─ [email protected]
│  └─ @babel/[email protected]
├─ [email protected]
│  ├─ [email protected]
│  ├─ [email protected]
│  ├─ mkdirp@^0.5.1
│  └─ rimraf@^2.5.4
├─ [email protected]
│  ├─ cosmiconfig@^5.0.5
│  ├─ [email protected]
│  ├─ [email protected]
│  └─ [email protected]
├─ [email protected]
│  ├─ [email protected]
│  ├─ lodash.throttle@^4.1.1
│  ├─ [email protected]
│  └─ wordwrap@^1.0.0
├─ [email protected]
├─ [email protected]
│  └─ uglify-es@^3.1.9
├─ [email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  └─ [email protected]
├─ [email protected]
│  └─ absolute-path@^0.0.0
├─ [email protected]
│  └─ source-map@^0.5.6
├─ [email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ @babel/[email protected]
│  ├─ absolute-path@^0.0.0
│  ├─ [email protected]
│  ├─ async@^2.4.0
│  ├─ babel-core@^6.24.1
│  ├─ babel-preset-es2015-node@^6.1.1
│  ├─ [email protected]
│  ├─ babel-register@^6.24.1
│  ├─ chalk@^1.1.1
│  ├─ [email protected]
│  │  ├─ 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
│  ├─ [email protected]
│  │  ├─ string-width@^1.0.1
│  │  ├─ [email protected]
│  │  │  ├─ code-point-at@^1.0.0
│  │  │  ├─ is-fullwidth-code-point@^1.0.0
│  │  │  └─ strip-ansi@^3.0.0
│  │  ├─ strip-ansi@^3.0.1
│  │  └─ wrap-ansi@^2.0.0
│  ├─ concat-stream@^1.6.0
│  ├─ connect@^3.6.5
│  ├─ debug@^2.2.0
│  ├─ denodeify@^1.2.1
│  ├─ eventemitter3@^3.0.0
│  ├─ [email protected]
│  ├─ fs-extra@^1.0.0
│  ├─ graceful-fs@^4.1.3
│  ├─ image-size@^0.6.0
│  ├─ [email protected]
│  │  └─ number-is-nan@^1.0.0
│  ├─ [email protected]
│  ├─ [email protected]
│  ├─ [email protected]
│  ├─ json-stable-stringify@^1.0.1
│  ├─ json5@^0.4.0
│  ├─ [email protected]
│  ├─ left-pad@^1.1.3
│  ├─ lodash.throttle@^4.1.1
│  ├─ merge-stream@^1.0.1
│  ├─ [email protected]
│  ├─ [email protected]
│  ├─ [email protected]
│  ├─ [email protected]
│  ├─ [email protected]
│  ├─ [email protected]
│  ├─ [email protected]
│  ├─ [email protected]
│  ├─ [email protected]
│  ├─ [email protected]
│  ├─ [email protected]
│  │  └─ mime-db@~1.23.0
│  ├─ [email protected]
│  ├─ mkdirp@^0.5.1
│  ├─ node-fetch@^2.2.0
│  ├─ react-transform-hmr@^1.0.4
│  ├─ resolve@^1.5.0
│  ├─ rimraf@^2.5.4
│  ├─ serialize-error@^2.1.0
│  ├─ source-map@^0.5.6
│  ├─ [email protected]
│  ├─ [email protected]
│  ├─ throat@^4.1.0
│  ├─ wordwrap@^1.0.0
│  ├─ write-file-atomic@^1.2.0
│  ├─ ws@^1.1.0
│  ├─ xpipe@^1.0.5
│  ├─ [email protected]
│  │  └─ camelcase@^4.1.0
│  ├─ yargs@^9.0.0
│  └─ [email protected]
│     ├─ camelcase@^4.1.0
│     ├─ cliui@^3.2.0
│     ├─ decamelize@^1.1.1
│     ├─ get-caller-file@^1.0.1
│     ├─ 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
│     ├─ which-module@^2.0.0
│     ├─ y18n@^3.2.1
│     └─ yargs-parser@^7.0.0
├─ [email protected]
│  ├─ arr-diff@^2.0.0
│  ├─ [email protected]
│  │  └─ arr-flatten@^1.0.1
│  ├─ array-unique@^0.2.1
│  ├─ [email protected]
│  ├─ 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
├─ [email protected]
├─ [email protected]
│  └─ mime-db@~1.36.0
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  └─ dom-walk@^0.1.0
├─ [email protected]
│  └─ brace-expansion@^1.1.7
├─ [email protected]
├─ [email protected]
│  ├─ safe-buffer@^5.1.2
│  └─ yallist@^3.0.0
├─ [email protected]
│  └─ minipass@^2.2.1
├─ [email protected]
│  ├─ for-in@^1.0.2
│  ├─ is-extendable@^1.0.1
│  └─ [email protected]
│     └─ is-plain-object@^2.0.4
├─ [email protected]
│  ├─ [email protected]
│  └─ [email protected]
├─ [email protected]
│  ├─ basic-auth@~2.0.0
│  ├─ [email protected]
│  ├─ depd@~1.1.1
│  ├─ on-finished@~2.3.0
│  └─ on-headers@~1.0.1
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  ├─ arr-diff@^4.0.0
│  ├─ array-unique@^0.3.2
│  ├─ define-property@^2.0.2
│  ├─ [email protected]
│  │  ├─ is-descriptor@^1.0.2
│  │  └─ isobject@^3.0.1
│  ├─ extend-shallow@^3.0.2
│  ├─ [email protected]
│  │  ├─ assign-symbols@^1.0.0
│  │  └─ is-extendable@^1.0.1
│  ├─ fragment-cache@^0.2.1
│  ├─ [email protected]
│  │  └─ is-plain-object@^2.0.4
│  ├─ is-windows@^1.0.2
│  ├─ kind-of@^6.0.2
│  ├─ [email protected]
│  ├─ object.pick@^1.3.0
│  ├─ regex-not@^1.0.0
│  ├─ snapdragon@^0.8.1
│  └─ to-regex@^3.0.1
├─ [email protected]
├─ [email protected]
│  ├─ debug@^2.1.2
│  ├─ iconv-lite@^0.4.4
│  └─ sax@^1.2.4
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  ├─ growly@^1.3.0
│  ├─ semver@^5.4.1
│  ├─ shellwords@^0.1.1
│  └─ which@^1.3.0
├─ [email protected]
│  ├─ detect-libc@^1.0.2
│  ├─ [email protected]
│  │  ├─ 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
│  ├─ [email protected]
│  │  └─ number-is-nan@^1.0.0
│  ├─ mkdirp@^0.5.1
│  ├─ needle@^2.2.1
│  ├─ nopt@^4.0.1
│  ├─ npm-packlist@^1.1.6
│  ├─ npmlog@^4.0.2
│  ├─ [email protected]
│  │  ├─ are-we-there-yet@~1.1.2
│  │  ├─ console-control-strings@~1.1.0
│  │  ├─ gauge@~2.7.3
│  │  └─ set-blocking@~2.0.0
│  ├─ rc@^1.2.7
│  ├─ rimraf@^2.6.1
│  ├─ semver@^5.3.0
│  ├─ [email protected]
│  │  ├─ code-point-at@^1.0.0
│  │  ├─ is-fullwidth-code-point@^1.0.0
│  │  └─ strip-ansi@^3.0.0
│  └─ tar@^4
├─ [email protected]
│  ├─ abbrev@1
│  └─ osenv@^0.1.4
├─ [email protected]
│  ├─ hosted-git-info@^2.1.4
│  ├─ is-builtin-module@^1.0.0
│  ├─ semver@2 || 3 || 4 || 5
│  └─ validate-npm-package-license@^3.0.1
├─ [email protected]
│  └─ remove-trailing-separator@^1.0.1
├─ [email protected]
├─ [email protected]
│  ├─ ignore-walk@^3.0.1
│  └─ npm-bundled@^1.0.1
├─ [email protected]
│  └─ path-key@^2.0.0
├─ [email protected]
│  ├─ ansi@~0.3.1
│  ├─ are-we-there-yet@~1.1.2
│  └─ gauge@~1.2.5
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  ├─ copy-descriptor@^0.1.0
│  ├─ define-property@^0.2.5
│  └─ kind-of@^3.0.3
├─ [email protected]
├─ [email protected]
│  └─ isobject@^3.0.0
├─ [email protected]
│  ├─ define-properties@^1.1.2
│  └─ es-abstract@^1.5.1
├─ [email protected]
│  ├─ for-own@^0.1.4
│  └─ is-extendable@^0.1.1
├─ [email protected]
│  └─ isobject@^3.0.1
├─ [email protected]
│  └─ [email protected]
├─ [email protected]
├─ [email protected]
│  └─ wrappy@1
├─ [email protected]
│  └─ mimic-fn@^1.0.0
├─ [email protected]
│  └─ object-assign@^4.0.1
├─ [email protected]
│  ├─ minimist@~0.0.1
│  ├─ [email protected]
│  ├─ wordwrap@~0.0.2
│  └─ [email protected]
├─ [email protected]
│  ├─ 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
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  ├─ execa@^0.7.0
│  ├─ lcid@^1.0.0
│  └─ mem@^1.1.0
├─ [email protected]
├─ [email protected]
│  ├─ os-homedir@^1.0.0
│  └─ os-tmpdir@^1.0.0
├─ [email protected]
├─ [email protected]
│  └─ p-try@^1.0.0
├─ [email protected]
│  └─ p-limit@^1.1.0
├─ [email protected]
├─ [email protected]
│  ├─ glob-base@^0.3.0
│  ├─ is-dotfile@^1.0.0
│  ├─ is-extglob@^1.0.0
│  └─ is-glob@^2.0.0
├─ [email protected]
│  └─ error-ex@^1.2.0
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  └─ pify@^2.0.0
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  └─ pinkie@^2.0.0
├─ [email protected]
├─ [email protected]
│  └─ node-modules-regexp@^1.0.0
├─ [email protected]
│  └─ find-up@^2.1.0
├─ [email protected]
│  ├─ base64-js@^1.2.3
│  ├─ xmlbuilder@^9.0.7
│  └─ [email protected]
├─ [email protected]
│  ├─ ansi-cyan@^0.1.1
│  ├─ ansi-red@^0.1.1
│  ├─ arr-diff@^1.0.1
│  ├─ [email protected]
│  │  ├─ arr-flatten@^1.0.1
│  │  └─ array-slice@^0.2.3
│  ├─ arr-union@^2.0.1
│  ├─ [email protected]
│  ├─ extend-shallow@^1.1.2
│  ├─ [email protected]
│  │  └─ kind-of@^1.1.0
│  └─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  ├─ ansi-regex@^3.0.0
│  ├─ [email protected]
│  └─ ansi-styles@^3.2.0
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  └─ asap@~2.0.3
├─ [email protected]
│  ├─ kleur@^2.0.1
│  └─ sisteransi@^0.1.1
├─ [email protected]
│  ├─ loose-envify@^1.3.1
│  └─ object-assign@^4.1.1
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  ├─ is-number@^4.0.0
│  ├─ [email protected]
│  ├─ kind-of@^6.0.0
│  ├─ [email protected]
│  └─ math-random@^1.0.1
├─ [email protected]
├─ [email protected]
│  ├─ deep-extend@^0.6.0
│  ├─ ini@~1.3.0
│  ├─ minimist@^1.2.0
│  └─ strip-json-comments@~2.0.1
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  ├─ shell-quote@^1.6.1
│  ├─ [email protected]
│  ├─ ws@^3.3.1
│  └─ [email protected]
│     ├─ async-limiter@~1.0.0
│     ├─ safe-buffer@~5.1.0
│     └─ ultron@~1.1.0
├─ [email protected]
├─ [email protected]
│  ├─ absolute-path@^0.0.0
│  ├─ [email protected]
│  ├─ art@^0.10.0
│  ├─ base64-js@^1.1.2
│  ├─ chalk@^1.1.1
│  ├─ [email protected]
│  │  ├─ 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
│  ├─ [email protected]
│  │  ├─ string-width@^1.0.1
│  │  ├─ [email protected]
│  │  │  ├─ code-point-at@^1.0.0
│  │  │  ├─ is-fullwidth-code-point@^1.0.0
│  │  │  └─ strip-ansi@^3.0.0
│  │  ├─ strip-ansi@^3.0.1
│  │  └─ wrap-ansi@^2.0.0
│  ├─ commander@^2.9.0
│  ├─ compression@^1.7.1
│  ├─ connect@^3.6.5
│  ├─ create-react-class@^15.6.3
│  ├─ debug@^2.2.0
│  ├─ denodeify@^1.2.1
│  ├─ envinfo@^5.7.0
│  ├─ errorhandler@^1.5.0
│  ├─ escape-string-regexp@^1.0.5
│  ├─ event-target-shim@^1.0.5
│  ├─ fbjs-scripts@^0.8.1
│  ├─ [email protected]
│  ├─ fs-extra@^1.0.0
│  ├─ glob@^7.1.1
│  ├─ graceful-fs@^4.1.3
│  ├─ inquirer@^3.0.6
│  ├─ [email protected]
│  │  └─ number-is-nan@^1.0.0
│  ├─ lodash@^4.17.5
│  ├─ metro-babel-register@^0.43.6
│  ├─ metro-core@^0.43.6
│  ├─ metro-memory-fs@^0.43.6
│  ├─ metro@^0.43.6
│  ├─ mime@^1.3.4
│  ├─ minimist@^1.2.0
│  ├─ mkdirp@^0.5.1
│  ├─ morgan@^1.9.0
│  ├─ node-fetch@^2.2.0
│  ├─ node-notifier@^5.2.1
│  ├─ npmlog@^2.0.4
│  ├─ opn@^3.0.2
│  ├─ optimist@^0.6.1
│  ├─ plist@^3.0.0
│  ├─ pretty-format@^4.2.1
│  ├─ [email protected]
│  ├─ promise@^7.1.1
│  ├─ prop-types@^15.5.8
│  ├─ react-clone-referenced-element@^1.0.1
│  ├─ react-devtools-core@^3.2.2
│  ├─ react-timer-mixin@^0.13.2
│  ├─ regenerator-runtime@^0.11.0
│  ├─ rimraf@^2.5.4
│  ├─ semver@^5.0.3
│  ├─ serve-static@^1.13.1
│  ├─ [email protected]
│  ├─ stacktrace-parser@^0.1.3
│  ├─ [email protected]
│  ├─ ws@^1.1.0
│  ├─ xcode@^0.9.1
│  ├─ xmldoc@^0.4.0
│  ├─ [email protected]
│  │  └─ camelcase@^4.1.0
│  ├─ yargs@^9.0.0
│  └─ [email protected]
│     ├─ camelcase@^4.1.0
│     ├─ cliui@^3.2.0
│     ├─ decamelize@^1.1.1
│     ├─ get-caller-file@^1.0.1
│     ├─ 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
│     ├─ which-module@^2.0.0
│     ├─ y18n@^3.2.1
│     └─ yargs-parser@^7.0.0
├─ [email protected]
│  ├─ lodash@^4.6.1
│  └─ react-deep-force-update@^1.0.0
├─ [email protected]
│  ├─ fbjs@^0.8.16
│  ├─ object-assign@^4.1.1
│  ├─ prop-types@^15.6.0
│  └─ react-is@^16.4.1
├─ [email protected]
├─ [email protected]
│  ├─ global@^4.3.0
│  └─ react-proxy@^1.1.7
├─ [email protected]
│  ├─ fbjs@^0.8.16
│  ├─ loose-envify@^1.1.0
│  ├─ object-assign@^4.1.1
│  └─ prop-types@^15.6.0
├─ [email protected]
│  ├─ find-up@^2.0.0
│  └─ read-pkg@^2.0.0
├─ [email protected]
│  ├─ load-json-file@^2.0.0
│  ├─ normalize-package-data@^2.3.2
│  └─ path-type@^2.0.0
├─ [email protected]
│  ├─ core-util-is@~1.0.0
│  ├─ inherits@~2.0.3
│  ├─ isarray@~1.0.0
│  ├─ process-nextick-args@~2.0.0
│  ├─ safe-buffer@~5.1.1
│  ├─ string_decoder@~1.1.1
│  └─ util-deprecate@~1.0.1
├─ [email protected]
│  └─ util.promisify@^1.0.0
├─ [email protected]
│  └─ regenerate@^1.4.0
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  └─ private@^0.1.6
├─ [email protected]
│  └─ is-equal-shallow@^0.1.3
├─ [email protected]
│  ├─ extend-shallow@^3.0.2
│  ├─ [email protected]
│  │  ├─ assign-symbols@^1.0.0
│  │  └─ is-extendable@^1.0.1
│  ├─ [email protected]
│  │  └─ is-plain-object@^2.0.4
│  └─ safe-regex@^1.1.0
├─ [email protected]
│  ├─ regenerate-unicode-properties@^7.0.0
│  ├─ regenerate@^1.4.0
│  ├─ regjsgen@^0.4.0
│  ├─ regjsparser@^0.3.0
│  ├─ unicode-match-property-ecmascript@^1.0.4
│  └─ unicode-match-property-value-ecmascript@^1.0.2
├─ [email protected]
├─ [email protected]
│  └─ jsesc@~0.5.0
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  └─ is-finite@^1.0.0
├─ [email protected]
│  └─ lodash@^4.13.1
├─ [email protected]
│  ├─ [email protected]
│  ├─ stealthy-require@^1.1.0
│  └─ tough-cookie@>=2.3.3
├─ [email protected]
│  ├─ aws-sign2@~0.7.0
│  ├─ aws4@^1.8.0
│  ├─ caseless@~0.12.0
│  ├─ combined-stream@~1.0.6
│  ├─ extend@~3.0.2
│  ├─ forever-agent@~0.6.1
│  ├─ form-data@~2.3.2
│  ├─ har-validator@~5.1.0
│  ├─ http-signature@~1.2.0
│  ├─ is-typedarray@~1.0.0
│  ├─ isstream@~0.1.2
│  ├─ json-stringify-safe@~5.0.1
│  ├─ mime-types@~2.1.19
│  ├─ oauth-sign@~0.9.0
│  ├─ performance-now@^2.1.0
│  ├─ qs@~6.5.2
│  ├─ safe-buffer@^5.1.2
│  ├─ tough-cookie@~2.4.3
│  ├─ tunnel-agent@^0.6.0
│  ├─ uuid@^3.3.2
│  └─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  └─ resolve-from@^3.0.0
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  └─ path-parse@^1.0.5
├─ [email protected]
│  ├─ onetime@^2.0.0
│  └─ signal-exit@^3.0.2
├─ [email protected]
├─ [email protected]
│  └─ align-text@^0.1.1
├─ [email protected]
│  └─ glob@^7.0.5
├─ [email protected]
├─ [email protected]
│  └─ is-promise@^2.1.0
├─ [email protected]
│  └─ rx-lite@*
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  └─ ret@~0.1.10
├─ [email protected]
├─ [email protected]
│  ├─ anymatch@^2.0.0
│  ├─ [email protected]
│  │  ├─ arr-flatten@^1.1.0
│  │  ├─ array-unique@^0.3.2
│  │  ├─ extend-shallow@^2.0.1
│  │  ├─ [email protected]
│  │  │  └─ is-extendable@^0.1.0
│  │  ├─ fill-range@^4.0.0
│  │  ├─ [email protected]
│  │  ├─ isobject@^3.0.1
│  │  ├─ repeat-element@^1.1.2
│  │  ├─ snapdragon-node@^2.0.1
│  │  ├─ snapdragon@^0.8.1
│  │  ├─ split-string@^3.0.2
│  │  └─ to-regex@^3.0.1
│  ├─ capture-exit@^1.2.0
│  ├─ [email protected]
│  │  ├─ is-descriptor@^1.0.2
│  │  └─ isobject@^3.0.1
│  ├─ exec-sh@^0.2.0
│  ├─ [email protected]
│  │  ├─ debug@^2.3.3
│  │  ├─ define-property@^0.2.5
│  │  ├─ [email protected]
│  │  │  └─ is-descriptor@^0.1.0
│  │  ├─ extend-shallow@^2.0.1
│  │  ├─ [email protected]
│  │  │  └─ is-extendable@^0.1.0
│  │  ├─ [email protected]
│  │  │  ├─ is-accessor-descriptor@^0.1.6
│  │  │  ├─ is-data-descriptor@^0.1.4
│  │  │  └─ kind-of@^5.0.0
│  │  ├─ [email protected]
│  │  ├─ [email protected]
│  │  ├─ posix-character-classes@^0.1.0
│  │  ├─ regex-not@^1.0.0
│  │  ├─ snapdragon@^0.8.1
│  │  └─ to-regex@^3.0.1
│  ├─ [email protected]
│  │  ├─ assign-symbols@^1.0.0
│  │  └─ is-extendable@^1.0.1
│  ├─ [email protected]
│  │  ├─ array-unique@^0.3.2
│  │  ├─ define-property@^1.0.0
│  │  ├─ [email protected]
│  │  │  └─ is-descriptor@^1.0.0
│  │  ├─ expand-brackets@^2.1.4
│  │  ├─ extend-shallow@^2.0.1
│  │  ├─ [email protected]
│  │  │  └─ is-extendable@^0.1.0
│  │  ├─ fragment-cache@^0.2.1
│  │  ├─ [email protected]
│  │  ├─ regex-not@^1.0.0
│  │  ├─ snapdragon@^0.8.1
│  │  └─ to-regex@^3.0.1
│  ├─ fb-watchman@^2.0.0
│  ├─ [email protected]
│  │  ├─ extend-shallow@^2.0.1
│  │  ├─ [email protected]
│  │  │  └─ is-extendable@^0.1.0
│  │  ├─ [email protected]
│  │  ├─ is-number@^3.0.0
│  │  ├─ repeat-string@^1.6.1
│  │  └─ to-regex-range@^2.1.0
│  ├─ fsevents@^1.2.3
│  ├─ [email protected]
│  │  ├─ kind-of@^3.0.2
│  │  └─ [email protected]
│  │     └─ is-buffer@^1.1.5
│  ├─ [email protected]
│  │  ├─ kind-of@^3.0.2
│  │  └─ [email protected]
│  │     └─ is-buffer@^1.1.5
│  ├─ [email protected]
│  │  └─ is-plain-object@^2.0.4
│  ├─ [email protected]
│  ├─ micromatch@^3.1.4
│  ├─ [email protected]
│  │  ├─ arr-diff@^4.0.0
│  │  ├─ array-unique@^0.3.2
│  │  ├─ braces@^2.3.1
│  │  ├─ define-property@^2.0.2
│  │  ├─ extend-shallow@^3.0.2
│  │  ├─ extglob@^2.0.4
│  │  ├─ fragment-cache@^0.2.1
│  │  ├─ kind-of@^6.0.2
│  │  ├─ nanomatch@^1.2.9
│  │  ├─ object.pick@^1.3.0
│  │  ├─ regex-not@^1.0.0
│  │  ├─ snapdragon@^0.8.1
│  │  └─ to-regex@^3.0.2
│  ├─ minimist@^1.1.1
│  ├─ walker@~1.0.5
│  └─ watch@~0.18.0
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  ├─ [email protected]
│  ├─ depd@~1.1.2
│  ├─ destroy@~1.0.4
│  ├─ encodeurl@~1.0.2
│  ├─ escape-html@~1.0.3
│  ├─ etag@~1.8.1
│  ├─ [email protected]
│  ├─ http-errors@~1.6.2
│  ├─ [email protected]
│  ├─ [email protected]
│  ├─ [email protected]
│  ├─ on-finished@~2.3.0
│  ├─ range-parser@~1.2.0
│  ├─ statuses@~1.4.0
│  └─ [email protected]
├─ [email protected]
├─ [email protected]
│  ├─ encodeurl@~1.0.2
│  ├─ escape-html@~1.0.3
│  ├─ parseurl@~1.3.2
│  └─ [email protected]
├─ [email protected]
├─ [email protected]
│  ├─ extend-shallow@^2.0.1
│  ├─ is-extendable@^0.1.1
│  ├─ is-plain-object@^2.0.3
│  └─ split-string@^3.0.1
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  └─ shebang-regex@^1.0.0
├─ [email protected]
├─ [email protected]
│  ├─ array-filter@~0.0.0
│  ├─ array-map@~0.0.0
│  ├─ array-reduce@~0.0.0
│  └─ jsonify@~0.0.0
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  ├─ [email protected]
│  ├─ [email protected]
│  ├─ [email protected]
│  ├─ [email protected]
│  ├─ [email protected]
│  │  ├─ [email protected]
│  │  ├─ [email protected]
│  │  └─ [email protected]
│  └─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  ├─ define-property@^1.0.0
│  ├─ [email protected]
│  │  └─ is-descriptor@^1.0.0
│  ├─ isobject@^3.0.0
│  └─ snapdragon-util@^3.0.1
├─ [email protected]
│  └─ kind-of@^3.2.0
├─ [email protected]
│  ├─ base@^0.11.1
│  ├─ debug@^2.2.0
│  ├─ define-property@^0.2.5
│  ├─ extend-shallow@^2.0.1
│  ├─ map-cache@^0.2.2
│  ├─ source-map-resolve@^0.5.0
│  ├─ source-map@^0.5.6
│  └─ use@^3.1.0
├─ [email protected]
│  ├─ atob@^2.1.1
│  ├─ decode-uri-component@^0.2.0
│  ├─ resolve-url@^0.2.1
│  ├─ source-map-url@^0.4.0
│  └─ urix@^0.1.0
├─ [email protected]
│  └─ source-map@^0.5.6
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  ├─ spdx-expression-parse@^3.0.0
│  └─ spdx-license-ids@^3.0.0
├─ [email protected]
├─ [email protected]
│  ├─ spdx-exceptions@^2.1.0
│  └─ spdx-license-ids@^3.0.0
├─ [email protected]
├─ [email protected]
│  ├─ extend-shallow@^3.0.0
│  ├─ [email protected]
│  │  ├─ assign-symbols@^1.0.0
│  │  └─ is-extendable@^1.0.1
│  └─ [email protected]
│     └─ is-plain-object@^2.0.4
├─ [email protected]
├─ [email protected]
│  ├─ 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
│  ├─ safer-buffer@^2.0.2
│  └─ tweetnacl@~0.14.0
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  ├─ define-property@^0.2.5
│  └─ object-copy@^0.1.0
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  └─ safe-buffer@~5.1.0
├─ [email protected]
│  ├─ [email protected]
│  ├─ astral-regex@^1.0.0
│  ├─ strip-ansi@^4.0.0
│  └─ [email protected]
│     └─ ansi-regex@^3.0.0
├─ [email protected]
│  ├─ [email protected]
│  ├─ is-fullwidth-code-point@^2.0.0
│  ├─ strip-ansi@^4.0.0
│  └─ [email protected]
│     └─ ansi-regex@^3.0.0
├─ [email protected]
│  └─ ansi-regex@^2.0.0
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  └─ has-flag@^3.0.0
├─ [email protected]
├─ [email protected]
│  ├─ chownr@^1.0.1
│  ├─ fs-minipass@^1.2.5
│  ├─ minipass@^2.3.3
│  ├─ minizlib@^1.1.0
│  ├─ mkdirp@^0.5.0
│  ├─ safe-buffer@^5.1.2
│  └─ yallist@^3.0.2
├─ [email protected]
│  ├─ os-tmpdir@^1.0.0
│  ├─ rimraf@~2.2.6
│  └─ [email protected]
├─ [email protected]
│  ├─ arrify@^1.0.1
│  ├─ [email protected]
│  │  ├─ arr-flatten@^1.1.0
│  │  ├─ array-unique@^0.3.2
│  │  ├─ extend-shallow@^2.0.1
│  │  ├─ [email protected]
│  │  │  └─ is-extendable@^0.1.0
│  │  ├─ fill-range@^4.0.0
│  │  ├─ [email protected]
│  │  ├─ isobject@^3.0.1
│  │  ├─ repeat-element@^1.1.2
│  │  ├─ snapdragon-node@^2.0.1
│  │  ├─ snapdragon@^0.8.1
│  │  ├─ split-string@^3.0.2
│  │  └─ to-regex@^3.0.1
│  ├─ [email protected]
│  │  ├─ is-descriptor@^1.0.2
│  │  └─ isobject@^3.0.1
│  ├─ [email protected]
│  │  ├─ debug@^2.3.3
│  │  ├─ define-property@^0.2.5
│  │  ├─ [email protected]
│  │  │  └─ is-descriptor@^0.1.0
│  │  ├─ extend-shallow@^2.0.1
│  │  ├─ [email protected]
│  │  │  └─ is-extendable@^0.1.0
│  │  ├─ [email protected]
│  │  │  ├─ is-accessor-descriptor@^0.1.6
│  │  │  ├─ is-data-descriptor@^0.1.4
│  │  │  └─ kind-of@^5.0.0
│  │  ├─ [email protected]
│  │  ├─ [email protected]
│  │  ├─ posix-character-classes@^0.1.0
│  │  ├─ regex-not@^1.0.0
│  │  ├─ snapdragon@^0.8.1
│  │  └─ to-regex@^3.0.1
│  ├─ [email protected]
│  │  ├─ assign-symbols@^1.0.0
│  │  └─ is-extendable@^1.0.1
│  ├─ [email protected]
│  │  ├─ array-unique@^0.3.2
│  │  ├─ define-property@^1.0.0
│  │  ├─ [email protected]
│  │  │  └─ is-descriptor@^1.0.0
│  │  ├─ expand-brackets@^2.1.4
│  │  ├─ extend-shallow@^2.0.1
│  │  ├─ [email protected]
│  │  │  └─ is-extendable@^0.1.0
│  │  ├─ fragment-cache@^0.2.1
│  │  ├─ [email protected]
│  │  ├─ regex-not@^1.0.0
│  │  ├─ snapdragon@^0.8.1
│  │  └─ to-regex@^3.0.1
│  ├─ [email protected]
│  │  ├─ extend-shallow@^2.0.1
│  │  ├─ [email protected]
│  │  │  └─ is-extendable@^0.1.0
│  │  ├─ [email protected]
│  │  ├─ is-number@^3.0.0
│  │  ├─ repeat-string@^1.6.1
│  │  └─ to-regex-range@^2.1.0
│  ├─ [email protected]
│  │  ├─ path-exists@^2.0.0
│  │  └─ pinkie-promise@^2.0.0
│  ├─ [email protected]
│  │  ├─ kind-of@^3.0.2
│  │  └─ [email protected]
│  │     └─ is-buffer@^1.1.5
│  ├─ [email protected]
│  │  ├─ kind-of@^3.0.2
│  │  └─ [email protected]
│  │     └─ is-buffer@^1.1.5
│  ├─ [email protected]
│  │  └─ is-plain-object@^2.0.4
│  ├─ [email protected]
│  ├─ [email protected]
│  │  ├─ 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@^3.1.8
│  ├─ [email protected]
│  │  ├─ arr-diff@^4.0.0
│  │  ├─ array-unique@^0.3.2
│  │  ├─ braces@^2.3.1
│  │  ├─ define-property@^2.0.2
│  │  ├─ extend-shallow@^3.0.2
│  │  ├─ extglob@^2.0.4
│  │  ├─ fragment-cache@^0.2.1
│  │  ├─ kind-of@^6.0.2
│  │  ├─ nanomatch@^1.2.9
│  │  ├─ object.pick@^1.3.0
│  │  ├─ regex-not@^1.0.0
│  │  ├─ snapdragon@^0.8.1
│  │  └─ to-regex@^3.0.2
│  ├─ object-assign@^4.1.0
│  ├─ [email protected]
│  │  └─ pinkie-promise@^2.0.0
│  ├─ [email protected]
│  │  ├─ graceful-fs@^4.1.2
│  │  ├─ pify@^2.0.0
│  │  └─ pinkie-promise@^2.0.0
│  ├─ read-pkg-up@^1.0.1
│  ├─ [email protected]
│  │  ├─ find-up@^1.0.0
│  │  └─ read-pkg@^1.0.0
│  ├─ [email protected]
│  │  ├─ load-json-file@^1.0.0
│  │  ├─ normalize-package-data@^2.3.2
│  │  └─ path-type@^1.0.0
│  ├─ require-main-filename@^1.0.1
│  └─ [email protected]
│     └─ is-utf8@^0.2.0
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  ├─ readable-stream@^2.1.5
│  └─ xtend@~4.0.1
├─ [email protected]
├─ [email protected]
│  └─ os-tmpdir@~1.0.2
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  └─ kind-of@^3.0.2
├─ [email protected]
│  ├─ is-number@^3.0.0
│  └─ repeat-string@^1.6.1
├─ [email protected]
│  ├─ define-property@^2.0.2
│  ├─ [email protected]
│  │  ├─ is-descriptor@^1.0.2
│  │  └─ isobject@^3.0.1
│  ├─ extend-shallow@^3.0.2
│  ├─ [email protected]
│  │  ├─ assign-symbols@^1.0.0
│  │  └─ is-extendable@^1.0.1
│  ├─ [email protected]
│  │  └─ is-plain-object@^2.0.4
│  ├─ regex-not@^1.0.2
│  └─ safe-regex@^1.1.0
├─ [email protected]
│  ├─ psl@^1.1.24
│  └─ punycode@^1.4.1
├─ [email protected]
│  ├─ punycode@^2.1.0
│  └─ [email protected]
├─ [email protected]
├─ [email protected]
│  └─ safe-buffer@^5.0.1
├─ [email protected]
├─ [email protected]
│  └─ prelude-ls@~1.1.2
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  ├─ commander@~2.13.0
│  ├─ [email protected]
│  ├─ source-map@~0.6.1
│  └─ [email protected]
├─ [email protected]
│  ├─ [email protected]
│  ├─ [email protected]
│  │  ├─ center-align@^0.1.1
│  │  ├─ right-align@^0.1.1
│  │  └─ [email protected]
│  ├─ source-map@~0.5.1
│  ├─ uglify-to-browserify@~1.0.0
│  ├─ [email protected]
│  ├─ yargs@~3.10.0
│  └─ [email protected]
│     ├─ camelcase@^1.0.2
│     ├─ cliui@^2.1.0
│     ├─ decamelize@^1.0.0
│     └─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  ├─ unicode-canonical-property-names-ecmascript@^1.0.4
│  └─ unicode-property-aliases-ecmascript@^1.0.4
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  ├─ arr-union@^3.1.0
│  ├─ get-value@^2.0.6
│  ├─ is-extendable@^0.1.1
│  ├─ set-value@^0.4.3
│  └─ [email protected]
│     ├─ extend-shallow@^2.0.1
│     ├─ is-extendable@^0.1.1
│     ├─ is-plain-object@^2.0.1
│     └─ to-object-path@^0.3.0
├─ [email protected]
├─ [email protected]
│  ├─ has-value@^0.3.1
│  ├─ [email protected]
│  │  ├─ get-value@^2.0.3
│  │  ├─ has-values@^0.1.4
│  │  ├─ isobject@^2.0.0
│  │  └─ [email protected]
│  │     └─ [email protected]
│  ├─ [email protected]
│  └─ isobject@^3.0.0
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  ├─ define-properties@^1.1.2
│  └─ object.getownpropertydescriptors@^2.0.3
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  ├─ spdx-correct@^3.0.0
│  └─ spdx-expression-parse@^3.0.0
├─ [email protected]
├─ [email protected]
│  ├─ assert-plus@^1.0.0
│  ├─ [email protected]
│  ├─ extsprintf@^1.2.0
│  └─ [email protected]
├─ [email protected]
│  └─ browser-process-hrtime@^0.1.2
├─ [email protected]
│  └─ [email protected]
├─ [email protected]
│  ├─ exec-sh@^0.2.0
│  └─ minimist@^1.2.0
├─ [email protected]
├─ [email protected]
│  ├─ [email protected]
│  └─ [email protected]
│     └─ safer-buffer@>= 2.1.2 < 3
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  ├─ lodash.sortby@^4.7.0
│  ├─ tr46@^1.0.1
│  └─ webidl-conversions@^4.0.2
├─ [email protected]
├─ [email protected]
│  └─ isexe@^2.0.0
├─ [email protected]
│  └─ string-width@^1.0.2 || 2
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  ├─ [email protected]
│  │  └─ number-is-nan@^1.0.0
│  ├─ string-width@^1.0.1
│  ├─ [email protected]
│  │  ├─ code-point-at@^1.0.0
│  │  ├─ is-fullwidth-code-point@^1.0.0
│  │  └─ strip-ansi@^3.0.0
│  └─ strip-ansi@^3.0.1
├─ [email protected]
├─ [email protected]
│  ├─ graceful-fs@^4.1.11
│  ├─ imurmurhash@^0.1.4
│  └─ slide@^1.1.5
├─ [email protected]
│  ├─ options@>=0.0.5
│  └─ [email protected]
├─ [email protected]
│  ├─ pegjs@^0.10.0
│  ├─ simple-plist@^0.2.1
│  └─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  ├─ sax@~1.1.1
│  └─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
├─ [email protected]
│  └─ camelcase@^4.1.0
└─ [email protected]
   ├─ cliui@^4.0.0
   ├─ decamelize@^1.1.1
   ├─ find-up@^2.1.0
   ├─ get-caller-file@^1.0.1
   ├─ os-locale@^2.0.0
   ├─ require-directory@^2.1.1
   ├─ require-main-filename@^1.0.1
   ├─ set-blocking@^2.0.0
   ├─ string-width@^2.0.0
   ├─ which-module@^2.0.0
   ├─ y18n@^3.2.1
   └─ yargs-parser@^9.0.2
Done in 0.88s.

Based on the yarn list output, I think I'm getting babel-core@6 instead of 7. So I followed the directions on the Jest website to install babel-core and related for Babel 7.

Terminal
$ yarn add --dev babel-jest 'babel-core@^7.0.0-0' @babel/core regenerator-runtime
$ yarn test
yarn run v1.9.4
$ jest
 FAIL  __tests__/Button.test.js
  ● Test suite failed to run

    SyntaxError: /Users/jeremy/dev/rntest/node_modules/react-native/jest/mockComponent.js: Support for the experimental syntax 'classProperties' isn't currently enabled (20:24):

      18 | 
      19 |   const Component = class extends SuperClass {
    > 20 |     static displayName = 'Component';
         |                        ^
      21 | 
      22 |     render() {
      23 |       const name =

    Add @babel/plugin-proposal-class-properties (https://git.io/vb4SL) to the 'plugins' section of your Babel config to enable transformation.

      at Parser.raise (node_modules/@babel/core/node_modules/@babel/parser/lib/index.js:3913:15)
      at Parser.expectPlugin (node_modules/@babel/core/node_modules/@babel/parser/lib/index.js:5247:18)
      at Parser.parseClassProperty (node_modules/@babel/core/node_modules/@babel/parser/lib/index.js:8097:12)
      at Parser.pushClassProperty (node_modules/@babel/core/node_modules/@babel/parser/lib/index.js:8061:30)
      at Parser.parseClassMemberWithIsStatic (node_modules/@babel/core/node_modules/@babel/parser/lib/index.js:7994:14)
      at Parser.parseClassMember (node_modules/@babel/core/node_modules/@babel/parser/lib/index.js:7931:10)
      at Parser.parseClassBody (node_modules/@babel/core/node_modules/@babel/parser/lib/index.js:7886:12)
      at Parser.parseClass (node_modules/@babel/core/node_modules/@babel/parser/lib/index.js:7836:10)
      at Parser.parseExprAtom (node_modules/@babel/core/node_modules/@babel/parser/lib/index.js:6299:21)
      at Parser.parseExprSubscripts (node_modules/@babel/core/node_modules/@babel/parser/lib/index.js:5918:21)

Test Suites: 1 failed, 1 total
Tests:       0 total
Snapshots:   0 total
Time:        0.28s
Ran all test suites.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

Further, but now I'm running into an issue which seems to point to missing babel transforms. So I add that npm module, update .babelrc and try again. Still no luck.

Terminal
$ yarn add @babel/plugin-proposal-class-properties
yarn add v1.9.4
[1/4] 🔍  Resolving packages...
[2/4] 🚚  Fetching packages...
[3/4] 🔗  Linking dependencies...
[4/4] 📃  Building fresh packages...
success Saved lockfile.
success Saved 2 new dependencies.
info Direct dependencies
└─ @babel/[email protected]
info All dependencies
├─ @babel/[email protected]
└─ @babel/[email protected]
✨  Done in 4.17s.
$ vim .babelrc
$ cat .babelrc
{
  "plugins": ["@babel/plugin-proposal-class-properties"],
  "presets": ["module:metro-react-native-babel-preset"]
}
$ yarn test
yarn run v1.9.4
$ jest
 FAIL  __tests__/Button.test.js
  ● Test suite failed to run

    SyntaxError: /Users/jeremy/dev/rntest/node_modules/react-native/jest/mockComponent.js: Support for the experimental syntax 'classProperties' isn't currently enabled (20:24):

      18 | 
      19 |   const Component = class extends SuperClass {
    > 20 |     static displayName = 'Component';
         |                        ^
      21 | 
      22 |     render() {
      23 |       const name =

    Add @babel/plugin-proposal-class-properties (https://git.io/vb4SL) to the 'plugins' section of your Babel config to enable transformation.

      at Parser.raise (node_modules/@babel/core/node_modules/@babel/parser/lib/index.js:3913:15)
      at Parser.expectPlugin (node_modules/@babel/core/node_modules/@babel/parser/lib/index.js:5247:18)
      at Parser.parseClassProperty (node_modules/@babel/core/node_modules/@babel/parser/lib/index.js:8097:12)
      at Parser.pushClassProperty (node_modules/@babel/core/node_modules/@babel/parser/lib/index.js:8061:30)
      at Parser.parseClassMemberWithIsStatic (node_modules/@babel/core/node_modules/@babel/parser/lib/index.js:7994:14)
      at Parser.parseClassMember (node_modules/@babel/core/node_modules/@babel/parser/lib/index.js:7931:10)
      at Parser.parseClassBody (node_modules/@babel/core/node_modules/@babel/parser/lib/index.js:7886:12)
      at Parser.parseClass (node_modules/@babel/core/node_modules/@babel/parser/lib/index.js:7836:10)
      at Parser.parseExprAtom (node_modules/@babel/core/node_modules/@babel/parser/lib/index.js:6299:21)
      at Parser.parseExprSubscripts (node_modules/@babel/core/node_modules/@babel/parser/lib/index.js:5918:21)

Test Suites: 1 failed, 1 total
Tests:       0 total
Snapshots:   0 total
Time:        0.472s
Ran all test suites.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

Maybe it's related to us using .babelrc instead of the new babel.config.js? Let's try that.

Terminal
$ mv .babelrc babel.config.js
$ vim babel.config.js
$ cat babel.config.js
module.exports = function(api) {
  api.cache(true);

  return {
    "plugins": ["@babel/plugin-proposal-class-properties"],
    "presets": ["module:metro-react-native-babel-preset"]
  }
}
$ yarn test 
yarn run v1.9.4
$ jest
 FAIL  __tests__/Button.test.js
  Button
    ✕ does stuff (6ms)

  ● Button › does stuff

    TypeError: Cannot read property 'bind' of undefined

       5 | 
       6 |     constructor() {
    >  7 |         this._binder = this._binder.bind(this);
         |                                     ^
       8 |     }
       9 | 
      10 |     _binder() {

      at new bind (__tests__/Button.test.js:7:37)
      at Object.<anonymous> (__tests__/Button.test.js:17:19)

Test Suites: 1 failed, 1 total
Tests:       1 failed, 1 total
Snapshots:   0 total
Time:        1.354s, estimated 2s
Ran all test suites.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
$ _ 

Ok, looks like I'm missing @babel/plugin-transform-classes. Let's add that:

Terminal
yarn add @babel/plugin-transform-classes                                                                  0 < 09:55:41
yarn add v1.9.4
[1/4] 🔍  Resolving packages...
[2/4] 🚚  Fetching packages...
[3/4] 🔗  Linking dependencies...
[4/4] 📃  Building fresh packages...
success Saved lockfile.
success Saved 2 new dependencies.
info Direct dependencies
└─ @babel/[email protected]
info All dependencies
├─ @babel/[email protected]
└─ @babel/[email protected]
✨  Done in 5.22s.
$ vim babel.config.js
$ cat babel.config.js
module.exports = function(api) {
  api.cache(true);

  return {
    "plugins": ["@babel/plugin-transform-classes", "@babel/plugin-proposal-class-properties"],
    "presets": ["module:metro-react-native-babel-preset"]
  }
}
$ yarn test
yarn run v1.9.4
$ jest
 FAIL  __tests__/Button.test.js
  Button
    ✕ does stuff (6ms)

  ● Button › does stuff

    TypeError: Cannot read property 'bind' of undefined

       5 | 
       6 |     constructor() {
    >  7 |         this._binder = this._binder.bind(this);
         |                                     ^
       8 |     }
       9 | 
      10 |     _binder() {

      at new bind (__tests__/Button.test.js:7:37)
      at Object.<anonymous> (__tests__/Button.test.js:17:19)

Test Suites: 1 failed, 1 total
Tests:       1 failed, 1 total
Snapshots:   0 total
Time:        0.532s, estimated 2s
Ran all test suites.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

It looks like babel isn't picking up that new plugin when I run jest. 😕

Ok, found this comment and that's the solution (item number 3!).

Let's add the transform!

Terminal ```sh $ vim package.json $ cat package.json { "name": "rntest", "version": "0.0.1", "private": true, "scripts": { "start": "node node_modules/react-native/local-cli/cli.js start", "test": "jest" }, "dependencies": { "react": "16.4.1", "react-native": "0.57.0-rc.3" }, "devDependencies": { "@babel/core": "^7.0.0-rc.3", "babel-core": "^7.0.0-0", "babel-jest": "^23.4.2", "jest": "23.5.0", "metro-react-native-babel-preset": "^0.43.5", "react-test-renderer": "16.4.1", "regenerator-runtime": "^0.12.1" }, "jest": { "preset": "react-native", "transform": { "^.+\\.js$": "/node_modules/react-native/jest/preprocessor.js" } } } $ yarn test yarn run v1.9.4 $ jest PASS __tests__/Button.test.js Button ✓ does stuff (1ms)

Test Suites: 1 passed, 1 total
Tests: 1 passed, 1 total
Snapshots: 0 total
Time: 3.462s
Ran all test suites.
✨ Done in 5.62s.

</details>

I thought unit testing features were (should be?) supported out of the box.  Would this be something that could make the 0.57 release if I submitted a PR to patch the Hello World template?

## Reproducible Demo

Video: https://asciinema.org/a/qcNt2tKSZfWkxGKchZ53gLkNd
Repo: https://github.com/jeremywiebe/rn-0.57-rc.3-tests

This seems related to https://github.com/facebook/react-native/issues/20327. 

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions