From 816e46192f9e419feeda5424ac2adee11a1ebdaf Mon Sep 17 00:00:00 2001
From: Alf Eaton <eaton.alf@gmail.com>
Date: Mon, 21 Aug 2017 15:26:15 +0100
Subject: [PATCH] Fix hot module reloading

---
 packages/collabra/package.json                  | 15 ++++++++-------
 packages/collabra/webpack/common-rules.js       |  5 +++--
 packages/collabra/webpack/webpack.dev.config.js | 14 +++-----------
 3 files changed, 14 insertions(+), 20 deletions(-)

diff --git a/packages/collabra/package.json b/packages/collabra/package.json
index f98effb74..d7ac49d07 100644
--- a/packages/collabra/package.json
+++ b/packages/collabra/package.json
@@ -15,7 +15,7 @@
     "moment": "^2.18.1",
     "prop-types": "^15.5.10",
     "pubsweet": "1.0.0-alpha.4",
-    "pubsweet-client": "^1.0.0-alpha.1",
+    "pubsweet-client": "^1.0.0-alpha.3",
     "pubsweet-component-ink-backend": "0.0.10",
     "pubsweet-component-ink-frontend": "^0.1.0",
     "pubsweet-component-login": "^0.3.0",
@@ -25,7 +25,7 @@
     "pubsweet-component-xpub-dashboard": "^0.0.2",
     "pubsweet-component-xpub-manuscript": "^0.0.2",
     "pubsweet-component-xpub-submit": "^0.0.2",
-    "pubsweet-server": "^1.0.0-alpha.1",
+    "pubsweet-server": "^1.0.0-alpha.2",
     "pubsweet-theme-plugin": "^0.0.1",
     "react": "^15.6.1",
     "react-dom": "^15.6.1",
@@ -42,7 +42,9 @@
   },
   "devDependencies": {
     "babel-loader": "^7.1.1",
-    "babel-preset-react-app": "^3.0.2",
+    "babel-preset-env": "^1.6.0",
+    "babel-preset-react": "^6.24.1",
+    "babel-preset-stage-2": "^6.24.1",
     "compression-webpack-plugin": "^1.0.0",
     "copy-webpack-plugin": "^4.0.1",
     "css-loader": "^0.28.4",
@@ -51,17 +53,16 @@
     "html-webpack-plugin": "^2.24.0",
     "joi-browser": "^10.0.6",
     "node-sass": "^4.5.3",
-    "react-hot-loader": "^3.0.0-beta.7",
+    "react-hot-loader": "^3.0.0-beta.6",
     "sass-loader": "^6.0.6",
     "string-replace-loader": "^1.3.0",
     "style-loader": "^0.18.2",
-    "webpack": "^3.5.5",
+    "webpack": "^2.3.2",
     "webpack-dev-middleware": "^1.12.0",
     "webpack-hot-middleware": "^2.18.1"
   },
   "scripts": {
     "setupdb": "pubsweet setupdb --dev ./",
-    "start": "pubsweet run --dev",
-    "debug": "node $NODE_DEBUG_OPTION ./node_modules/pubsweet/bin/pubsweet-run.js --dev"
+    "start": "pubsweet run --dev"
   }
 }
diff --git a/packages/collabra/webpack/common-rules.js b/packages/collabra/webpack/common-rules.js
index d48e5473c..7cea65956 100644
--- a/packages/collabra/webpack/common-rules.js
+++ b/packages/collabra/webpack/common-rules.js
@@ -43,8 +43,9 @@ module.exports = [
         loader: 'babel-loader',
         options: {
           presets: [
-            'env',
-            'react-app'
+            ['env', { modules: false }],
+            'react',
+            'stage-2'
           ],
           plugins: [
             'react-hot-loader/babel',
diff --git a/packages/collabra/webpack/webpack.dev.config.js b/packages/collabra/webpack/webpack.dev.config.js
index 355182ad4..eabb96634 100644
--- a/packages/collabra/webpack/webpack.dev.config.js
+++ b/packages/collabra/webpack/webpack.dev.config.js
@@ -1,12 +1,7 @@
-process.env.NODE_ENV = 'development'
-process.env.BABEL_ENV = 'development'
-
 const path = require('path')
 const webpack = require('webpack')
-const ThemePlugin = require('pubsweet-theme-plugin')
 const CopyWebpackPlugin = require('copy-webpack-plugin')
 const rules = require('./common-rules')
-const config = require('../config/dev')
 
 module.exports = [
   {
@@ -16,8 +11,8 @@ module.exports = [
     context: path.join(__dirname, '..', 'app'),
     entry: {
       app: [
-        // 'react-hot-loader/patch',
-        // 'webpack-hot-middleware/client',
+        'react-hot-loader/patch',
+        'webpack-hot-middleware/client',
         './app'
       ]
     },
@@ -41,13 +36,10 @@ module.exports = [
       alias: {
         joi: 'joi-browser'
       },
-      plugins: [
-        new ThemePlugin(config['pubsweet-client'].theme)
-      ],
       extensions: ['.js', '.jsx'],
     },
     plugins: [
-      // new webpack.HotModuleReplacementPlugin(),
+      new webpack.HotModuleReplacementPlugin(),
       new webpack.NoEmitOnErrorsPlugin(),
       new webpack.DefinePlugin({
         'process.env.NODE_ENV': JSON.stringify('dev'),
-- 
GitLab