Bug 1436690 - Switch react (et al.) to version 16.2, and update dependencies; r=bgrins.
Since React 16 landed in the toolbox, we should have it as well in the launchpad and in tests.
This forced us to do some changes:
- Remove the Perf util hook in local-dev
- Update Enzyme to version 3
- Add an enzyme adapter for React.
- Add react-prop-types dependency
The require-helper file is renamed into mocha-test-setup since it takes care of many things now.
MozReview-Commit-ID: 2tDRjrjc4Dh
--- a/devtools/client/netmonitor/package.json
+++ b/devtools/client/netmonitor/package.json
@@ -3,30 +3,30 @@
"version": "0.0.1",
"engines": {
"node": ">=6.9.0"
},
"description": "Network monitor in developer tools",
"dependencies": {
"babel-plugin-transform-flow-strip-types": "^6.22.0",
"babel-plugin-transform-react-jsx": "^6.24.1",
+ "babel-plugin-transform-object-rest-spread": "^6.26.0",
"codemirror": "^5.24.2",
"devtools-config": "=0.0.12",
"devtools-contextmenu": "=0.0.3",
"devtools-launchpad": "=0.0.114",
"devtools-modules": "=0.0.32",
"devtools-source-editor": "=0.0.3",
"jszip": "^3.1.3",
- "react": "=15.6.1",
- "react-dom": "=15.6.1",
- "react-redux": "=5.0.3",
- "redux": "^3.6.0",
+ "react": "=16.2.0",
+ "react-dom": "=16.2.0",
+ "react-prop-types": "=0.4.0",
+ "react-redux": "=5.0.6",
+ "redux": "^3.7.2",
"reselect": "^3.0.1"
},
"devDependencies": {
- "babel-plugin-transform-object-rest-spread": "^6.26.0",
- "babel-register": "^6.24.0",
"file-loader": "^0.10.1"
},
"scripts": {
"start": "node bin/dev-server"
}
}
--- a/devtools/client/webconsole/local-dev/index.js
+++ b/devtools/client/webconsole/local-dev/index.js
@@ -7,23 +7,16 @@
"use strict";
const React = require("react");
const ReactDOM = require("react-dom");
const { EventEmitter } = require("devtools-modules");
const { Services: { appinfo, pref } } = require("devtools-modules");
const { bootstrap } = require("devtools-launchpad");
-try {
- const Perf = require("react-addons-perf");
- window.Perf = Perf;
-} catch (e) {
- // Perf addon is only available in development builds
-}
-
EventEmitter.decorate(window);
require("../../themes/widgets.css");
require("../../themes/webconsole.css");
require("../../themes/components-frame.css");
require("../../themes/light-theme.css");
require("../../shared/components/reps/reps.css");
require("../../shared/components/tabs/Tabs.css");
rename from devtools/client/webconsole/new-console-output/test/require-helper.js
rename to devtools/client/webconsole/new-console-output/test/mocha-test-setup.js
--- a/devtools/client/webconsole/new-console-output/test/require-helper.js
+++ b/devtools/client/webconsole/new-console-output/test/mocha-test-setup.js
@@ -1,14 +1,19 @@
/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
+// Configure enzyme with React 16 adapter.
+const Enzyme = require("enzyme");
+const Adapter = require("enzyme-adapter-react-16");
+Enzyme.configure({ adapter: new Adapter() });
+
+// Point to vendored-in files and mocks when needed.
const requireHacker = require("require-hacker");
-
requireHacker.global_hook("default", path => {
switch (path) {
// For Enzyme
case "react-dom":
return `const ReactDOM = require('devtools/client/shared/vendor/react-dom'); module.exports = ReactDOM`;
case "react-dom/server":
return `const ReactDOMServer = require('devtools/client/shared/vendor/react-dom-server'); module.exports = ReactDOMServer`;
case "react-addons-test-utils":
--- a/devtools/client/webconsole/package.json
+++ b/devtools/client/webconsole/package.json
@@ -14,16 +14,16 @@
"babel-plugin-transform-object-rest-spread": "^6.26.0",
"cross-env": "^3.1.3",
"devtools-config": "0.0.12",
"devtools-launchpad": "0.0.115",
"devtools-modules": "0.0.31",
"file-loader": "^1.1.6",
"netmonitor": "file:../netmonitor",
"raw-loader": "^0.5.1",
- "react": "=15.3.2",
- "react-addons-perf": "=15.3.2",
- "react-dom": "=15.3.2",
- "react-redux": "=5.0.3",
- "redux": "^3.6.0",
- "require-hacker": "^2.1.4",
+ "react": "=16.2.0",
+ "react-dom": "=16.2.0",
+ "react-prop-types": "=0.4.0",
+ "react-redux": "=5.0.6",
+ "redux": "^3.7.2",
+ "require-hacker": "^2.1.4"
}
}