mirror of https://github.com/webpack/webpack.git
				
				
				
			
							parent
							
								
									4891225efc
								
							
						
					
					
						commit
						636d97e180
					
				| 
						 | 
					@ -152,7 +152,7 @@ HotModuleReplacementPlugin.prototype.apply = function(compiler) {
 | 
				
			||||||
			return this.asString([
 | 
								return this.asString([
 | 
				
			||||||
				source + ",",
 | 
									source + ",",
 | 
				
			||||||
				"hot: hotCreateModule(" + varModuleId + "),",
 | 
									"hot: hotCreateModule(" + varModuleId + "),",
 | 
				
			||||||
				"parents: [hotCurrentParent],",
 | 
									"parents: hotCurrentParents,",
 | 
				
			||||||
				"children: []"
 | 
									"children: []"
 | 
				
			||||||
			]);
 | 
								]);
 | 
				
			||||||
		});
 | 
							});
 | 
				
			||||||
| 
						 | 
					@ -211,20 +211,30 @@ var hotInitCode = Template.getFunctionContent(function() {
 | 
				
			||||||
	var hotApplyOnUpdate = true;
 | 
						var hotApplyOnUpdate = true;
 | 
				
			||||||
	var hotCurrentHash = $hash$;
 | 
						var hotCurrentHash = $hash$;
 | 
				
			||||||
	var hotCurrentModuleData = {};
 | 
						var hotCurrentModuleData = {};
 | 
				
			||||||
	var hotCurrentParent = 0;
 | 
						var hotCurrentParents = [];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	function hotCreateRequire(moduleId) {
 | 
						function hotCreateRequire(moduleId) {
 | 
				
			||||||
		var me = installedModules[moduleId];
 | 
							var me = installedModules[moduleId];
 | 
				
			||||||
 | 
							if(!me) return $require$;
 | 
				
			||||||
		var fn = function(request) {
 | 
							var fn = function(request) {
 | 
				
			||||||
			if(installedModules[request] && installedModules[request].parents.indexOf(moduleId) < 0)
 | 
								if(me.hot.active) {
 | 
				
			||||||
				installedModules[request].parents.push(moduleId);
 | 
									if(installedModules[request]) {
 | 
				
			||||||
			if(me && me.children.indexOf(request) < 0)
 | 
										if(installedModules[request].parents.indexOf(moduleId) < 0)
 | 
				
			||||||
				me.children.push(request);
 | 
											installedModules[request].parents.push(moduleId);
 | 
				
			||||||
			hotCurrentParent = moduleId;
 | 
										if(me.children.indexOf(request) < 0)
 | 
				
			||||||
 | 
											me.children.push(request);
 | 
				
			||||||
 | 
									} else hotCurrentParents = [moduleId];
 | 
				
			||||||
 | 
								} else {
 | 
				
			||||||
 | 
									console.warn("[HMR] unexpected require(" + request + ") from disposed module " + moduleId);
 | 
				
			||||||
 | 
									hotCurrentParents = [];
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
			return $require$(request);
 | 
								return $require$(request);
 | 
				
			||||||
		};
 | 
							};
 | 
				
			||||||
		for(var name in $require$)
 | 
							for(var name in $require$) {
 | 
				
			||||||
			fn[name] = $require$[name];
 | 
								if(Object.prototype.hasOwnProperty.call($require$, name)) {
 | 
				
			||||||
 | 
									fn[name] = $require$[name];
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
		fn.e = function(chunkId, callback) {
 | 
							fn.e = function(chunkId, callback) {
 | 
				
			||||||
			if(hotStatus === "ready")
 | 
								if(hotStatus === "ready")
 | 
				
			||||||
				hotSetStatus("prepare");
 | 
									hotSetStatus("prepare");
 | 
				
			||||||
| 
						 | 
					@ -261,6 +271,7 @@ var hotInitCode = Template.getFunctionContent(function() {
 | 
				
			||||||
			_disposeHandlers: [],
 | 
								_disposeHandlers: [],
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			// Module API
 | 
								// Module API
 | 
				
			||||||
 | 
								active: true,
 | 
				
			||||||
			accept: function(dep, callback) {
 | 
								accept: function(dep, callback) {
 | 
				
			||||||
				if(typeof dep === "undefined")
 | 
									if(typeof dep === "undefined")
 | 
				
			||||||
					hot._selfAccepted = true;
 | 
										hot._selfAccepted = true;
 | 
				
			||||||
| 
						 | 
					@ -528,6 +539,9 @@ var hotInitCode = Template.getFunctionContent(function() {
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
			hotCurrentModuleData[moduleId] = data;
 | 
								hotCurrentModuleData[moduleId] = data;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								// disable module (this disables requires from this module)
 | 
				
			||||||
 | 
								module.hot.active = false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			// remove module from cache
 | 
								// remove module from cache
 | 
				
			||||||
			delete installedModules[moduleId];
 | 
								delete installedModules[moduleId];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -600,7 +614,7 @@ var hotInitCode = Template.getFunctionContent(function() {
 | 
				
			||||||
		for(var i = 0; i < outdatedSelfAcceptedModules.length; i++) {
 | 
							for(var i = 0; i < outdatedSelfAcceptedModules.length; i++) {
 | 
				
			||||||
			var item = outdatedSelfAcceptedModules[i];
 | 
								var item = outdatedSelfAcceptedModules[i];
 | 
				
			||||||
			var moduleId = item.module;
 | 
								var moduleId = item.module;
 | 
				
			||||||
			hotCurrentParent = moduleId;
 | 
								hotCurrentParents = [moduleId];
 | 
				
			||||||
			try {
 | 
								try {
 | 
				
			||||||
				$require$(moduleId);
 | 
									$require$(moduleId);
 | 
				
			||||||
			} catch(err) {
 | 
								} catch(err) {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue