50 lines
1.4 KiB
JavaScript
50 lines
1.4 KiB
JavaScript
/*
|
|
MIT License http://www.opensource.org/licenses/mit-license.php
|
|
Author Tobias Koppers @sokra
|
|
*/
|
|
|
|
/**
|
|
* @param {(string | number)[]} updatedModules updated modules
|
|
* @param {(string | number)[] | null} renewedModules renewed modules
|
|
*/
|
|
module.exports = function (updatedModules, renewedModules) {
|
|
var unacceptedModules = updatedModules.filter(function (moduleId) {
|
|
return renewedModules && renewedModules.indexOf(moduleId) < 0;
|
|
});
|
|
var log = require("./log");
|
|
|
|
if (unacceptedModules.length > 0) {
|
|
log(
|
|
"warning",
|
|
"[HMR] The following modules couldn't be hot updated: (They would need a full reload!)"
|
|
);
|
|
unacceptedModules.forEach(function (moduleId) {
|
|
log("warning", "[HMR] - " + moduleId);
|
|
});
|
|
}
|
|
|
|
if (!renewedModules || renewedModules.length === 0) {
|
|
log("info", "[HMR] Nothing hot updated.");
|
|
} else {
|
|
log("info", "[HMR] Updated modules:");
|
|
renewedModules.forEach(function (moduleId) {
|
|
if (typeof moduleId === "string" && moduleId.indexOf("!") !== -1) {
|
|
var parts = moduleId.split("!");
|
|
log.groupCollapsed("info", "[HMR] - " + parts.pop());
|
|
log("info", "[HMR] - " + moduleId);
|
|
log.groupEnd("info");
|
|
} else {
|
|
log("info", "[HMR] - " + moduleId);
|
|
}
|
|
});
|
|
var numberIds = renewedModules.every(function (moduleId) {
|
|
return typeof moduleId === "number";
|
|
});
|
|
if (numberIds)
|
|
log(
|
|
"info",
|
|
'[HMR] Consider using the optimization.moduleIds: "named" for module names.'
|
|
);
|
|
}
|
|
};
|