/* MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ /* globals __resourceQuery */ if (module.hot) { var hotPollInterval = +__resourceQuery.slice(1) || 10 * 60 * 1000; var log = require("./log"); /** * @param {boolean=} fromUpdate true when called from update */ var checkForUpdate = function checkForUpdate(fromUpdate) { if (module.hot.status() === "idle") { module.hot .check(true) .then(function (updatedModules) { if (!updatedModules) { if (fromUpdate) log("info", "[HMR] Update applied."); return; } require("./log-apply-result")(updatedModules, updatedModules); checkForUpdate(true); }) .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: " + log.formatError(err)); } }); } }; setInterval(checkForUpdate, hotPollInterval); } else { throw new Error("[HMR] Hot Module Replacement is disabled."); }