Random Jest Test Failures with error cannot read property of undefined - reactjs

I am facing random test failures when running Test Suite with an exception of 'cannot read property of undefined'
I am guessing it has something to do with race conditions happening somewhere but to my knowledge wherever the code failure points i have a await in front of those methods.
I read somewhere it could be a version issue with
"react-test-renderer": "^16.5.2"
Below are the dependencies that i am using:
"devDependencies": {
"apollo-boost": "^0.1.9",
"babel-cli": "^6.26.0",
"babel-core": "^6.26.3",
"babel-eslint": "^8.2.3",
"babel-jest": "^23.0.1",
"babel-loader": "^7.1.4",
"babel-plugin-lodash": "^3.3.4",
"babel-plugin-react-css-modules": "^3.4.2",
"babel-plugin-syntax-dynamic-import": "^6.18.0",
"babel-plugin-transform-class-properties": "^6.24.1",
"babel-plugin-transform-object-rest-spread": "^6.26.0",
"babel-preset-env": "^1.7.0",
"babel-preset-flow": "^6.23.0",
"babel-preset-react": "^6.24.1",
"babel-register": "^6.26.0",
"classnames": "^2.2.6",
"commander": "^2.16.0",
"cross-env": "^5.2.0",
"css-loader": "^0.28.11",
"enzyme": "^3.7.0",
"enzyme-adapter-react-16": "^1.6.0",
"enzyme-to-json": "^3.3.4",
"eslint-plugin-graphql": "^3.0.3",
"file-loader": "^1.1.11",
"flow": "^0.2.3",
"flow-bin": "^0.93.0",
"flow-typed": "^2.5.1",
"graphql-code-generator": "^0.17.0",
"graphql-codegen-flow": "^0.17.0",
"graphql-codegen-flow-resolvers": "^0.17.0",
"graphql-tag": "^2.9.2",
"graphql-tools": "^4.0.4",
"grid-styled": "^4.1.1",
"isomorphic-fetch": "^2.2.1",
"jest": "^23.1.0",
"leasot": "^6.3.0",
"nock": "^9.4.3",
"nodemon": "^1.18.6",
"normalize.css": "^8.0.0",
"npm-watch": "^0.6.0",
"react": "^16.7.0",
"react-apollo": "^2.3.2",
"react-dates": "^17.2.0",
"react-dom": "^16.3.1",
"react-ga": "^2.5.7",
"react-redux": "^5.0.7",
"react-router-dom": "^4.3.1",
"react-test-renderer": "^16.5.2",
"react-toastify": "^4.2.0",
"recharts": "^1.1.0",
"redis-mock": "^0.43.0",
"redux": "^4.0.0",
"reselect": "^3.0.1",
"rimraf": "^2.6.2",
"sinon": "^6.0.0",
"umzug": "^2.1.0",
"webpack": "^4.12.0",
"webpack-cli": "^3.0.3",
"webpack-dev-middleware": "^3.1.3"
}
"dependencies": {
"babel-plugin-transform-async-to-generator": "^6.24.1",
"bluebird": "^3.5.0",
"body-parser": "^1.16.0",
"camelcase": "^5.0.0",
"casual-browserify": "^1.5.19-2",
"cheerio": "^1.0.0-rc.2",
"connect-redis": "^3.4.0",
"cookie-parser": "^1.4.3",
"date-fns": "^1.29.0",
"elasticsearch": "^15.1.1",
"express": "^4.14.0",
"express-graphql": "^0.6.12",
"express-session": "^1.15.6",
"express-socket.io-session": "^1.3.5",
"file-loader": "^1.1.11",
"graphql": "^0.13.2",
"graphql-bigint": "^1.0.0",
"graphql-relay": "^0.5.5",
"graphql-sequelize": "^8.3.1",
"graygelf": "^1.2.0",
"immutable": "^4.0.0-rc.9",
"lodash": "^4.17.10",
"mkdirp": "^0.5.1",
"moment": "^2.22.2",
"mysql2": "^1.5.3",
"n": "^2.1.12",
"nc": "^1.0.2",
"node-resque": "^5.5.1",
"node-schedule": "^1.3.2",
"pm2": "^2.2.3",
"redis": "^2.8.0",
"request": "^2.87.0",
"request-promise": "^4.2.2",
"winston": "^3.0.0"
}
I am expecting tests to be consistent with either failures/success.
Can someone help understand what is going wrong?

