mirror of https://github.com/webpack/webpack.git
parent
3e9d9811a1
commit
f0c7815c93
|
|
@ -4,11 +4,14 @@
|
|||
*/
|
||||
var RequireEnsureItemDependency = require("./RequireEnsureItemDependency");
|
||||
var RequireEnsureDependency = require("./RequireEnsureDependency");
|
||||
var ConstDependency = require("./ConstDependency");
|
||||
|
||||
var NullFactory = require("../NullFactory");
|
||||
|
||||
var RequireEnsureDependenciesBlockParserPlugin = require("./RequireEnsureDependenciesBlockParserPlugin");
|
||||
|
||||
var BasicEvaluatedExpression = require("../BasicEvaluatedExpression");
|
||||
|
||||
function RequireEnsurePlugin() {
|
||||
}
|
||||
module.exports = RequireEnsurePlugin;
|
||||
|
|
@ -24,4 +27,13 @@ RequireEnsurePlugin.prototype.apply = function(compiler) {
|
|||
compilation.dependencyTemplates.set(RequireEnsureDependency, new RequireEnsureDependency.Template());
|
||||
});
|
||||
new RequireEnsureDependenciesBlockParserPlugin().apply(compiler.parser);
|
||||
compiler.parser.plugin("evaluate typeof require.ensure", function(expr) {
|
||||
return new BasicEvaluatedExpression().setString("function").setRange(expr.range);
|
||||
});
|
||||
compiler.parser.plugin("typeof require.ensure", function(expr) {
|
||||
var dep = new ConstDependency("'function'", expr.range);
|
||||
dep.loc = expr.loc;
|
||||
this.state.current.addDependency(dep);
|
||||
return true;
|
||||
});
|
||||
};
|
||||
|
|
@ -4,6 +4,9 @@
|
|||
*/
|
||||
var RequireIncludeDependency = require("./RequireIncludeDependency");
|
||||
var RequireIncludeDependencyParserPlugin = require("./RequireIncludeDependencyParserPlugin");
|
||||
var ConstDependency = require("./ConstDependency");
|
||||
|
||||
var BasicEvaluatedExpression = require("../BasicEvaluatedExpression");
|
||||
|
||||
function RequireIncludePlugin() {
|
||||
}
|
||||
|
|
@ -17,4 +20,13 @@ RequireIncludePlugin.prototype.apply = function(compiler) {
|
|||
compilation.dependencyTemplates.set(RequireIncludeDependency, new RequireIncludeDependency.Template());
|
||||
});
|
||||
new RequireIncludeDependencyParserPlugin().apply(compiler.parser);
|
||||
compiler.parser.plugin("evaluate typeof require.include", function(expr) {
|
||||
return new BasicEvaluatedExpression().setString("function").setRange(expr.range);
|
||||
});
|
||||
compiler.parser.plugin("typeof require.include", function(expr) {
|
||||
var dep = new ConstDependency("'function'", expr.range);
|
||||
dep.loc = expr.loc;
|
||||
this.state.current.addDependency(dep);
|
||||
return true;
|
||||
});
|
||||
};
|
||||
|
|
@ -20,6 +20,12 @@ it("should answer typeof module correctly", function() {
|
|||
it("should answer typeof exports correctly", function() {
|
||||
(typeof exports).should.be.eql("object");
|
||||
});
|
||||
it("should answer typeof require.include correctly", function() {
|
||||
(typeof require.include).should.be.eql("function");
|
||||
});
|
||||
it("should answer typeof require.ensure correctly", function() {
|
||||
(typeof require.ensure).should.be.eql("function");
|
||||
});
|
||||
|
||||
|
||||
it("should not parse filtered stuff", function() {
|
||||
|
|
@ -33,4 +39,6 @@ it("should not parse filtered stuff", function() {
|
|||
if(typeof module === "undefined") module = require("fail");
|
||||
if(typeof module != "object") module = require("fail");
|
||||
if(typeof exports == "undefined") exports = require("fail");
|
||||
if(typeof require.include !== "function") require.include("fail");
|
||||
if(typeof require.ensure !== "function") require.ensure(["fail"], function(){});
|
||||
});
|
||||
|
|
|
|||
Loading…
Reference in New Issue