Skip to content

Commit 2aebfbe

Browse files
committed
fix(ConcatenatedModule): don't throw on arrays with empty values
Fixes webpack#6407 Fixes webpack#5415 Ref angular/angular#21809
1 parent 3972d9a commit 2aebfbe

File tree

4 files changed

+20
-0
lines changed

4 files changed

+20
-0
lines changed

lib/optimize/ConcatenatedModule.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,7 @@ function getPathInAst(ast, node) {
143143
}
144144

145145
function enterNode(n) {
146+
if(!n) return undefined;
146147
const r = n.range;
147148
if(r) {
148149
if(r[0] <= nr[0] && r[1] >= nr[1]) {
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
function foo(n) {
2+
return 'bar';
3+
}
4+
export default [, foo];
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
function foo(n) {
2+
return 'bar';
3+
}
4+
export default [, foo];
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import importOne from './import-one';
2+
import importTwo from './import-two';
3+
4+
it("should concatenate modules default exports and empty array values", function() {
5+
importOne.length.should.be.eql(2);
6+
(typeof importOne[0]).should.be.eql('undefined');
7+
(typeof importOne[1]).should.be.eql('function');
8+
importTwo.length.should.be.eql(2);
9+
(typeof importTwo[0]).should.be.eql('undefined');
10+
(typeof importTwo[1]).should.be.eql('function');
11+
});

0 commit comments

Comments
 (0)