webpack 2.2.0 → 2.2.1
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/README.md +39 -63
- package/lib/APIPlugin.js +2 -8
- package/lib/AsyncDependenciesBlock.js +46 -55
- package/lib/ChunkTemplate.js +25 -26
- package/lib/CompatibilityPlugin.js +49 -46
- package/lib/Compilation.js +279 -138
- package/lib/ConstPlugin.js +2 -6
- package/lib/DefinePlugin.js +9 -27
- package/lib/EnvironmentPlugin.js +25 -9
- package/lib/EvalDevToolModulePlugin.js +15 -10
- package/lib/EvalSourceMapDevToolPlugin.js +24 -18
- package/lib/ExtendedAPIPlugin.js +1 -6
- package/lib/FlagDependencyExportsPlugin.js +72 -79
- package/lib/FlagInitialModulesAsUsedPlugin.js +17 -13
- package/lib/FunctionModulePlugin.js +17 -11
- package/lib/HotModuleReplacementPlugin.js +3 -13
- package/lib/HotUpdateChunkTemplate.js +21 -22
- package/lib/JsonpTemplatePlugin.js +15 -11
- package/lib/LoaderTargetPlugin.js +14 -10
- package/lib/MainTemplate.js +193 -191
- package/lib/MultiWatching.js +16 -14
- package/lib/NoEmitOnErrorsPlugin.js +14 -11
- package/lib/NodeStuffPlugin.js +6 -30
- package/lib/NormalModuleFactory.js +2 -2
- package/lib/NormalModuleReplacementPlugin.js +36 -31
- package/lib/Parser.js +8 -7
- package/lib/ParserHelpers.js +19 -5
- package/lib/ProvidePlugin.js +2 -6
- package/lib/RequestShortener.js +49 -47
- package/lib/RequireJsStuffPlugin.js +5 -20
- package/lib/RuleSet.js +28 -20
- package/lib/Template.js +133 -132
- package/lib/compareLocations.js +9 -8
- package/lib/dependencies/AMDPlugin.js +111 -115
- package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +157 -154
- package/lib/dependencies/CommonJsPlugin.js +81 -85
- package/lib/dependencies/CommonJsRequireDependencyParserPlugin.js +73 -75
- package/lib/dependencies/ContextDependencyTemplateAsId.js +21 -18
- package/lib/dependencies/ContextDependencyTemplateAsRequireCall.js +23 -29
- package/lib/dependencies/CriticalDependencyWarning.js +13 -8
- package/lib/dependencies/{HarmonyCompatiblilityDependency.js → HarmonyCompatibilityDependency.js} +3 -3
- package/lib/dependencies/HarmonyDetectionParserPlugin.js +2 -2
- package/lib/dependencies/HarmonyModulesPlugin.js +51 -49
- package/lib/dependencies/ImportParserPlugin.js +31 -28
- package/lib/dependencies/ImportPlugin.js +28 -24
- package/lib/dependencies/LocalModule.js +17 -13
- package/lib/dependencies/ModuleDependencyTemplateAsId.js +15 -17
- package/lib/dependencies/ModuleDependencyTemplateAsRequireId.js +15 -17
- package/lib/dependencies/RequireContextPlugin.js +59 -57
- package/lib/dependencies/RequireEnsurePlugin.js +22 -26
- package/lib/dependencies/RequireIncludePlugin.js +18 -23
- package/lib/dependencies/RequireResolveDependencyParserPlugin.js +59 -56
- package/lib/dependencies/SystemPlugin.js +34 -36
- package/lib/dependencies/WebpackMissingModule.js +10 -18
- package/lib/node/NodeTargetPlugin.js +8 -5
- package/lib/node/NodeWatchFileSystem.js +54 -53
- package/lib/optimize/CommonsChunkPlugin.js +163 -166
- package/lib/optimize/RemoveParentModulesPlugin.js +36 -27
- package/lib/validateSchema.js +18 -18
- package/lib/webworker/WebWorkerHotUpdateChunkTemplatePlugin.js +22 -20
- package/package.json +12 -6
@@ -2,174 +2,177 @@
|
|
2
2
|
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
3
|
Author Tobias Koppers @sokra
|
4
4
|
*/
|
5
|
-
|
6
|
-
var AMDRequireArrayDependency = require("./AMDRequireArrayDependency");
|
7
|
-
var AMDRequireContextDependency = require("./AMDRequireContextDependency");
|
8
|
-
var AMDRequireDependenciesBlock = require("./AMDRequireDependenciesBlock");
|
9
|
-
var UnsupportedDependency = require("./UnsupportedDependency");
|
10
|
-
var LocalModuleDependency = require("./LocalModuleDependency");
|
11
|
-
var ContextDependencyHelpers = require("./ContextDependencyHelpers");
|
12
|
-
var LocalModulesHelpers = require("./LocalModulesHelpers");
|
13
|
-
var ConstDependency = require("./ConstDependency");
|
14
|
-
var getFunctionExpression = require("./getFunctionExpression");
|
15
|
-
var UnsupportedFeatureWarning = require("../UnsupportedFeatureWarning");
|
5
|
+
"use strict";
|
16
6
|
|
17
|
-
|
18
|
-
|
19
|
-
|
7
|
+
const AMDRequireItemDependency = require("./AMDRequireItemDependency");
|
8
|
+
const AMDRequireArrayDependency = require("./AMDRequireArrayDependency");
|
9
|
+
const AMDRequireContextDependency = require("./AMDRequireContextDependency");
|
10
|
+
const AMDRequireDependenciesBlock = require("./AMDRequireDependenciesBlock");
|
11
|
+
const UnsupportedDependency = require("./UnsupportedDependency");
|
12
|
+
const LocalModuleDependency = require("./LocalModuleDependency");
|
13
|
+
const ContextDependencyHelpers = require("./ContextDependencyHelpers");
|
14
|
+
const LocalModulesHelpers = require("./LocalModulesHelpers");
|
15
|
+
const ConstDependency = require("./ConstDependency");
|
16
|
+
const getFunctionExpression = require("./getFunctionExpression");
|
17
|
+
const UnsupportedFeatureWarning = require("../UnsupportedFeatureWarning");
|
20
18
|
|
21
|
-
|
19
|
+
class AMDRequireDependenciesBlockParserPlugin {
|
20
|
+
constructor(options) {
|
21
|
+
this.options = options;
|
22
|
+
}
|
22
23
|
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
24
|
+
processFunctionArgument(parser, expression) {
|
25
|
+
let bindThis = true;
|
26
|
+
const fnData = getFunctionExpression(expression);
|
27
|
+
if(fnData) {
|
28
|
+
parser.inScope(fnData.fn.params.filter((i) => {
|
29
|
+
return ["require", "module", "exports"].indexOf(i.name) < 0;
|
30
|
+
}), () => {
|
31
|
+
if(fnData.fn.body.type === "BlockStatement")
|
32
|
+
parser.walkStatement(fnData.fn.body);
|
33
|
+
else
|
34
|
+
parser.walkExpression(fnData.fn.body);
|
35
|
+
});
|
36
|
+
parser.walkExpressions(fnData.expressions);
|
37
|
+
if(fnData.needThis === false) {
|
38
|
+
bindThis = false;
|
39
|
+
}
|
40
|
+
} else {
|
41
|
+
parser.walkExpression(expression);
|
38
42
|
}
|
39
|
-
|
40
|
-
parser.walkExpression(expression);
|
43
|
+
return bindThis;
|
41
44
|
}
|
42
|
-
return bindThis;
|
43
|
-
}
|
44
45
|
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
46
|
+
apply(parser) {
|
47
|
+
const options = this.options;
|
48
|
+
parser.plugin("call require", (expr) => {
|
49
|
+
let param;
|
50
|
+
let dep;
|
51
|
+
let old;
|
52
|
+
let result;
|
52
53
|
|
53
|
-
|
54
|
+
old = parser.state.current;
|
54
55
|
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
56
|
+
if(expr.arguments.length >= 1) {
|
57
|
+
param = parser.evaluateExpression(expr.arguments[0]);
|
58
|
+
dep = new AMDRequireDependenciesBlock(
|
59
|
+
expr,
|
60
|
+
param.range,
|
61
|
+
(expr.arguments.length > 1) ? expr.arguments[1].range : null,
|
62
|
+
(expr.arguments.length > 2) ? expr.arguments[2].range : null,
|
63
|
+
parser.state.module,
|
64
|
+
expr.loc
|
65
|
+
);
|
66
|
+
parser.state.current = dep;
|
67
|
+
}
|
67
68
|
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
69
|
+
if(expr.arguments.length === 1) {
|
70
|
+
parser.inScope([], () => {
|
71
|
+
result = parser.applyPluginsBailResult("call require:amd:array", expr, param);
|
72
|
+
});
|
73
|
+
parser.state.current = old;
|
74
|
+
if(!result) return;
|
75
|
+
parser.state.current.addBlock(dep);
|
76
|
+
return true;
|
77
|
+
}
|
77
78
|
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
79
|
+
if(expr.arguments.length === 2 || expr.arguments.length === 3) {
|
80
|
+
try {
|
81
|
+
parser.inScope([], () => {
|
82
|
+
result = parser.applyPluginsBailResult("call require:amd:array", expr, param);
|
83
|
+
});
|
84
|
+
if(!result) {
|
85
|
+
dep = new UnsupportedDependency("unsupported", expr.range);
|
86
|
+
old.addDependency(dep);
|
87
|
+
if(parser.state.module)
|
88
|
+
parser.state.module.errors.push(new UnsupportedFeatureWarning(parser.state.module, "Cannot statically analyse 'require(..., ...)' in line " + expr.loc.start.line));
|
89
|
+
dep = null;
|
90
|
+
return true;
|
91
|
+
}
|
92
|
+
dep.functionBindThis = this.processFunctionArgument(parser, expr.arguments[1]);
|
93
|
+
if(expr.arguments.length === 3) {
|
94
|
+
dep.errorCallbackBindThis = this.processFunctionArgument(parser, expr.arguments[2]);
|
95
|
+
}
|
96
|
+
} finally {
|
97
|
+
parser.state.current = old;
|
98
|
+
if(dep)
|
99
|
+
parser.state.current.addBlock(dep);
|
94
100
|
}
|
95
|
-
|
96
|
-
this.state.current = old;
|
97
|
-
if(dep)
|
98
|
-
this.state.current.addBlock(dep);
|
101
|
+
return true;
|
99
102
|
}
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
}
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
103
|
+
});
|
104
|
+
parser.plugin("call require:amd:array", (expr, param) => {
|
105
|
+
if(param.isArray()) {
|
106
|
+
param.items.forEach((param) => {
|
107
|
+
const result = parser.applyPluginsBailResult("call require:amd:item", expr, param);
|
108
|
+
if(result === undefined) {
|
109
|
+
parser.applyPluginsBailResult("call require:amd:context", expr, param);
|
110
|
+
}
|
111
|
+
});
|
112
|
+
return true;
|
113
|
+
} else if(param.isConstArray()) {
|
114
|
+
const deps = [];
|
115
|
+
param.array.forEach((request) => {
|
116
|
+
let dep, localModule;
|
117
|
+
if(request === "require") {
|
118
|
+
dep = "__webpack_require__";
|
119
|
+
} else if(["exports", "module"].indexOf(request) >= 0) {
|
120
|
+
dep = request;
|
121
|
+
} else if(localModule = LocalModulesHelpers.getLocalModule(parser.state, request)) { // eslint-disable-line no-cond-assign
|
122
|
+
dep = new LocalModuleDependency(localModule);
|
123
|
+
dep.loc = expr.loc;
|
124
|
+
parser.state.current.addDependency(dep);
|
125
|
+
} else {
|
126
|
+
dep = new AMDRequireItemDependency(request);
|
127
|
+
dep.loc = expr.loc;
|
128
|
+
dep.optional = !!parser.scope.inTry;
|
129
|
+
parser.state.current.addDependency(dep);
|
130
|
+
}
|
131
|
+
deps.push(dep);
|
132
|
+
});
|
133
|
+
const dep = new AMDRequireArrayDependency(deps, param.range);
|
134
|
+
dep.loc = expr.loc;
|
135
|
+
dep.optional = !!parser.scope.inTry;
|
136
|
+
parser.state.current.addDependency(dep);
|
137
|
+
return true;
|
138
|
+
}
|
139
|
+
});
|
140
|
+
parser.plugin("call require:amd:item", (expr, param) => {
|
141
|
+
if(param.isConditional()) {
|
142
|
+
param.options.forEach((param) => {
|
143
|
+
const result = parser.applyPluginsBailResult("call require:amd:item", expr, param);
|
144
|
+
if(result === undefined) {
|
145
|
+
parser.applyPluginsBailResult("call require:amd:context", expr, param);
|
146
|
+
}
|
147
|
+
});
|
148
|
+
return true;
|
149
|
+
} else if(param.isString()) {
|
150
|
+
let dep, localModule;
|
151
|
+
if(param.string === "require") {
|
152
|
+
dep = new ConstDependency("__webpack_require__", param.string);
|
153
|
+
} else if(param.string === "module") {
|
154
|
+
dep = new ConstDependency(parser.state.module.moduleArgument || "module", param.range);
|
155
|
+
} else if(param.string === "exports") {
|
156
|
+
dep = new ConstDependency(parser.state.module.exportsArgument || "exports", param.range);
|
157
|
+
} else if(localModule = LocalModulesHelpers.getLocalModule(parser.state, param.string)) { // eslint-disable-line no-cond-assign
|
158
|
+
dep = new LocalModuleDependency(localModule, param.range);
|
124
159
|
} else {
|
125
|
-
dep = new AMDRequireItemDependency(
|
126
|
-
dep.loc = expr.loc;
|
127
|
-
dep.optional = !!this.scope.inTry;
|
128
|
-
this.state.current.addDependency(dep);
|
129
|
-
}
|
130
|
-
deps.push(dep);
|
131
|
-
}, this);
|
132
|
-
var dep = new AMDRequireArrayDependency(deps, param.range);
|
133
|
-
dep.loc = expr.loc;
|
134
|
-
dep.optional = !!this.scope.inTry;
|
135
|
-
this.state.current.addDependency(dep);
|
136
|
-
return true;
|
137
|
-
}
|
138
|
-
});
|
139
|
-
parser.plugin("call require:amd:item", function(expr, param) {
|
140
|
-
if(param.isConditional()) {
|
141
|
-
param.options.forEach(function(param) {
|
142
|
-
var result = this.applyPluginsBailResult("call require:amd:item", expr, param);
|
143
|
-
if(result === undefined) {
|
144
|
-
this.applyPluginsBailResult("call require:amd:context", expr, param);
|
160
|
+
dep = new AMDRequireItemDependency(param.string, param.range);
|
145
161
|
}
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
if(param.string === "require") {
|
151
|
-
dep = new ConstDependency("__webpack_require__", param.range);
|
152
|
-
} else if(param.string === "module") {
|
153
|
-
dep = new ConstDependency(this.state.module.moduleArgument || "module", param.range);
|
154
|
-
} else if(param.string === "exports") {
|
155
|
-
dep = new ConstDependency(this.state.module.exportsArgument || "exports", param.range);
|
156
|
-
} else if(localModule = LocalModulesHelpers.getLocalModule(this.state, param.string)) { // eslint-disable-line no-cond-assign
|
157
|
-
dep = new LocalModuleDependency(localModule, param.range);
|
158
|
-
} else {
|
159
|
-
dep = new AMDRequireItemDependency(param.string, param.range);
|
162
|
+
dep.loc = expr.loc;
|
163
|
+
dep.optional = !!parser.scope.inTry;
|
164
|
+
parser.state.current.addDependency(dep);
|
165
|
+
return true;
|
160
166
|
}
|
167
|
+
});
|
168
|
+
parser.plugin("call require:amd:context", (expr, param) => {
|
169
|
+
const dep = ContextDependencyHelpers.create(AMDRequireContextDependency, param.range, param, expr, options);
|
170
|
+
if(!dep) return;
|
161
171
|
dep.loc = expr.loc;
|
162
|
-
dep.optional = !!
|
163
|
-
|
172
|
+
dep.optional = !!parser.scope.inTry;
|
173
|
+
parser.state.current.addDependency(dep);
|
164
174
|
return true;
|
165
|
-
}
|
166
|
-
}
|
167
|
-
|
168
|
-
|
169
|
-
if(!dep) return;
|
170
|
-
dep.loc = expr.loc;
|
171
|
-
dep.optional = !!this.scope.inTry;
|
172
|
-
this.state.current.addDependency(dep);
|
173
|
-
return true;
|
174
|
-
});
|
175
|
-
};
|
175
|
+
});
|
176
|
+
}
|
177
|
+
}
|
178
|
+
module.exports = AMDRequireDependenciesBlockParserPlugin;
|
@@ -3,90 +3,86 @@
|
|
3
3
|
Author Tobias Koppers @sokra
|
4
4
|
*/
|
5
5
|
"use strict";
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
}
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
6
|
+
const ConstDependency = require("./ConstDependency");
|
7
|
+
const CommonJsRequireDependency = require("./CommonJsRequireDependency");
|
8
|
+
const CommonJsRequireContextDependency = require("./CommonJsRequireContextDependency");
|
9
|
+
const RequireResolveDependency = require("./RequireResolveDependency");
|
10
|
+
const RequireResolveContextDependency = require("./RequireResolveContextDependency");
|
11
|
+
const RequireResolveHeaderDependency = require("./RequireResolveHeaderDependency");
|
12
|
+
const RequireHeaderDependency = require("./RequireHeaderDependency");
|
13
|
+
|
14
|
+
const NullFactory = require("../NullFactory");
|
15
|
+
|
16
|
+
const RequireResolveDependencyParserPlugin = require("./RequireResolveDependencyParserPlugin");
|
17
|
+
const CommonJsRequireDependencyParserPlugin = require("./CommonJsRequireDependencyParserPlugin");
|
18
|
+
|
19
|
+
const ParserHelpers = require("../ParserHelpers");
|
20
|
+
|
21
|
+
class CommonJsPlugin {
|
22
|
+
constructor(options) {
|
23
|
+
this.options = options;
|
24
|
+
}
|
25
|
+
|
26
|
+
apply(compiler) {
|
27
|
+
const options = this.options;
|
28
|
+
compiler.plugin("compilation", (compilation, params) => {
|
29
|
+
const normalModuleFactory = params.normalModuleFactory;
|
30
|
+
const contextModuleFactory = params.contextModuleFactory;
|
31
|
+
|
32
|
+
compilation.dependencyFactories.set(CommonJsRequireDependency, normalModuleFactory);
|
33
|
+
compilation.dependencyTemplates.set(CommonJsRequireDependency, new CommonJsRequireDependency.Template());
|
34
|
+
|
35
|
+
compilation.dependencyFactories.set(CommonJsRequireContextDependency, contextModuleFactory);
|
36
|
+
compilation.dependencyTemplates.set(CommonJsRequireContextDependency, new CommonJsRequireContextDependency.Template());
|
37
|
+
|
38
|
+
compilation.dependencyFactories.set(RequireResolveDependency, normalModuleFactory);
|
39
|
+
compilation.dependencyTemplates.set(RequireResolveDependency, new RequireResolveDependency.Template());
|
40
|
+
|
41
|
+
compilation.dependencyFactories.set(RequireResolveContextDependency, contextModuleFactory);
|
42
|
+
compilation.dependencyTemplates.set(RequireResolveContextDependency, new RequireResolveContextDependency.Template());
|
43
|
+
|
44
|
+
compilation.dependencyFactories.set(RequireResolveHeaderDependency, new NullFactory());
|
45
|
+
compilation.dependencyTemplates.set(RequireResolveHeaderDependency, new RequireResolveHeaderDependency.Template());
|
46
|
+
|
47
|
+
compilation.dependencyFactories.set(RequireHeaderDependency, new NullFactory());
|
48
|
+
compilation.dependencyTemplates.set(RequireHeaderDependency, new RequireHeaderDependency.Template());
|
49
|
+
|
50
|
+
params.normalModuleFactory.plugin("parser", (parser, parserOptions) => {
|
51
|
+
|
52
|
+
if(typeof parserOptions.commonjs !== "undefined" && !parserOptions.commonjs)
|
53
|
+
return;
|
54
|
+
|
55
|
+
const requireExpressions = ["require", "require.resolve", "require.resolveWeak"];
|
56
|
+
for(const expression of requireExpressions) {
|
57
|
+
parser.plugin(`typeof ${expression}`, ParserHelpers.toConstantDependency("function"));
|
58
|
+
parser.plugin(`evaluate typeof ${expression}`, ParserHelpers.evaluateToString("function"));
|
59
|
+
}
|
60
|
+
|
61
|
+
parser.plugin("evaluate typeof module", ParserHelpers.evaluateToString("object"));
|
62
|
+
parser.plugin("assign require", (expr) => {
|
63
|
+
// to not leak to global "require", we need to define a local require here.
|
64
|
+
const dep = new ConstDependency("var require;", 0);
|
65
|
+
dep.loc = expr.loc;
|
66
|
+
parser.state.current.addDependency(dep);
|
67
|
+
parser.scope.definitions.push("require");
|
68
|
+
return true;
|
69
|
+
});
|
70
|
+
parser.plugin("can-rename require", () => true);
|
71
|
+
parser.plugin("rename require", (expr) => {
|
72
|
+
// define the require variable. It's still undefined, but not "not defined".
|
73
|
+
const dep = new ConstDependency("var require;", 0);
|
74
|
+
dep.loc = expr.loc;
|
75
|
+
parser.state.current.addDependency(dep);
|
76
|
+
return false;
|
77
|
+
});
|
78
|
+
parser.plugin("typeof module", () => true);
|
79
|
+
parser.plugin("evaluate typeof exports", ParserHelpers.evaluateToString("object"));
|
80
|
+
parser.apply(
|
81
|
+
new CommonJsRequireDependencyParserPlugin(options),
|
82
|
+
new RequireResolveDependencyParserPlugin(options)
|
83
|
+
);
|
70
84
|
});
|
71
|
-
parser.plugin("can-rename require", function() {
|
72
|
-
return true;
|
73
|
-
});
|
74
|
-
parser.plugin("rename require", function(expr) {
|
75
|
-
// define the require variable. It's still undefined, but not "not defined".
|
76
|
-
var dep = new ConstDependency("var require;", 0);
|
77
|
-
dep.loc = expr.loc;
|
78
|
-
this.state.current.addDependency(dep);
|
79
|
-
return false;
|
80
|
-
});
|
81
|
-
parser.plugin("typeof module", function() {
|
82
|
-
return true;
|
83
|
-
});
|
84
|
-
parser.plugin("evaluate typeof exports", ParserHelpers.evaluateToString("object"));
|
85
|
-
parser.apply(
|
86
|
-
new CommonJsRequireDependencyParserPlugin(options),
|
87
|
-
new RequireResolveDependencyParserPlugin(options)
|
88
|
-
);
|
89
85
|
});
|
90
|
-
}
|
91
|
-
|
92
|
-
|
86
|
+
}
|
87
|
+
}
|
88
|
+
module.exports = CommonJsPlugin;
|