Bug 1433123 - Fix console launchpad; r=Honza. draft
authorNicolas Chevobbe <nchevobbe@mozilla.com>
Thu, 25 Jan 2018 15:27:25 +0100
changeset 737997 c94063664063ba18d2bb466e99519e701707d6e6
parent 737939 6602576987baec9edbaaad117114ba5227db6261
push id96821
push userbmo:nchevobbe@mozilla.com
push dateThu, 25 Jan 2018 15:24:21 +0000
reviewersHonza
bugs1433123
milestone60.0a1
Bug 1433123 - Fix console launchpad; r=Honza. Updating to latest devtools-launchpad add adding the disablePostCSS option fixes the postCSS errors. Remove the netmonitor from babelExclude and add the rewrite-lazy-getter loader fixes the issues about the use of the object spread operator. MozReview-Commit-ID: 4wRHuR4q7fz
devtools/client/webconsole/.babelrc
devtools/client/webconsole/configs/development.json
devtools/client/webconsole/package.json
devtools/client/webconsole/webpack.config.js
--- a/devtools/client/webconsole/.babelrc
+++ b/devtools/client/webconsole/.babelrc
@@ -1,10 +1,12 @@
 {
   "env": {
     "test": {
       "presets": ["es2015", "es2017"]
     }
   },
   "plugins": [
-    "transform-object-rest-spread"
+    "transform-react-jsx",
+    "transform-object-rest-spread",
+    "transform-flow-strip-types"
   ]
 }
--- a/devtools/client/webconsole/configs/development.json
+++ b/devtools/client/webconsole/configs/development.json
@@ -7,29 +7,19 @@
   "dir": "ltr",
   "features": {
   },
   "logging": {
     "client": false,
     "firefoxProxy": false,
     "actions": false
   },
-  "chrome": {
-    "debug": false,
-    "host": "localhost",
-    "port": 9222
-  },
-  "node": {
-    "debug": false,
-    "host": "localhost",
-    "port": 9229
-  },
   "firefox": {
     "webSocketConnection": false,
-    "proxyHost": "localhost:9000",
-    "webSocketHost": "localhost:6080",
-    "mcPath": "./firefox"
+    "host": "localhost",
+    "webSocketPort": 8116,
+    "tcpPort": 6080
   },
   "development": {
     "serverPort": 8000,
     "examplesPort": 7999
   }
 }
--- a/devtools/client/webconsole/package.json
+++ b/devtools/client/webconsole/package.json
@@ -7,22 +7,25 @@
   "scripts": {
     "preinstall": "cd ../netmonitor && npm install && cd ../webconsole",
     "start": "cross-env NODE_ENV=production node bin/dev-server",
     "dev": "node bin/dev-server",
     "test": "cross-env NODE_ENV=test NODE_PATH=../../../ mocha new-console-output/test/**/*.test.js --compilers js:babel-register -r jsdom-global/register -r ./new-console-output/test/require-helper.js"
   },
   "dependencies": {
     "amd-loader": "0.0.5",
+    "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",
     "babel-preset-es2015": "^6.6.0",
     "babel-preset-es2017": "^6.24.1",
     "babel-register": "^6.24.0",
     "cross-env": "^3.1.3",
     "devtools-config": "0.0.12",
-    "devtools-launchpad": "0.0.96",
+    "devtools-launchpad": "0.0.115",
     "devtools-modules": "0.0.31",
     "devtools-source-editor": "=0.0.3",
     "enzyme": "^2.4.1",
     "expect": "^1.16.0",
     "file-loader": "^0.10.1",
     "immutable": "^3.8.1",
     "jsdom": "^9.4.1",
     "jsdom-global": "^2.0.0",
@@ -32,13 +35,10 @@
     "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",
     "reselect": "^3.0.1",
     "sinon": "^1.17.5"
-  },
-  "devDependencies": {
-    "babel-plugin-transform-object-rest-spread": "^6.26.0"
   }
 }
--- a/devtools/client/webconsole/webpack.config.js
+++ b/devtools/client/webconsole/webpack.config.js
@@ -36,16 +36,18 @@ let webpackConfig = {
           * so the raw-loader declared in devtools-launchpad config can load
           * those files.
           */
           "rewrite-raw",
           // Replace all references to this.browserRequire() by require()
           "rewrite-browser-require",
           // Replace all references to loader.lazyRequire() by require()
           "rewrite-lazy-require",
+          // Replace all references to loader.lazyGetter() by require()
+          "rewrite-lazy-getter",
         ],
       }
     ]
   },
 
   resolveLoader: {
     modules: [
       path.resolve("./node_modules"),
@@ -137,21 +139,21 @@ const mappings = [
     }
   ],
 ];
 
 webpackConfig.plugins = mappings.map(([regex, res]) =>
   new NormalModuleReplacementPlugin(regex, res));
 
 const basePath = path.join(__dirname, "../../").replace(/\\/g, "\\\\");
-const baseName = path.basename(__dirname);
 
 let config = toolboxConfig(webpackConfig, getConfig(), {
-  // Exclude to transpile all scripts in devtools/ but not for this folder
-  babelExcludes: new RegExp(`^${basePath}(.(?!${baseName}))*$`)
+  // Exclude to transpile all scripts in devtools/ but not for this folder nor netmonitor.
+  babelExcludes: new RegExp(`^${basePath}(.(?!(webconsole|netmonitor)))*$`),
+  disablePostCSS: true,
 });
 
 // Remove loaders from devtools-launchpad's webpack.config.js
 // * For svg-inline loader:
 //   Webconsole uses file loader to bundle image assets instead of svg-inline-loader
 config.module.rules = config.module.rules
   .filter((rule) => !["svg-inline-loader"].includes(rule.loader));