Skip to content

Commit 698c97e

Browse files
committed
enforce expressions
1 parent d1f466e commit 698c97e

8 files changed

+46
-26
lines changed

lib/dependencies/AMDDefineDependency.js

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,45 +24,45 @@ AMDDefineDependency.Template.prototype.apply = function(dep, source, outputOptio
2424
if(localModuleVar) {
2525
if(dep.objectRange && !dep.functionRange) {
2626
source.replace(dep.range[0], dep.objectRange[0]-1,
27-
"(" + localModuleVar + " = ");
27+
"!(" + localModuleVar + " = ");
2828
source.insert(0, "var " + localModuleVar + ";");
2929
source.replace(dep.objectRange[1], dep.range[1]-1, ")");
3030
} else if(!dep.arrayRange && dep.functionRange && !dep.objectRange) {
3131
source.replace(dep.range[0], dep.functionRange[0]-1,
32-
"(" + localModuleVar + " = (");
32+
"!(" + localModuleVar + " = (");
3333
source.insert(0, "var " + localModuleVar + ";");
3434
source.replace(dep.functionRange[1], dep.range[1]-1, ".call(exports, require, exports, module)))");
3535
} else if(dep.arrayRange && dep.functionRange && !dep.objectRange) {
3636
source.replace(dep.range[0], dep.arrayRange[0]-1,
37-
"(" + localModuleVar + " = ");
37+
"!(" + localModuleVar + " = ");
3838
source.insert(0, "var __WEBPACK_AMD_DEFINE_ARRAY__, " + localModuleVar + ";");
3939
source.replace(dep.arrayRange[1], dep.functionRange[0]-1, ", __WEBPACK_AMD_DEFINE_RESULT__ = (");
4040
source.replace(dep.functionRange[1], dep.range[1]-1, ".apply(null, __WEBPACK_AMD_DEFINE_ARRAY__)))");
4141
} else if(dep.functionRange && dep.objectRange) {
4242
source.replace(dep.range[0], dep.functionRange[0]-1,
43-
"(__WEBPACK_AMD_DEFINE_FACTORY__ = (");
43+
"!(__WEBPACK_AMD_DEFINE_FACTORY__ = (");
4444
source.insert(0, "var __WEBPACK_AMD_DEFINE_FACTORY__, " + localModuleVar + ";");
4545
source.replace(dep.functionRange[1], dep.range[1]-1, "), (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (" + localModuleVar + " = __WEBPACK_AMD_DEFINE_FACTORY__.call(exports, require, exports, module)) : " + localModuleVar + " = __WEBPACK_AMD_DEFINE_FACTORY__))");
4646
}
4747
} else {
4848
if(dep.objectRange && !dep.functionRange) {
4949
source.replace(dep.range[0], dep.objectRange[0]-1,
50-
"(module.exports = ");
50+
"!(module.exports = ");
5151
source.replace(dep.objectRange[1], dep.range[1]-1, ")");
5252
} else if(!dep.arrayRange && dep.functionRange && !dep.objectRange) {
5353
source.replace(dep.range[0], dep.functionRange[0]-1,
54-
"(__WEBPACK_AMD_DEFINE_RESULT__ = (");
54+
"!(__WEBPACK_AMD_DEFINE_RESULT__ = (");
5555
source.insert(0, "var __WEBPACK_AMD_DEFINE_RESULT__;");
5656
source.replace(dep.functionRange[1], dep.range[1]-1, ".call(exports, require, exports, module)), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__))");
5757
} else if(dep.arrayRange && dep.functionRange && !dep.objectRange) {
5858
source.replace(dep.range[0], dep.arrayRange[0]-1,
59-
"(__WEBPACK_AMD_DEFINE_ARRAY__ = ");
59+
"!(__WEBPACK_AMD_DEFINE_ARRAY__ = ");
6060
source.insert(0, "var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;");
6161
source.replace(dep.arrayRange[1], dep.functionRange[0]-1, ", __WEBPACK_AMD_DEFINE_RESULT__ = (");
6262
source.replace(dep.functionRange[1], dep.range[1]-1, ".apply(null, __WEBPACK_AMD_DEFINE_ARRAY__)), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__))");
6363
} else if(dep.functionRange && dep.objectRange) {
6464
source.replace(dep.range[0], dep.functionRange[0]-1,
65-
"(__WEBPACK_AMD_DEFINE_FACTORY__ = (");
65+
"!(__WEBPACK_AMD_DEFINE_FACTORY__ = (");
6666
source.insert(0, "var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;");
6767
source.replace(dep.functionRange[1], dep.range[1]-1, "), (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_RESULT__ = __WEBPACK_AMD_DEFINE_FACTORY__.call(exports, require, exports, module), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : module.exports = __WEBPACK_AMD_DEFINE_FACTORY__))");
6868
}

