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.'
 | 
						|
			);
 | 
						|
	}
 | 
						|
};
 |