You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
1.4 KiB
50 lines
1.4 KiB
4 weeks ago
|
/*
|
||
|
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.'
|
||
|
);
|
||
|
}
|
||
|
};
|