Skip to content

Commit 28d3a1b

Browse files
committed
improved PR, fixed some minor issues
1 parent 16e7383 commit 28d3a1b

File tree

9 files changed

+20
-25
lines changed

9 files changed

+20
-25
lines changed

lib/dependencies/AMDRequireDependenciesBlock.js

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,6 @@ function AMDRequireDependenciesBlock(expr, arrayRange, functionRange, errorCallb
2424
} else {
2525
this.range = expr.range;
2626
}
27-
this.range = arrayRange && functionRange ? [arrayRange[0], functionRange[1]] :
28-
arrayRange ? arrayRange :
29-
functionRange ? functionRange :
30-
expr.range;
3127
var dep = new AMDRequireDependency(this);
3228
dep.loc = loc;
3329
this.addDependency(dep);

lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ function AMDRequireDependenciesBlockParserPlugin(options) {
2020

2121
module.exports = AMDRequireDependenciesBlockParserPlugin;
2222

23-
function needsThis(parser, expression) {
23+
function processFunctionArgument(parser, expression) {
2424
var bindThis = true;
2525
var fnData = getFunctionExpression(expression);
2626
if(fnData) {
@@ -31,7 +31,7 @@ function needsThis(parser, expression) {
3131
parser.walkStatement(fnData.fn.body);
3232
else
3333
parser.walkExpression(fnData.fn.body);
34-
}.bind(parser));
34+
});
3535
parser.walkExpressions(fnData.expressions);
3636
if(fnData.needThis === false) {
3737
bindThis = false;
@@ -52,7 +52,7 @@ AMDRequireDependenciesBlockParserPlugin.prototype.apply = function(parser) {
5252

5353
old = this.state.current;
5454

55-
if(expr.arguments.length) {
55+
if(expr.arguments.length >= 1) {
5656
param = this.evaluateExpression(expr.arguments[0]);
5757
dep = new AMDRequireDependenciesBlock(
5858
expr,
@@ -88,9 +88,9 @@ AMDRequireDependenciesBlockParserPlugin.prototype.apply = function(parser) {
8888
dep = null;
8989
return true;
9090
}
91-
dep.bindThis = needsThis(this, expr.arguments[1]);
91+
dep.functionBindThis = processFunctionArgument(this, expr.arguments[1]);
9292
if(expr.arguments.length === 3) {
93-
dep.errorCallbackBindThis = needsThis(this, expr.arguments[2]);
93+
dep.errorCallbackBindThis = processFunctionArgument(this, expr.arguments[2]);
9494
}
9595
} finally {
9696
this.state.current = old;

lib/dependencies/AMDRequireDependency.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,25 +22,25 @@ AMDRequireDependency.Template.prototype.apply = function(dep, source, outputOpti
2222
if(depBlock.arrayRange && !depBlock.functionRange) {
2323
source.replace(depBlock.outerRange[0], depBlock.arrayRange[0] - 1,
2424
wrapper[0] + "function() {");
25-
source.replace(depBlock.arrayRange[1], depBlock.outerRange[1] - 1, ";}" + wrapper[1] + wrapper[2] + wrapper[3]);
25+
source.replace(depBlock.arrayRange[1], depBlock.outerRange[1] - 1, ";}" + wrapper[1] + "__webpack_require__.oe" + wrapper[2]);
2626
} else if(!depBlock.arrayRange && depBlock.functionRange) {
2727
source.replace(depBlock.outerRange[0], depBlock.functionRange[0] - 1,
2828
wrapper[0] + "function() {(");
29-
source.replace(depBlock.functionRange[1], depBlock.outerRange[1] - 1, ".call(exports, __webpack_require__, exports, module));}" + wrapper[1] + wrapper[2] + wrapper[3]);
29+
source.replace(depBlock.functionRange[1], depBlock.outerRange[1] - 1, ".call(exports, __webpack_require__, exports, module));}" + wrapper[1] + "__webpack_require__.oe" + wrapper[2]);
3030
} else if(depBlock.arrayRange && depBlock.functionRange && depBlock.errorCallbackRange) {
3131
source.replace(depBlock.outerRange[0], depBlock.arrayRange[0] - 1,
3232
wrapper[0] + "function() { ");
3333
source.insert(depBlock.arrayRange[0] + 0.9, "var __WEBPACK_AMD_REQUIRE_ARRAY__ = ");
3434
source.replace(depBlock.arrayRange[1], depBlock.functionRange[0] - 1, "; (");
3535
source.insert(depBlock.functionRange[1], ".apply(null, __WEBPACK_AMD_REQUIRE_ARRAY__));");
36-
source.replace(depBlock.functionRange[1], depBlock.errorCallbackRange[0] - 1, "}" + (depBlock.bindThis ? ".bind(this)" : "") + wrapper[1]);
37-
source.replace(depBlock.errorCallbackRange[1], depBlock.outerRange[1] - 1, (depBlock.errorCallbackBindThis ? ".bind(this)" : "") + wrapper[3]);
36+
source.replace(depBlock.functionRange[1], depBlock.errorCallbackRange[0] - 1, "}" + (depBlock.functionBindThis ? ".bind(this)" : "") + wrapper[1]);
37+
source.replace(depBlock.errorCallbackRange[1], depBlock.outerRange[1] - 1, (depBlock.errorCallbackBindThis ? ".bind(this)" : "") + wrapper[2]);
3838
} else if(depBlock.arrayRange && depBlock.functionRange) {
3939
source.replace(depBlock.outerRange[0], depBlock.arrayRange[0] - 1,
4040
wrapper[0] + "function() { ");
4141
source.insert(depBlock.arrayRange[0] + 0.9, "var __WEBPACK_AMD_REQUIRE_ARRAY__ = ");
4242
source.replace(depBlock.arrayRange[1], depBlock.functionRange[0] - 1, "; (");
4343
source.insert(depBlock.functionRange[1], ".apply(null, __WEBPACK_AMD_REQUIRE_ARRAY__));");
44-
source.replace(depBlock.functionRange[1], depBlock.outerRange[1] - 1, "}" + (depBlock.bindThis ? ".bind(this)" : "") + wrapper[1] + wrapper[2] + wrapper[3]);
44+
source.replace(depBlock.functionRange[1], depBlock.outerRange[1] - 1, "}" + (depBlock.functionBindThis ? ".bind(this)" : "") + wrapper[1] + "__webpack_require__.oe" + wrapper[2]);
4545
}
4646
};

lib/dependencies/DepBlockHelpers.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ DepBlockHelpers.getLoadDepBlockWrapper = function(depBlock, outputOptions, reque
99
return [
1010
promiseCode + ".then(",
1111
").catch(",
12-
"function(err) { __webpack_require__.oe(err); }",
1312
")"
1413
];
1514
};

lib/dependencies/RequireEnsureDependency.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,5 +21,5 @@ RequireEnsureDependency.Template.prototype.apply = function(dep, source, outputO
2121
var depBlock = dep.block;
2222
var wrapper = DepBlockHelpers.getLoadDepBlockWrapper(depBlock, outputOptions, requestShortener, /*require.e*/ "nsure");
2323
source.replace(depBlock.expr.range[0], depBlock.expr.arguments[1].range[0] - 1, wrapper[0] + "(");
24-
source.replace(depBlock.expr.arguments[1].range[1], depBlock.expr.range[1] - 1, ").bind(null, __webpack_require__)" + wrapper[1] + wrapper[2] + wrapper[3]);
24+
source.replace(depBlock.expr.arguments[1].range[1], depBlock.expr.range[1] - 1, ").bind(null, __webpack_require__)" + wrapper[1] + "__webpack_require__.oe" + wrapper[2]);
2525
};

test/statsCases/aggressive-splitting-on-demand/expected.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ Time: Xms
66
5ae9e18455b866684bd0.js 1.94 kB 2 [emitted]
77
e91ec4902ca3057b42bb.js 1.93 kB 3 [emitted]
88
0947f0875d56ab0bfe02.js 977 bytes 4 [emitted]
9-
6335d9dcc7fa048743b7.js 7.15 kB 6 [emitted] main
9+
6335d9dcc7fa048743b7.js 7.01 kB 6 [emitted] main
1010
cf500be0e585f01d2ccb.js 983 bytes 9 [emitted]
1111
a7bfb642a544b4302cc4.js 975 bytes 11 [emitted]
1212
Entrypoint main = 6335d9dcc7fa048743b7.js

test/statsCases/chunks/expected.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
Hash: 160bbe49f674da1a2284
22
Time: Xms
33
Asset Size Chunks Chunk Names
4-
0.bundle.js 251 bytes 0 [emitted]
4+
0.bundle.js 227 bytes 0 [emitted]
55
1.bundle.js 106 bytes 1 [emitted]
66
2.bundle.js 200 bytes 2 [emitted]
7-
bundle.js 5.7 kB 3 [emitted] main
7+
bundle.js 5.65 kB 3 [emitted] main
88
chunk {0} 0.bundle.js 54 bytes {3} [rendered]
99
> [5] (webpack)/test/statsCases/chunks/index.js 3:0-16
1010
[2] (webpack)/test/statsCases/chunks/c.js 54 bytes {0} [built]

test/statsCases/optimize-chunks/expected.txt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
Hash: 2c7426d5dd5764a5cfe8
22
Time: Xms
33
Asset Size Chunks Chunk Names
4-
0.js 244 bytes 0 [emitted] cir1
4+
0.js 220 bytes 0 [emitted] cir1
55
1.js 212 bytes 1, 2 [emitted] abd
66
2.js 129 bytes 2 [emitted] ab
7-
3.js 259 bytes 3 [emitted] cir2
7+
3.js 235 bytes 3 [emitted] cir2
88
4.js 136 bytes 4, 6 [emitted] chunk
9-
5.js 317 bytes 5, 3 [emitted] cir2 from cir1
9+
5.js 293 bytes 5, 3 [emitted] cir2 from cir1
1010
6.js 78 bytes 6 [emitted] ac in ab
11-
main.js 6.42 kB 7 [emitted] main
11+
main.js 6.25 kB 7 [emitted] main
1212
chunk {0} 0.js (cir1) 81 bytes {7} {5} {3} [rendered]
1313
> duplicate cir1 from cir2 [3] (webpack)/test/statsCases/optimize-chunks/circular2.js 1:0-79
1414
> duplicate cir1 [8] (webpack)/test/statsCases/optimize-chunks/index.js 13:0-54

test/statsCases/preset-verbose/expected.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
Hash: 85e57db9faf6765d1cf0
22
Time: Xms
33
Asset Size Chunks Chunk Names
4-
0.js 251 bytes 0 [emitted]
4+
0.js 227 bytes 0 [emitted]
55
1.js 106 bytes 1 [emitted]
66
2.js 200 bytes 2 [emitted]
7-
main.js 5.69 kB 3 [emitted] main
7+
main.js 5.64 kB 3 [emitted] main
88
Entrypoint main = main.js
99
chunk {0} 0.js 54 bytes {3} [rendered]
1010
[2] (webpack)/test/statsCases/preset-verbose/c.js 54 bytes {0} [built]

0 commit comments

Comments
 (0)