lib/dependencies/AMDRequireDependency.js

Lines changed: 30 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,19 +17,39 @@ AMDRequireDependency.Template = function AMDRequireDependencyTemplate() {};
1717

1818
AMDRequireDependency.Template.prototype.apply = function(dep, source, outputOptions, requestShortener) {
1919
var depBlock = dep.block;
20+
var chunkId = depBlock.chunk && depBlock.chunk.id || 0;
2021
if(depBlock.arrayRange && !depBlock.functionRange) {
21-
source.replace(depBlock.range[0], depBlock.arrayRange[0]-1,
22-
"require.e/* require */(" + (depBlock.chunk && depBlock.chunk.id || 0) + asComment(depBlock.chunkReason) + ", function(require) {");
23-
source.replace(depBlock.arrayRange[1], depBlock.range[1]-1, ";})");
22+
if(chunkId) {
23+
source.replace(depBlock.range[0], depBlock.arrayRange[0]-1,
24+
"require.e/* require */(" + chunkId + asComment(depBlock.chunkReason) + ", function(require) {");
25+
source.replace(depBlock.arrayRange[1], depBlock.range[1]-1, ";})");
26+
} else {
27+
source.replace(depBlock.range[0], depBlock.arrayRange[0]-1,
28+
"!/* require */(" + asComment(depBlock.chunkReason));
29+
source.replace(depBlock.arrayRange[1], depBlock.range[1]-1, ")");
30+
}
2431
} else if(!depBlock.arrayRange && depBlock.functionRange) {
25-
source.replace(depBlock.range[0], depBlock.functionRange[0]-1,
26-
"require.e/* require */(" + (depBlock.chunk && depBlock.chunk.id || 0) + asComment(depBlock.chunkReason) + ", function(require) {(");
27-
source.replace(depBlock.functionRange[1], depBlock.range[1]-1, "(require, exports, module));})");
32+
if(chunkId) {
33+
source.replace(depBlock.range[0], depBlock.functionRange[0]-1,
34+
"require.e/* require */(" + chunkId + asComment(depBlock.chunkReason) + ", function(require) {(");
35+
source.replace(depBlock.functionRange[1], depBlock.range[1]-1, ".call(exports, require, exports, module));})");
36+
} else {
37+
source.replace(depBlock.range[0], depBlock.functionRange[0]-1,
38+
"!/* require */(" + asComment(depBlock.chunkReason));
39+
source.replace(depBlock.functionRange[1], depBlock.range[1]-1, ".call(exports, require, exports, module))");
40+
}
2841
} else if(depBlock.arrayRange && depBlock.functionRange) {
29-
source.replace(depBlock.range[0], depBlock.arrayRange[0]-1,
30-
"require.e/* require */(" + (depBlock.chunk && depBlock.chunk.id || 0) + asComment(depBlock.chunkReason) + ", function(require) { var __WEBPACK_AMD_REQUIRE_ARRAY__ = ");
31-
source.replace(depBlock.arrayRange[1], depBlock.functionRange[0]-1, "; (");
32-
source.replace(depBlock.functionRange[1], depBlock.range[1]-1, ".apply(null, __WEBPACK_AMD_REQUIRE_ARRAY__));})");
42+
if(chunkId) {
43+
source.replace(depBlock.range[0], depBlock.arrayRange[0]-1,
44+
"require.e/* require */(" + chunkId + asComment(depBlock.chunkReason) + ", function(require) { var __WEBPACK_AMD_REQUIRE_ARRAY__ = ");
45+
source.replace(depBlock.arrayRange[1], depBlock.functionRange[0]-1, "; (");
46+
source.replace(depBlock.functionRange[1], depBlock.range[1]-1, ".apply(null, __WEBPACK_AMD_REQUIRE_ARRAY__));})");
47+
} else {
48+
source.replace(depBlock.range[0], depBlock.arrayRange[0]-1,
49+
"!/* require */(" + asComment(depBlock.chunkReason) + "function() { var __WEBPACK_AMD_REQUIRE_ARRAY__ = ");
50+
source.replace(depBlock.arrayRange[1], depBlock.functionRange[0]-1, "; (");
51+
source.replace(depBlock.functionRange[1], depBlock.range[1]-1, ".apply(null, __WEBPACK_AMD_REQUIRE_ARRAY__));}())");
52+
}
3353
}
3454
}
3555

