Closed jeremywiebe closed 6 years ago
Ok, so it seems like #3 in this comment fixes this.
I wonder if this should be the way the new project template is set so that folks have a functional jest setup out of the box.
I've updated my demo repo.
I can still experience this on react-native@0.57
As @jeremywiebe said, just add
"transform": {
"^.+\\.js$": "<RELATIVE_PATH>/preprocessor.js"
}
to your package.json
's "jest"
key
I'm facing the same error with typescript:
Here are my devDependencies in package.json
:
"devDependencies": {
"@types/jest": "23.3.2",
"@types/react": "16.4.14",
"@types/react-native": "0.56.18",
"@types/react-native-orientation": "^5.0.1",
"@types/react-test-renderer": "16.0.2",
"babel-eslint": "^9.0.0",
"babel-jest": "23.6.0",
"enzyme": "^3.6.0",
"enzyme-adapter-react-16": "^1.5.0",
"eslint": "^5.6.0",
"eslint-plugin-react": "^7.11.1",
"jest": "23.6.0",
"jest-fetch-mock": "^1.6.6",
"metro-react-native-babel-preset": "0.45.3",
"prop-types": "^15.6.2",
"react-dom": "^16.5.0",
"react-test-renderer": "16.5.0",
"ts-jest": "^23.1.4",
"typescript": "3.0.3"
},
"jest": {
"preset": "react-native",
"moduleFileExtensions": [
"ts",
"tsx",
"js"
],
"transform": {
"^.+\\.(js)$": "<rootDir>/node_modules/babel-jest",
"\\.(ts|tsx)$": "<rootDir>/node_modules/ts-jest/preprocessor.js"
},
"testRegex": "(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$",
"testPathIgnorePatterns": [
"\\.snap$",
"<rootDir>/node_modules/"
],
"cacheDirectory": ".jest/cache",
"setupFiles": [
"./tests/setup.js"
]
}
Update: If you integrate test with Jest and Enzyme in the new React Version 0.57 and typescript out of the box, they won't work.
Here are the steps to reproduce.
Create a new react native project:
react-native init MyApp -package "com.my.app" --template typescript && node MyApp/setup.js
Install all Jest and Enzyne related packages:
npm install --save-dev react-dom enzyme enzyme-react-adapter-16 jest-fetch-mock ts-jest
Add the jest configuration to package.json
:
"jest": {
"preset": "react-native",
"moduleFileExtensions": [
"ts",
"tsx",
"js"
],
"transform": {
"^.+\\.(js)$": "<rootDir>/node_modules/babel-jest",
"\\.(ts|tsx)$": "<rootDir>/node_modules/ts-jest/preprocessor.js"
},
"testRegex": "(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$",
"testPathIgnorePatterns": [
"\\.snap$",
"<rootDir>/node_modules/"
],
"cacheDirectory": ".jest/cache",
"setupFiles": [
"./tests/setup.js"
]
}
Add a file tests/setup.js
and include the following configuration:
import Enzyme from "enzyme";
import Adapter from "enzyme-adapter-react-16";
import { NativeModules } from "react-native";
global.fetch = require("jest-fetch-mock"); // eslint-disable-line no-undef
jest.mock("react-native-config");
Enzyme.configure({ adapter: new Adapter() });
Last but not least add a basic test (App.test.tsx
) to check if Jest and Enzyme work:
import React from "react";
import { shallow } from "enzyme";
import { View } from "react-native";
import App from "./App";
const createTestProps = props => ({
...props
});
describe("App", () => {
describe("rendering", () => {
let wrapper;
let props;
beforeEach(() => {
props = createTestProps({});
wrapper = shallow(<App {...props} />);
});
it("should render a <View />", () => {
expect(wrapper.find(View)).toHaveLength(1);
});
});
});
If you now try to run the test, the error message you get is:
FAIL app/App.test.tsx
● Test suite failed to run
Couldn't find preset "module:metro-react-native-babel-preset" relative to directory "<Directory>"
I'm experiencing the exact same problem.
Facing the same issue.
Below are minimal package.json
s to make yarn test
work for both TS and JS after running react-native init
.
These are based on manually copying the __tests__
directory from the HelloWorld template; which for some reason isn't being copied over correctly for new projects.
// package.json
{
"name": "JavaScriptApp",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "node node_modules/react-native/local-cli/cli.js start",
"test": "jest"
},
"dependencies": {
"react": "16.5.0",
"react-native": "0.57.0"
},
"devDependencies": {
"babel-jest": "23.6.0",
"jest": "23.6.0",
"metro-react-native-babel-preset": "0.45.3",
"react-test-renderer": "16.5.0"
},
"jest": {
"preset": "react-native",
"transform": {
"^.+\\.(js)$": "<rootDir>/node_modules/react-native/jest/preprocessor.js"
}
}
}
// package.json
{
"name": "TypeScriptApp",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "node node_modules/react-native/local-cli/cli.js start",
"test": "jest"
},
"dependencies": {
"react": "16.5.0",
"react-native": "0.57.0"
},
"devDependencies": {
"babel-jest": "23.6.0",
"jest": "23.6.0",
"metro-react-native-babel-preset": "0.45.3",
"react-test-renderer": "16.5.0",
"ts-jest": "^23.1.4",
"typescript": "^3.0.3"
},
"jest": {
"preset": "react-native",
"moduleFileExtensions": [
"ts",
"tsx",
"js",
"jsx",
"json"
],
"transform": {
"^.+\\.(js)$": "<rootDir>/node_modules/react-native/jest/preprocessor.js",
"\\.(ts|ts)x?$": "ts-jest"
},
"testRegex": "(/__tests__/.*|(\\.|/)(test|spec))\\.(js|ts)x?$",
"globals": {
"ts-jest": {
"useBabelrc": true
}
}
}
}
⚠️ you need to change
import React from 'react'
toimport * as React from 'react'
for the.tsx
version
As mentioned in https://github.com/facebook/metro/issues/242#issuecomment-422050382, the solution presented above (i.e. using Jest's preprocessor in the transform
property) works to an extent, but doesn't seem to play well with Jest manual mocks. It's as though the jest.mock()
calls are completely ignored.
In other words, tests involving manual mocks that previously succeeded do not anymore. Here's an example:
FAIL ./App.test.js
● Test suite failed to run
TypeError: Cannot read property 'language' of undefined
> 1 | import RNLanguages from 'react-native-languages';
| ^
2 | import i18n from 'i18n-js';
3 |
4 | import frCA from './locales/fr-CA.json';
at Object.<anonymous> (node_modules/react-native-languages/index.js:27:28)
at Object.<anonymous> (src/i18n.js:1:191)
at Object.<anonymous> (src/screens/Home.js:4:48)
Test Suites: 1 failed, 1 total
Tests: 0 total
Snapshots: 0 total
Time: 0.966s
Ran all test suites.
The above happens even though the manual mock defines the language
property:
jest.mock('react-native-languages', () => {
return {
language: 'en-US',
addEventListener: jest.fn(),
};
});
Anyone else seeing this behavior when Jest manual mocks are involved?
Yes @maximevaillancourt - we are having the same issue. If we use the jest preprocessor from RN, the tests "run" but jest.mock()
does not work at all so all snapshots etc are failing.
Related issue on the "metro" repository: https://github.com/facebook/metro/issues/242#issuecomment-422050382
We were running into the following Jest/Babel issue after upgrading to 0.57.0.
● Test suite failed to run
Cannot find module '@babel/plugin-transform-block-scoping'
at Object.process (node_modules/react-native/jest/preprocessor.js:65:10)
But we fixed it by using the package versions specified in @jpdriver's post. 👍
"devDependencies": {
"@babel/core": "7.1.0",
"babel-core": "7.0.0-bridge.0",
"babel-jest": "^23.6.0",
"metro-react-native-babel-preset": "^0.45.3",
"react-test-renderer": "16.5.1",
"jest": "23.6.0"
}
@manosim or @maximevaillancourt Did you find a solution/workaround for the jest.mock()
problem?
No nothing yet unfortunately - I feel like that might be an issue with metro bundler. Hopefully one of the maintainers/contributors will point us to the right direction 😃 Will let you know if I figure it out!
@joh-klein if you find a solution can you please update this thread? I've spent a few hours searching and no luck :/
I finally resolved this issue by bringing in https://www.npmjs.com/package/babel-plugin-jest-hoist
to my project.
My dependencies:
"react": "16.5.1",
"react-native": "^0.57.1",
..
"@babel/core": "^7.1.0",
"@babel/runtime": "^7.0.0",
"babel-core": "^6.26.3",
"babel-eslint": "^8.1.1",
"babel-jest": "^23.6.0",
"babel-plugin-jest-hoist": "^23.2.0",
"babel-plugin-relay": "^1.5.0",
"jest": "^23.6.0",
"metro-react-native-babel-preset": "^0.47.0",
and my babel.config.js
:
module.exports = {
"presets": ["module:metro-react-native-babel-preset", "module:react-native-dotenv"],
"plugins": [
"relay",
"jest-hoist"
]
}
~~This is strange … I thought it worked, but then I tried removing some of the dependencies you posted, just to make sure, and it somehow never stoped NOT working – even after I removed babel-plugin-jest-hoist. After that, I found out, that there is such a thing as a cache for jest AND that one should delete it, to make sure these things actually work: npx jest --clearCache
.
After that, I am very sad to report that it still doesn't work for me. Does it still work for you, even after you cleared the jest cache? What does your jest config look like?~~
CORRECTION: it does work, sorry!
What I do now, to make sure, it works:
npx jest --clearCache && watchman watch-del-all && rm -rf node_modules && rm -rf $TMPDIR/metro-* && rm -rf $TMPDIR/haste-* && rm -rf $TMPDIR/react-* && yarn
My tests are also failing because the jest.mock
declarations are being ignored.
I tried what @hanford suggested, but still no luck.
I have also made sure to clear any stale data like @joh-klein
@manosim have you found a solution yet?
I'm running RN 0.57.0
package.json
...
"devDependencies": {
"@babel/core": "7.1.0",
"@babel/runtime": "7.1.1",
"babel-jest": "23.6.0",
"babel-plugin-jest-hoist": "23.2.0",
"metro-react-native-babel-preset": "0.47.0",
"jest": "23.6.0",
"jest-cli": "23.6.0"
}
...
.babelrc
{
"presets": ["module:metro-react-native-babel-preset"],
"plugins": ["jest-hoist"]
}
Ok, I got it working now by following the steps found here: https://jestjs.io/docs/en/getting-started#using-babel
I also had to update to RN 0.57.1 but now I am getting a bunch of errors with enzyme
@rcidt are you using any type of CI? My tests are now all passing locally fail when running on CI 🙇♂️
@hanford Yes we use a CI but I haven't pushed up my code yet. Check the node versions
I solved this days ago. Unfortunately this thread was locked days ago and just got unlocked, which is why I'm only now posting the answer.
I wrote a Medium tutorial on the settings that you need to solve this. Just skip to the step two.
jest.mock()
works with these settings, too. I hope this helps.
EDIT: Wow apparently jest.mock()
also does not work. I tried doing what @hanford suggested and added "babel-plugin-jest-hoist": "^23.2.0",
, but it didn't help.
For me the problem was what was added to .babelrc
after the upgrade to 0.57. The file looks like this now:
{
"env": {
"development": {
"presets": [
"module:metro-react-native-babel-preset",
"module:react-native-dotenv"
],
"plugins": ["jest-hoist"]
},
"production": {
"presets": [
"module:metro-react-native-babel-preset",
"module:react-native-dotenv"
],
"plugins": ["jest-hoist"]
},
"test": {
"presets": [
"react-native",
"babel-preset-react-native-stage-0/decorator-support",
"react-native-dotenv"
]
}
}
}
and the package.json
test command looks like this "test": "NODE_ENV=testing BABEL_ENV=test jest"
. Also, I got rid of "transform"
property under "jest"
I sees lot of solutions that says to add the transform to the jest config. The huge problem with that is the jest.mock
stop working afterward.
Without the transform (Before Babel 7 and RN 0.56), mocking a module like that would work fine.
import dumbClient from '../../dumbClient'
jest.mock('../../dumbClient');
it('is a test', () => {
dumbClient.testFunction.mockImplementation(() => true)
const response = dumbClient.testFunction();
expect(response).toBeTruthy()
});
However, with the transform it fails because testFunction.mockImplementation is not defined. The mock as it should work stopped working.
What would be the other possibility?
@jpdriver Saved me. Thx~
@jpdriver tests are kinda weak-sauce.
No mocks no complex setup.
That will work for basic snapshot tests but not for more complex unit tests with jest.fn()
mocks and spies.
After doing the following:
My mocks came back to life
UPDATE: This might be a duplicate of https://github.com/facebook/react-native/issues/19859 but it definitely exists in 0.57-rc.3 still.
Environment
Run
react-native info
in your terminal and paste its contents here.Description
Unit tests in new projects generated using the
react-native
CLI are broken. Here's the steps to reproduce:`yarn info`
```sh $ yarn list yarn list v1.9.4 ├─ @babel/code-frame@7.0.0-beta.56 │ └─ @babel/highlight@7.0.0-beta.56 ├─ @babel/core@7.0.0-beta.56 │ ├─ @babel/code-frame@7.0.0-beta.56 │ ├─ @babel/generator@7.0.0-beta.56 │ ├─ @babel/helpers@7.0.0-beta.56 │ ├─ @babel/parser@7.0.0-beta.56 │ ├─ @babel/template@7.0.0-beta.56 │ ├─ @babel/traverse@7.0.0-beta.56 │ ├─ @babel/types@7.0.0-beta.56 │ ├─ convert-source-map@^1.1.0 │ ├─ debug@^3.1.0 │ ├─ debug@3.1.0 │ │ └─ ms@2.0.0 │ ├─ json5@^0.5.0 │ ├─ lodash@^4.17.10 │ ├─ resolve@^1.3.2 │ ├─ semver@^5.4.1 │ └─ source-map@^0.5.0 ├─ @babel/generator@7.0.0-beta.56 │ ├─ @babel/types@7.0.0-beta.56 │ ├─ jsesc@^2.5.1 │ ├─ jsesc@2.5.1 │ ├─ lodash@^4.17.10 │ ├─ source-map@^0.5.0 │ └─ trim-right@^1.0.1 ├─ @babel/helper-annotate-as-pure@7.0.0-beta.56 │ └─ @babel/types@7.0.0-beta.56 ├─ @babel/helper-builder-binary-assignment-operator-visitor@7.0.0-beta.56 │ ├─ @babel/helper-explode-assignable-expression@7.0.0-beta.56 │ └─ @babel/types@7.0.0-beta.56 ├─ @babel/helper-builder-react-jsx@7.0.0-beta.56 │ ├─ @babel/types@7.0.0-beta.56 │ └─ esutils@^2.0.0 ├─ @babel/helper-call-delegate@7.0.0-beta.56 │ ├─ @babel/helper-hoist-variables@7.0.0-beta.56 │ ├─ @babel/traverse@7.0.0-beta.56 │ └─ @babel/types@7.0.0-beta.56 ├─ @babel/helper-define-map@7.0.0-beta.56 │ ├─ @babel/helper-function-name@7.0.0-beta.56 │ ├─ @babel/types@7.0.0-beta.56 │ └─ lodash@^4.17.10 ├─ @babel/helper-explode-assignable-expression@7.0.0-beta.56 │ ├─ @babel/traverse@7.0.0-beta.56 │ └─ @babel/types@7.0.0-beta.56 ├─ @babel/helper-function-name@7.0.0-beta.56 │ ├─ @babel/helper-get-function-arity@7.0.0-beta.56 │ ├─ @babel/template@7.0.0-beta.56 │ └─ @babel/types@7.0.0-beta.56 ├─ @babel/helper-get-function-arity@7.0.0-beta.56 │ └─ @babel/types@7.0.0-beta.56 ├─ @babel/helper-hoist-variables@7.0.0-beta.56 │ └─ @babel/types@7.0.0-beta.56 ├─ @babel/helper-member-expression-to-functions@7.0.0-beta.56 │ └─ @babel/types@7.0.0-beta.56 ├─ @babel/helper-module-imports@7.0.0-beta.56 │ ├─ @babel/types@7.0.0-beta.56 │ └─ lodash@^4.17.10 ├─ @babel/helper-module-transforms@7.0.0-beta.56 │ ├─ @babel/helper-module-imports@7.0.0-beta.56 │ ├─ @babel/helper-simple-access@7.0.0-beta.56 │ ├─ @babel/helper-split-export-declaration@7.0.0-beta.56 │ ├─ @babel/template@7.0.0-beta.56 │ ├─ @babel/types@7.0.0-beta.56 │ └─ lodash@^4.17.10 ├─ @babel/helper-optimise-call-expression@7.0.0-beta.56 │ └─ @babel/types@7.0.0-beta.56 ├─ @babel/helper-plugin-utils@7.0.0-beta.56 ├─ @babel/helper-regex@7.0.0-beta.56 │ └─ lodash@^4.17.10 ├─ @babel/helper-remap-async-to-generator@7.0.0-beta.56 │ ├─ @babel/helper-annotate-as-pure@7.0.0-beta.56 │ ├─ @babel/helper-wrap-function@7.0.0-beta.56 │ ├─ @babel/template@7.0.0-beta.56 │ ├─ @babel/traverse@7.0.0-beta.56 │ └─ @babel/types@7.0.0-beta.56 ├─ @babel/helper-replace-supers@7.0.0-beta.56 │ ├─ @babel/helper-member-expression-to-functions@7.0.0-beta.56 │ ├─ @babel/helper-optimise-call-expression@7.0.0-beta.56 │ ├─ @babel/traverse@7.0.0-beta.56 │ └─ @babel/types@7.0.0-beta.56 ├─ @babel/helper-simple-access@7.0.0-beta.56 │ ├─ @babel/template@7.0.0-beta.56 │ ├─ @babel/types@7.0.0-beta.56 │ └─ lodash@^4.17.10 ├─ @babel/helper-split-export-declaration@7.0.0-beta.56 │ └─ @babel/types@7.0.0-beta.56 ├─ @babel/helper-wrap-function@7.0.0-beta.56 │ ├─ @babel/helper-function-name@7.0.0-beta.56 │ ├─ @babel/template@7.0.0-beta.56 │ ├─ @babel/traverse@7.0.0-beta.56 │ └─ @babel/types@7.0.0-beta.56 ├─ @babel/helpers@7.0.0-beta.56 │ ├─ @babel/template@7.0.0-beta.56 │ ├─ @babel/traverse@7.0.0-beta.56 │ └─ @babel/types@7.0.0-beta.56 ├─ @babel/highlight@7.0.0-beta.56 │ ├─ chalk@^2.0.0 │ ├─ esutils@^2.0.2 │ └─ js-tokens@^3.0.0 ├─ @babel/parser@7.0.0-beta.56 ├─ @babel/plugin-external-helpers@7.0.0-beta.56 │ └─ @babel/helper-plugin-utils@7.0.0-beta.56 ├─ @babel/plugin-proposal-class-properties@7.0.0-beta.56 │ ├─ @babel/helper-function-name@7.0.0-beta.56 │ ├─ @babel/helper-member-expression-to-functions@7.0.0-beta.56 │ ├─ @babel/helper-optimise-call-expression@7.0.0-beta.56 │ ├─ @babel/helper-plugin-utils@7.0.0-beta.56 │ ├─ @babel/helper-replace-supers@7.0.0-beta.56 │ └─ @babel/plugin-syntax-class-properties@7.0.0-beta.56 ├─ @babel/plugin-proposal-nullish-coalescing-operator@7.0.0-beta.56 │ ├─ @babel/helper-plugin-utils@7.0.0-beta.56 │ └─ @babel/plugin-syntax-nullish-coalescing-operator@7.0.0-beta.56 ├─ @babel/plugin-proposal-object-rest-spread@7.0.0-beta.56 │ ├─ @babel/helper-plugin-utils@7.0.0-beta.56 │ └─ @babel/plugin-syntax-object-rest-spread@7.0.0-beta.56 ├─ @babel/plugin-proposal-optional-catch-binding@7.0.0-beta.56 │ ├─ @babel/helper-plugin-utils@7.0.0-beta.56 │ └─ @babel/plugin-syntax-optional-catch-binding@7.0.0-beta.56 ├─ @babel/plugin-proposal-optional-chaining@7.0.0-beta.56 │ ├─ @babel/helper-plugin-utils@7.0.0-beta.56 │ └─ @babel/plugin-syntax-optional-chaining@7.0.0-beta.56 ├─ @babel/plugin-syntax-class-properties@7.0.0-beta.56 │ └─ @babel/helper-plugin-utils@7.0.0-beta.56 ├─ @babel/plugin-syntax-dynamic-import@7.0.0-beta.56 │ └─ @babel/helper-plugin-utils@7.0.0-beta.56 ├─ @babel/plugin-syntax-flow@7.0.0-beta.56 │ └─ @babel/helper-plugin-utils@7.0.0-beta.56 ├─ @babel/plugin-syntax-jsx@7.0.0-beta.56 │ └─ @babel/helper-plugin-utils@7.0.0-beta.56 ├─ @babel/plugin-syntax-nullish-coalescing-operator@7.0.0-beta.56 │ └─ @babel/helper-plugin-utils@7.0.0-beta.56 ├─ @babel/plugin-syntax-object-rest-spread@7.0.0-beta.56 │ └─ @babel/helper-plugin-utils@7.0.0-beta.56 ├─ @babel/plugin-syntax-optional-catch-binding@7.0.0-beta.56 │ └─ @babel/helper-plugin-utils@7.0.0-beta.56 ├─ @babel/plugin-syntax-optional-chaining@7.0.0-beta.56 │ └─ @babel/helper-plugin-utils@7.0.0-beta.56 ├─ @babel/plugin-syntax-typescript@7.0.0-beta.56 │ └─ @babel/helper-plugin-utils@7.0.0-beta.56 ├─ @babel/plugin-transform-arrow-functions@7.0.0-beta.56 │ └─ @babel/helper-plugin-utils@7.0.0-beta.56 ├─ @babel/plugin-transform-async-to-generator@7.0.0-beta.56 │ ├─ @babel/helper-module-imports@7.0.0-beta.56 │ ├─ @babel/helper-plugin-utils@7.0.0-beta.56 │ └─ @babel/helper-remap-async-to-generator@7.0.0-beta.56 ├─ @babel/plugin-transform-block-scoping@7.0.0-beta.56 │ ├─ @babel/helper-plugin-utils@7.0.0-beta.56 │ └─ lodash@^4.17.10 ├─ @babel/plugin-transform-classes@7.0.0-beta.56 │ ├─ @babel/helper-annotate-as-pure@7.0.0-beta.56 │ ├─ @babel/helper-define-map@7.0.0-beta.56 │ ├─ @babel/helper-function-name@7.0.0-beta.56 │ ├─ @babel/helper-optimise-call-expression@7.0.0-beta.56 │ ├─ @babel/helper-plugin-utils@7.0.0-beta.56 │ ├─ @babel/helper-replace-supers@7.0.0-beta.56 │ ├─ @babel/helper-split-export-declaration@7.0.0-beta.56 │ └─ globals@^11.1.0 ├─ @babel/plugin-transform-computed-properties@7.0.0-beta.56 │ └─ @babel/helper-plugin-utils@7.0.0-beta.56 ├─ @babel/plugin-transform-destructuring@7.0.0-beta.56 │ └─ @babel/helper-plugin-utils@7.0.0-beta.56 ├─ @babel/plugin-transform-exponentiation-operator@7.0.0-beta.56 │ ├─ @babel/helper-builder-binary-assignment-operator-visitor@7.0.0-beta.56 │ └─ @babel/helper-plugin-utils@7.0.0-beta.56 ├─ @babel/plugin-transform-flow-strip-types@7.0.0-beta.56 │ ├─ @babel/helper-plugin-utils@7.0.0-beta.56 │ └─ @babel/plugin-syntax-flow@7.0.0-beta.56 ├─ @babel/plugin-transform-for-of@7.0.0-beta.56 │ └─ @babel/helper-plugin-utils@7.0.0-beta.56 ├─ @babel/plugin-transform-function-name@7.0.0-beta.56 │ ├─ @babel/helper-function-name@7.0.0-beta.56 │ └─ @babel/helper-plugin-utils@7.0.0-beta.56 ├─ @babel/plugin-transform-literals@7.0.0-beta.56 │ └─ @babel/helper-plugin-utils@7.0.0-beta.56 ├─ @babel/plugin-transform-modules-commonjs@7.0.0-beta.56 │ ├─ @babel/helper-module-transforms@7.0.0-beta.56 │ ├─ @babel/helper-plugin-utils@7.0.0-beta.56 │ └─ @babel/helper-simple-access@7.0.0-beta.56 ├─ @babel/plugin-transform-object-assign@7.0.0-beta.56 │ └─ @babel/helper-plugin-utils@7.0.0-beta.56 ├─ @babel/plugin-transform-parameters@7.0.0-beta.56 │ ├─ @babel/helper-call-delegate@7.0.0-beta.56 │ ├─ @babel/helper-get-function-arity@7.0.0-beta.56 │ └─ @babel/helper-plugin-utils@7.0.0-beta.56 ├─ @babel/plugin-transform-react-display-name@7.0.0-beta.56 │ └─ @babel/helper-plugin-utils@7.0.0-beta.56 ├─ @babel/plugin-transform-react-jsx-source@7.0.0-beta.56 │ ├─ @babel/helper-plugin-utils@7.0.0-beta.56 │ └─ @babel/plugin-syntax-jsx@7.0.0-beta.56 ├─ @babel/plugin-transform-react-jsx@7.0.0-beta.56 │ ├─ @babel/helper-builder-react-jsx@7.0.0-beta.56 │ ├─ @babel/helper-plugin-utils@7.0.0-beta.56 │ └─ @babel/plugin-syntax-jsx@7.0.0-beta.56 ├─ @babel/plugin-transform-regenerator@7.0.0-beta.56 │ └─ regenerator-transform@^0.13.3 ├─ @babel/plugin-transform-shorthand-properties@7.0.0-beta.56 │ └─ @babel/helper-plugin-utils@7.0.0-beta.56 ├─ @babel/plugin-transform-spread@7.0.0-beta.56 │ └─ @babel/helper-plugin-utils@7.0.0-beta.56 ├─ @babel/plugin-transform-sticky-regex@7.0.0-beta.56 │ ├─ @babel/helper-plugin-utils@7.0.0-beta.56 │ └─ @babel/helper-regex@7.0.0-beta.56 ├─ @babel/plugin-transform-template-literals@7.0.0-beta.56 │ ├─ @babel/helper-annotate-as-pure@7.0.0-beta.56 │ └─ @babel/helper-plugin-utils@7.0.0-beta.56 ├─ @babel/plugin-transform-typescript@7.0.0-beta.56 │ ├─ @babel/helper-plugin-utils@7.0.0-beta.56 │ └─ @babel/plugin-syntax-typescript@7.0.0-beta.56 ├─ @babel/plugin-transform-unicode-regex@7.0.0-beta.56 │ ├─ @babel/helper-plugin-utils@7.0.0-beta.56 │ ├─ @babel/helper-regex@7.0.0-beta.56 │ └─ regexpu-core@^4.1.3 ├─ @babel/register@7.0.0-beta.56 │ ├─ core-js@^2.5.7 │ ├─ find-cache-dir@^1.0.0 │ ├─ home-or-tmp@^3.0.0 │ ├─ home-or-tmp@3.0.0 │ ├─ lodash@^4.17.10 │ ├─ mkdirp@^0.5.1 │ ├─ pirates@^4.0.0 │ └─ source-map-support@^0.4.2 ├─ @babel/template@7.0.0-beta.56 │ ├─ @babel/code-frame@7.0.0-beta.56 │ ├─ @babel/parser@7.0.0-beta.56 │ ├─ @babel/types@7.0.0-beta.56 │ └─ lodash@^4.17.10 ├─ @babel/traverse@7.0.0-beta.56 │ ├─ @babel/code-frame@7.0.0-beta.56 │ ├─ @babel/generator@7.0.0-beta.56 │ ├─ @babel/helper-function-name@7.0.0-beta.56 │ ├─ @babel/helper-split-export-declaration@7.0.0-beta.56 │ ├─ @babel/parser@7.0.0-beta.56 │ ├─ @babel/types@7.0.0-beta.56 │ ├─ debug@^3.1.0 │ ├─ debug@3.1.0 │ │ └─ ms@2.0.0 │ ├─ globals@^11.1.0 │ └─ lodash@^4.17.10 ├─ @babel/types@7.0.0-beta.56 │ ├─ esutils@^2.0.2 │ ├─ lodash@^4.17.10 │ └─ to-fast-properties@^2.0.0 ├─ abab@2.0.0 ├─ abbrev@1.1.1 ├─ absolute-path@0.0.0 ├─ accepts@1.3.5 │ ├─ mime-types@~2.1.18 │ └─ negotiator@0.6.1 ├─ acorn-globals@4.1.0 │ └─ acorn@^5.0.0 ├─ acorn@5.7.2 ├─ ajv@5.5.2 │ ├─ 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-colors@1.1.0 │ └─ ansi-wrap@^0.1.0 ├─ ansi-cyan@0.1.1 │ └─ ansi-wrap@0.1.0 ├─ ansi-escapes@3.1.0 ├─ ansi-gray@0.1.1 │ └─ ansi-wrap@0.1.0 ├─ ansi-red@0.1.1 │ └─ ansi-wrap@0.1.0 ├─ ansi-regex@2.1.1 ├─ ansi-styles@3.2.1 │ └─ color-convert@^1.9.0 ├─ ansi-wrap@0.1.0 ├─ ansi@0.3.1 ├─ anymatch@2.0.0 │ ├─ braces@2.3.2 │ │ ├─ arr-flatten@^1.1.0 │ │ ├─ array-unique@^0.3.2 │ │ ├─ extend-shallow@^2.0.1 │ │ ├─ extend-shallow@2.0.1 │ │ │ └─ is-extendable@^0.1.0 │ │ ├─ fill-range@^4.0.0 │ │ ├─ is-extendable@0.1.1 │ │ ├─ 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 │ ├─ define-property@2.0.2 │ │ ├─ is-descriptor@^1.0.2 │ │ └─ isobject@^3.0.1 │ ├─ expand-brackets@2.1.4 │ │ ├─ debug@^2.3.3 │ │ ├─ define-property@^0.2.5 │ │ ├─ define-property@0.2.5 │ │ │ └─ is-descriptor@^0.1.0 │ │ ├─ extend-shallow@^2.0.1 │ │ ├─ extend-shallow@2.0.1 │ │ │ └─ is-extendable@^0.1.0 │ │ ├─ is-descriptor@0.1.6 │ │ │ ├─ is-accessor-descriptor@^0.1.6 │ │ │ ├─ is-data-descriptor@^0.1.4 │ │ │ └─ kind-of@^5.0.0 │ │ ├─ is-extendable@0.1.1 │ │ ├─ kind-of@5.1.0 │ │ ├─ posix-character-classes@^0.1.0 │ │ ├─ regex-not@^1.0.0 │ │ ├─ snapdragon@^0.8.1 │ │ └─ to-regex@^3.0.1 │ ├─ extend-shallow@3.0.2 │ │ ├─ assign-symbols@^1.0.0 │ │ └─ is-extendable@^1.0.1 │ ├─ extglob@2.0.4 │ │ ├─ array-unique@^0.3.2 │ │ ├─ define-property@^1.0.0 │ │ ├─ define-property@1.0.0 │ │ │ └─ is-descriptor@^1.0.0 │ │ ├─ expand-brackets@^2.1.4 │ │ ├─ extend-shallow@^2.0.1 │ │ ├─ extend-shallow@2.0.1 │ │ │ └─ is-extendable@^0.1.0 │ │ ├─ fragment-cache@^0.2.1 │ │ ├─ is-extendable@0.1.1 │ │ ├─ regex-not@^1.0.0 │ │ ├─ snapdragon@^0.8.1 │ │ └─ to-regex@^3.0.1 │ ├─ fill-range@4.0.0 │ │ ├─ extend-shallow@^2.0.1 │ │ ├─ extend-shallow@2.0.1 │ │ │ └─ is-extendable@^0.1.0 │ │ ├─ is-extendable@0.1.1 │ │ ├─ is-number@^3.0.0 │ │ ├─ repeat-string@^1.6.1 │ │ └─ to-regex-range@^2.1.0 │ ├─ is-accessor-descriptor@0.1.6 │ │ ├─ kind-of@^3.0.2 │ │ └─ kind-of@3.2.2 │ │ └─ is-buffer@^1.1.5 │ ├─ is-data-descriptor@0.1.4 │ │ ├─ kind-of@^3.0.2 │ │ └─ kind-of@3.2.2 │ │ └─ is-buffer@^1.1.5 │ ├─ is-extendable@1.0.1 │ │ └─ is-plain-object@^2.0.4 │ ├─ kind-of@6.0.2 │ ├─ micromatch@^3.1.4 │ ├─ micromatch@3.1.10 │ │ ├─ 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 ├─ append-transform@1.0.0 │ └─ default-require-extensions@^2.0.0 ├─ aproba@1.2.0 ├─ are-we-there-yet@1.1.5 │ ├─ delegates@^1.0.0 │ └─ readable-stream@^2.0.6 ├─ argparse@1.0.10 │ └─ sprintf-js@~1.0.2 ├─ arr-diff@4.0.0 ├─ arr-flatten@1.1.0 ├─ arr-union@3.1.0 ├─ array-equal@1.0.0 ├─ array-filter@0.0.1 ├─ array-map@0.0.0 ├─ array-reduce@0.0.0 ├─ array-slice@0.2.3 ├─ array-unique@0.3.2 ├─ arrify@1.0.1 ├─ art@0.10.3 ├─ asap@2.0.6 ├─ asn1@0.2.4 │ └─ safer-buffer@~2.1.0 ├─ assert-plus@1.0.0 ├─ assign-symbols@1.0.0 ├─ astral-regex@1.0.0 ├─ async-limiter@1.0.0 ├─ async@2.6.1 │ └─ lodash@^4.17.10 ├─ asynckit@0.4.0 ├─ atob@2.1.2 ├─ aws-sign2@0.7.0 ├─ aws4@1.8.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.3 │ ├─ 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 ├─ babel-generator@6.26.1 │ ├─ babel-messages@^6.23.0 │ ├─ babel-runtime@^6.26.0 │ ├─ babel-types@^6.26.0 │ ├─ detect-indent@^4.0.0 │ ├─ jsesc@^1.3.0 │ ├─ jsesc@1.3.0 │ ├─ lodash@^4.17.4 │ ├─ source-map@^0.5.7 │ └─ trim-right@^1.0.1 ├─ babel-helper-builder-react-jsx@6.26.0 │ ├─ babel-runtime@^6.26.0 │ ├─ babel-types@^6.26.0 │ └─ esutils@^2.0.2 ├─ babel-helper-call-delegate@6.24.1 │ ├─ babel-helper-hoist-variables@^6.24.1 │ ├─ babel-runtime@^6.22.0 │ ├─ babel-traverse@^6.24.1 │ └─ babel-types@^6.24.1 ├─ babel-helper-define-map@6.26.0 │ ├─ babel-helper-function-name@^6.24.1 │ ├─ babel-runtime@^6.26.0 │ ├─ babel-types@^6.26.0 │ └─ lodash@^4.17.4 ├─ babel-helper-function-name@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 ├─ babel-helper-get-function-arity@6.24.1 │ ├─ babel-runtime@^6.22.0 │ └─ babel-types@^6.24.1 ├─ babel-helper-hoist-variables@6.24.1 │ ├─ babel-runtime@^6.22.0 │ └─ babel-types@^6.24.1 ├─ babel-helper-optimise-call-expression@6.24.1 │ ├─ babel-runtime@^6.22.0 │ └─ babel-types@^6.24.1 ├─ babel-helper-regex@6.26.0 │ ├─ babel-runtime@^6.26.0 │ ├─ babel-types@^6.26.0 │ └─ lodash@^4.17.4 ├─ babel-helper-replace-supers@6.24.1 │ ├─ 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 ├─ babel-helpers@6.24.1 │ ├─ babel-runtime@^6.22.0 │ └─ babel-template@^6.24.1 ├─ babel-jest@23.4.2 │ ├─ babel-plugin-istanbul@^4.1.6 │ └─ babel-preset-jest@^23.2.0 ├─ babel-messages@6.23.0 │ └─ babel-runtime@^6.22.0 ├─ babel-plugin-check-es2015-constants@6.22.0 │ └─ babel-runtime@^6.22.0 ├─ babel-plugin-istanbul@4.1.6 │ ├─ 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 ├─ babel-plugin-jest-hoist@23.2.0 ├─ babel-plugin-syntax-class-properties@6.13.0 ├─ babel-plugin-syntax-flow@6.18.0 ├─ babel-plugin-syntax-jsx@6.18.0 ├─ babel-plugin-syntax-object-rest-spread@6.13.0 ├─ babel-plugin-syntax-trailing-function-commas@6.22.0 ├─ babel-plugin-transform-class-properties@6.24.1 │ ├─ 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 ├─ babel-plugin-transform-es2015-arrow-functions@6.22.0 │ └─ babel-runtime@^6.22.0 ├─ babel-plugin-transform-es2015-block-scoped-functions@6.22.0 │ └─ babel-runtime@^6.22.0 ├─ babel-plugin-transform-es2015-block-scoping@6.26.0 │ ├─ babel-runtime@^6.26.0 │ ├─ babel-template@^6.26.0 │ ├─ babel-traverse@^6.26.0 │ ├─ babel-types@^6.26.0 │ └─ lodash@^4.17.4 ├─ babel-plugin-transform-es2015-classes@6.24.1 │ ├─ 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 ├─ babel-plugin-transform-es2015-computed-properties@6.24.1 │ ├─ babel-runtime@^6.22.0 │ └─ babel-template@^6.24.1 ├─ babel-plugin-transform-es2015-destructuring@6.23.0 │ └─ babel-runtime@^6.22.0 ├─ babel-plugin-transform-es2015-for-of@6.23.0 │ └─ babel-runtime@^6.22.0 ├─ babel-plugin-transform-es2015-function-name@6.24.1 │ ├─ babel-helper-function-name@^6.24.1 │ ├─ babel-runtime@^6.22.0 │ └─ babel-types@^6.24.1 ├─ babel-plugin-transform-es2015-literals@6.22.0 │ └─ babel-runtime@^6.22.0 ├─ babel-plugin-transform-es2015-modules-commonjs@6.26.2 │ ├─ 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-es2015-object-super@6.24.1 │ ├─ babel-helper-replace-supers@^6.24.1 │ └─ babel-runtime@^6.22.0 ├─ babel-plugin-transform-es2015-parameters@6.24.1 │ ├─ 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 ├─ babel-plugin-transform-es2015-shorthand-properties@6.24.1 │ ├─ babel-runtime@^6.22.0 │ └─ babel-types@^6.24.1 ├─ babel-plugin-transform-es2015-spread@6.22.0 │ └─ babel-runtime@^6.22.0 ├─ babel-plugin-transform-es2015-sticky-regex@6.24.1 │ ├─ babel-helper-regex@^6.24.1 │ ├─ babel-runtime@^6.22.0 │ └─ babel-types@^6.24.1 ├─ babel-plugin-transform-es2015-template-literals@6.22.0 │ └─ babel-runtime@^6.22.0 ├─ babel-plugin-transform-es2015-unicode-regex@6.24.1 │ ├─ babel-helper-regex@^6.24.1 │ ├─ babel-runtime@^6.22.0 │ ├─ regexpu-core@^2.0.0 │ ├─ regexpu-core@2.0.0 │ │ ├─ regenerate@^1.2.1 │ │ ├─ regjsgen@^0.2.0 │ │ └─ regjsparser@^0.1.4 │ ├─ regjsgen@0.2.0 │ └─ regjsparser@0.1.5 │ └─ jsesc@~0.5.0 ├─ babel-plugin-transform-es3-member-expression-literals@6.22.0 │ └─ babel-runtime@^6.22.0 ├─ babel-plugin-transform-es3-property-literals@6.22.0 │ └─ babel-runtime@^6.22.0 ├─ babel-plugin-transform-flow-strip-types@6.22.0 │ ├─ babel-plugin-syntax-flow@^6.18.0 │ └─ babel-runtime@^6.22.0 ├─ babel-plugin-transform-object-rest-spread@6.26.0 │ ├─ babel-plugin-syntax-object-rest-spread@^6.8.0 │ └─ babel-runtime@^6.26.0 ├─ babel-plugin-transform-react-display-name@6.25.0 │ └─ babel-runtime@^6.22.0 ├─ babel-plugin-transform-react-jsx@6.24.1 │ ├─ babel-helper-builder-react-jsx@^6.24.1 │ ├─ babel-plugin-syntax-jsx@^6.8.0 │ └─ babel-runtime@^6.22.0 ├─ babel-plugin-transform-strict-mode@6.24.1 │ ├─ babel-runtime@^6.22.0 │ └─ babel-types@^6.24.1 ├─ babel-preset-es2015-node@6.1.1 │ ├─ babel-plugin-transform-es2015-destructuring@6.x │ ├─ babel-plugin-transform-es2015-function-name@6.x │ ├─ babel-plugin-transform-es2015-modules-commonjs@6.x │ ├─ babel-plugin-transform-es2015-parameters@6.x │ ├─ babel-plugin-transform-es2015-shorthand-properties@6.x │ ├─ babel-plugin-transform-es2015-spread@6.x │ ├─ babel-plugin-transform-es2015-sticky-regex@6.x │ ├─ babel-plugin-transform-es2015-unicode-regex@6.x │ └─ semver@5.x ├─ babel-preset-fbjs@2.2.0 │ ├─ 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 ├─ babel-preset-jest@23.2.0 │ ├─ babel-plugin-jest-hoist@^23.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 ├─ 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 │ ├─ 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 │ └─ to-fast-properties@1.0.3 ├─ babylon@6.18.0 ├─ balanced-match@1.0.0 ├─ base@0.11.2 │ ├─ cache-base@^1.0.1 │ ├─ class-utils@^0.3.5 │ ├─ component-emitter@^1.2.1 │ ├─ define-property@^1.0.0 │ ├─ define-property@1.0.0 │ │ └─ is-descriptor@^1.0.0 │ ├─ isobject@^3.0.1 │ ├─ mixin-deep@^1.2.0 │ └─ pascalcase@^0.1.1 ├─ base64-js@1.3.0 ├─ basic-auth@2.0.0 │ ├─ safe-buffer@5.1.1 │ └─ safe-buffer@5.1.1 ├─ bcrypt-pbkdf@1.0.2 │ └─ tweetnacl@^0.14.3 ├─ big-integer@1.6.34 ├─ bplist-creator@0.0.7 │ └─ stream-buffers@~2.2.0 ├─ bplist-parser@0.1.1 │ └─ big-integer@^1.6.7 ├─ brace-expansion@1.1.11 │ ├─ 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-process-hrtime@0.1.2 ├─ browser-resolve@1.11.3 │ ├─ resolve@1.1.7 │ └─ resolve@1.1.7 ├─ bser@2.0.0 │ └─ node-int64@^0.4.0 ├─ buffer-from@1.1.1 ├─ builtin-modules@1.1.1 ├─ bytes@3.0.0 ├─ cache-base@1.0.1 │ ├─ 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 ├─ callsites@2.0.0 ├─ camelcase@4.1.0 ├─ capture-exit@1.2.0 │ └─ rsvp@^3.3.3 ├─ caseless@0.12.0 ├─ center-align@0.1.3 │ ├─ align-text@^0.1.3 │ └─ lazy-cache@^1.0.3 ├─ chalk@2.4.1 │ ├─ ansi-styles@^3.2.1 │ ├─ escape-string-regexp@^1.0.5 │ └─ supports-color@^5.3.0 ├─ chardet@0.4.2 ├─ chownr@1.0.1 ├─ ci-info@1.4.0 ├─ class-utils@0.3.6 │ ├─ arr-union@^3.1.0 │ ├─ define-property@^0.2.5 │ ├─ isobject@^3.0.0 │ └─ static-extend@^0.1.1 ├─ cli-cursor@2.1.0 │ └─ restore-cursor@^2.0.0 ├─ cli-width@2.2.0 ├─ cliui@4.1.0 │ ├─ ansi-regex@3.0.0 │ ├─ string-width@^2.1.1 │ ├─ strip-ansi@^4.0.0 │ ├─ strip-ansi@4.0.0 │ │ └─ ansi-regex@^3.0.0 │ └─ wrap-ansi@^2.0.0 ├─ co@4.6.0 ├─ code-point-at@1.1.0 ├─ collection-visit@1.0.0 │ ├─ map-visit@^1.0.0 │ └─ object-visit@^1.0.0 ├─ color-convert@1.9.2 │ └─ color-name@1.1.1 ├─ color-name@1.1.1 ├─ color-support@1.1.3 ├─ combined-stream@1.0.6 │ └─ delayed-stream@~1.0.0 ├─ commander@2.17.1 ├─ commondir@1.0.1 ├─ compare-versions@3.3.1 ├─ component-emitter@1.2.1 ├─ compressible@2.0.14 │ └─ mime-db@>= 1.34.0 < 2 ├─ compression@1.7.3 │ ├─ accepts@~1.3.5 │ ├─ bytes@3.0.0 │ ├─ compressible@~2.0.14 │ ├─ debug@2.6.9 │ ├─ on-headers@~1.0.1 │ ├─ safe-buffer@5.1.2 │ └─ vary@~1.1.2 ├─ concat-map@0.0.1 ├─ concat-stream@1.6.2 │ ├─ buffer-from@^1.0.0 │ ├─ inherits@^2.0.3 │ ├─ readable-stream@^2.2.2 │ └─ typedarray@^0.0.6 ├─ connect@3.6.6 │ ├─ debug@2.6.9 │ ├─ finalhandler@1.1.0 │ ├─ parseurl@~1.3.2 │ └─ utils-merge@1.0.1 ├─ console-control-strings@1.1.0 ├─ convert-source-map@1.5.1 ├─ copy-descriptor@0.1.1 ├─ core-js@2.5.7 ├─ core-util-is@1.0.2 ├─ cosmiconfig@5.0.6 │ ├─ is-directory@^0.3.1 │ ├─ js-yaml@^3.9.0 │ ├─ parse-json@^4.0.0 │ └─ parse-json@4.0.0 │ ├─ error-ex@^1.3.1 │ └─ json-parse-better-errors@^1.0.1 ├─ create-react-class@15.6.3 │ ├─ fbjs@^0.8.9 │ ├─ loose-envify@^1.3.1 │ └─ object-assign@^4.1.1 ├─ cross-spawn@5.1.0 │ ├─ lru-cache@^4.0.1 │ ├─ shebang-command@^1.2.0 │ └─ which@^1.2.9 ├─ cssom@0.3.4 ├─ cssstyle@1.1.1 │ └─ cssom@0.3.x ├─ dashdash@1.14.1 │ └─ assert-plus@^1.0.0 ├─ data-urls@1.0.1 │ ├─ abab@^2.0.0 │ ├─ whatwg-mimetype@^2.1.0 │ ├─ whatwg-url@^7.0.0 │ └─ whatwg-url@7.0.0 │ ├─ lodash.sortby@^4.7.0 │ ├─ tr46@^1.0.1 │ └─ webidl-conversions@^4.0.2 ├─ debug@2.6.9 │ └─ ms@2.0.0 ├─ decamelize@1.2.0 ├─ decode-uri-component@0.2.0 ├─ deep-extend@0.6.0 ├─ deep-is@0.1.3 ├─ default-require-extensions@2.0.0 │ └─ strip-bom@^3.0.0 ├─ define-properties@1.1.3 │ └─ object-keys@^1.0.12 ├─ define-property@0.2.5 │ ├─ is-accessor-descriptor@0.1.6 │ │ ├─ kind-of@^3.0.2 │ │ └─ kind-of@3.2.2 │ │ └─ is-buffer@^1.1.5 │ ├─ is-data-descriptor@0.1.4 │ │ ├─ kind-of@^3.0.2 │ │ └─ kind-of@3.2.2 │ │ └─ is-buffer@^1.1.5 │ ├─ is-descriptor@^0.1.0 │ ├─ is-descriptor@0.1.6 │ │ ├─ is-accessor-descriptor@^0.1.6 │ │ ├─ is-data-descriptor@^0.1.4 │ │ └─ kind-of@^5.0.0 │ └─ kind-of@5.1.0 ├─ delayed-stream@1.0.0 ├─ delegates@1.0.0 ├─ denodeify@1.2.1 ├─ depd@1.1.2 ├─ destroy@1.0.4 ├─ detect-indent@4.0.0 │ └─ repeating@^2.0.0 ├─ detect-libc@1.0.3 ├─ detect-newline@2.1.0 ├─ diff@3.5.0 ├─ dom-walk@0.1.1 ├─ domexception@1.0.1 │ └─ webidl-conversions@^4.0.2 ├─ ecc-jsbn@0.1.2 │ ├─ jsbn@~0.1.0 │ └─ safer-buffer@^2.1.0 ├─ ee-first@1.1.1 ├─ encodeurl@1.0.2 ├─ encoding@0.1.12 │ └─ iconv-lite@~0.4.13 ├─ envinfo@5.10.0 ├─ error-ex@1.3.2 │ └─ is-arrayish@^0.2.1 ├─ errorhandler@1.5.0 │ ├─ accepts@~1.3.3 │ └─ escape-html@~1.0.3 ├─ es-abstract@1.12.0 │ ├─ 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 ├─ es-to-primitive@1.1.1 │ ├─ is-callable@^1.1.1 │ ├─ is-date-object@^1.0.1 │ └─ is-symbol@^1.0.1 ├─ escape-html@1.0.3 ├─ escape-string-regexp@1.0.5 ├─ escodegen@1.11.0 │ ├─ esprima@^3.1.3 │ ├─ esprima@3.1.3 │ ├─ estraverse@^4.2.0 │ ├─ esutils@^2.0.2 │ ├─ optionator@^0.8.1 │ ├─ source-map@~0.6.1 │ └─ source-map@0.6.1 ├─ esprima@4.0.1 ├─ estraverse@4.2.0 ├─ esutils@2.0.2 ├─ etag@1.8.1 ├─ event-target-shim@1.1.1 ├─ eventemitter3@3.1.0 ├─ exec-sh@0.2.2 │ └─ merge@^1.2.0 ├─ 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 ├─ exit@0.1.2 ├─ expand-brackets@0.1.5 │ └─ is-posix-bracket@^0.1.0 ├─ expand-range@1.8.2 │ └─ fill-range@^2.1.0 ├─ expect@23.5.0 │ ├─ 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 ├─ extend-shallow@2.0.1 │ └─ is-extendable@^0.1.0 ├─ extend@3.0.2 ├─ external-editor@2.2.0 │ ├─ chardet@^0.4.0 │ ├─ iconv-lite@^0.4.17 │ └─ tmp@^0.0.33 ├─ extglob@0.3.2 │ └─ is-extglob@^1.0.0 ├─ extsprintf@1.3.0 ├─ fancy-log@1.3.2 │ ├─ ansi-gray@^0.1.1 │ ├─ color-support@^1.1.3 │ └─ time-stamp@^1.0.0 ├─ fast-deep-equal@1.1.0 ├─ fast-json-stable-stringify@2.0.0 ├─ fast-levenshtein@2.0.6 ├─ fb-watchman@2.0.0 │ └─ bser@^2.0.0 ├─ fbjs-scripts@0.8.3 │ ├─ ansi-colors@^1.0.1 │ ├─ babel-core@^6.7.2 │ ├─ babel-preset-fbjs@^2.1.2 │ ├─ babel-preset-fbjs@2.3.0 │ │ ├─ 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 ├─ fbjs@0.8.17 │ ├─ core-js@^1.0.0 │ ├─ core-js@1.2.7 │ ├─ 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 ├─ figures@2.0.0 │ └─ escape-string-regexp@^1.0.5 ├─ filename-regex@2.0.1 ├─ fileset@2.0.3 │ ├─ glob@^7.0.3 │ └─ minimatch@^3.0.3 ├─ fill-range@2.2.4 │ ├─ is-number@^2.1.0 │ ├─ is-number@2.1.0 │ │ └─ kind-of@^3.0.2 │ ├─ isobject@^2.0.0 │ ├─ isobject@2.1.0 │ │ └─ isarray@1.0.0 │ ├─ randomatic@^3.0.0 │ ├─ repeat-element@^1.1.2 │ └─ repeat-string@^1.5.2 ├─ finalhandler@1.1.0 │ ├─ debug@2.6.9 │ ├─ 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 ├─ find-cache-dir@1.0.0 │ ├─ commondir@^1.0.1 │ ├─ make-dir@^1.0.0 │ └─ pkg-dir@^2.0.0 ├─ 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.2 │ ├─ asynckit@^0.4.0 │ ├─ combined-stream@1.0.6 │ └─ mime-types@^2.1.12 ├─ fragment-cache@0.2.1 │ └─ map-cache@^0.2.2 ├─ fresh@0.5.2 ├─ fs-extra@1.0.0 │ ├─ graceful-fs@^4.1.2 │ ├─ jsonfile@^2.1.0 │ └─ klaw@^1.0.0 ├─ fs-minipass@1.2.5 │ └─ minipass@^2.2.1 ├─ fs.realpath@1.0.0 ├─ fsevents@1.2.4 │ ├─ nan@^2.9.2 │ └─ node-pre-gyp@^0.10.0 ├─ function-bind@1.1.1 ├─ gauge@1.2.7 │ ├─ ansi@^0.3.0 │ ├─ has-unicode@^2.0.0 │ ├─ lodash.pad@^4.1.0 │ ├─ lodash.padend@^4.1.0 │ └─ lodash.padstart@^4.1.0 ├─ get-caller-file@1.0.3 ├─ get-stream@3.0.0 ├─ get-value@2.0.6 ├─ 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.3 │ ├─ 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 ├─ global@4.3.2 │ ├─ min-document@^2.19.0 │ └─ process@~0.5.1 ├─ globals@11.7.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.1.0 │ ├─ ajv@^5.3.0 │ └─ har-schema@^2.0.0 ├─ has-ansi@2.0.0 │ └─ ansi-regex@^2.0.0 ├─ has-flag@3.0.0 ├─ has-unicode@2.0.1 ├─ has-value@1.0.0 │ ├─ get-value@^2.0.6 │ ├─ has-values@^1.0.0 │ └─ isobject@^3.0.0 ├─ has-values@1.0.0 │ ├─ is-number@^3.0.0 │ ├─ kind-of@^4.0.0 │ └─ kind-of@4.0.0 │ └─ is-buffer@^1.1.5 ├─ has@1.0.3 │ └─ function-bind@^1.1.1 ├─ home-or-tmp@2.0.0 │ ├─ os-homedir@^1.0.0 │ └─ os-tmpdir@^1.0.1 ├─ hosted-git-info@2.7.1 ├─ html-encoding-sniffer@1.0.2 │ └─ whatwg-encoding@^1.0.1 ├─ http-errors@1.6.3 │ ├─ depd@~1.1.2 │ ├─ inherits@2.0.3 │ ├─ setprototypeof@1.1.0 │ ├─ statuses@>= 1.4.0 < 2 │ └─ statuses@1.5.0 ├─ http-signature@1.2.0 │ ├─ assert-plus@^1.0.0 │ ├─ jsprim@^1.2.2 │ └─ sshpk@^1.7.0 ├─ iconv-lite@0.4.24 │ └─ safer-buffer@>= 2.1.2 < 3 ├─ ignore-walk@3.0.1 │ └─ minimatch@^3.0.4 ├─ image-size@0.6.3 ├─ import-local@1.0.0 │ ├─ pkg-dir@^2.0.0 │ └─ resolve-cwd@^2.0.0 ├─ imurmurhash@0.1.4 ├─ inflight@1.0.6 │ ├─ once@^1.3.0 │ └─ wrappy@1 ├─ inherits@2.0.3 ├─ ini@1.3.5 ├─ inquirer@3.3.0 │ ├─ ansi-escapes@^3.0.0 │ ├─ ansi-regex@3.0.0 │ ├─ 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 │ ├─ mute-stream@0.0.7 │ ├─ 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 │ ├─ strip-ansi@4.0.0 │ │ └─ ansi-regex@^3.0.0 │ └─ through@^2.3.6 ├─ invariant@2.2.4 │ └─ loose-envify@^1.0.0 ├─ invert-kv@1.0.0 ├─ is-accessor-descriptor@1.0.0 │ ├─ kind-of@^6.0.0 │ └─ kind-of@6.0.2 ├─ is-arrayish@0.2.1 ├─ is-buffer@1.1.6 ├─ is-builtin-module@1.0.0 │ └─ builtin-modules@^1.0.0 ├─ is-callable@1.1.4 ├─ is-ci@1.2.0 │ └─ ci-info@^1.3.0 ├─ is-data-descriptor@1.0.0 │ ├─ kind-of@^6.0.0 │ └─ kind-of@6.0.2 ├─ is-date-object@1.0.1 ├─ is-descriptor@1.0.2 │ ├─ is-accessor-descriptor@^1.0.0 │ ├─ is-data-descriptor@^1.0.0 │ ├─ kind-of@^6.0.2 │ └─ kind-of@6.0.2 ├─ is-directory@0.3.1 ├─ 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@2.0.0 ├─ is-generator-fn@1.0.0 ├─ is-glob@2.0.1 │ └─ is-extglob@^1.0.0 ├─ is-number@3.0.0 │ └─ kind-of@^3.0.2 ├─ is-plain-object@2.0.4 │ └─ isobject@^3.0.1 ├─ is-posix-bracket@0.1.1 ├─ is-primitive@2.0.0 ├─ is-promise@2.1.0 ├─ is-regex@1.0.4 │ └─ has@^1.0.1 ├─ is-stream@1.1.0 ├─ is-symbol@1.0.1 ├─ is-typedarray@1.0.0 ├─ is-utf8@0.2.1 ├─ is-windows@1.0.2 ├─ isarray@1.0.0 ├─ isexe@2.0.0 ├─ isobject@3.0.1 ├─ isomorphic-fetch@2.2.1 │ ├─ node-fetch@^1.0.1 │ ├─ node-fetch@1.7.3 │ │ ├─ encoding@^0.1.11 │ │ └─ is-stream@^1.0.1 │ └─ whatwg-fetch@>=0.10.0 ├─ isstream@0.1.2 ├─ istanbul-api@1.3.1 │ ├─ 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 ├─ istanbul-lib-coverage@1.2.0 ├─ istanbul-lib-hook@1.2.1 │ └─ append-transform@^1.0.0 ├─ istanbul-lib-instrument@1.10.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.2.0 │ └─ semver@^5.3.0 ├─ istanbul-lib-report@1.1.4 │ ├─ has-flag@1.0.0 │ ├─ istanbul-lib-coverage@^1.2.0 │ ├─ 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.5 │ ├─ debug@^3.1.0 │ ├─ debug@3.1.0 │ │ └─ ms@2.0.0 │ ├─ istanbul-lib-coverage@^1.2.0 │ ├─ mkdirp@^0.5.1 │ ├─ rimraf@^2.6.1 │ └─ source-map@^0.5.3 ├─ istanbul-reports@1.3.0 │ └─ handlebars@^4.0.3 ├─ jest-changed-files@23.4.2 │ └─ throat@^4.0.0 ├─ jest-cli@23.5.0 │ ├─ ansi-escapes@^3.0.0 │ ├─ ansi-regex@3.0.0 │ ├─ 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 │ ├─ strip-ansi@4.0.0 │ │ └─ ansi-regex@^3.0.0 │ ├─ which@^1.2.12 │ └─ yargs@^11.0.0 ├─ jest-config@23.5.0 │ ├─ 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 ├─ jest-diff@23.5.0 │ ├─ chalk@^2.0.1 │ ├─ diff@^3.2.0 │ ├─ jest-get-type@^22.1.0 │ └─ pretty-format@^23.5.0 ├─ jest-docblock@23.2.0 │ └─ detect-newline@^2.1.0 ├─ jest-each@23.5.0 │ ├─ chalk@^2.0.1 │ └─ pretty-format@^23.5.0 ├─ jest-environment-jsdom@23.4.0 │ ├─ jest-mock@^23.2.0 │ ├─ jest-util@^23.4.0 │ └─ jsdom@^11.5.1 ├─ jest-environment-node@23.4.0 │ ├─ jest-mock@^23.2.0 │ └─ jest-util@^23.4.0 ├─ jest-get-type@22.4.3 ├─ jest-haste-map@23.5.0 │ ├─ 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 ├─ jest-jasmine2@23.5.0 │ ├─ 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 ├─ jest-leak-detector@23.5.0 │ └─ pretty-format@^23.5.0 ├─ jest-matcher-utils@23.5.0 │ ├─ chalk@^2.0.1 │ ├─ jest-get-type@^22.1.0 │ └─ pretty-format@^23.5.0 ├─ jest-message-util@23.4.0 │ ├─ @babel/code-frame@^7.0.0-beta.35 │ ├─ @babel/code-frame@7.0.0-rc.3 │ │ └─ @babel/highlight@7.0.0-rc.3 │ ├─ @babel/highlight@7.0.0-rc.3 │ │ ├─ chalk@^2.0.0 │ │ ├─ esutils@^2.0.2 │ │ └─ js-tokens@^4.0.0 │ ├─ chalk@^2.0.1 │ ├─ js-tokens@4.0.0 │ ├─ micromatch@^2.3.11 │ ├─ slash@^1.0.0 │ └─ stack-utils@^1.0.1 ├─ jest-mock@23.2.0 ├─ jest-regex-util@23.3.0 ├─ jest-resolve-dependencies@23.5.0 │ ├─ jest-regex-util@^23.3.0 │ └─ jest-snapshot@^23.5.0 ├─ jest-resolve@23.5.0 │ ├─ browser-resolve@^1.11.3 │ ├─ chalk@^2.0.1 │ └─ realpath-native@^1.0.0 ├─ jest-runner@23.5.0 │ ├─ 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 │ ├─ source-map-support@0.5.9 │ │ ├─ buffer-from@^1.0.0 │ │ └─ source-map@^0.6.0 │ ├─ source-map@0.6.1 │ └─ throat@^4.0.0 ├─ jest-runtime@23.5.0 │ ├─ 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 │ ├─ strip-bom@3.0.0 │ ├─ write-file-atomic@^2.1.0 │ ├─ write-file-atomic@2.3.0 │ │ ├─ graceful-fs@^4.1.11 │ │ ├─ imurmurhash@^0.1.4 │ │ └─ signal-exit@^3.0.2 │ └─ yargs@^11.0.0 ├─ jest-serializer@23.0.1 ├─ jest-snapshot@23.5.0 │ ├─ 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 ├─ jest-util@23.4.0 │ ├─ 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 │ └─ source-map@0.6.1 ├─ jest-validate@23.5.0 │ ├─ chalk@^2.0.1 │ ├─ jest-get-type@^22.1.0 │ ├─ leven@^2.1.0 │ └─ pretty-format@^23.5.0 ├─ jest-watcher@23.4.0 │ ├─ ansi-escapes@^3.0.0 │ ├─ chalk@^2.0.1 │ └─ string-length@^2.0.0 ├─ jest-worker@23.2.0 │ └─ merge-stream@^1.0.1 ├─ jest@23.5.0 │ ├─ import-local@^1.0.0 │ └─ jest-cli@^23.5.0 ├─ js-tokens@3.0.2 ├─ js-yaml@3.12.0 │ ├─ argparse@^1.0.7 │ └─ esprima@^4.0.0 ├─ jsbn@0.1.1 ├─ jsdom@11.12.0 │ ├─ 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 │ ├─ parse5@4.0.0 │ ├─ 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 │ ├─ ws@5.2.2 │ │ └─ async-limiter@~1.0.0 │ └─ xml-name-validator@^3.0.0 ├─ jsesc@0.5.0 ├─ json-parse-better-errors@1.0.2 ├─ 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@2.4.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 ├─ klaw@1.3.1 │ └─ graceful-fs@^4.1.9 ├─ kleur@2.0.1 ├─ lazy-cache@1.0.4 ├─ lcid@1.0.0 │ └─ invert-kv@^1.0.0 ├─ left-pad@1.3.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 ├─ locate-path@2.0.0 │ ├─ p-locate@^2.0.0 │ └─ path-exists@^3.0.0 ├─ lodash.pad@4.5.1 ├─ lodash.padend@4.6.1 ├─ lodash.padstart@4.6.1 ├─ lodash.sortby@4.7.0 ├─ lodash.throttle@4.1.1 ├─ lodash@4.17.10 ├─ longest@1.0.1 ├─ loose-envify@1.4.0 │ ├─ js-tokens@^3.0.0 || ^4.0.0 │ └─ js-tokens@4.0.0 ├─ lru-cache@4.1.3 │ ├─ pseudomap@^1.0.2 │ ├─ yallist@^2.1.2 │ └─ yallist@2.1.2 ├─ make-dir@1.3.0 │ ├─ pify@^3.0.0 │ └─ pify@3.0.0 ├─ makeerror@1.0.11 │ └─ tmpl@1.0.x ├─ map-cache@0.2.2 ├─ map-visit@1.0.0 │ └─ object-visit@^1.0.0 ├─ math-random@1.0.1 ├─ mem@1.1.0 │ └─ mimic-fn@^1.0.0 ├─ merge-stream@1.0.1 │ └─ readable-stream@^2.0.1 ├─ merge@1.2.0 ├─ metro-babel-register@0.43.6 │ ├─ @babel/core@7.0.0-beta.56 │ ├─ @babel/plugin-proposal-class-properties@7.0.0-beta.56 │ ├─ @babel/plugin-proposal-nullish-coalescing-operator@7.0.0-beta.56 │ ├─ @babel/plugin-proposal-object-rest-spread@7.0.0-beta.56 │ ├─ @babel/plugin-proposal-optional-catch-binding@7.0.0-beta.56 │ ├─ @babel/plugin-proposal-optional-chaining@7.0.0-beta.56 │ ├─ @babel/plugin-transform-async-to-generator@7.0.0-beta.56 │ ├─ @babel/plugin-transform-flow-strip-types@7.0.0-beta.56 │ ├─ @babel/plugin-transform-modules-commonjs@7.0.0-beta.56 │ ├─ @babel/register@7.0.0-beta.56 │ ├─ core-js@^2.2.2 │ └─ escape-string-regexp@^1.0.5 ├─ metro-babel7-plugin-react-transform@0.43.6 │ └─ @babel/helper-module-imports@7.0.0-beta.56 ├─ metro-cache@0.43.6 │ ├─ jest-serializer@23.0.1 │ ├─ metro-core@0.43.6 │ ├─ mkdirp@^0.5.1 │ └─ rimraf@^2.5.4 ├─ metro-config@0.43.6 │ ├─ cosmiconfig@^5.0.5 │ ├─ metro-cache@0.43.6 │ ├─ metro-core@0.43.6 │ └─ metro@0.43.6 ├─ metro-core@0.43.6 │ ├─ jest-haste-map@23.5.0 │ ├─ lodash.throttle@^4.1.1 │ ├─ metro-resolver@0.43.6 │ └─ wordwrap@^1.0.0 ├─ metro-memory-fs@0.43.6 ├─ metro-minify-uglify@0.43.6 │ └─ uglify-es@^3.1.9 ├─ metro-react-native-babel-preset@0.43.6 │ ├─ @babel/plugin-proposal-class-properties@7.0.0-beta.56 │ ├─ @babel/plugin-proposal-nullish-coalescing-operator@7.0.0-beta.56 │ ├─ @babel/plugin-proposal-object-rest-spread@7.0.0-beta.56 │ ├─ @babel/plugin-proposal-optional-catch-binding@7.0.0-beta.56 │ ├─ @babel/plugin-proposal-optional-chaining@7.0.0-beta.56 │ ├─ @babel/plugin-transform-arrow-functions@7.0.0-beta.56 │ ├─ @babel/plugin-transform-block-scoping@7.0.0-beta.56 │ ├─ @babel/plugin-transform-classes@7.0.0-beta.56 │ ├─ @babel/plugin-transform-computed-properties@7.0.0-beta.56 │ ├─ @babel/plugin-transform-destructuring@7.0.0-beta.56 │ ├─ @babel/plugin-transform-exponentiation-operator@7.0.0-beta.56 │ ├─ @babel/plugin-transform-flow-strip-types@7.0.0-beta.56 │ ├─ @babel/plugin-transform-for-of@7.0.0-beta.56 │ ├─ @babel/plugin-transform-function-name@7.0.0-beta.56 │ ├─ @babel/plugin-transform-literals@7.0.0-beta.56 │ ├─ @babel/plugin-transform-modules-commonjs@7.0.0-beta.56 │ ├─ @babel/plugin-transform-object-assign@7.0.0-beta.56 │ ├─ @babel/plugin-transform-parameters@7.0.0-beta.56 │ ├─ @babel/plugin-transform-react-display-name@7.0.0-beta.56 │ ├─ @babel/plugin-transform-react-jsx-source@7.0.0-beta.56 │ ├─ @babel/plugin-transform-react-jsx@7.0.0-beta.56 │ ├─ @babel/plugin-transform-regenerator@7.0.0-beta.56 │ ├─ @babel/plugin-transform-shorthand-properties@7.0.0-beta.56 │ ├─ @babel/plugin-transform-spread@7.0.0-beta.56 │ ├─ @babel/plugin-transform-sticky-regex@7.0.0-beta.56 │ ├─ @babel/plugin-transform-template-literals@7.0.0-beta.56 │ ├─ @babel/plugin-transform-typescript@7.0.0-beta.56 │ ├─ @babel/plugin-transform-unicode-regex@7.0.0-beta.56 │ ├─ @babel/template@7.0.0-beta.56 │ └─ metro-babel7-plugin-react-transform@0.43.6 ├─ metro-resolver@0.43.6 │ └─ absolute-path@^0.0.0 ├─ metro-source-map@0.43.6 │ └─ source-map@^0.5.6 ├─ metro@0.43.6 │ ├─ @babel/core@7.0.0-beta.56 │ ├─ @babel/generator@7.0.0-beta.56 │ ├─ @babel/helper-remap-async-to-generator@7.0.0-beta.56 │ ├─ @babel/parser@7.0.0-beta.56 │ ├─ @babel/plugin-external-helpers@7.0.0-beta.56 │ ├─ @babel/plugin-proposal-class-properties@7.0.0-beta.56 │ ├─ @babel/plugin-proposal-object-rest-spread@7.0.0-beta.56 │ ├─ @babel/plugin-syntax-dynamic-import@7.0.0-beta.56 │ ├─ @babel/plugin-syntax-nullish-coalescing-operator@7.0.0-beta.56 │ ├─ @babel/plugin-transform-arrow-functions@7.0.0-beta.56 │ ├─ @babel/plugin-transform-async-to-generator@7.0.0-beta.56 │ ├─ @babel/plugin-transform-block-scoping@7.0.0-beta.56 │ ├─ @babel/plugin-transform-classes@7.0.0-beta.56 │ ├─ @babel/plugin-transform-computed-properties@7.0.0-beta.56 │ ├─ @babel/plugin-transform-destructuring@7.0.0-beta.56 │ ├─ @babel/plugin-transform-exponentiation-operator@7.0.0-beta.56 │ ├─ @babel/plugin-transform-flow-strip-types@7.0.0-beta.56 │ ├─ @babel/plugin-transform-for-of@7.0.0-beta.56 │ ├─ @babel/plugin-transform-function-name@7.0.0-beta.56 │ ├─ @babel/plugin-transform-literals@7.0.0-beta.56 │ ├─ @babel/plugin-transform-modules-commonjs@7.0.0-beta.56 │ ├─ @babel/plugin-transform-object-assign@7.0.0-beta.56 │ ├─ @babel/plugin-transform-parameters@7.0.0-beta.56 │ ├─ @babel/plugin-transform-react-display-name@7.0.0-beta.56 │ ├─ @babel/plugin-transform-react-jsx-source@7.0.0-beta.56 │ ├─ @babel/plugin-transform-react-jsx@7.0.0-beta.56 │ ├─ @babel/plugin-transform-regenerator@7.0.0-beta.56 │ ├─ @babel/plugin-transform-shorthand-properties@7.0.0-beta.56 │ ├─ @babel/plugin-transform-spread@7.0.0-beta.56 │ ├─ @babel/plugin-transform-template-literals@7.0.0-beta.56 │ ├─ @babel/plugin-transform-unicode-regex@7.0.0-beta.56 │ ├─ @babel/register@7.0.0-beta.56 │ ├─ @babel/template@7.0.0-beta.56 │ ├─ @babel/traverse@7.0.0-beta.56 │ ├─ @babel/types@7.0.0-beta.56 │ ├─ absolute-path@^0.0.0 │ ├─ ansi-styles@2.2.1 │ ├─ async@^2.4.0 │ ├─ babel-core@^6.24.1 │ ├─ babel-preset-es2015-node@^6.1.1 │ ├─ babel-preset-fbjs@2.2.0 │ ├─ babel-register@^6.24.1 │ ├─ chalk@^1.1.1 │ ├─ 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 │ ├─ cliui@3.2.0 │ │ ├─ string-width@^1.0.1 │ │ ├─ string-width@1.0.2 │ │ │ ├─ 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 │ ├─ fbjs@0.8.17 │ ├─ fs-extra@^1.0.0 │ ├─ graceful-fs@^4.1.3 │ ├─ image-size@^0.6.0 │ ├─ is-fullwidth-code-point@1.0.0 │ │ └─ number-is-nan@^1.0.0 │ ├─ jest-docblock@23.2.0 │ ├─ jest-haste-map@23.5.0 │ ├─ jest-worker@23.2.0 │ ├─ json-stable-stringify@^1.0.1 │ ├─ json5@^0.4.0 │ ├─ json5@0.4.0 │ ├─ left-pad@^1.1.3 │ ├─ lodash.throttle@^4.1.1 │ ├─ merge-stream@^1.0.1 │ ├─ metro-babel-register@0.43.6 │ ├─ metro-babel7-plugin-react-transform@0.43.6 │ ├─ metro-cache@0.43.6 │ ├─ metro-config@0.43.6 │ ├─ metro-core@0.43.6 │ ├─ metro-minify-uglify@0.43.6 │ ├─ metro-react-native-babel-preset@0.43.6 │ ├─ metro-resolver@0.43.6 │ ├─ metro-source-map@0.43.6 │ ├─ mime-db@1.23.0 │ ├─ mime-types@2.1.11 │ │ └─ mime-db@~1.23.0 │ ├─ mime-types@2.1.11 │ ├─ 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 │ ├─ supports-color@2.0.0 │ ├─ temp@0.8.3 │ ├─ throat@^4.1.0 │ ├─ wordwrap@^1.0.0 │ ├─ write-file-atomic@^1.2.0 │ ├─ ws@^1.1.0 │ ├─ xpipe@^1.0.5 │ ├─ yargs-parser@7.0.0 │ │ └─ camelcase@^4.1.0 │ ├─ yargs@^9.0.0 │ └─ yargs@9.0.1 │ ├─ 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 ├─ micromatch@2.3.11 │ ├─ arr-diff@^2.0.0 │ ├─ arr-diff@2.0.0 │ │ └─ arr-flatten@^1.0.1 │ ├─ array-unique@^0.2.1 │ ├─ 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.36.0 ├─ mime-types@2.1.20 │ └─ mime-db@~1.36.0 ├─ mime@1.6.0 ├─ mimic-fn@1.2.0 ├─ min-document@2.19.0 │ └─ dom-walk@^0.1.0 ├─ minimatch@3.0.4 │ └─ brace-expansion@^1.1.7 ├─ minimist@1.2.0 ├─ minipass@2.3.4 │ ├─ safe-buffer@^5.1.2 │ └─ yallist@^3.0.0 ├─ minizlib@1.1.0 │ └─ minipass@^2.2.1 ├─ mixin-deep@1.3.1 │ ├─ for-in@^1.0.2 │ ├─ is-extendable@^1.0.1 │ └─ is-extendable@1.0.1 │ └─ is-plain-object@^2.0.4 ├─ mkdirp@0.5.1 │ ├─ minimist@0.0.8 │ └─ minimist@0.0.8 ├─ morgan@1.9.0 │ ├─ basic-auth@~2.0.0 │ ├─ debug@2.6.9 │ ├─ depd@~1.1.1 │ ├─ on-finished@~2.3.0 │ └─ on-headers@~1.0.1 ├─ ms@2.0.0 ├─ mute-stream@0.0.7 ├─ nan@2.11.0 ├─ nanomatch@1.2.13 │ ├─ arr-diff@^4.0.0 │ ├─ array-unique@^0.3.2 │ ├─ define-property@^2.0.2 │ ├─ define-property@2.0.2 │ │ ├─ is-descriptor@^1.0.2 │ │ └─ isobject@^3.0.1 │ ├─ extend-shallow@^3.0.2 │ ├─ extend-shallow@3.0.2 │ │ ├─ assign-symbols@^1.0.0 │ │ └─ is-extendable@^1.0.1 │ ├─ fragment-cache@^0.2.1 │ ├─ is-extendable@1.0.1 │ │ └─ is-plain-object@^2.0.4 │ ├─ is-windows@^1.0.2 │ ├─ kind-of@^6.0.2 │ ├─ kind-of@6.0.2 │ ├─ object.pick@^1.3.0 │ ├─ regex-not@^1.0.0 │ ├─ snapdragon@^0.8.1 │ └─ to-regex@^3.0.1 ├─ natural-compare@1.4.0 ├─ needle@2.2.2 │ ├─ debug@^2.1.2 │ ├─ iconv-lite@^0.4.4 │ └─ sax@^1.2.4 ├─ negotiator@0.6.1 ├─ node-fetch@2.2.0 ├─ node-int64@0.4.0 ├─ node-modules-regexp@1.0.0 ├─ node-notifier@5.2.1 │ ├─ growly@^1.3.0 │ ├─ semver@^5.4.1 │ ├─ shellwords@^0.1.1 │ └─ which@^1.3.0 ├─ node-pre-gyp@0.10.3 │ ├─ detect-libc@^1.0.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 │ ├─ is-fullwidth-code-point@1.0.0 │ │ └─ 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 │ ├─ 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 │ ├─ rc@^1.2.7 │ ├─ rimraf@^2.6.1 │ ├─ semver@^5.3.0 │ ├─ string-width@1.0.2 │ │ ├─ code-point-at@^1.0.0 │ │ ├─ is-fullwidth-code-point@^1.0.0 │ │ └─ strip-ansi@^3.0.0 │ └─ tar@^4 ├─ 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-bundled@1.0.5 ├─ npm-packlist@1.1.11 │ ├─ ignore-walk@^3.0.1 │ └─ npm-bundled@^1.0.1 ├─ npm-run-path@2.0.2 │ └─ path-key@^2.0.0 ├─ npmlog@2.0.4 │ ├─ ansi@~0.3.1 │ ├─ are-we-there-yet@~1.1.2 │ └─ gauge@~1.2.5 ├─ number-is-nan@1.0.1 ├─ nwsapi@2.0.8 ├─ oauth-sign@0.9.0 ├─ object-assign@4.1.1 ├─ object-copy@0.1.0 │ ├─ copy-descriptor@^0.1.0 │ ├─ define-property@^0.2.5 │ └─ kind-of@^3.0.3 ├─ object-keys@1.0.12 ├─ object-visit@1.0.1 │ └─ isobject@^3.0.0 ├─ object.getownpropertydescriptors@2.0.3 │ ├─ define-properties@^1.1.2 │ └─ es-abstract@^1.5.1 ├─ object.omit@2.0.1 │ ├─ for-own@^0.1.4 │ └─ is-extendable@^0.1.1 ├─ object.pick@1.3.0 │ └─ isobject@^3.0.1 ├─ on-finished@2.3.0 │ └─ ee-first@1.1.1 ├─ on-headers@1.0.1 ├─ once@1.4.0 │ └─ wrappy@1 ├─ onetime@2.0.1 │ └─ mimic-fn@^1.0.0 ├─ opn@3.0.3 │ └─ object-assign@^4.0.1 ├─ optimist@0.6.1 │ ├─ minimist@~0.0.1 │ ├─ minimist@0.0.10 │ ├─ wordwrap@~0.0.2 │ └─ wordwrap@0.0.3 ├─ 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 ├─ options@0.0.6 ├─ 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.5 │ ├─ os-homedir@^1.0.0 │ └─ os-tmpdir@^1.0.0 ├─ p-finally@1.0.0 ├─ p-limit@1.3.0 │ └─ p-try@^1.0.0 ├─ p-locate@2.0.0 │ └─ p-limit@^1.1.0 ├─ p-try@1.0.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@4.0.0 ├─ parseurl@1.3.2 ├─ pascalcase@0.1.1 ├─ path-exists@3.0.0 ├─ path-is-absolute@1.0.1 ├─ path-key@2.0.1 ├─ path-parse@1.0.6 ├─ path-type@2.0.0 │ └─ pify@^2.0.0 ├─ pegjs@0.10.0 ├─ performance-now@2.1.0 ├─ pify@2.3.0 ├─ pinkie-promise@2.0.1 │ └─ pinkie@^2.0.0 ├─ pinkie@2.0.4 ├─ pirates@4.0.0 │ └─ node-modules-regexp@^1.0.0 ├─ pkg-dir@2.0.0 │ └─ find-up@^2.1.0 ├─ plist@3.0.1 │ ├─ base64-js@^1.2.3 │ ├─ xmlbuilder@^9.0.7 │ └─ xmldom@0.1.x ├─ plugin-error@0.1.2 │ ├─ ansi-cyan@^0.1.1 │ ├─ ansi-red@^0.1.1 │ ├─ arr-diff@^1.0.1 │ ├─ arr-diff@1.1.0 │ │ ├─ arr-flatten@^1.0.1 │ │ └─ array-slice@^0.2.3 │ ├─ arr-union@^2.0.1 │ ├─ arr-union@2.1.0 │ ├─ extend-shallow@^1.1.2 │ ├─ extend-shallow@1.1.4 │ │ └─ kind-of@^1.1.0 │ └─ kind-of@1.1.0 ├─ pn@1.1.0 ├─ posix-character-classes@0.1.1 ├─ prelude-ls@1.1.2 ├─ preserve@0.2.0 ├─ pretty-format@23.5.0 │ ├─ ansi-regex@^3.0.0 │ ├─ ansi-regex@3.0.0 │ └─ ansi-styles@^3.2.0 ├─ private@0.1.8 ├─ process-nextick-args@2.0.0 ├─ process@0.5.2 ├─ promise@7.3.1 │ └─ asap@~2.0.3 ├─ prompts@0.1.14 │ ├─ kleur@^2.0.1 │ └─ sisteransi@^0.1.1 ├─ prop-types@15.6.2 │ ├─ loose-envify@^1.3.1 │ └─ object-assign@^4.1.1 ├─ pseudomap@1.0.2 ├─ psl@1.1.29 ├─ punycode@1.4.1 ├─ qs@6.5.2 ├─ randomatic@3.1.0 │ ├─ is-number@^4.0.0 │ ├─ is-number@4.0.0 │ ├─ kind-of@^6.0.0 │ ├─ kind-of@6.0.2 │ └─ math-random@^1.0.1 ├─ range-parser@1.2.0 ├─ rc@1.2.8 │ ├─ deep-extend@^0.6.0 │ ├─ ini@~1.3.0 │ ├─ minimist@^1.2.0 │ └─ strip-json-comments@~2.0.1 ├─ react-clone-referenced-element@1.0.1 ├─ react-deep-force-update@1.1.2 ├─ react-devtools-core@3.2.3 │ ├─ shell-quote@^1.6.1 │ ├─ ultron@1.1.1 │ ├─ ws@^3.3.1 │ └─ ws@3.3.3 │ ├─ async-limiter@~1.0.0 │ ├─ safe-buffer@~5.1.0 │ └─ ultron@~1.1.0 ├─ react-is@16.4.2 ├─ react-native@0.57.0-rc.3 │ ├─ absolute-path@^0.0.0 │ ├─ ansi-styles@2.2.1 │ ├─ art@^0.10.0 │ ├─ base64-js@^1.1.2 │ ├─ chalk@^1.1.1 │ ├─ 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 │ ├─ cliui@3.2.0 │ │ ├─ string-width@^1.0.1 │ │ ├─ string-width@1.0.2 │ │ │ ├─ 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 │ ├─ fbjs@0.8.17 │ ├─ fs-extra@^1.0.0 │ ├─ glob@^7.1.1 │ ├─ graceful-fs@^4.1.3 │ ├─ inquirer@^3.0.6 │ ├─ is-fullwidth-code-point@1.0.0 │ │ └─ 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 │ ├─ pretty-format@4.3.1 │ ├─ 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 │ ├─ shell-quote@1.6.1 │ ├─ stacktrace-parser@^0.1.3 │ ├─ supports-color@2.0.0 │ ├─ ws@^1.1.0 │ ├─ xcode@^0.9.1 │ ├─ xmldoc@^0.4.0 │ ├─ yargs-parser@7.0.0 │ │ └─ camelcase@^4.1.0 │ ├─ yargs@^9.0.0 │ └─ yargs@9.0.1 │ ├─ 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 ├─ react-proxy@1.1.8 │ ├─ lodash@^4.6.1 │ └─ react-deep-force-update@^1.0.0 ├─ react-test-renderer@16.4.1 │ ├─ fbjs@^0.8.16 │ ├─ object-assign@^4.1.1 │ ├─ prop-types@^15.6.0 │ └─ react-is@^16.4.1 ├─ react-timer-mixin@0.13.4 ├─ react-transform-hmr@1.0.4 │ ├─ global@^4.3.0 │ └─ react-proxy@^1.1.7 ├─ react@16.4.1 │ ├─ fbjs@^0.8.16 │ ├─ loose-envify@^1.1.0 │ ├─ object-assign@^4.1.1 │ └─ prop-types@^15.6.0 ├─ 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.6 │ ├─ 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 ├─ realpath-native@1.0.1 │ └─ util.promisify@^1.0.0 ├─ regenerate-unicode-properties@7.0.0 │ └─ regenerate@^1.4.0 ├─ regenerate@1.4.0 ├─ regenerator-runtime@0.11.1 ├─ regenerator-transform@0.13.3 │ └─ private@^0.1.6 ├─ regex-cache@0.4.4 │ └─ is-equal-shallow@^0.1.3 ├─ regex-not@1.0.2 │ ├─ extend-shallow@^3.0.2 │ ├─ extend-shallow@3.0.2 │ │ ├─ assign-symbols@^1.0.0 │ │ └─ is-extendable@^1.0.1 │ ├─ is-extendable@1.0.1 │ │ └─ is-plain-object@^2.0.4 │ └─ safe-regex@^1.1.0 ├─ regexpu-core@4.2.0 │ ├─ 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 ├─ regjsgen@0.4.0 ├─ regjsparser@0.3.0 │ └─ jsesc@~0.5.0 ├─ remove-trailing-separator@1.1.0 ├─ repeat-element@1.1.3 ├─ repeat-string@1.6.1 ├─ repeating@2.0.1 │ └─ is-finite@^1.0.0 ├─ request-promise-core@1.1.1 │ └─ lodash@^4.13.1 ├─ request-promise-native@1.0.5 │ ├─ request-promise-core@1.1.1 │ ├─ stealthy-require@^1.1.0 │ └─ tough-cookie@>=2.3.3 ├─ request@2.88.0 │ ├─ 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 │ └─ uuid@3.3.2 ├─ require-directory@2.1.1 ├─ require-main-filename@1.0.1 ├─ resolve-cwd@2.0.0 │ └─ resolve-from@^3.0.0 ├─ resolve-from@3.0.0 ├─ resolve-url@0.2.1 ├─ resolve@1.8.1 │ └─ path-parse@^1.0.5 ├─ restore-cursor@2.0.0 │ ├─ onetime@^2.0.0 │ └─ signal-exit@^3.0.2 ├─ ret@0.1.15 ├─ right-align@0.1.3 │ └─ align-text@^0.1.1 ├─ rimraf@2.6.2 │ └─ glob@^7.0.5 ├─ rsvp@3.6.2 ├─ run-async@2.3.0 │ └─ is-promise@^2.1.0 ├─ rx-lite-aggregates@4.0.8 │ └─ rx-lite@* ├─ rx-lite@4.0.8 ├─ safe-buffer@5.1.2 ├─ safe-regex@1.1.0 │ └─ ret@~0.1.10 ├─ safer-buffer@2.1.2 ├─ sane@2.5.2 │ ├─ anymatch@^2.0.0 │ ├─ braces@2.3.2 │ │ ├─ arr-flatten@^1.1.0 │ │ ├─ array-unique@^0.3.2 │ │ ├─ extend-shallow@^2.0.1 │ │ ├─ extend-shallow@2.0.1 │ │ │ └─ is-extendable@^0.1.0 │ │ ├─ fill-range@^4.0.0 │ │ ├─ is-extendable@0.1.1 │ │ ├─ 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 │ ├─ define-property@2.0.2 │ │ ├─ is-descriptor@^1.0.2 │ │ └─ isobject@^3.0.1 │ ├─ exec-sh@^0.2.0 │ ├─ expand-brackets@2.1.4 │ │ ├─ debug@^2.3.3 │ │ ├─ define-property@^0.2.5 │ │ ├─ define-property@0.2.5 │ │ │ └─ is-descriptor@^0.1.0 │ │ ├─ extend-shallow@^2.0.1 │ │ ├─ extend-shallow@2.0.1 │ │ │ └─ is-extendable@^0.1.0 │ │ ├─ is-descriptor@0.1.6 │ │ │ ├─ is-accessor-descriptor@^0.1.6 │ │ │ ├─ is-data-descriptor@^0.1.4 │ │ │ └─ kind-of@^5.0.0 │ │ ├─ is-extendable@0.1.1 │ │ ├─ kind-of@5.1.0 │ │ ├─ posix-character-classes@^0.1.0 │ │ ├─ regex-not@^1.0.0 │ │ ├─ snapdragon@^0.8.1 │ │ └─ to-regex@^3.0.1 │ ├─ extend-shallow@3.0.2 │ │ ├─ assign-symbols@^1.0.0 │ │ └─ is-extendable@^1.0.1 │ ├─ extglob@2.0.4 │ │ ├─ array-unique@^0.3.2 │ │ ├─ define-property@^1.0.0 │ │ ├─ define-property@1.0.0 │ │ │ └─ is-descriptor@^1.0.0 │ │ ├─ expand-brackets@^2.1.4 │ │ ├─ extend-shallow@^2.0.1 │ │ ├─ extend-shallow@2.0.1 │ │ │ └─ is-extendable@^0.1.0 │ │ ├─ fragment-cache@^0.2.1 │ │ ├─ is-extendable@0.1.1 │ │ ├─ regex-not@^1.0.0 │ │ ├─ snapdragon@^0.8.1 │ │ └─ to-regex@^3.0.1 │ ├─ fb-watchman@^2.0.0 │ ├─ fill-range@4.0.0 │ │ ├─ extend-shallow@^2.0.1 │ │ ├─ extend-shallow@2.0.1 │ │ │ └─ is-extendable@^0.1.0 │ │ ├─ is-extendable@0.1.1 │ │ ├─ is-number@^3.0.0 │ │ ├─ repeat-string@^1.6.1 │ │ └─ to-regex-range@^2.1.0 │ ├─ fsevents@^1.2.3 │ ├─ is-accessor-descriptor@0.1.6 │ │ ├─ kind-of@^3.0.2 │ │ └─ kind-of@3.2.2 │ │ └─ is-buffer@^1.1.5 │ ├─ is-data-descriptor@0.1.4 │ │ ├─ kind-of@^3.0.2 │ │ └─ kind-of@3.2.2 │ │ └─ is-buffer@^1.1.5 │ ├─ is-extendable@1.0.1 │ │ └─ is-plain-object@^2.0.4 │ ├─ kind-of@6.0.2 │ ├─ micromatch@^3.1.4 │ ├─ micromatch@3.1.10 │ │ ├─ 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 ├─ sax@1.2.4 ├─ semver@5.5.1 ├─ send@0.16.2 │ ├─ debug@2.6.9 │ ├─ depd@~1.1.2 │ ├─ destroy@~1.0.4 │ ├─ encodeurl@~1.0.2 │ ├─ escape-html@~1.0.3 │ ├─ etag@~1.8.1 │ ├─ fresh@0.5.2 │ ├─ http-errors@~1.6.2 │ ├─ mime@1.4.1 │ ├─ mime@1.4.1 │ ├─ ms@2.0.0 │ ├─ on-finished@~2.3.0 │ ├─ range-parser@~1.2.0 │ ├─ statuses@~1.4.0 │ └─ statuses@1.4.0 ├─ serialize-error@2.1.0 ├─ serve-static@1.13.2 │ ├─ encodeurl@~1.0.2 │ ├─ escape-html@~1.0.3 │ ├─ parseurl@~1.3.2 │ └─ send@0.16.2 ├─ set-blocking@2.0.0 ├─ set-value@2.0.0 │ ├─ extend-shallow@^2.0.1 │ ├─ is-extendable@^0.1.1 │ ├─ is-plain-object@^2.0.3 │ └─ split-string@^3.0.1 ├─ setimmediate@1.0.5 ├─ setprototypeof@1.1.0 ├─ shebang-command@1.2.0 │ └─ shebang-regex@^1.0.0 ├─ shebang-regex@1.0.0 ├─ shell-quote@1.6.1 │ ├─ array-filter@~0.0.0 │ ├─ array-map@~0.0.0 │ ├─ array-reduce@~0.0.0 │ └─ jsonify@~0.0.0 ├─ shellwords@0.1.1 ├─ signal-exit@3.0.2 ├─ simple-plist@0.2.1 │ ├─ base64-js@1.1.2 │ ├─ bplist-creator@0.0.7 │ ├─ bplist-parser@0.1.1 │ ├─ plist@2.0.1 │ ├─ plist@2.0.1 │ │ ├─ base64-js@1.1.2 │ │ ├─ xmlbuilder@8.2.2 │ │ └─ xmldom@0.1.x │ └─ xmlbuilder@8.2.2 ├─ sisteransi@0.1.1 ├─ slash@1.0.0 ├─ slide@1.1.6 ├─ snapdragon-node@2.1.1 │ ├─ define-property@^1.0.0 │ ├─ define-property@1.0.0 │ │ └─ is-descriptor@^1.0.0 │ ├─ isobject@^3.0.0 │ └─ snapdragon-util@^3.0.1 ├─ snapdragon-util@3.0.1 │ └─ kind-of@^3.2.0 ├─ snapdragon@0.8.2 │ ├─ 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 ├─ source-map-resolve@0.5.2 │ ├─ 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 ├─ source-map-support@0.4.18 │ └─ source-map@^0.5.6 ├─ source-map-url@0.4.0 ├─ source-map@0.5.7 ├─ spdx-correct@3.0.0 │ ├─ spdx-expression-parse@^3.0.0 │ └─ spdx-license-ids@^3.0.0 ├─ spdx-exceptions@2.1.0 ├─ spdx-expression-parse@3.0.0 │ ├─ spdx-exceptions@^2.1.0 │ └─ spdx-license-ids@^3.0.0 ├─ spdx-license-ids@3.0.0 ├─ split-string@3.1.0 │ ├─ extend-shallow@^3.0.0 │ ├─ extend-shallow@3.0.2 │ │ ├─ assign-symbols@^1.0.0 │ │ └─ is-extendable@^1.0.1 │ └─ is-extendable@1.0.1 │ └─ is-plain-object@^2.0.4 ├─ sprintf-js@1.0.3 ├─ sshpk@1.14.2 │ ├─ 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 ├─ stack-utils@1.0.1 ├─ stacktrace-parser@0.1.4 ├─ static-extend@0.1.2 │ ├─ define-property@^0.2.5 │ └─ object-copy@^0.1.0 ├─ statuses@1.3.1 ├─ stealthy-require@1.1.1 ├─ stream-buffers@2.2.0 ├─ string_decoder@1.1.1 │ └─ 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@2.1.1 │ ├─ ansi-regex@3.0.0 │ ├─ is-fullwidth-code-point@^2.0.0 │ ├─ strip-ansi@^4.0.0 │ └─ strip-ansi@4.0.0 │ └─ ansi-regex@^3.0.0 ├─ strip-ansi@3.0.1 │ └─ ansi-regex@^2.0.0 ├─ strip-bom@3.0.0 ├─ strip-eof@1.0.0 ├─ strip-json-comments@2.0.1 ├─ supports-color@5.5.0 │ └─ has-flag@^3.0.0 ├─ symbol-tree@3.2.2 ├─ tar@4.4.6 │ ├─ 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 ├─ temp@0.8.3 │ ├─ os-tmpdir@^1.0.0 │ ├─ rimraf@~2.2.6 │ └─ rimraf@2.2.8 ├─ test-exclude@4.2.1 │ ├─ arrify@^1.0.1 │ ├─ braces@2.3.2 │ │ ├─ arr-flatten@^1.1.0 │ │ ├─ array-unique@^0.3.2 │ │ ├─ extend-shallow@^2.0.1 │ │ ├─ extend-shallow@2.0.1 │ │ │ └─ is-extendable@^0.1.0 │ │ ├─ fill-range@^4.0.0 │ │ ├─ is-extendable@0.1.1 │ │ ├─ 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 │ ├─ define-property@2.0.2 │ │ ├─ is-descriptor@^1.0.2 │ │ └─ isobject@^3.0.1 │ ├─ expand-brackets@2.1.4 │ │ ├─ debug@^2.3.3 │ │ ├─ define-property@^0.2.5 │ │ ├─ define-property@0.2.5 │ │ │ └─ is-descriptor@^0.1.0 │ │ ├─ extend-shallow@^2.0.1 │ │ ├─ extend-shallow@2.0.1 │ │ │ └─ is-extendable@^0.1.0 │ │ ├─ is-descriptor@0.1.6 │ │ │ ├─ is-accessor-descriptor@^0.1.6 │ │ │ ├─ is-data-descriptor@^0.1.4 │ │ │ └─ kind-of@^5.0.0 │ │ ├─ is-extendable@0.1.1 │ │ ├─ kind-of@5.1.0 │ │ ├─ posix-character-classes@^0.1.0 │ │ ├─ regex-not@^1.0.0 │ │ ├─ snapdragon@^0.8.1 │ │ └─ to-regex@^3.0.1 │ ├─ extend-shallow@3.0.2 │ │ ├─ assign-symbols@^1.0.0 │ │ └─ is-extendable@^1.0.1 │ ├─ extglob@2.0.4 │ │ ├─ array-unique@^0.3.2 │ │ ├─ define-property@^1.0.0 │ │ ├─ define-property@1.0.0 │ │ │ └─ is-descriptor@^1.0.0 │ │ ├─ expand-brackets@^2.1.4 │ │ ├─ extend-shallow@^2.0.1 │ │ ├─ extend-shallow@2.0.1 │ │ │ └─ is-extendable@^0.1.0 │ │ ├─ fragment-cache@^0.2.1 │ │ ├─ is-extendable@0.1.1 │ │ ├─ regex-not@^1.0.0 │ │ ├─ snapdragon@^0.8.1 │ │ └─ to-regex@^3.0.1 │ ├─ fill-range@4.0.0 │ │ ├─ extend-shallow@^2.0.1 │ │ ├─ extend-shallow@2.0.1 │ │ │ └─ is-extendable@^0.1.0 │ │ ├─ is-extendable@0.1.1 │ │ ├─ is-number@^3.0.0 │ │ ├─ repeat-string@^1.6.1 │ │ └─ to-regex-range@^2.1.0 │ ├─ find-up@1.1.2 │ │ ├─ path-exists@^2.0.0 │ │ └─ pinkie-promise@^2.0.0 │ ├─ is-accessor-descriptor@0.1.6 │ │ ├─ kind-of@^3.0.2 │ │ └─ kind-of@3.2.2 │ │ └─ is-buffer@^1.1.5 │ ├─ is-data-descriptor@0.1.4 │ │ ├─ kind-of@^3.0.2 │ │ └─ kind-of@3.2.2 │ │ └─ is-buffer@^1.1.5 │ ├─ is-extendable@1.0.1 │ │ └─ is-plain-object@^2.0.4 │ ├─ kind-of@6.0.2 │ ├─ 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@^3.1.8 │ ├─ micromatch@3.1.10 │ │ ├─ 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 │ ├─ 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 │ └─ strip-bom@2.0.0 │ └─ is-utf8@^0.2.0 ├─ throat@4.1.0 ├─ through@2.3.8 ├─ through2@2.0.3 │ ├─ readable-stream@^2.1.5 │ └─ xtend@~4.0.1 ├─ time-stamp@1.1.0 ├─ tmp@0.0.33 │ └─ os-tmpdir@~1.0.2 ├─ tmpl@1.0.4 ├─ to-fast-properties@2.0.0 ├─ to-object-path@0.3.0 │ └─ kind-of@^3.0.2 ├─ to-regex-range@2.1.1 │ ├─ is-number@^3.0.0 │ └─ repeat-string@^1.6.1 ├─ to-regex@3.0.2 │ ├─ define-property@^2.0.2 │ ├─ define-property@2.0.2 │ │ ├─ is-descriptor@^1.0.2 │ │ └─ isobject@^3.0.1 │ ├─ extend-shallow@^3.0.2 │ ├─ extend-shallow@3.0.2 │ │ ├─ assign-symbols@^1.0.0 │ │ └─ is-extendable@^1.0.1 │ ├─ is-extendable@1.0.1 │ │ └─ is-plain-object@^2.0.4 │ ├─ regex-not@^1.0.2 │ └─ safe-regex@^1.1.0 ├─ tough-cookie@2.4.3 │ ├─ psl@^1.1.24 │ └─ punycode@^1.4.1 ├─ tr46@1.0.1 │ ├─ punycode@^2.1.0 │ └─ punycode@2.1.1 ├─ trim-right@1.0.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 ├─ typedarray@0.0.6 ├─ ua-parser-js@0.7.18 ├─ uglify-es@3.3.9 │ ├─ commander@~2.13.0 │ ├─ commander@2.13.0 │ ├─ source-map@~0.6.1 │ └─ source-map@0.6.1 ├─ 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 ├─ ultron@1.0.2 ├─ unicode-canonical-property-names-ecmascript@1.0.4 ├─ unicode-match-property-ecmascript@1.0.4 │ ├─ unicode-canonical-property-names-ecmascript@^1.0.4 │ └─ unicode-property-aliases-ecmascript@^1.0.4 ├─ unicode-match-property-value-ecmascript@1.0.2 ├─ unicode-property-aliases-ecmascript@1.0.4 ├─ union-value@1.0.0 │ ├─ arr-union@^3.1.0 │ ├─ get-value@^2.0.6 │ ├─ is-extendable@^0.1.1 │ ├─ set-value@^0.4.3 │ └─ set-value@0.4.3 │ ├─ extend-shallow@^2.0.1 │ ├─ is-extendable@^0.1.1 │ ├─ is-plain-object@^2.0.1 │ └─ to-object-path@^0.3.0 ├─ unpipe@1.0.0 ├─ unset-value@1.0.0 │ ├─ has-value@^0.3.1 │ ├─ has-value@0.3.1 │ │ ├─ get-value@^2.0.3 │ │ ├─ has-values@^0.1.4 │ │ ├─ isobject@^2.0.0 │ │ └─ isobject@2.1.0 │ │ └─ isarray@1.0.0 │ ├─ has-values@0.1.4 │ └─ isobject@^3.0.0 ├─ urix@0.1.0 ├─ use@3.1.1 ├─ util-deprecate@1.0.2 ├─ util.promisify@1.0.0 │ ├─ define-properties@^1.1.2 │ └─ object.getownpropertydescriptors@^2.0.3 ├─ utils-merge@1.0.1 ├─ uuid@3.0.1 ├─ validate-npm-package-license@3.0.4 │ ├─ spdx-correct@^3.0.0 │ └─ spdx-expression-parse@^3.0.0 ├─ vary@1.1.2 ├─ verror@1.10.0 │ ├─ assert-plus@^1.0.0 │ ├─ core-util-is@1.0.2 │ ├─ extsprintf@^1.2.0 │ └─ extsprintf@1.4.0 ├─ w3c-hr-time@1.0.1 │ └─ browser-process-hrtime@^0.1.2 ├─ 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.4 │ ├─ iconv-lite@0.4.23 │ └─ iconv-lite@0.4.23 │ └─ safer-buffer@>= 2.1.2 < 3 ├─ whatwg-fetch@2.0.4 ├─ whatwg-mimetype@2.1.0 ├─ whatwg-url@6.5.0 │ ├─ lodash.sortby@^4.7.0 │ ├─ tr46@^1.0.1 │ └─ webidl-conversions@^4.0.2 ├─ which-module@2.0.0 ├─ which@1.3.1 │ └─ isexe@^2.0.0 ├─ wide-align@1.1.3 │ └─ string-width@^1.0.2 || 2 ├─ window-size@0.1.0 ├─ wordwrap@1.0.0 ├─ wrap-ansi@2.1.0 │ ├─ is-fullwidth-code-point@1.0.0 │ │ └─ number-is-nan@^1.0.0 │ ├─ string-width@^1.0.1 │ ├─ string-width@1.0.2 │ │ ├─ code-point-at@^1.0.0 │ │ ├─ is-fullwidth-code-point@^1.0.0 │ │ └─ strip-ansi@^3.0.0 │ └─ strip-ansi@^3.0.1 ├─ wrappy@1.0.2 ├─ write-file-atomic@1.3.4 │ ├─ graceful-fs@^4.1.11 │ ├─ imurmurhash@^0.1.4 │ └─ slide@^1.1.5 ├─ ws@1.1.5 │ ├─ options@>=0.0.5 │ └─ ultron@1.0.x ├─ xcode@0.9.3 │ ├─ pegjs@^0.10.0 │ ├─ simple-plist@^0.2.1 │ └─ uuid@3.0.1 ├─ xml-name-validator@3.0.0 ├─ xmlbuilder@9.0.7 ├─ xmldoc@0.4.0 │ ├─ sax@~1.1.1 │ └─ sax@1.1.6 ├─ xmldom@0.1.27 ├─ xpipe@1.0.5 ├─ xtend@4.0.1 ├─ y18n@3.2.1 ├─ yallist@3.0.2 ├─ yargs-parser@9.0.2 │ └─ camelcase@^4.1.0 └─ yargs@11.1.0 ├─ 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 gettingbabel-core@6
instead of 7. So I followed the directions on the Jest website to install babel-core and related for Babel 7.Terminal
```sh $ 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
```sh $ 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/plugin-proposal-class-properties@7.0.0-rc.3 info All dependencies ├─ @babel/plugin-proposal-class-properties@7.0.0-rc.3 └─ @babel/plugin-syntax-class-properties@7.0.0-rc.3 ✨ 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 newbabel.config.js
? Let's try that.Terminal
```sh $ 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.Ok, looks like I'm missing
@babel/plugin-transform-classes
. Let's add that:Terminal
```sh 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/plugin-transform-classes@7.0.0-rc.4 info All dependencies ├─ @babel/helper-define-map@7.0.0-rc.4 └─ @babel/plugin-transform-classes@7.0.0-rc.4 ✨ 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.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$": "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.