webpack 1.13.3 → 1.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +22 -22
- package/README.md +310 -310
- package/buildin/amd-define.js +1 -1
- package/buildin/amd-options.js +1 -1
- package/buildin/module.js +10 -10
- package/hot/dev-server.js +63 -63
- package/hot/log-apply-result.js +25 -25
- package/hot/only-dev-server.js +77 -77
- package/hot/poll.js +37 -37
- package/hot/signal.js +65 -65
- package/lib/APIPlugin.js +49 -49
- package/lib/AbstractPlugin.js +22 -22
- package/lib/AmdMainTemplatePlugin.js +43 -43
- package/lib/ArrayMap.js +50 -50
- package/lib/AsyncDependenciesBlock.js +39 -39
- package/lib/AutomaticPrefetchPlugin.js +35 -35
- package/lib/BannerPlugin.js +34 -34
- package/lib/BasicEvaluatedExpression.js +140 -140
- package/lib/CachePlugin.js +43 -43
- package/lib/CaseSensitiveModulesWarning.js +16 -16
- package/lib/Chunk.js +252 -252
- package/lib/ChunkRenderError.js +17 -17
- package/lib/ChunkTemplate.js +37 -37
- package/lib/CompatibilityPlugin.js +42 -42
- package/lib/Compilation.js +891 -891
- package/lib/Compiler.js +407 -407
- package/lib/ConcatSource.js +5 -5
- package/lib/ConstPlugin.js +54 -54
- package/lib/ContextModule.js +130 -130
- package/lib/ContextModuleFactory.js +132 -132
- package/lib/ContextReplacementPlugin.js +93 -93
- package/lib/CriticalDependenciesWarning.js +24 -24
- package/lib/DefinePlugin.js +126 -126
- package/lib/DelegatedModule.js +69 -69
- package/lib/DelegatedModuleFactoryPlugin.js +51 -51
- package/lib/DelegatedPlugin.js +21 -21
- package/lib/DependenciesBlock.js +57 -57
- package/lib/DependenciesBlockVariable.js +41 -41
- package/lib/Dependency.js +54 -54
- package/lib/DllEntryPlugin.js +32 -32
- package/lib/DllModule.js +55 -55
- package/lib/DllModuleFactory.js +18 -18
- package/lib/DllPlugin.js +30 -30
- package/lib/DllReferencePlugin.js +26 -26
- package/lib/EntryModuleNotFoundError.js +15 -15
- package/lib/EntryOptionPlugin.js +28 -28
- package/lib/EnvironmentPlugin.js +28 -28
- package/lib/EvalDevToolModulePlugin.js +17 -17
- package/lib/EvalDevToolModuleTemplatePlugin.js +29 -29
- package/lib/EvalSourceMapDevToolModuleTemplatePlugin.js +68 -68
- package/lib/EvalSourceMapDevToolPlugin.js +25 -25
- package/lib/ExtendedAPIPlugin.js +45 -45
- package/lib/ExternalModule.js +89 -89
- package/lib/ExternalModuleFactoryPlugin.js +86 -86
- package/lib/ExternalsPlugin.js +16 -16
- package/lib/FunctionModulePlugin.js +18 -18
- package/lib/FunctionModuleTemplatePlugin.js +39 -39
- package/lib/HotModuleReplacement.runtime.js +486 -486
- package/lib/HotModuleReplacementPlugin.js +223 -223
- package/lib/HotUpdateChunkTemplate.js +28 -28
- package/lib/IgnorePlugin.js +32 -32
- package/lib/JsonpChunkTemplatePlugin.js +26 -26
- package/lib/JsonpExportMainTemplatePlugin.js +28 -28
- package/lib/JsonpHotUpdateChunkTemplatePlugin.js +26 -26
- package/lib/JsonpMainTemplate.runtime.js +56 -56
- package/lib/JsonpMainTemplatePlugin.js +162 -162
- package/lib/JsonpTemplatePlugin.js +17 -17
- package/lib/LibManifestPlugin.js +49 -49
- package/lib/LibraryTemplatePlugin.js +77 -77
- package/lib/LoaderTargetPlugin.js +16 -16
- package/lib/MainTemplate.js +169 -169
- package/lib/MemoryOutputFileSystem.js +5 -5
- package/lib/Module.js +116 -116
- package/lib/ModuleFilenameHelpers.js +157 -157
- package/lib/ModuleNotFoundError.js +17 -17
- package/lib/ModuleParseError.js +26 -26
- package/lib/ModuleParserHelpers.js +21 -21
- package/lib/ModuleReason.js +9 -9
- package/lib/ModuleTemplate.js +23 -23
- package/lib/MovedToPluginWarningPlugin.js +17 -17
- package/lib/MultiCompiler.js +166 -166
- package/lib/MultiEntryPlugin.js +31 -31
- package/lib/MultiModule.js +71 -71
- package/lib/MultiModuleFactory.js +18 -18
- package/lib/NamedModulesPlugin.js +21 -21
- package/lib/NewWatchingPlugin.js +12 -12
- package/lib/NoErrorsPlugin.js +18 -18
- package/lib/NodeStuffPlugin.js +99 -99
- package/lib/NormalModule.js +322 -322
- package/lib/NormalModuleFactory.js +171 -171
- package/lib/NormalModuleReplacementPlugin.js +40 -40
- package/lib/NullFactory.js +10 -10
- package/lib/OldWatchingPlugin.js +14 -14
- package/lib/OptionsApply.js +10 -10
- package/lib/OriginalSource.js +5 -5
- package/lib/Parser.js +938 -938
- package/lib/PrefetchPlugin.js +25 -25
- package/lib/ProgressPlugin.js +80 -80
- package/lib/ProvidePlugin.js +48 -48
- package/lib/RawModule.js +65 -65
- package/lib/RawSource.js +5 -5
- package/lib/RecordIdsPlugin.js +130 -130
- package/lib/RequestShortener.js +56 -56
- package/lib/RequireJsStuffPlugin.js +38 -38
- package/lib/ResolverPlugin.js +34 -34
- package/lib/SetVarMainTemplatePlugin.js +36 -36
- package/lib/SingleEntryPlugin.js +24 -24
- package/lib/Source.js +5 -5
- package/lib/SourceMapDevToolModuleOptionsPlugin.js +33 -33
- package/lib/SourceMapDevToolPlugin.js +168 -168
- package/lib/SourceMapSource.js +5 -5
- package/lib/Stats.js +732 -732
- package/lib/Template.js +119 -119
- package/lib/TemplatedPathPlugin.js +111 -111
- package/lib/UmdMainTemplatePlugin.js +146 -146
- package/lib/UnsupportedFeatureWarning.js +14 -14
- package/lib/WarnCaseSensitiveModulesPlugin.js +27 -27
- package/lib/WatchIgnorePlugin.js +45 -45
- package/lib/WebpackOptionsApply.js +376 -376
- package/lib/WebpackOptionsDefaulter.js +112 -112
- package/lib/dependencies/AMDDefineDependency.js +63 -63
- package/lib/dependencies/AMDDefineDependencyParserPlugin.js +240 -240
- package/lib/dependencies/AMDPlugin.js +115 -115
- package/lib/dependencies/AMDRequireArrayDependency.js +34 -34
- package/lib/dependencies/AMDRequireContextDependency.js +18 -18
- package/lib/dependencies/AMDRequireDependenciesBlock.js +25 -25
- package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +145 -145
- package/lib/dependencies/AMDRequireDependency.js +64 -64
- package/lib/dependencies/AMDRequireItemDependency.js +17 -17
- package/lib/dependencies/CommonJsPlugin.js +93 -93
- package/lib/dependencies/CommonJsRequireContextDependency.js +18 -18
- package/lib/dependencies/CommonJsRequireDependency.js +17 -17
- package/lib/dependencies/CommonJsRequireDependencyParserPlugin.js +91 -91
- package/lib/dependencies/ConstDependency.js +29 -29
- package/lib/dependencies/ContextDependency.js +24 -24
- package/lib/dependencies/ContextDependencyHelpers.js +34 -34
- package/lib/dependencies/ContextDependencyTemplateAsId.js +22 -22
- package/lib/dependencies/ContextDependencyTemplateAsRequireCall.js +31 -31
- package/lib/dependencies/ContextElementDependency.js +17 -17
- package/lib/dependencies/DelegatedSourceDependency.js +14 -14
- package/lib/dependencies/DepBlockHelpers.js +41 -41
- package/lib/dependencies/DllEntryDependency.js +17 -17
- package/lib/dependencies/LabeledExportsDependency.js +21 -21
- package/lib/dependencies/LabeledModuleDependency.js +36 -36
- package/lib/dependencies/LabeledModuleDependencyParserPlugin.js +76 -76
- package/lib/dependencies/LabeledModulesPlugin.js +26 -26
- package/lib/dependencies/LoaderDependency.js +14 -14
- package/lib/dependencies/LoaderPlugin.js +61 -61
- package/lib/dependencies/LocalModule.js +19 -19
- package/lib/dependencies/LocalModuleDependency.js +23 -23
- package/lib/dependencies/LocalModulesHelpers.js +43 -43
- package/lib/dependencies/ModuleDependency.js +20 -20
- package/lib/dependencies/ModuleDependencyTemplateAsId.js +22 -22
- package/lib/dependencies/ModuleDependencyTemplateAsRequireId.js +22 -22
- package/lib/dependencies/ModuleHotAcceptDependency.js +18 -18
- package/lib/dependencies/ModuleHotDeclineDependency.js +18 -18
- package/lib/dependencies/MultiEntryDependency.js +16 -16
- package/lib/dependencies/NullDependency.js +17 -17
- package/lib/dependencies/NullDependencyTemplate.js +8 -8
- package/lib/dependencies/PrefetchDependency.js +14 -14
- package/lib/dependencies/RequireContextDependency.js +17 -17
- package/lib/dependencies/RequireContextDependencyParserPlugin.js +33 -33
- package/lib/dependencies/RequireContextPlugin.js +64 -64
- package/lib/dependencies/RequireEnsureDependenciesBlock.js +20 -20
- package/lib/dependencies/RequireEnsureDependenciesBlockParserPlugin.js +66 -66
- package/lib/dependencies/RequireEnsureDependency.js +29 -29
- package/lib/dependencies/RequireEnsureItemDependency.js +16 -16
- package/lib/dependencies/RequireEnsurePlugin.js +38 -38
- package/lib/dependencies/RequireHeaderDependency.js +25 -25
- package/lib/dependencies/RequireIncludeDependency.js +25 -25
- package/lib/dependencies/RequireIncludeDependencyParserPlugin.js +18 -18
- package/lib/dependencies/RequireIncludePlugin.js +31 -31
- package/lib/dependencies/RequireResolveContextDependency.js +18 -18
- package/lib/dependencies/RequireResolveDependency.js +17 -17
- package/lib/dependencies/RequireResolveDependencyParserPlugin.js +69 -69
- package/lib/dependencies/RequireResolveHeaderDependency.js +25 -25
- package/lib/dependencies/SingleEntryDependency.js +14 -14
- package/lib/dependencies/TemplateArgumentDependency.js +26 -26
- package/lib/dependencies/WebpackMissingModule.js +23 -23
- package/lib/dependencies/getFunctionExpression.js +43 -43
- package/lib/node/NodeChunkTemplatePlugin.js +22 -22
- package/lib/node/NodeEnvironmentPlugin.js +25 -25
- package/lib/node/NodeHotUpdateChunkTemplatePlugin.js +24 -24
- package/lib/node/NodeMainTemplate.runtime.js +20 -20
- package/lib/node/NodeMainTemplateAsync.runtime.js +34 -34
- package/lib/node/NodeMainTemplatePlugin.js +164 -164
- package/lib/node/NodeOutputFileSystem.js +17 -17
- package/lib/node/NodeSourcePlugin.js +85 -75
- package/lib/node/NodeTargetPlugin.js +12 -12
- package/lib/node/NodeTemplatePlugin.js +21 -21
- package/lib/node/NodeWatchFileSystem.js +65 -65
- package/lib/node/OldNodeWatchFileSystem.js +265 -265
- package/lib/optimize/AggressiveMergingPlugin.js +115 -115
- package/lib/optimize/CommonsChunkPlugin.js +178 -178
- package/lib/optimize/DedupePlugin.js +227 -227
- package/lib/optimize/FlagIncludedChunksPlugin.js +24 -24
- package/lib/optimize/LimitChunkCountPlugin.js +55 -55
- package/lib/optimize/MergeDuplicateChunksPlugin.js +30 -30
- package/lib/optimize/MinChunkSizePlugin.js +61 -61
- package/lib/optimize/OccurenceOrderPlugin.js +5 -5
- package/lib/optimize/OccurrenceOrderPlugin.js +91 -91
- package/lib/optimize/RemoveEmptyChunksPlugin.js +19 -19
- package/lib/optimize/RemoveParentModulesPlugin.js +50 -50
- package/lib/optimize/UglifyJsPlugin.js +146 -146
- package/lib/removeAndDo.js +13 -13
- package/lib/web/WebEnvironmentPlugin.js +16 -16
- package/lib/webpack.js +113 -113
- package/lib/webpack.web.js +27 -27
- package/lib/webworker/WebWorkerChunkTemplatePlugin.js +26 -26
- package/lib/webworker/WebWorkerMainTemplatePlugin.js +78 -78
- package/lib/webworker/WebWorkerTemplatePlugin.js +15 -15
- package/package.json +4 -4
@@ -1,145 +1,145 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
var AMDRequireItemDependency = require("./AMDRequireItemDependency");
|
6
|
-
var AMDRequireArrayDependency = require("./AMDRequireArrayDependency");
|
7
|
-
var AMDRequireContextDependency = require("./AMDRequireContextDependency");
|
8
|
-
var AMDRequireDependenciesBlock = require("./AMDRequireDependenciesBlock");
|
9
|
-
var LocalModuleDependency = require("./LocalModuleDependency");
|
10
|
-
var ContextDependencyHelpers = require("./ContextDependencyHelpers");
|
11
|
-
var LocalModulesHelpers = require("./LocalModulesHelpers");
|
12
|
-
var ConstDependency = require("./ConstDependency");
|
13
|
-
var getFunctionExpression = require("./getFunctionExpression");
|
14
|
-
|
15
|
-
function AMDRequireDependenciesBlockParserPlugin(options) {
|
16
|
-
this.options = options;
|
17
|
-
}
|
18
|
-
|
19
|
-
module.exports = AMDRequireDependenciesBlockParserPlugin;
|
20
|
-
|
21
|
-
AMDRequireDependenciesBlockParserPlugin.prototype.apply = function(parser) {
|
22
|
-
var options = this.options;
|
23
|
-
parser.plugin("call require", function(expr) {
|
24
|
-
switch(expr.arguments.length) {
|
25
|
-
case 1:
|
26
|
-
var param = this.evaluateExpression(expr.arguments[0]);
|
27
|
-
var result;
|
28
|
-
var dep = new AMDRequireDependenciesBlock(expr, param.range, null, this.state.module, expr.loc);
|
29
|
-
var old = this.state.current;
|
30
|
-
this.state.current = dep;
|
31
|
-
this.inScope([], function() {
|
32
|
-
result = this.applyPluginsBailResult("call require:amd:array", expr, param);
|
33
|
-
}.bind(this));
|
34
|
-
this.state.current = old;
|
35
|
-
if(!result) return;
|
36
|
-
this.state.current.addBlock(dep);
|
37
|
-
return true;
|
38
|
-
case 2:
|
39
|
-
var param = this.evaluateExpression(expr.arguments[0]);
|
40
|
-
var dep = new AMDRequireDependenciesBlock(expr, param.range, expr.arguments[1].range, this.state.module, expr.loc);
|
41
|
-
dep.loc = expr.loc;
|
42
|
-
var old = this.state.current;
|
43
|
-
this.state.current = dep;
|
44
|
-
try {
|
45
|
-
var result;
|
46
|
-
this.inScope([], function() {
|
47
|
-
result = this.applyPluginsBailResult("call require:amd:array", expr, param);
|
48
|
-
}.bind(this));
|
49
|
-
if(!result) return;
|
50
|
-
var fnData = getFunctionExpression(expr.arguments[1]);
|
51
|
-
if(fnData) {
|
52
|
-
this.inScope(fnData.fn.params.filter(function(i) {
|
53
|
-
return ["require", "module", "exports"].indexOf(i.name) < 0;
|
54
|
-
}), function() {
|
55
|
-
if(fnData.fn.body.type === "BlockStatement")
|
56
|
-
this.walkStatement(fnData.fn.body);
|
57
|
-
else
|
58
|
-
this.walkExpression(fnData.fn.body);
|
59
|
-
}.bind(this));
|
60
|
-
this.walkExpressions(fnData.expressions);
|
61
|
-
if(fnData.needThis === false) {
|
62
|
-
// smaller bundles for simple function expression
|
63
|
-
dep.bindThis = false;
|
64
|
-
}
|
65
|
-
} else {
|
66
|
-
this.walkExpression(expr.arguments[1]);
|
67
|
-
}
|
68
|
-
} finally {
|
69
|
-
this.state.current = old;
|
70
|
-
this.state.current.addBlock(dep);
|
71
|
-
}
|
72
|
-
return true;
|
73
|
-
}
|
74
|
-
});
|
75
|
-
parser.plugin("call require:amd:array", function(expr, param) {
|
76
|
-
if(param.isArray()) {
|
77
|
-
param.items.forEach(function(param) {
|
78
|
-
var result = this.applyPluginsBailResult("call require:amd:item", expr, param);
|
79
|
-
if(result === undefined) {
|
80
|
-
this.applyPluginsBailResult("call require:amd:context", expr, param);
|
81
|
-
}
|
82
|
-
}, this);
|
83
|
-
return true;
|
84
|
-
} else if(param.isConstArray()) {
|
85
|
-
var deps = [];
|
86
|
-
param.array.forEach(function(request) {
|
87
|
-
var dep, localModule;
|
88
|
-
if(request === "require") {
|
89
|
-
dep = "__webpack_require__";
|
90
|
-
} else if(["exports", "module"].indexOf(request) >= 0) {
|
91
|
-
dep = request;
|
92
|
-
} else if(localModule = LocalModulesHelpers.getLocalModule(this.state, request)) { // eslint-disable-line no-cond-assign
|
93
|
-
dep = new LocalModuleDependency(localModule);
|
94
|
-
dep.loc = expr.loc;
|
95
|
-
this.state.current.addDependency(dep);
|
96
|
-
} else {
|
97
|
-
dep = new AMDRequireItemDependency(request);
|
98
|
-
dep.loc = expr.loc;
|
99
|
-
dep.optional = !!this.scope.inTry;
|
100
|
-
this.state.current.addDependency(dep);
|
101
|
-
}
|
102
|
-
deps.push(dep);
|
103
|
-
}, this);
|
104
|
-
var dep = new AMDRequireArrayDependency(deps, param.range);
|
105
|
-
dep.loc = expr.loc;
|
106
|
-
dep.optional = !!this.scope.inTry;
|
107
|
-
this.state.current.addDependency(dep);
|
108
|
-
return true;
|
109
|
-
}
|
110
|
-
});
|
111
|
-
parser.plugin("call require:amd:item", function(expr, param) {
|
112
|
-
if(param.isConditional()) {
|
113
|
-
param.options.forEach(function(param) {
|
114
|
-
var result = this.applyPluginsBailResult("call require:amd:item", expr, param);
|
115
|
-
if(result === undefined) {
|
116
|
-
this.applyPluginsBailResult("call require:amd:context", expr, param);
|
117
|
-
}
|
118
|
-
}, this);
|
119
|
-
return true;
|
120
|
-
} else if(param.isString()) {
|
121
|
-
var dep, localModule;
|
122
|
-
if(param.string === "require") {
|
123
|
-
dep = new ConstDependency("__webpack_require__", param.string);
|
124
|
-
} else if(["exports", "module"].indexOf(param.string) >= 0) {
|
125
|
-
dep = new ConstDependency(param.string, param.range);
|
126
|
-
} else if(localModule = LocalModulesHelpers.getLocalModule(this.state, param.string)) { // eslint-disable-line no-cond-assign
|
127
|
-
dep = new LocalModuleDependency(localModule, param.range);
|
128
|
-
} else {
|
129
|
-
dep = new AMDRequireItemDependency(param.string, param.range);
|
130
|
-
}
|
131
|
-
dep.loc = expr.loc;
|
132
|
-
dep.optional = !!this.scope.inTry;
|
133
|
-
this.state.current.addDependency(dep);
|
134
|
-
return true;
|
135
|
-
}
|
136
|
-
});
|
137
|
-
parser.plugin("call require:amd:context", function(expr, param) {
|
138
|
-
var dep = ContextDependencyHelpers.create(AMDRequireContextDependency, param.range, param, expr, options);
|
139
|
-
if(!dep) return;
|
140
|
-
dep.loc = expr.loc;
|
141
|
-
dep.optional = !!this.scope.inTry;
|
142
|
-
this.state.current.addDependency(dep);
|
143
|
-
return true;
|
144
|
-
});
|
145
|
-
};
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
var AMDRequireItemDependency = require("./AMDRequireItemDependency");
|
6
|
+
var AMDRequireArrayDependency = require("./AMDRequireArrayDependency");
|
7
|
+
var AMDRequireContextDependency = require("./AMDRequireContextDependency");
|
8
|
+
var AMDRequireDependenciesBlock = require("./AMDRequireDependenciesBlock");
|
9
|
+
var LocalModuleDependency = require("./LocalModuleDependency");
|
10
|
+
var ContextDependencyHelpers = require("./ContextDependencyHelpers");
|
11
|
+
var LocalModulesHelpers = require("./LocalModulesHelpers");
|
12
|
+
var ConstDependency = require("./ConstDependency");
|
13
|
+
var getFunctionExpression = require("./getFunctionExpression");
|
14
|
+
|
15
|
+
function AMDRequireDependenciesBlockParserPlugin(options) {
|
16
|
+
this.options = options;
|
17
|
+
}
|
18
|
+
|
19
|
+
module.exports = AMDRequireDependenciesBlockParserPlugin;
|
20
|
+
|
21
|
+
AMDRequireDependenciesBlockParserPlugin.prototype.apply = function(parser) {
|
22
|
+
var options = this.options;
|
23
|
+
parser.plugin("call require", function(expr) {
|
24
|
+
switch(expr.arguments.length) {
|
25
|
+
case 1:
|
26
|
+
var param = this.evaluateExpression(expr.arguments[0]);
|
27
|
+
var result;
|
28
|
+
var dep = new AMDRequireDependenciesBlock(expr, param.range, null, this.state.module, expr.loc);
|
29
|
+
var old = this.state.current;
|
30
|
+
this.state.current = dep;
|
31
|
+
this.inScope([], function() {
|
32
|
+
result = this.applyPluginsBailResult("call require:amd:array", expr, param);
|
33
|
+
}.bind(this));
|
34
|
+
this.state.current = old;
|
35
|
+
if(!result) return;
|
36
|
+
this.state.current.addBlock(dep);
|
37
|
+
return true;
|
38
|
+
case 2:
|
39
|
+
var param = this.evaluateExpression(expr.arguments[0]);
|
40
|
+
var dep = new AMDRequireDependenciesBlock(expr, param.range, expr.arguments[1].range, this.state.module, expr.loc);
|
41
|
+
dep.loc = expr.loc;
|
42
|
+
var old = this.state.current;
|
43
|
+
this.state.current = dep;
|
44
|
+
try {
|
45
|
+
var result;
|
46
|
+
this.inScope([], function() {
|
47
|
+
result = this.applyPluginsBailResult("call require:amd:array", expr, param);
|
48
|
+
}.bind(this));
|
49
|
+
if(!result) return;
|
50
|
+
var fnData = getFunctionExpression(expr.arguments[1]);
|
51
|
+
if(fnData) {
|
52
|
+
this.inScope(fnData.fn.params.filter(function(i) {
|
53
|
+
return ["require", "module", "exports"].indexOf(i.name) < 0;
|
54
|
+
}), function() {
|
55
|
+
if(fnData.fn.body.type === "BlockStatement")
|
56
|
+
this.walkStatement(fnData.fn.body);
|
57
|
+
else
|
58
|
+
this.walkExpression(fnData.fn.body);
|
59
|
+
}.bind(this));
|
60
|
+
this.walkExpressions(fnData.expressions);
|
61
|
+
if(fnData.needThis === false) {
|
62
|
+
// smaller bundles for simple function expression
|
63
|
+
dep.bindThis = false;
|
64
|
+
}
|
65
|
+
} else {
|
66
|
+
this.walkExpression(expr.arguments[1]);
|
67
|
+
}
|
68
|
+
} finally {
|
69
|
+
this.state.current = old;
|
70
|
+
this.state.current.addBlock(dep);
|
71
|
+
}
|
72
|
+
return true;
|
73
|
+
}
|
74
|
+
});
|
75
|
+
parser.plugin("call require:amd:array", function(expr, param) {
|
76
|
+
if(param.isArray()) {
|
77
|
+
param.items.forEach(function(param) {
|
78
|
+
var result = this.applyPluginsBailResult("call require:amd:item", expr, param);
|
79
|
+
if(result === undefined) {
|
80
|
+
this.applyPluginsBailResult("call require:amd:context", expr, param);
|
81
|
+
}
|
82
|
+
}, this);
|
83
|
+
return true;
|
84
|
+
} else if(param.isConstArray()) {
|
85
|
+
var deps = [];
|
86
|
+
param.array.forEach(function(request) {
|
87
|
+
var dep, localModule;
|
88
|
+
if(request === "require") {
|
89
|
+
dep = "__webpack_require__";
|
90
|
+
} else if(["exports", "module"].indexOf(request) >= 0) {
|
91
|
+
dep = request;
|
92
|
+
} else if(localModule = LocalModulesHelpers.getLocalModule(this.state, request)) { // eslint-disable-line no-cond-assign
|
93
|
+
dep = new LocalModuleDependency(localModule);
|
94
|
+
dep.loc = expr.loc;
|
95
|
+
this.state.current.addDependency(dep);
|
96
|
+
} else {
|
97
|
+
dep = new AMDRequireItemDependency(request);
|
98
|
+
dep.loc = expr.loc;
|
99
|
+
dep.optional = !!this.scope.inTry;
|
100
|
+
this.state.current.addDependency(dep);
|
101
|
+
}
|
102
|
+
deps.push(dep);
|
103
|
+
}, this);
|
104
|
+
var dep = new AMDRequireArrayDependency(deps, param.range);
|
105
|
+
dep.loc = expr.loc;
|
106
|
+
dep.optional = !!this.scope.inTry;
|
107
|
+
this.state.current.addDependency(dep);
|
108
|
+
return true;
|
109
|
+
}
|
110
|
+
});
|
111
|
+
parser.plugin("call require:amd:item", function(expr, param) {
|
112
|
+
if(param.isConditional()) {
|
113
|
+
param.options.forEach(function(param) {
|
114
|
+
var result = this.applyPluginsBailResult("call require:amd:item", expr, param);
|
115
|
+
if(result === undefined) {
|
116
|
+
this.applyPluginsBailResult("call require:amd:context", expr, param);
|
117
|
+
}
|
118
|
+
}, this);
|
119
|
+
return true;
|
120
|
+
} else if(param.isString()) {
|
121
|
+
var dep, localModule;
|
122
|
+
if(param.string === "require") {
|
123
|
+
dep = new ConstDependency("__webpack_require__", param.string);
|
124
|
+
} else if(["exports", "module"].indexOf(param.string) >= 0) {
|
125
|
+
dep = new ConstDependency(param.string, param.range);
|
126
|
+
} else if(localModule = LocalModulesHelpers.getLocalModule(this.state, param.string)) { // eslint-disable-line no-cond-assign
|
127
|
+
dep = new LocalModuleDependency(localModule, param.range);
|
128
|
+
} else {
|
129
|
+
dep = new AMDRequireItemDependency(param.string, param.range);
|
130
|
+
}
|
131
|
+
dep.loc = expr.loc;
|
132
|
+
dep.optional = !!this.scope.inTry;
|
133
|
+
this.state.current.addDependency(dep);
|
134
|
+
return true;
|
135
|
+
}
|
136
|
+
});
|
137
|
+
parser.plugin("call require:amd:context", function(expr, param) {
|
138
|
+
var dep = ContextDependencyHelpers.create(AMDRequireContextDependency, param.range, param, expr, options);
|
139
|
+
if(!dep) return;
|
140
|
+
dep.loc = expr.loc;
|
141
|
+
dep.optional = !!this.scope.inTry;
|
142
|
+
this.state.current.addDependency(dep);
|
143
|
+
return true;
|
144
|
+
});
|
145
|
+
};
|
@@ -1,64 +1,64 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
var NullDependency = require("./NullDependency");
|
6
|
-
var DepBlockHelpers = require("./DepBlockHelpers");
|
7
|
-
|
8
|
-
function AMDRequireDependency(block) {
|
9
|
-
NullDependency.call(this);
|
10
|
-
this.block = block;
|
11
|
-
}
|
12
|
-
module.exports = AMDRequireDependency;
|
13
|
-
|
14
|
-
AMDRequireDependency.prototype = Object.create(NullDependency.prototype);
|
15
|
-
AMDRequireDependency.prototype.constructor = AMDRequireDependency;
|
16
|
-
|
17
|
-
AMDRequireDependency.Template = function AMDRequireDependencyTemplate() {};
|
18
|
-
|
19
|
-
AMDRequireDependency.Template.prototype.apply = function(dep, source, outputOptions, requestShortener) {
|
20
|
-
var depBlock = dep.block;
|
21
|
-
var wrapper = DepBlockHelpers.getLoadDepBlockWrapper(depBlock, outputOptions, requestShortener, "require");
|
22
|
-
if(depBlock.arrayRange && !depBlock.functionRange) {
|
23
|
-
if(wrapper) {
|
24
|
-
source.replace(depBlock.outerRange[0], depBlock.arrayRange[0] - 1,
|
25
|
-
wrapper[0] + "function() {");
|
26
|
-
source.replace(depBlock.arrayRange[1], depBlock.outerRange[1] - 1, ";}" + wrapper[1]);
|
27
|
-
} else {
|
28
|
-
source.replace(depBlock.outerRange[0], depBlock.arrayRange[0] - 1,
|
29
|
-
"!/* require */(" + asComment(depBlock.chunkReason));
|
30
|
-
source.replace(depBlock.arrayRange[1], depBlock.outerRange[1] - 1, ")");
|
31
|
-
}
|
32
|
-
} else if(!depBlock.arrayRange && depBlock.functionRange) {
|
33
|
-
if(wrapper) {
|
34
|
-
source.replace(depBlock.outerRange[0], depBlock.functionRange[0] - 1,
|
35
|
-
wrapper[0] + "function(__webpack_require__) {(");
|
36
|
-
source.replace(depBlock.functionRange[1], depBlock.outerRange[1] - 1, ".call(exports, __webpack_require__, exports, module));}" + wrapper[1]);
|
37
|
-
} else {
|
38
|
-
source.replace(depBlock.outerRange[0], depBlock.functionRange[0] - 1,
|
39
|
-
"!/* require */(" + asComment(depBlock.chunkReason));
|
40
|
-
source.replace(depBlock.functionRange[1], depBlock.outerRange[1] - 1, ".call(exports, __webpack_require__, exports, module))");
|
41
|
-
}
|
42
|
-
} else if(depBlock.arrayRange && depBlock.functionRange) {
|
43
|
-
if(wrapper) {
|
44
|
-
source.replace(depBlock.outerRange[0], depBlock.arrayRange[0] - 1,
|
45
|
-
wrapper[0] + "function(__webpack_require__) { ");
|
46
|
-
source.insert(depBlock.arrayRange[0] + 0.9, "var __WEBPACK_AMD_REQUIRE_ARRAY__ = ");
|
47
|
-
source.replace(depBlock.arrayRange[1], depBlock.functionRange[0] - 1, "; (");
|
48
|
-
source.insert(depBlock.functionRange[1], ".apply(null, __WEBPACK_AMD_REQUIRE_ARRAY__));");
|
49
|
-
source.replace(depBlock.functionRange[1], depBlock.outerRange[1] - 1, "}" + (depBlock.bindThis ? ".bind(this)" : "") + wrapper[1]);
|
50
|
-
} else {
|
51
|
-
source.replace(depBlock.outerRange[0], depBlock.arrayRange[0] - 1,
|
52
|
-
"!/* require */(" + asComment(depBlock.chunkReason) + "function() { ");
|
53
|
-
source.insert(depBlock.arrayRange[0] + 0.9, "var __WEBPACK_AMD_REQUIRE_ARRAY__ = ");
|
54
|
-
source.replace(depBlock.arrayRange[1], depBlock.functionRange[0] - 1, "; (");
|
55
|
-
source.insert(depBlock.functionRange[1], ".apply(null, __WEBPACK_AMD_REQUIRE_ARRAY__));");
|
56
|
-
source.replace(depBlock.functionRange[1], depBlock.outerRange[1] - 1, "}" + (depBlock.bindThis ? ".call(this)" : "()") + ")");
|
57
|
-
}
|
58
|
-
}
|
59
|
-
};
|
60
|
-
|
61
|
-
function asComment(str) {
|
62
|
-
if(!str) return "";
|
63
|
-
return "/* " + str + " */";
|
64
|
-
}
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
var NullDependency = require("./NullDependency");
|
6
|
+
var DepBlockHelpers = require("./DepBlockHelpers");
|
7
|
+
|
8
|
+
function AMDRequireDependency(block) {
|
9
|
+
NullDependency.call(this);
|
10
|
+
this.block = block;
|
11
|
+
}
|
12
|
+
module.exports = AMDRequireDependency;
|
13
|
+
|
14
|
+
AMDRequireDependency.prototype = Object.create(NullDependency.prototype);
|
15
|
+
AMDRequireDependency.prototype.constructor = AMDRequireDependency;
|
16
|
+
|
17
|
+
AMDRequireDependency.Template = function AMDRequireDependencyTemplate() {};
|
18
|
+
|
19
|
+
AMDRequireDependency.Template.prototype.apply = function(dep, source, outputOptions, requestShortener) {
|
20
|
+
var depBlock = dep.block;
|
21
|
+
var wrapper = DepBlockHelpers.getLoadDepBlockWrapper(depBlock, outputOptions, requestShortener, "require");
|
22
|
+
if(depBlock.arrayRange && !depBlock.functionRange) {
|
23
|
+
if(wrapper) {
|
24
|
+
source.replace(depBlock.outerRange[0], depBlock.arrayRange[0] - 1,
|
25
|
+
wrapper[0] + "function() {");
|
26
|
+
source.replace(depBlock.arrayRange[1], depBlock.outerRange[1] - 1, ";}" + wrapper[1]);
|
27
|
+
} else {
|
28
|
+
source.replace(depBlock.outerRange[0], depBlock.arrayRange[0] - 1,
|
29
|
+
"!/* require */(" + asComment(depBlock.chunkReason));
|
30
|
+
source.replace(depBlock.arrayRange[1], depBlock.outerRange[1] - 1, ")");
|
31
|
+
}
|
32
|
+
} else if(!depBlock.arrayRange && depBlock.functionRange) {
|
33
|
+
if(wrapper) {
|
34
|
+
source.replace(depBlock.outerRange[0], depBlock.functionRange[0] - 1,
|
35
|
+
wrapper[0] + "function(__webpack_require__) {(");
|
36
|
+
source.replace(depBlock.functionRange[1], depBlock.outerRange[1] - 1, ".call(exports, __webpack_require__, exports, module));}" + wrapper[1]);
|
37
|
+
} else {
|
38
|
+
source.replace(depBlock.outerRange[0], depBlock.functionRange[0] - 1,
|
39
|
+
"!/* require */(" + asComment(depBlock.chunkReason));
|
40
|
+
source.replace(depBlock.functionRange[1], depBlock.outerRange[1] - 1, ".call(exports, __webpack_require__, exports, module))");
|
41
|
+
}
|
42
|
+
} else if(depBlock.arrayRange && depBlock.functionRange) {
|
43
|
+
if(wrapper) {
|
44
|
+
source.replace(depBlock.outerRange[0], depBlock.arrayRange[0] - 1,
|
45
|
+
wrapper[0] + "function(__webpack_require__) { ");
|
46
|
+
source.insert(depBlock.arrayRange[0] + 0.9, "var __WEBPACK_AMD_REQUIRE_ARRAY__ = ");
|
47
|
+
source.replace(depBlock.arrayRange[1], depBlock.functionRange[0] - 1, "; (");
|
48
|
+
source.insert(depBlock.functionRange[1], ".apply(null, __WEBPACK_AMD_REQUIRE_ARRAY__));");
|
49
|
+
source.replace(depBlock.functionRange[1], depBlock.outerRange[1] - 1, "}" + (depBlock.bindThis ? ".bind(this)" : "") + wrapper[1]);
|
50
|
+
} else {
|
51
|
+
source.replace(depBlock.outerRange[0], depBlock.arrayRange[0] - 1,
|
52
|
+
"!/* require */(" + asComment(depBlock.chunkReason) + "function() { ");
|
53
|
+
source.insert(depBlock.arrayRange[0] + 0.9, "var __WEBPACK_AMD_REQUIRE_ARRAY__ = ");
|
54
|
+
source.replace(depBlock.arrayRange[1], depBlock.functionRange[0] - 1, "; (");
|
55
|
+
source.insert(depBlock.functionRange[1], ".apply(null, __WEBPACK_AMD_REQUIRE_ARRAY__));");
|
56
|
+
source.replace(depBlock.functionRange[1], depBlock.outerRange[1] - 1, "}" + (depBlock.bindThis ? ".call(this)" : "()") + ")");
|
57
|
+
}
|
58
|
+
}
|
59
|
+
};
|
60
|
+
|
61
|
+
function asComment(str) {
|
62
|
+
if(!str) return "";
|
63
|
+
return "/* " + str + " */";
|
64
|
+
}
|
@@ -1,17 +1,17 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
var ModuleDependency = require("./ModuleDependency");
|
6
|
-
|
7
|
-
function AMDRequireItemDependency(request, range) {
|
8
|
-
ModuleDependency.call(this, request);
|
9
|
-
this.range = range;
|
10
|
-
}
|
11
|
-
module.exports = AMDRequireItemDependency;
|
12
|
-
|
13
|
-
AMDRequireItemDependency.prototype = Object.create(ModuleDependency.prototype);
|
14
|
-
AMDRequireItemDependency.prototype.constructor = AMDRequireItemDependency;
|
15
|
-
AMDRequireItemDependency.prototype.type = "amd require";
|
16
|
-
|
17
|
-
AMDRequireItemDependency.Template = require("./ModuleDependencyTemplateAsRequireId");
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
var ModuleDependency = require("./ModuleDependency");
|
6
|
+
|
7
|
+
function AMDRequireItemDependency(request, range) {
|
8
|
+
ModuleDependency.call(this, request);
|
9
|
+
this.range = range;
|
10
|
+
}
|
11
|
+
module.exports = AMDRequireItemDependency;
|
12
|
+
|
13
|
+
AMDRequireItemDependency.prototype = Object.create(ModuleDependency.prototype);
|
14
|
+
AMDRequireItemDependency.prototype.constructor = AMDRequireItemDependency;
|
15
|
+
AMDRequireItemDependency.prototype.type = "amd require";
|
16
|
+
|
17
|
+
AMDRequireItemDependency.Template = require("./ModuleDependencyTemplateAsRequireId");
|
@@ -1,93 +1,93 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
var ConstDependency = require("./ConstDependency");
|
6
|
-
var CommonJsRequireDependency = require("./CommonJsRequireDependency");
|
7
|
-
var CommonJsRequireContextDependency = require("./CommonJsRequireContextDependency");
|
8
|
-
var RequireResolveDependency = require("./RequireResolveDependency");
|
9
|
-
var RequireResolveContextDependency = require("./RequireResolveContextDependency");
|
10
|
-
var RequireResolveHeaderDependency = require("./RequireResolveHeaderDependency");
|
11
|
-
var RequireHeaderDependency = require("./RequireHeaderDependency");
|
12
|
-
|
13
|
-
var NullFactory = require("../NullFactory");
|
14
|
-
|
15
|
-
var RequireResolveDependencyParserPlugin = require("./RequireResolveDependencyParserPlugin");
|
16
|
-
var CommonJsRequireDependencyParserPlugin = require("./CommonJsRequireDependencyParserPlugin");
|
17
|
-
|
18
|
-
var BasicEvaluatedExpression = require("../BasicEvaluatedExpression");
|
19
|
-
|
20
|
-
function CommonJsPlugin(options) {
|
21
|
-
this.options = options;
|
22
|
-
}
|
23
|
-
module.exports = CommonJsPlugin;
|
24
|
-
|
25
|
-
CommonJsPlugin.prototype.apply = function(compiler) {
|
26
|
-
function setTypeof(expr, value) {
|
27
|
-
compiler.parser.plugin("evaluate typeof " + expr, function(expr) {
|
28
|
-
return new BasicEvaluatedExpression().setString(value).setRange(expr.range);
|
29
|
-
});
|
30
|
-
compiler.parser.plugin("typeof " + expr, function(expr) {
|
31
|
-
var dep = new ConstDependency(JSON.stringify(value), expr.range);
|
32
|
-
dep.loc = expr.loc;
|
33
|
-
this.state.current.addDependency(dep);
|
34
|
-
return true;
|
35
|
-
});
|
36
|
-
}
|
37
|
-
compiler.plugin("compilation", function(compilation, params) {
|
38
|
-
var normalModuleFactory = params.normalModuleFactory;
|
39
|
-
var contextModuleFactory = params.contextModuleFactory;
|
40
|
-
|
41
|
-
compilation.dependencyFactories.set(CommonJsRequireDependency, normalModuleFactory);
|
42
|
-
compilation.dependencyTemplates.set(CommonJsRequireDependency, new CommonJsRequireDependency.Template());
|
43
|
-
|
44
|
-
compilation.dependencyFactories.set(CommonJsRequireContextDependency, contextModuleFactory);
|
45
|
-
compilation.dependencyTemplates.set(CommonJsRequireContextDependency, new CommonJsRequireContextDependency.Template());
|
46
|
-
|
47
|
-
compilation.dependencyFactories.set(RequireResolveDependency, normalModuleFactory);
|
48
|
-
compilation.dependencyTemplates.set(RequireResolveDependency, new RequireResolveDependency.Template());
|
49
|
-
|
50
|
-
compilation.dependencyFactories.set(RequireResolveContextDependency, contextModuleFactory);
|
51
|
-
compilation.dependencyTemplates.set(RequireResolveContextDependency, new RequireResolveContextDependency.Template());
|
52
|
-
|
53
|
-
compilation.dependencyFactories.set(RequireResolveHeaderDependency, new NullFactory());
|
54
|
-
compilation.dependencyTemplates.set(RequireResolveHeaderDependency, new RequireResolveHeaderDependency.Template());
|
55
|
-
|
56
|
-
compilation.dependencyFactories.set(RequireHeaderDependency, new NullFactory());
|
57
|
-
compilation.dependencyTemplates.set(RequireHeaderDependency, new RequireHeaderDependency.Template());
|
58
|
-
});
|
59
|
-
setTypeof("require", "function");
|
60
|
-
setTypeof("require.resolve", "function");
|
61
|
-
setTypeof("require.resolveWeak", "function");
|
62
|
-
compiler.parser.plugin("evaluate typeof module", function(expr) {
|
63
|
-
return new BasicEvaluatedExpression().setString("object").setRange(expr.range);
|
64
|
-
});
|
65
|
-
compiler.parser.plugin("assign require", function(expr) {
|
66
|
-
// to not leak to global "require", we need to define a local require here.
|
67
|
-
var dep = new ConstDependency("var require;", 0);
|
68
|
-
dep.loc = expr.loc;
|
69
|
-
this.state.current.addDependency(dep);
|
70
|
-
this.scope.definitions.push("require");
|
71
|
-
return true;
|
72
|
-
});
|
73
|
-
compiler.parser.plugin("can-rename require", function() {
|
74
|
-
return true;
|
75
|
-
});
|
76
|
-
compiler.parser.plugin("rename require", function(expr) {
|
77
|
-
// define the require variable. It's still undefined, but not "not defined".
|
78
|
-
var dep = new ConstDependency("var require;", 0);
|
79
|
-
dep.loc = expr.loc;
|
80
|
-
this.state.current.addDependency(dep);
|
81
|
-
return false;
|
82
|
-
});
|
83
|
-
compiler.parser.plugin("typeof module", function() {
|
84
|
-
return true;
|
85
|
-
});
|
86
|
-
compiler.parser.plugin("evaluate typeof exports", function(expr) {
|
87
|
-
return new BasicEvaluatedExpression().setString("object").setRange(expr.range);
|
88
|
-
});
|
89
|
-
compiler.parser.apply(
|
90
|
-
new CommonJsRequireDependencyParserPlugin(this.options),
|
91
|
-
new RequireResolveDependencyParserPlugin(this.options)
|
92
|
-
);
|
93
|
-
};
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
var ConstDependency = require("./ConstDependency");
|
6
|
+
var CommonJsRequireDependency = require("./CommonJsRequireDependency");
|
7
|
+
var CommonJsRequireContextDependency = require("./CommonJsRequireContextDependency");
|
8
|
+
var RequireResolveDependency = require("./RequireResolveDependency");
|
9
|
+
var RequireResolveContextDependency = require("./RequireResolveContextDependency");
|
10
|
+
var RequireResolveHeaderDependency = require("./RequireResolveHeaderDependency");
|
11
|
+
var RequireHeaderDependency = require("./RequireHeaderDependency");
|
12
|
+
|
13
|
+
var NullFactory = require("../NullFactory");
|
14
|
+
|
15
|
+
var RequireResolveDependencyParserPlugin = require("./RequireResolveDependencyParserPlugin");
|
16
|
+
var CommonJsRequireDependencyParserPlugin = require("./CommonJsRequireDependencyParserPlugin");
|
17
|
+
|
18
|
+
var BasicEvaluatedExpression = require("../BasicEvaluatedExpression");
|
19
|
+
|
20
|
+
function CommonJsPlugin(options) {
|
21
|
+
this.options = options;
|
22
|
+
}
|
23
|
+
module.exports = CommonJsPlugin;
|
24
|
+
|
25
|
+
CommonJsPlugin.prototype.apply = function(compiler) {
|
26
|
+
function setTypeof(expr, value) {
|
27
|
+
compiler.parser.plugin("evaluate typeof " + expr, function(expr) {
|
28
|
+
return new BasicEvaluatedExpression().setString(value).setRange(expr.range);
|
29
|
+
});
|
30
|
+
compiler.parser.plugin("typeof " + expr, function(expr) {
|
31
|
+
var dep = new ConstDependency(JSON.stringify(value), expr.range);
|
32
|
+
dep.loc = expr.loc;
|
33
|
+
this.state.current.addDependency(dep);
|
34
|
+
return true;
|
35
|
+
});
|
36
|
+
}
|
37
|
+
compiler.plugin("compilation", function(compilation, params) {
|
38
|
+
var normalModuleFactory = params.normalModuleFactory;
|
39
|
+
var contextModuleFactory = params.contextModuleFactory;
|
40
|
+
|
41
|
+
compilation.dependencyFactories.set(CommonJsRequireDependency, normalModuleFactory);
|
42
|
+
compilation.dependencyTemplates.set(CommonJsRequireDependency, new CommonJsRequireDependency.Template());
|
43
|
+
|
44
|
+
compilation.dependencyFactories.set(CommonJsRequireContextDependency, contextModuleFactory);
|
45
|
+
compilation.dependencyTemplates.set(CommonJsRequireContextDependency, new CommonJsRequireContextDependency.Template());
|
46
|
+
|
47
|
+
compilation.dependencyFactories.set(RequireResolveDependency, normalModuleFactory);
|
48
|
+
compilation.dependencyTemplates.set(RequireResolveDependency, new RequireResolveDependency.Template());
|
49
|
+
|
50
|
+
compilation.dependencyFactories.set(RequireResolveContextDependency, contextModuleFactory);
|
51
|
+
compilation.dependencyTemplates.set(RequireResolveContextDependency, new RequireResolveContextDependency.Template());
|
52
|
+
|
53
|
+
compilation.dependencyFactories.set(RequireResolveHeaderDependency, new NullFactory());
|
54
|
+
compilation.dependencyTemplates.set(RequireResolveHeaderDependency, new RequireResolveHeaderDependency.Template());
|
55
|
+
|
56
|
+
compilation.dependencyFactories.set(RequireHeaderDependency, new NullFactory());
|
57
|
+
compilation.dependencyTemplates.set(RequireHeaderDependency, new RequireHeaderDependency.Template());
|
58
|
+
});
|
59
|
+
setTypeof("require", "function");
|
60
|
+
setTypeof("require.resolve", "function");
|
61
|
+
setTypeof("require.resolveWeak", "function");
|
62
|
+
compiler.parser.plugin("evaluate typeof module", function(expr) {
|
63
|
+
return new BasicEvaluatedExpression().setString("object").setRange(expr.range);
|
64
|
+
});
|
65
|
+
compiler.parser.plugin("assign require", function(expr) {
|
66
|
+
// to not leak to global "require", we need to define a local require here.
|
67
|
+
var dep = new ConstDependency("var require;", 0);
|
68
|
+
dep.loc = expr.loc;
|
69
|
+
this.state.current.addDependency(dep);
|
70
|
+
this.scope.definitions.push("require");
|
71
|
+
return true;
|
72
|
+
});
|
73
|
+
compiler.parser.plugin("can-rename require", function() {
|
74
|
+
return true;
|
75
|
+
});
|
76
|
+
compiler.parser.plugin("rename require", function(expr) {
|
77
|
+
// define the require variable. It's still undefined, but not "not defined".
|
78
|
+
var dep = new ConstDependency("var require;", 0);
|
79
|
+
dep.loc = expr.loc;
|
80
|
+
this.state.current.addDependency(dep);
|
81
|
+
return false;
|
82
|
+
});
|
83
|
+
compiler.parser.plugin("typeof module", function() {
|
84
|
+
return true;
|
85
|
+
});
|
86
|
+
compiler.parser.plugin("evaluate typeof exports", function(expr) {
|
87
|
+
return new BasicEvaluatedExpression().setString("object").setRange(expr.range);
|
88
|
+
});
|
89
|
+
compiler.parser.apply(
|
90
|
+
new CommonJsRequireDependencyParserPlugin(this.options),
|
91
|
+
new RequireResolveDependencyParserPlugin(this.options)
|
92
|
+
);
|
93
|
+
};
|