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 + "");
 | |
| 	});
 | |
| };
 |