Skip to content

Commit 9738b8a

Browse files
committed
allow string in require.ensure
fixed webpack#500
1 parent 27b23c0 commit 9738b8a

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

lib/dependencies/RequireEnsureDependenciesBlockParserPlugin.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ module.exports = AbstractPlugin.create({
2020
case 2:
2121
var dependencies = null;
2222
var dependenciesExpr = this.evaluateExpression(expr.arguments[0]);
23-
if(!dependenciesExpr.isArray()) return;
23+
var dependenciesItems = dependenciesExpr.isArray() ? dependenciesExpr.items : [dependenciesExpr];
2424
var fnExpressionArg = expr.arguments[1];
2525
var fnExpression = getFunctionExpression(fnExpressionArg);
2626

@@ -34,7 +34,7 @@ module.exports = AbstractPlugin.create({
3434
try {
3535
var failed = false;
3636
this.inScope([], function() {
37-
dependenciesExpr.items.forEach(function(ee) {
37+
dependenciesItems.forEach(function(ee) {
3838
if(ee.isString()) {
3939
var edep = new RequireEnsureItemDependency(ee.string, ee.range);
4040
edep.loc = dep.loc;

test/cases/parsing/chunks/index.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,11 @@ it("should parse a bound function expression in require.ensure", function(done)
1212
require("./file").should.be.eql("ok");
1313
done();
1414
}.bind(this));
15+
});
16+
17+
it("should parse a string in require.ensure", function(done) {
18+
require.ensure("./file", function(require) {
19+
require("./file").should.be.eql("ok");
20+
done();
21+
});
1522
});

0 commit comments

Comments
 (0)