diff --git a/client/configuration/babel/babel.dev.js b/client/configuration/babel/babel.dev.js index 71dd505d..ced66fba 100644 --- a/client/configuration/babel/babel.dev.js +++ b/client/configuration/babel/babel.dev.js @@ -6,8 +6,5 @@ module.exports = { "stage-0", "react" ], - plugins: [ - "react-hot-loader/babel", - "babel-plugin-transform-decorators-legacy" - ] + plugins: ["babel-plugin-transform-decorators-legacy"] }; diff --git a/client/configuration/webpack/webpack.config.dev.js b/client/configuration/webpack/webpack.config.dev.js index 7bbfa9ca..63d3396a 100644 --- a/client/configuration/webpack/webpack.config.dev.js +++ b/client/configuration/webpack/webpack.config.dev.js @@ -10,11 +10,7 @@ const nodeModules = path.resolve("node_modules"); module.exports = { mode: "development", devtool: "eval", - entry: [ - "webpack-hot-middleware/client?quiet=true&noInfo=true", - require.resolve("react-hot-loader/patch"), - "./src/index" - ], + entry: ["./src/index"], output: { path: path.resolve("build"), pathinfo: true, @@ -47,9 +43,7 @@ module.exports = { { loader: "postcss-loader", options: { - plugins: function() { - return []; - } + plugins: () => [] } } ] @@ -75,8 +69,6 @@ module.exports = { template: path.resolve("index.html"), favicon: path.resolve("favicon.png") }), - // Note: only CSS is currently hot reloaded - new webpack.HotModuleReplacementPlugin(), new webpack.NoEmitOnErrorsPlugin() ] }; diff --git a/client/package-lock.json b/client/package-lock.json index 0af99bd1..d6716aa3 100644 --- a/client/package-lock.json +++ b/client/package-lock.json @@ -983,12 +983,6 @@ "integrity": "sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw==", "dev": true }, - "ansi-html": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", - "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", - "dev": true - }, "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", @@ -4618,11 +4612,6 @@ "urijs": "^1.16.1" } }, - "dom-walk": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz", - "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=" - }, "domain-browser": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", @@ -4779,14 +4768,6 @@ "is-arrayish": "^0.2.1" } }, - "error-stack-parser": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-1.3.6.tgz", - "integrity": "sha1-4Oc7k+QXE40c18C3RrGkoUhUwpI=", - "requires": { - "stackframe": "^0.3.1" - } - }, "es-abstract": { "version": "1.12.0", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.12.0.tgz", @@ -5874,7 +5855,8 @@ "ansi-regex": { "version": "2.1.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "aproba": { "version": "1.2.0", @@ -5895,12 +5877,14 @@ "balanced-match": { "version": "1.0.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, "dev": true, + "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -5915,17 +5899,20 @@ "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "concat-map": { "version": "0.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "core-util-is": { "version": "1.0.2", @@ -6042,7 +6029,8 @@ "inherits": { "version": "2.0.3", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "ini": { "version": "1.3.5", @@ -6054,6 +6042,7 @@ "version": "1.0.0", "bundled": true, "dev": true, + "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -6068,6 +6057,7 @@ "version": "3.0.4", "bundled": true, "dev": true, + "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -6075,12 +6065,14 @@ "minimist": { "version": "0.0.8", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "minipass": { "version": "2.2.4", "bundled": true, "dev": true, + "optional": true, "requires": { "safe-buffer": "^5.1.1", "yallist": "^3.0.0" @@ -6099,6 +6091,7 @@ "version": "0.5.1", "bundled": true, "dev": true, + "optional": true, "requires": { "minimist": "0.0.8" } @@ -6179,7 +6172,8 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "object-assign": { "version": "4.1.1", @@ -6191,6 +6185,7 @@ "version": "1.4.0", "bundled": true, "dev": true, + "optional": true, "requires": { "wrappy": "1" } @@ -6276,7 +6271,8 @@ "safe-buffer": { "version": "5.1.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "safer-buffer": { "version": "2.1.2", @@ -6312,6 +6308,7 @@ "version": "1.0.2", "bundled": true, "dev": true, + "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -6331,6 +6328,7 @@ "version": "3.0.1", "bundled": true, "dev": true, + "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -6374,12 +6372,14 @@ "wrappy": { "version": "1.0.2", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "yallist": { "version": "3.0.2", "bundled": true, - "dev": true + "dev": true, + "optional": true } } }, @@ -6471,15 +6471,6 @@ "is-glob": "^2.0.0" } }, - "global": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz", - "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=", - "requires": { - "min-document": "^2.19.0", - "process": "~0.5.1" - } - }, "global-modules-path": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/global-modules-path/-/global-modules-path-2.3.0.tgz", @@ -6780,12 +6771,6 @@ "whatwg-encoding": "^1.0.1" } }, - "html-entities": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz", - "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=", - "dev": true - }, "html-minifier": { "version": "3.5.19", "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.19.tgz", @@ -9073,14 +9058,6 @@ "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", "dev": true }, - "min-document": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", - "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", - "requires": { - "dom-walk": "^0.1.0" - } - }, "mini-css-extract-plugin": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.4.1.tgz", @@ -11288,11 +11265,6 @@ "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", "dev": true }, - "process": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz", - "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=" - }, "process-nextick-args": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", @@ -11547,11 +11519,6 @@ "prop-types": "^15.5.10" } }, - "react-deep-force-update": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/react-deep-force-update/-/react-deep-force-update-2.1.1.tgz", - "integrity": "sha1-jqQmPNZFWgULN0RbPwj9g52G6Qk=" - }, "react-dom": { "version": "16.4.2", "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.4.2.tgz", @@ -11574,18 +11541,6 @@ "react-side-effect": "^1.1.0" } }, - "react-hot-loader": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/react-hot-loader/-/react-hot-loader-3.1.3.tgz", - "integrity": "sha512-d7nZf78irxoGN5PY4zd6CSgZiroOhvIWzRast3qwTn4sSnBwlt08kV8WMQ9mitmxEdlCTwZt+5ClrRSjxWguMQ==", - "requires": { - "global": "^4.3.0", - "react-deep-force-update": "^2.1.1", - "react-proxy": "^3.0.0-alpha.0", - "redbox-react": "^1.3.6", - "source-map": "^0.6.1" - } - }, "react-icon-base": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/react-icon-base/-/react-icon-base-2.1.0.tgz", @@ -11599,14 +11554,6 @@ "react-icon-base": "2.1.0" } }, - "react-proxy": { - "version": "3.0.0-alpha.1", - "resolved": "https://registry.npmjs.org/react-proxy/-/react-proxy-3.0.0-alpha.1.tgz", - "integrity": "sha1-RABCa8+oDKpnJMd1VpUxUgn6Swc=", - "requires": { - "lodash": "^4.6.1" - } - }, "react-redux": { "version": "5.0.7", "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-5.0.7.tgz", @@ -11707,17 +11654,6 @@ "util.promisify": "^1.0.0" } }, - "redbox-react": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/redbox-react/-/redbox-react-1.6.0.tgz", - "integrity": "sha512-mLjM5eYR41yOp5YKHpd3syFeGq6B4Wj5vZr64nbLvTZW5ZLff4LYk7VE4ITpVxkZpCY6OZuqh0HiP3A3uEaCpg==", - "requires": { - "error-stack-parser": "^1.3.6", - "object-assign": "^4.0.1", - "prop-types": "^15.5.4", - "sourcemapped-stacktrace": "^1.1.6" - } - }, "redent": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", @@ -12533,7 +12469,8 @@ "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true }, "source-map-resolve": { "version": "0.5.2", @@ -12571,21 +12508,6 @@ "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", "dev": true }, - "sourcemapped-stacktrace": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/sourcemapped-stacktrace/-/sourcemapped-stacktrace-1.1.8.tgz", - "integrity": "sha512-OkVoI7GQOLl/laR1qsSo1c87tS8kF2VXhQq2SrQCDdXufBAcm8FgXogWso96ciMYoDtTw1Dn70CVdwYzoYs6Pg==", - "requires": { - "source-map": "0.5.6" - }, - "dependencies": { - "source-map": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=" - } - } - }, "spdx-correct": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", @@ -12665,11 +12587,6 @@ "integrity": "sha1-1PM6tU6OOHeLDKXP07OvsS22hiA=", "dev": true }, - "stackframe": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-0.3.1.tgz", - "integrity": "sha1-M6qE8Rd6VUjIk1Uzy/6zQgl19aQ=" - }, "static-extend": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", @@ -14158,18 +14075,6 @@ } } }, - "webpack-hot-middleware": { - "version": "2.22.3", - "resolved": "https://registry.npmjs.org/webpack-hot-middleware/-/webpack-hot-middleware-2.22.3.tgz", - "integrity": "sha512-mrG3bJGX4jgWbrpY0ghIpPgCmNhZziFMBJBmZfpIe6K/P1rWPkdkbGihbCUIufgQ8ruX4txE5/CKSeFNzDcYOw==", - "dev": true, - "requires": { - "ansi-html": "0.0.7", - "html-entities": "^1.2.0", - "querystring": "^0.2.0", - "strip-ansi": "^3.0.0" - } - }, "webpack-log": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-1.2.0.tgz", diff --git a/client/package.json b/client/package.json index 0909f0d6..1e64eb74 100644 --- a/client/package.json +++ b/client/package.json @@ -44,10 +44,8 @@ "react-autocomplete": "^1.7.2", "react-dom": "^16.4.1", "react-helmet": "^5.2.0", - "react-hot-loader": "^3.0.0-beta.7", "react-icons": "^2.2.7", "react-redux": "^5.0.6", - "redbox-react": "^1.3.0", "redux": "^3.7.2", "redux-thunk": "^2.2.0", "regl": "^1.3.1", @@ -99,8 +97,7 @@ "url-loader": "^1.1.0", "webpack": "^4.16.0", "webpack-cli": "^3.1.0", - "webpack-dev-middleware": "^3.1.3", - "webpack-hot-middleware": "^2.22.3" + "webpack-dev-middleware": "^3.1.3" }, "jest": { "testMatch": [ diff --git a/client/server/development.js b/client/server/development.js index fa8938ff..4c6e5108 100644 --- a/client/server/development.js +++ b/client/server/development.js @@ -32,13 +32,11 @@ app.use(historyApiFallback({ verbose: false })); app.use( require("webpack-dev-middleware")(compiler, { - logLevel: 'warn', + logLevel: "warn", publicPath: config.output.publicPath }) ); -app.use(require("webpack-hot-middleware")(compiler)); - app.use(favicon("./favicon.png")); app.get("*", (req, res) => { diff --git a/client/src/index.js b/client/src/index.js index 17f7a212..da4c4fee 100644 --- a/client/src/index.js +++ b/client/src/index.js @@ -2,34 +2,15 @@ /* eslint-disable no-console */ import React from "react"; import ReactDOM from "react-dom"; -import { AppContainer } from "react-hot-loader"; import { Provider } from "react-redux"; -import Redbox from "redbox-react"; /* our code */ import App from "./components/app"; import store from "./reducers"; ReactDOM.render( - - - - - , + + + , document.getElementById("root") ); - -// Hot Module Replacement API -if (module.hot) { - module.hot.accept("./components/app", () => { - const NextApp = require("./components/app").default; - ReactDOM.render( - - - - - , - document.getElementById("root") - ); - }); -}