lib/dependencies/ContextDependencyTemplateAsId.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ ContextDependencyTemplateAsId.prototype.apply = function(dep, source, outputOpti
1616
source.replace(dep.range[0], dep.range[1]-1, "require(" + comment + dep.module.id + ").resolve");
1717
}
1818
} else {
19-
var content = "(function webpackMissingModule() { throw new Error(" + JSON.stringify("Cannot find module \"" + dep.request + "\"") + "); }())";
19+
var content = "!(function webpackMissingModule() { throw new Error(" + JSON.stringify("Cannot find module \"" + dep.request + "\"") + "); }())";
2020
source.replace(dep.range[0], dep.range[1]-1, content);
2121
}
2222
};

lib/dependencies/ContextDependencyTemplateAsRequireCall.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ ContextDependencyTemplateAsRequireCall.prototype.apply = function(dep, source, o
1616
source.replace(dep.range[0], dep.range[1]-1, "require(" + comment + dep.module.id + ")");
1717
}
1818
} else {
19-
var content = "(function webpackMissingModule() { throw new Error(" + JSON.stringify("Cannot find module \"" + dep.request + "\"") + "); }())";
19+
var content = "!(function webpackMissingModule() { throw new Error(" + JSON.stringify("Cannot find module \"" + dep.request + "\"") + "); }())";
2020
source.replace(dep.range[0], dep.range[1]-1, content);
2121
}
2222
};

lib/dependencies/LabeledModuleDependency.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,9 @@ LabeledModuleDependency.Template.prototype.apply = function(dep, source, outputO
2626
});
2727
content += ";"
2828
} else if(dep.module) {
29-
var content = "(function webpackMissingModuleMetaInfo() { throw new Error(" + JSON.stringify("Module cannot be imported because no meta info about exports is availible \"" + dep.request + "\"") + "); }())";
29+
var content = "!(function webpackMissingModuleMetaInfo() { throw new Error(" + JSON.stringify("Module cannot be imported because no meta info about exports is availible \"" + dep.request + "\"") + "); }())";
3030
} else {
31-
var content = "(function webpackMissingModule() { throw new Error(" + JSON.stringify("Cannot find module \"" + dep.request + "\"") + "); }())";
31+
var content = "!(function webpackMissingModule() { throw new Error(" + JSON.stringify("Cannot find module \"" + dep.request + "\"") + "); }())";
3232
}
3333
source.replace(dep.range[0], dep.range[1]-1, content);
3434
};

lib/dependencies/ModuleDependencyTemplateAsId.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ ModuleDependencyTemplateAsId.prototype.apply = function(dep, source, outputOptio
1212
if(dep.module)
1313
var content = comment + dep.module.id;
1414
else
15-
var content = "(function webpackMissingModule() { throw new Error(" + JSON.stringify("Cannot find module \"" + dep.request + "\"") + "); }())";
15+
var content = "!(function webpackMissingModule() { throw new Error(" + JSON.stringify("Cannot find module \"" + dep.request + "\"") + "); }())";
1616
source.replace(dep.range[0], dep.range[1]-1, content);
1717
};
1818

lib/dependencies/ModuleDependencyTemplateAsRequireId.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@ ModuleDependencyTemplateAsRequireId.prototype.apply = function(dep, source, outp
1010
var comment = "";
1111
if(outputOptions.pathinfo) comment = "/*! " + requestShortener.shorten(dep.request) + " */ ";
1212
if(dep.module)
13-
var content = "(require(" + comment + dep.module.id + "))";
13+
var content = "require(" + comment + dep.module.id + ")";
1414
else
15-
var content = "(function webpackMissingModule() { throw new Error(" + JSON.stringify("Cannot find module \"" + dep.request + "\"") + "); }())";
15+
var content = "!(function webpackMissingModule() { throw new Error(" + JSON.stringify("Cannot find module \"" + dep.request + "\"") + "); }())";
1616
source.replace(dep.range[0], dep.range[1]-1, content);
1717
};
1818

lib/dependencies/RequireEnsureDependency.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ RequireEnsureDependency.Template.prototype.apply = function(dep, source, outputO
2727
source.replace(depBlock.expr.callee.range[0], depBlock.expr.callee.range[1]-1, "require.e/*nsure*/");
2828
source.replace(depBlock.expr.arguments[0].range[0], depBlock.expr.arguments[0].range[1]-1, (depBlock.chunk.id) + "" + asComment(depBlock.chunkReason));
2929
} else {
30-
source.replace(depBlock.expr.range[0], depBlock.expr.arguments[1].range[0]-1, "/*require.ensure*/(");
30+
source.replace(depBlock.expr.range[0], depBlock.expr.arguments[1].range[0]-1, "!/*require.ensure*/(");
3131
source.replace(depBlock.expr.arguments[1].range[1], depBlock.expr.range[1]-1, "(require))");
3232
}
3333
}

0 commit comments

Comments
 (0)