mirror of https://github.com/webpack/webpack.git
				
				
				
			
		
			
				
	
	
		
			32 lines
		
	
	
		
			985 B
		
	
	
	
		
			JavaScript
		
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			985 B
		
	
	
	
		
			JavaScript
		
	
	
	
/*
 | 
						|
	MIT License http://www.opensource.org/licenses/mit-license.php
 | 
						|
	Author Tobias Koppers @sokra
 | 
						|
*/
 | 
						|
var ConcatSource = require("webpack-sources").ConcatSource;
 | 
						|
 | 
						|
function JsonpChunkTemplatePlugin() {}
 | 
						|
module.exports = JsonpChunkTemplatePlugin;
 | 
						|
 | 
						|
JsonpChunkTemplatePlugin.prototype.apply = function(chunkTemplate) {
 | 
						|
	chunkTemplate.plugin("render", function(modules, chunk) {
 | 
						|
		var jsonpFunction = this.outputOptions.jsonpFunction;
 | 
						|
		var source = new ConcatSource();
 | 
						|
		source.add(jsonpFunction + "(" + JSON.stringify(chunk.ids) + ",");
 | 
						|
		source.add(modules);
 | 
						|
		var entries = [chunk.entryModule].filter(Boolean).map(function(m) {
 | 
						|
			return m.id;
 | 
						|
		});
 | 
						|
		if(entries.length > 0) {
 | 
						|
			source.add("," + JSON.stringify(entries));
 | 
						|
		}
 | 
						|
		source.add(")");
 | 
						|
		return source;
 | 
						|
	});
 | 
						|
	chunkTemplate.plugin("hash", function(hash) {
 | 
						|
		hash.update("JsonpChunkTemplatePlugin");
 | 
						|
		hash.update("3");
 | 
						|
		hash.update(this.outputOptions.jsonpFunction + "");
 | 
						|
		hash.update(this.outputOptions.library + "");
 | 
						|
	});
 | 
						|
};
 |