Looks like there was some race condition in the code and adding waits(which is probably the worst way of solving anything!) helped.

Related

React migration to hooks

I started a new job and here the client is written in react. The big problem is that everything is very old and uses classes instead of React hooks. One simple example of an issue is the need to use mobx 6 or higher however this will require going over all the classes removing the #observable and changing it to make it observable. I don't even know how to start transitioning to a newer version of React with hooks since there is no way of doing it gradually only all at once. In any case if someone can help me with a suggestion or what can be done I will appreciated very much here is dependencies in my package.json if it's of any help
"dependencies": {
"babel-plugin-react-intl": "~3.0.1",
"babel-plugin-wildcard": "~2.1.2",
"bestzip": "^2.2.0",
"bootstrap": "~4.2.1",
"classnames": "~2.2.6",
"config": "~1.27.0",
"coreui.io": "^1.0.0-alpha.6",
"cross-env": "~5.2.0",
"event-emitter-es6": "~1.1.5",
"font-awesome": "~4.7.0",
"js-file-download": "~0.4.4",
"jsx-control-statements": "~3.2.8",
"lodash": "~4.17.4",
"mobx-react-intl": "~1.4.0",
"moment": "~2.20.1",
"papaparse": "~4.3.7",
"preact-context": "~1.1.2",
"query-string": "~6.1.0",
"react": "16.8.0",
"react-app-polyfill": "~0.2.0",
"react-beautiful-dnd": "^13.1.0",
"react-bootstrap-table": "~4.3.1",
"react-dates": "~20.0.0",
"react-dom": "16.8.0",
"react-fast-compare": "~2.0.4",
"react-fontawesome": "~1.6.1",
"react-google-charts": "~3.0.11",
"react-inlinesvg": "~0.6.2",
"react-interval": "~2.0.2",
"react-intl": "~2.8.0",
"react-json-view": "^1.19.1",
"react-ladda": "~6.0.0",
"react-rangeslider": "~2.2.0",
"react-router-dom": "~4.3.1",
"react-select": "~1.2.1",
"react-smooth-range-input": "~0.2.4",
"react-transition-group": "~1.2.1",
"reactstrap": "~7.1.0",
"shx": "^0.3.3",
"simple-line-icons": "~2.4.1",
"superagent": "~3.8.0",
"superagent-auth-bearer": "~0.0.1",
"svgo": "~1.0.3",
"three2": "npm:three#0.125.2",
"webpack-cli": "~3.2.1"
},
"devDependencies": {
"babel": "~6",
"babel-cli": "~6.24.1",
"babel-eslint": "~10.0.1",
"babel-loader": "~7.1.1",
"babel-plugin-flow-react-proptypes": "~3.3.0",
"babel-plugin-syntax-async-functions": "~6.13.0",
"babel-plugin-transform-decorators-legacy": "~1.3.4",
"babel-polyfill": "~6.23.0",
"babel-preset-env": "~1.6.0",
"babel-preset-es2015": "~6.24.1",
"babel-preset-react": "~6.24.1",
"babel-preset-stage-1": "~6.24.1",
"babel-preset-stage-2": "~6.24.1",
"babili-webpack-plugin": "~0.1.2",
"cobertura-merge": "*",
"copy-webpack-plugin": "~4.6.0",
"css-hot-loader": "~1.3.0",
"css-loader": "~2.1.0",
"eslint": "~4.4.1",
"eslint-config-wix": "~1.1.16",
"eslint-loader": "~1.9.0",
"extract-text-webpack-plugin": "~4.0.0-beta.0",
"file-loader": "~3.0.1",
"flow-bin": "~0.48.0",
"flow-status-webpack-plugin": "~0.1.7",
"html-webpack-plugin": "~3.2.0",
"install": "~0.10.1",
"jest": "~20.0.4",
"jest-cli": "~20",
"jest-html-reporters": "^1.2.1",
"jest-junit": "*",
"mobx": "~5.9.0",
"mobx-react": "~5.4.3",
"mobx-react-devtools": "~4.2.15",
"node-sass": "~4.14.0",
"nodemon": "~1.11.0",
"npm": "~5.3.0",
"optimize-css-assets-webpack-plugin": "~3.1.1",
"preact": "~10.0.0-alpha.0",
"preact-compat": "~3.18.4",
"react-c3js": "~0.1.20",
"resolve-url": "~0.2.1",
"resolve-url-loader": "~3.0.0",
"sass-loader": "~7.1.0",
"style-loader": "~0.18.2",
"svg-react-loader": "~0.4.6",
"url-loader": "~1.1.2",
"webpack": "~4.29.0",
"webpack-dev-server": "~3.1.14",
"webpack-merge": "~4.1.0"
},

