| 
									
										
										
										
											2013-03-26 23:54:41 +08:00
										 |  |  | /* | 
					
						
							|  |  |  | 	MIT License http://www.opensource.org/licenses/mit-license.php
 | 
					
						
							|  |  |  | 	Author Tobias Koppers @sokra | 
					
						
							|  |  |  | */ | 
					
						
							| 
									
										
										
										
											2015-12-30 00:44:55 +08:00
										 |  |  | var ConcatSource = require("webpack-sources").ConcatSource; | 
					
						
							| 
									
										
										
										
											2013-03-26 23:54:41 +08:00
										 |  |  | var Template = require("./Template"); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | function ChunkTemplate(outputOptions) { | 
					
						
							|  |  |  | 	Template.call(this, outputOptions); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | module.exports = ChunkTemplate; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ChunkTemplate.prototype = Object.create(Template.prototype); | 
					
						
							| 
									
										
										
										
											2016-05-20 13:39:36 +08:00
										 |  |  | ChunkTemplate.prototype.constructor = ChunkTemplate; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-03-26 23:54:41 +08:00
										 |  |  | ChunkTemplate.prototype.render = function(chunk, moduleTemplate, dependencyTemplates) { | 
					
						
							| 
									
										
										
										
											2014-06-03 05:40:50 +08:00
										 |  |  | 	var modules = this.renderChunkModules(chunk, moduleTemplate, dependencyTemplates); | 
					
						
							|  |  |  | 	var core = this.applyPluginsWaterfall("modules", modules, chunk, moduleTemplate, dependencyTemplates); | 
					
						
							|  |  |  | 	var source = this.applyPluginsWaterfall("render", core, chunk, moduleTemplate, dependencyTemplates); | 
					
						
							| 
									
										
										
										
											2016-05-05 16:13:50 +08:00
										 |  |  | 	if(chunk.hasEntryModule()) { | 
					
						
							| 
									
										
										
										
											2014-12-22 23:10:23 +08:00
										 |  |  | 		source = this.applyPluginsWaterfall("render-with-entry", source, chunk); | 
					
						
							|  |  |  | 	} | 
					
						
							| 
									
										
										
										
											2013-05-08 19:28:54 +08:00
										 |  |  | 	chunk.rendered = true; | 
					
						
							| 
									
										
										
										
											2015-03-04 03:24:46 +08:00
										 |  |  | 	return new ConcatSource(source, ";"); | 
					
						
							| 
									
										
										
										
											2013-03-26 23:54:41 +08:00
										 |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ChunkTemplate.prototype.updateHash = function(hash) { | 
					
						
							| 
									
										
										
										
											2013-06-19 17:53:03 +08:00
										 |  |  | 	hash.update("ChunkTemplate"); | 
					
						
							| 
									
										
										
										
											2013-12-13 19:58:10 +08:00
										 |  |  | 	hash.update("2"); | 
					
						
							| 
									
										
										
										
											2014-06-03 05:40:50 +08:00
										 |  |  | 	this.applyPlugins("hash", hash); | 
					
						
							| 
									
										
										
										
											2015-06-13 17:45:28 +08:00
										 |  |  | }; | 
					
						
							| 
									
										
										
										
											2015-06-25 05:17:12 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | ChunkTemplate.prototype.updateHashForChunk = function(hash, chunk) { | 
					
						
							|  |  |  | 	this.updateHash(hash); | 
					
						
							|  |  |  | 	this.applyPlugins("hash-for-chunk", hash, chunk); | 
					
						
							|  |  |  | }; |