1 line
14 KiB
JSON
1 line
14 KiB
JSON
![]() |
{"ast":null,"code":"/**\n * Based heavily on https://github.com/webpack/webpack/blob/\n * c0afdf9c6abc1dd70707c594e473802a566f7b6e/hot/only-dev-server.js\n * Original copyright Tobias Koppers @sokra (MIT license)\n */\n\n/* global window __webpack_hash__ */\n\nif (!module.hot) {\n throw new Error('[HMR] Hot Module Replacement is disabled.');\n}\nvar hmrDocsUrl = 'https://webpack.js.org/concepts/hot-module-replacement/'; // eslint-disable-line max-len\n\nvar lastHash;\nvar failureStatuses = {\n abort: 1,\n fail: 1\n};\nvar applyOptions = {\n ignoreUnaccepted: true,\n ignoreDeclined: true,\n ignoreErrored: true,\n onUnaccepted: function (data) {\n console.warn('Ignored an update to unaccepted module ' + data.chain.join(' -> '));\n },\n onDeclined: function (data) {\n console.warn('Ignored an update to declined module ' + data.chain.join(' -> '));\n },\n onErrored: function (data) {\n console.error(data.error);\n console.warn('Ignored an error while updating module ' + data.moduleId + ' (' + data.type + ')');\n }\n};\nfunction upToDate(hash) {\n if (hash) lastHash = hash;\n return lastHash == __webpack_hash__;\n}\nmodule.exports = function (hash, moduleMap, options) {\n var reload = options.reload;\n if (!upToDate(hash) && module.hot.status() == 'idle') {\n if (options.log) console.log('[HMR] Checking for updates on the server...');\n check();\n }\n function check() {\n var cb = function (err, updatedModules) {\n if (err) return handleError(err);\n if (!updatedModules) {\n if (options.warn) {\n console.warn('[HMR] Cannot find update (Full reload needed)');\n console.warn('[HMR] (Probably because of restarting the server)');\n }\n performReload();\n return null;\n }\n var applyCallback = function (applyErr, renewedModules) {\n if (applyErr) return handleError(applyErr);\n if (!upToDate()) check();\n logUpdates(updatedModules, renewedModules);\n };\n var applyResult = module.hot.apply(applyOptions, applyCallback);\n // webpack 2 promise\n if (applyResult && applyResult.then) {\n // HotModuleReplacement.runtime.js refers to the result as `outdatedModules`\n applyResult.then(function (outdatedModules) {\n applyCallback(null, outdatedModules);\n });\n applyResult.catch(applyCallback);\n }\n };\n var result = module.hot.check(false, cb);\n // webpack 2 promise\n if (result && result.then) {\n result.then(function (updatedModules) {\n cb(null, updatedModules);\n });\n result.catch(cb);\n }\n }\n function logUpdates(updatedModules, renewedModules) {\n var unacceptedModules = updatedModules.filter(function (moduleId) {\n return renewedModules && renewedModules.indexOf(moduleId) < 0;\n });\n if (unacceptedModules.length > 0) {\n if (options.warn) {\n console.warn(\"[HMR] The following modules couldn't be hot updated: \" + '(Full reload needed)\\n' + 'This is usually because the modules which have changed ' + '(and their parents) do not know how to hot reload themselves. ' + 'See ' + hmrDocsUrl + ' for more details.');\n unacceptedModules.forEach(function (moduleId) {\n console.warn('[HMR] - ' + (moduleMap[moduleId] || moduleId));\n });\n }\n performReload();\n return;\n }\n if (options.log) {\n if (!renewedModules || renewedModules.length === 0) {\n console.log('[HMR] Nothing hot updated.');\n } else {\n console.log('[HMR] Updated modules:');\n renewedModules.forEach(function (moduleId) {\n console.log('[HMR] - ' + (moduleMap[moduleId] || moduleId));\n });\n }\n if (upToDate()) {\n console.log('[HMR] App is up to date.');\n }\n }\n }\n function handleError(err) {\n if (module.hot.status() in failureStatuses) {\n if (options.warn) {\n console.warn('[HMR] Cannot check for update (Full reload needed)');\n console.warn('[HMR] ' + (err.stack || err.
|