diff options
Diffstat (limited to 'node_modules/webpack/hot/signal.js')
| -rw-r--r-- | node_modules/webpack/hot/signal.js | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/node_modules/webpack/hot/signal.js b/node_modules/webpack/hot/signal.js new file mode 100644 index 00000000..a752e89c --- /dev/null +++ b/node_modules/webpack/hot/signal.js @@ -0,0 +1,66 @@ +/* + MIT License http://www.opensource.org/licenses/mit-license.php + Author Tobias Koppers @sokra +*/ +/*globals __resourceQuery */ +if (module.hot) { + var log = require("./log"); + + /** + * @param {boolean=} fromUpdate true when called from update + */ + var checkForUpdate = function checkForUpdate(fromUpdate) { + module.hot + .check() + .then(function (updatedModules) { + if (!updatedModules) { + if (fromUpdate) log("info", "[HMR] Update applied."); + else log("warning", "[HMR] Cannot find update."); + return; + } + + return module.hot + .apply({ + ignoreUnaccepted: true, + onUnaccepted: function (data) { + log( + "warning", + "Ignored an update to unaccepted module " + + data.chain.join(" -> ") + ); + } + }) + .then(function (renewedModules) { + require("./log-apply-result")(updatedModules, renewedModules); + + checkForUpdate(true); + return null; + }); + }) + .catch(function (err) { + var status = module.hot.status(); + if (["abort", "fail"].indexOf(status) >= 0) { + log("warning", "[HMR] Cannot apply update."); + log("warning", "[HMR] " + log.formatError(err)); + log("warning", "[HMR] You need to restart the application!"); + } else { + log("warning", "[HMR] Update failed: " + (err.stack || err.message)); + } + }); + }; + + process.on(__resourceQuery.slice(1) || "SIGUSR2", function () { + if (module.hot.status() !== "idle") { + log( + "warning", + "[HMR] Got signal but currently in " + module.hot.status() + " state." + ); + log("warning", "[HMR] Need to be in idle state to start hot update."); + return; + } + + checkForUpdate(); + }); +} else { + throw new Error("[HMR] Hot Module Replacement is disabled."); +} |
