mirror of https://github.com/webpack/webpack.git
				
				
				
			support "jsonp" in output.libraryTarget
This commit is contained in:
		
							parent
							
								
									334e565f18
								
							
						
					
					
						commit
						58424e0824
					
				|  | @ -40,10 +40,6 @@ ExternalModule.prototype.source = function(dependencyTemplates, outputOptions, r | |||
| 	var request = this.request; | ||||
| 	if(typeof request === "object") request = request[this.type]; | ||||
| 	switch(this.type) { | ||||
| 	case "var": | ||||
| 	case "assign": | ||||
| 		str = "module.exports = " + request + ";"; | ||||
| 		break; | ||||
| 	case "this": | ||||
| 	case "window": | ||||
| 	case "global": | ||||
|  | @ -67,6 +63,9 @@ ExternalModule.prototype.source = function(dependencyTemplates, outputOptions, r | |||
| 	case "umd": | ||||
| 		str = "module.exports = __WEBPACK_EXTERNAL_MODULE_" + this.id + "__;"; | ||||
| 		break; | ||||
| 	default: | ||||
| 		str = "module.exports = " + request + ";"; | ||||
| 		break; | ||||
| 	} | ||||
| 	if(this.useSourceMap) { | ||||
| 		return new OriginalSource(str, this.identifier()); | ||||
|  |  | |||
|  | @ -0,0 +1,26 @@ | |||
| /* | ||||
| 	MIT License http://www.opensource.org/licenses/mit-license.php
 | ||||
| 	Author Tobias Koppers @sokra | ||||
| */ | ||||
| var ConcatSource = require("webpack-core/lib/ConcatSource"); | ||||
| var Template = require("./Template"); | ||||
| 
 | ||||
| function JsonpExportMainTemplateDecorator(mainTemplate, name) { | ||||
| 	this.mainTemplate = mainTemplate; | ||||
| 	this.name = name; | ||||
| } | ||||
| module.exports = JsonpExportMainTemplateDecorator; | ||||
| JsonpExportMainTemplateDecorator.prototype.render = function(hash, chunk, moduleTemplate, dependencyTemplates) { | ||||
| 	var source = this.mainTemplate.render(hash, chunk, moduleTemplate, dependencyTemplates); | ||||
| 	var name = (this.name || "") | ||||
| 		.replace(Template.REGEXP_HASH, hash) | ||||
| 		.replace(Template.REGEXP_CHUNKHASH, chunk.renderedHash) | ||||
| 		.replace(Template.REGEXP_ID, chunk.id) | ||||
| 		.replace(Template.REGEXP_NAME, chunk.name || ""); | ||||
| 	return new ConcatSource(name + "(", source, ");"); | ||||
| }; | ||||
| JsonpExportMainTemplateDecorator.prototype.updateHash = function(hash) { | ||||
| 	hash.update("jsonp export"); | ||||
| 	hash.update(this.name + ""); | ||||
| 	this.mainTemplate.updateHash(hash); | ||||
| }; | ||||
|  | @ -58,6 +58,10 @@ LibraryTemplatePlugin.prototype.apply = function(compiler) { | |||
| 		var UmdMainTemplateDecorator = require("./UmdMainTemplateDecorator"); | ||||
| 		compiler.mainTemplate = new UmdMainTemplateDecorator(compiler.mainTemplate, this.name); | ||||
| 		break; | ||||
| 	case "jsonp": | ||||
| 		var JsonpExportMainTemplateDecorator = require("./JsonpExportMainTemplateDecorator"); | ||||
| 		compiler.mainTemplate = new JsonpExportMainTemplateDecorator(compiler.mainTemplate, this.name); | ||||
| 		break; | ||||
| 	default: | ||||
| 		throw new Error(this.target + " is not a valid Library target"); | ||||
| 	} | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue