From 387ce82e50b167f2de3a16176fc1f9d286c94401 Mon Sep 17 00:00:00 2001 From: Kyubinhan Date: Fri, 14 Sep 2018 11:30:36 -0700 Subject: [PATCH] enable hot reloading --- config/webpack.config.dev.js | 1 + package-lock.json | 53 ++++++++++++++++++++++++++++++++++++ package.json | 1 + src/components/App.js | 3 +- 4 files changed, 57 insertions(+), 1 deletion(-) diff --git a/config/webpack.config.dev.js b/config/webpack.config.dev.js index 8edb4fb7f..716469263 100644 --- a/config/webpack.config.dev.js +++ b/config/webpack.config.dev.js @@ -149,6 +149,7 @@ module.exports = { // It enables caching results in ./node_modules/.cache/babel-loader/ // directory for faster rebuilds. cacheDirectory: true, + plugins: ['react-hot-loader/babel'], }, }, // "postcss" loader applies autoprefixer to our CSS. diff --git a/package-lock.json b/package-lock.json index 6f9901742..26b117fd4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4170,6 +4170,12 @@ "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=", + "dev": true + }, "domain-browser": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", @@ -6653,6 +6659,24 @@ "find-index": "^0.1.1" } }, + "global": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz", + "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=", + "dev": true, + "requires": { + "min-document": "^2.19.0", + "process": "~0.5.1" + }, + "dependencies": { + "process": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz", + "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=", + "dev": true + } + } + }, "global-dirs": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", @@ -10382,6 +10406,15 @@ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" }, + "min-document": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", + "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", + "dev": true, + "requires": { + "dom-walk": "^0.1.0" + } + }, "minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", @@ -12851,11 +12884,31 @@ "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-4.0.1.tgz", "integrity": "sha512-xXUbDAZkU08aAkjtUvldqbvI04ogv+a1XdHxvYuHPYKIVk/42BIOD0zSKTHAWV4+gDy3yGm283z2072rA2gdtw==" }, + "react-hot-loader": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/react-hot-loader/-/react-hot-loader-4.3.7.tgz", + "integrity": "sha512-WYffzX1JQmoYEbd3Zgjz6izrhAv9PRdaJoc2nR1soSNqBJfsiiFi1salxx7QTKMswGeeGlYyE1QRZI8YrV6fkQ==", + "dev": true, + "requires": { + "fast-levenshtein": "^2.0.6", + "global": "^4.3.0", + "hoist-non-react-statics": "^2.5.0", + "prop-types": "^15.6.1", + "react-lifecycles-compat": "^3.0.4", + "shallowequal": "^1.0.2" + } + }, "react-is": { "version": "16.4.2", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.4.2.tgz", "integrity": "sha512-rI3cGFj/obHbBz156PvErrS5xc6f1eWyTwyV4mo0vF2lGgXgS+mm7EKD5buLJq6jNgIagQescGSVG2YzgXt8Yg==" }, + "react-lifecycles-compat": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", + "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==", + "dev": true + }, "react-loadable": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/react-loadable/-/react-loadable-5.5.0.tgz", diff --git a/package.json b/package.json index ec533379a..27b3af2f2 100644 --- a/package.json +++ b/package.json @@ -63,6 +63,7 @@ "promise": "8.0.1", "raf": "3.4.0", "react-dev-utils": "^5.0.2", + "react-hot-loader": "^4.3.7", "resolve": "1.6.0", "sass-loader": "^7.1.0", "style-loader": "0.19.0", diff --git a/src/components/App.js b/src/components/App.js index 1409522f3..06578c369 100644 --- a/src/components/App.js +++ b/src/components/App.js @@ -19,6 +19,7 @@ // import React, { Component } from 'react'; import { Provider } from 'react-redux'; +import { hot } from 'react-hot-loader'; import configureStore from '../configureStore'; import Router from './router'; @@ -35,4 +36,4 @@ class App extends Component { } } -export default App; +export default hot(module)(App);