lingui macros throw error with bable-plugin-macros

I'm using lingui package in my React project with CRA and
I get an error when using lingui/macro modules t method.
When I build project got webpack warning message.
Like this.
Critical dependency: the request of a dependency is an expression
This seems to be due to bable-plugin-macro, but I don't know the exact cause. Help me!!
Here my error & codes
import { t } from '#lingui/macro';
render() {
return (
<ListItemText primary={i18n._(t`Apps`)} />
)
}
error:
ERROR in ./node_modules/import-fresh/node_modules/resolve-from/index.js
Module not found: Error: Can't resolve 'module' in 'D:\myProject\node_modules\import-fresh\node_modules\resolve-from'
# ./node_modules/import-fresh/node_modules/resolve-from/index.js 3:15-32
# ./node_modules/import-fresh/index.js
# ./node_modules/babel-plugin-macros/node_modules/cosmiconfig/dist/loaders.js
# ./node_modules/babel-plugin-macros/node_modules/cosmiconfig/dist/index.js
package.json:
"dependencies": {
"#babel/core": "^7.10.2",
"#condenast/xml-to-react": "^1.0.0",
"#date-io/moment": "1.3.13",
"#lingui/core": "^2.9.1",
"#lingui/react": "^2.9.1",
"#loadable/component": "^5.12.0",
"#material-ui/core": "^4.2.1",
"#material-ui/icons": "^4.2.1",
"#material-ui/lab": "^4.0.0-alpha.21",
"#material-ui/pickers": "^3.2.10",
"#svgr/webpack": "4.1.0",
"#types/crypto-js": "^3.1.43",
"#types/jxon": "^2.0.0",
"#types/lingui__macro": "^2.7.3",
"#types/lingui__react": "^2.8.2",
"#types/loadable__component": "^5.10.0",
"#types/lodash": "^4.14.149",
"#types/material-ui": "^0.21.7",
"#types/node": "^12.12.21",
"#types/react-beautiful-dnd": "^12.1.2",
"#types/react-loadable": "^5.5.3",
"#types/react-router-dom": "^5.1.3",
"#types/recharts": "^1.8.10",
"#typescript-eslint/eslint-plugin": "1.6.0",
"#typescript-eslint/parser": "1.6.0",
"axios": "^0.19.0",
"babel-eslint": "10.0.1",
"babel-jest": "^24.8.0",
"babel-loader": "^8.1.0",
"babel-plugin-named-asset-import": "^0.3.2",
"babel-preset-react-app": "^9.0.0",
"camelcase": "^5.2.0",
"case-sensitive-paths-webpack-plugin": "2.2.0",
"crypto-js": "^4.0.0",
"css-loader": "2.1.1",
"dotenv": "6.2.0",
"dotenv-expand": "4.2.0",
"eslint": "^5.16.0",
"eslint-config-react-app": "^4.0.1",
"eslint-loader": "2.1.2",
"eslint-plugin-flowtype": "2.50.1",
"eslint-plugin-import": "2.16.0",
"eslint-plugin-jsx-a11y": "6.2.1",
"eslint-plugin-react": "7.12.4",
"eslint-plugin-react-hooks": "^1.5.0",
"file-loader": "3.0.1",
"fs-extra": "7.0.1",
"html-webpack-plugin": "4.0.0-beta.5",
"identity-obj-proxy": "3.0.0",
"is-wsl": "^1.1.0",
"jest": "24.7.1",
"jest-environment-jsdom-fourteen": "0.1.0",
"jest-resolve": "24.7.1",
"jest-watch-typeahead": "0.3.0",
"jxon": "^2.0.0-beta.5",
"lodash": "^4.17.15",
"material-table": "^1.54.2",
"md5": "^2.2.1",
"mini-css-extract-plugin": "0.5.0",
"mobx": "4.3.1",
"mobx-react": "^6.1.1",
"moment": "^2.24.0",
"optimize-css-assets-webpack-plugin": "5.0.1",
"pnp-webpack-plugin": "1.2.1",
"postcss-flexbugs-fixes": "4.1.0",
"postcss-loader": "3.0.0",
"postcss-normalize": "7.0.1",
"postcss-preset-env": "6.6.0",
"postcss-safe-parser": "4.0.1",
"react": "^16.8.6",
"react-app-polyfill": "^1.0.1",
"react-beautiful-dnd": "^13.0.0",
"react-contenteditable": "^3.3.2",
"react-dev-utils": "^9.0.1",
"react-dom": "^16.8.6",
"react-json-editor-ajrm": "^2.5.9",
"react-loadable": "^5.5.0",
"react-perf-devtool": "^3.1.8",
"react-router-dom": "^5.0.1",
"recharts": "^1.8.5",
"resolve": "1.10.0",
"semver": "6.0.0",
"style-loader": "0.23.1",
"terser-webpack-plugin": "1.2.3",
"ts-pnp": "1.1.2",
"tslint": "^5.20.1",
"url-loader": "1.1.2",
"uuid": "^7.0.2",
"validator": "^11.1.0",
"webpack": "4.29.6",
"webpack-dev-server": "3.2.1",
"webpack-manifest-plugin": "2.0.4",
"workbox-webpack-plugin": "4.2.0"
},
"babel": {
"presets": [
"react-app",
"babel-preset-env",
"babel-preset-react",
"#lingui/babel-preset-react"
],
"plugins": [
"macros",
"babel-plugin-macros",
[
"#babel/plugin-proposal-decorators",
{
"legacy": true
}
]
],
"ignore": [
"node_modules",
"public/dist"
]
},
"devDependencies": {
"#babel/plugin-proposal-decorators": "^7.7.4",
"#babel/preset-env": "^7.10.2",
"#lingui/cli": "^2.9.1",
"#lingui/macro": "^2.9.1",
"autoprefixer": "^9.6.1",
"awesome-typescript-loader": "^5.2.1",
"babel-core": "^7.0.0-bridge.0",
"babel-plugin-macros": "^2.8.0",
"babel-plugin-transform-decorators-legacy": "^1.3.5",
"babel-preset-env": "^1.7.0",
"babel-preset-react": "^6.24.1",
"cross-env": "^5.2.0",
"cssnano": "^4.1.10",
"eslint-config-prettier": "^6.0.0",
"eslint-plugin-prettier": "^3.1.0",
"fork-ts-checker-webpack-plugin": "^3.1.1",
"hard-source-webpack-plugin": "^0.13.1",
"node-cmd": "^3.0.0",
"node-sass": "^4.9.3",
"prettier": "^1.18.2",
"prettier-eslint": "^9.0.0",
"sass-loader": "^7.1.0",
"source-map-loader": "^0.2.4",
"ts-loader": "^6.2.1",
"typescript": "^3.7.3",
"typescript-eslint-parser": "^18.0.0",
"webpack-cli": "^3.3.6"
},

Jest is not running in react project

I am getting the following error:
Test suite failed to run
Plugin/Preset files are not allowed to export objects, only functions. In
D:\final-repo\ISGCustomerPortalClientSide\node_modules\babel-preset-react\lib\index.js
Any idea as to why Jest won't run ? I read it has something to do with babel, but I didn't manage to grasp as to why.
"devDependencies": {
"autoprefixer": "7.1.4",
"babel-cli": "6.26.0",
"babel-core": "6.26.3",
"babel-eslint": "7.2.3",
"babel-jest": "20.0.3",
"babel-loader": "7.1.1",
"babel-plugin-transform-react-constant-elements": "6.23.0",
"babel-plugin-transform-react-remove-prop-types": "0.4.6",
"babel-polyfill": "6.23.0",
"babel-preset-env": "1.7.0",
"babel-preset-react": "6.24.1",
"babel-preset-stage-1": "6.24.1",
"browser-sync": "2.26.7",
"chalk": "2.0.1",
"concurrently": "3.5.0",
"connect-history-api-fallback": "1.3.0",
"coveralls": "3.0.4",
"css-loader": "3.0.0",
"enzyme": "3.9.0",
"enzyme-adapter-react-16": "1.12.1",
"eslint": "4.2.0",
"eslint-plugin-import": "2.7.0",
"eslint-plugin-react": "7.3.0",
"eslint-watch": "5.1.2",
"extract-text-webpack-plugin": "4.0.0-beta.0",
"file-loader": "1.1.11",
"hard-source-webpack-plugin": "0.7.4",
"history": "4.6.0",
"html-webpack-plugin": "3.2.0",
"identity-obj-proxy": "3.0.0",
"jest": "24.8.0",
"jest-cli": "24.8.0",
"json-loader": "0.5.4",
"mock-local-storage": "1.0.5",
"mockdate": "2.0.1",
"node": "8.9.4",
"node-sass": "4.11.0",
"opn-cli": "3.1.0",
"postcss-loader": "2.0.6",
"prompt": "1.0.0",
"prop-types": "15.5.10",
"raf": "3.3.2",
"react-hot-loader": "4.0.1",
"react-test-renderer": "16.0.0",
"redux-immutable-state-invariant": "2.0.0",
"redux-mock-store": "1.3.0",
"replace": "1.1.0",
"rimraf": "2.6.1",
"sass-loader": "6.0.6",
"style-loader": "0.21.0",
"url-loader": "1.0.1",
"webpack": "4.6.0",
"webpack-bundle-analyzer": "3.3.2",
"webpack-dev-middleware": "3.1.3",
"webpack-hot-middleware": "2.22.1",
"webpack-md5-hash": "0.0.6"
},

