1+ /*
2+ MIT License http://www.opensource.org/licenses/mit-license.php
3+ Author Tobias Koppers @sokra
4+ */
5+ var WrapSource = require ( "./WrapSource" ) ;
6+ var RawSource = require ( "webpack-core/lib/RawSource" ) ;
7+
8+ function UmdMainTemplateDecorator ( mainTemplate , name ) {
9+ this . mainTemplate = mainTemplate ;
10+ this . name = name ;
11+ }
12+ module . exports = UmdMainTemplateDecorator ;
13+ UmdMainTemplateDecorator . prototype . render = function ( hash , chunk , moduleTemplate , dependencyTemplates ) {
14+ var source = this . mainTemplate . render ( hash , chunk , moduleTemplate , dependencyTemplates ) ;
15+ var prefix = "module.exports =\n" ;
16+ return new WrapSource ( new RawSource (
17+ "(function webpackUniversalModuleDefinition(root) {\n" +
18+ " return function webpackUniversalModuleDefinitionWrapBootstrap(fn) {\n" +
19+ " return function webpackUniversalModuleDefinitionBootstrap(modules) {\n" +
20+ " if(typeof exports === 'object' && typeof module === 'object')\n" +
21+ " module.exports = fn(modules);\n" +
22+ " else if(typeof define === 'function' && define.amd)\n" +
23+ " define(function() { return fn(modules); });\n" +
24+ " else if(typeof exports === 'object')\n" +
25+ " exports[" + JSON . stringify ( this . name ) + "] = fn(modules);\n" +
26+ " else\n" +
27+ " root[" + JSON . stringify ( this . name ) + "] = fn(modules);\n" +
28+ " }\n" +
29+ " }\n" +
30+ "})(this)\n" ) , source , new RawSource ( "" ) ) ;
31+ } ;
32+ UmdMainTemplateDecorator . prototype . updateHash = function ( hash ) {
33+ hash . update ( "umd" ) ;
34+ hash . update ( this . name ) ;
35+ this . mainTemplate . updateHash ( hash ) ;
36+ } ;
0 commit comments