What is the correct api to use for enzyme

I am currently working on a react project with karma, enzyme as my test framework. I have gone through the enzyme document from: https://github.com/airbnb/enzyme/blob/master/docs/api/shallow.md. In this document, it says that to.have.equal is the API to check a value. See below example.
expect(wrapper.find(Foo)).to.have.length(3);
but when I write my test cases, karma complains to is not defined. After some searching I have to use below code instead of to.have.equal.
expect(wrapper.find(Foo).length).toEqual(1);
The enzyme version is used is '^2.5.1'. Did I use a wrong version? Or the document is out of date? If so, where I can find the correct API document?
--EDIT1--
Below is the command I used to run karma:
./node_modules/karma/bin/karma start config/karma.conf.js --single-run --browsers PhantomJS
Below is the dependencies listed in my package.json file:
"devDependencies": {
"autoprefixer": "^6.3.6",
"babel-core": "^6.6.5",
"babel-eslint": "^6.1.0",
"babel-loader": "^6.2.4",
"babel-plugin-transform-class-properties": "^6.11.5",
"babel-preset-airbnb": "^2.1.1",
"babel-preset-es2015": "^6.3.13",
"babel-preset-react": "^6.3.13",
"babel-preset-react-hmre": "^1.1.1",
"babel-preset-stage-2": "^6.13.0",
"classnames": "^2.2.5",
"cross-env": "^1.0.7",
"css-loader": "^0.23.1",
"enzyme": "^2.5.1",
"eslint": "^3.0.1",
"eslint-plugin-babel": "^3.0.0",
"eslint-plugin-react": "^5.2.2",
"eventsource-polyfill": "^0.9.6",
"extract-text-webpack-plugin": "^1.0.1",
"file-loader": "^0.9.0",
"html-webpack-plugin": "^2.10.0",
"jasmine-core": "^2.4.1",
"json-loader": "^0.5.4",
"karma": "^0.13.19",
"karma-babel-preprocessor": "^6.0.1",
"karma-browserify": "^5.0.0",
"karma-chrome-launcher": "^0.2.2",
"karma-jasmine": "^0.3.7",
"karma-mocha": "^0.2.1",
"karma-phantomjs-launcher": "^1.0.0",
"karma-sourcemap-loader": "^0.3.7",
"karma-webpack": "^1.7.0",
"koa": "^1.2.0",
"koa-router": "^5.4.0",
"koa-serve-index": "^1.1.1",
"koa-static": "^2.0.0",
"koa-views": "^4.1.0",
"koa-webpack-dev-middleware": "^1.2.1",
"koa-webpack-hot-middleware": "^1.0.3",
"less": "^2.7.1",
"less-loader": "^2.2.3",
"loader-utils": "^0.2.16",
"phantomjs-prebuilt": "^2.1.4",
"postcss": "^5.1.2",
"postcss-display-inline-block": "^1.0.0",
"postcss-easysprites": "^0.1.7",
"postcss-import": "^8.1.2",
"postcss-less": "^0.14.0",
"postcss-loader": "^0.9.1",
"postcss-modules": "^0.5.0",
"precss": "^1.4.0",
"raphael": "^2.2.1",
"react-css-modules": "^3.7.6",
"react-hot-loader": "^1.3.0",
"rimraf": "^2.4.3",
"style-loader": "^0.13.0",
"url-loader": "^0.5.7",
"webpack": "^1.12.9",
"webpack-dashboard": "^0.0.1",
"webpack-dev-server": "^1.16.2",
"webpack-hot-middleware": "^2.12.2"
},
"dependencies": {
"axios": "^0.15.2",
"bootstrap": "^3.3.7",
"history": "^3.0.0",
"jquery": "^3.0.0",
"react": "^15.3.2",
"react-addons-test-utils": "^15.3.2",
"react-bootstrap": "^0.30.5",
"react-dom": "^15.0.1",
"react-form": "^0.0.2",
"react-paginate": "^2.2.3",
"react-redux": "^4.4.5",
"react-router": "^2.8.1",
"redux": "^3.6.0",
"redux-logger": "^2.7.4",
"redux-router": "^2.1.2",
"redux-thunk": "^2.1.0"
}
Enzyme (and AFAIK the examples) was written with Mocha in mind:
Enzyme was originally designed to work with Mocha [...]
See the Karma example:
it("contains spec with an expectation", function() {
expect(mount(<Foo />).find('.foo').length).toBe(1);
});
As the docs state:
Enzyme is compatible with Karma, but often requires a little bit of configuration.
Don't conflate test runners with rendering frameworks, or assertion libraries (like Chai) with either.

Relay transform error - Unexpected character "\u2028"

Since upgrading React and Babel, I'm getting this error in one of my files. It is clearly a phantom error as everything worked fine before and this file wasn't changed at all. Does anyone have a clue what is happening here and how I can fix it?
The error
Uncaught Error: Relay transform error Syntax Error FileXYZ - Unexpected character "\u2028".
9: user_id
10: user_name
^
in file XYZ. Try updating your GraphQL schema if an argument/field/type was recently added.
My previous package.json was like this:
"dependencies": {
"babel-core": "^5.8.22",
"babel-loader": "^5.3.2",
"babel-polyfill": "^6.5.0",
"babel-preset-es2015": "^6.0.0",
"babel-preset-react": "^6.0.0",
"babel-relay-plugin": "^0.3.0",
"es5-shim": "^4.5.7",
"graphiql": "0.6.6",
"graphql": "^0.4.18",
"history": "1.13.1",
"isomorphic-fetch": "^2.1.1",
"react": "^0.14.8",
"react-addons-shallow-compare": "^0.14.0",
"react-chartjs": "^0.6.0",
"react-dom": "^0.14.0",
"react-loader": "^2.0.0",
"react-relay": "^0.4.0",
"react-router": "1.0.0-rc3",
"react-router-relay": "^0.7.0",
"superagent": "^1.2.0",
"webpack": "^1.13.1"
},
"devDependencies": {
"babel-eslint": "^3.1.30",
"babel-jest": "^5.3.0",
"jest-cli": "^0.9.0",
"react-addons-test-utils": "^0.14.0-beta3"
},
Now it is like this:
"dependencies": {
"babel-polyfill": "^6.9.1",
"babel-runtime": "^6.9.2",
"es5-shim": "^4.5.7",
"graphiql": "0.7.3",
"graphql": "^0.6.2",
"history": "1.13.1",
"isomorphic-fetch": "^2.1.1",
"react": "^15.2.1",
"react-addons-shallow-compare": "^15.2.1",
"react-dom": "^15.2.1",
"react-loader": "^2.0.0",
"react-relay": "^0.9.2",
"react-router": "1.0.0-rc3",
"react-router-relay": "^0.7.0",
"superagent": "^1.2.0"
},
"devDependencies": {
"babel-core": "^6.11.4",
"babel-eslint": "^6.1.2",
"babel-jest": "^13.2.2",
"babel-loader": "^6.2.4",
"babel-plugin-add-module-exports": "^0.2.1",
"babel-plugin-transform-runtime": "^6.9.0",
"babel-preset-es2015": "^6.9.0",
"babel-preset-react": "^6.11.1",
"babel-preset-stage-0": "^6.5.0",
"babel-preset-stage-1": "^6.5.0",
"babel-preset-stage-2": "^6.11.0",
"babel-relay-plugin": "^0.9.2",
"jest-cli": "^12.1.1",
"react-addons-test-utils": "^15.2.1",
"webpack": "^1.13.1"
},
I haven't been able to update react-router and relay as of yet as it introduced many breaking changes, which I haven't been able to address completely and I'm asking about this in a different question.
Any help on the this issue would be greatly appreciated. Thanks!

Resources