parent
f599bb5edf
commit
d1f466e745
|
@ -7,7 +7,9 @@ var AMDRequireItemDependency = require("./AMDRequireItemDependency");
|
|||
var AMDRequireArrayDependency = require("./AMDRequireArrayDependency");
|
||||
var AMDRequireContextDependency = require("./AMDRequireContextDependency");
|
||||
var AMDRequireDependenciesBlock = require("./AMDRequireDependenciesBlock");
|
||||
var LocalModuleDependency = require("./LocalModuleDependency");
|
||||
var ContextDependencyHelpers = require("./ContextDependencyHelpers");
|
||||
var LocalModulesHelpers = require("./LocalModulesHelpers");
|
||||
|
||||
module.exports = AbstractPlugin.create({
|
||||
"call require": function(expr) {
|
||||
|
@ -66,9 +68,13 @@ module.exports = AbstractPlugin.create({
|
|||
} else if(param.isConstArray()) {
|
||||
var deps = [];
|
||||
param.array.forEach(function(request) {
|
||||
var dep;
|
||||
var dep, localModule;
|
||||
if(["require", "exports", "module"].indexOf(request) >= 0) {
|
||||
dep = request;
|
||||
} else if(localModule = LocalModulesHelpers.getLocalModule(this.state, request)) {
|
||||
dep = new LocalModuleDependency(localModule);
|
||||
dep.loc = expr.loc;
|
||||
this.state.current.addDependency(dep);
|
||||
} else {
|
||||
dep = new AMDRequireItemDependency(request);
|
||||
dep.loc = expr.loc;
|
||||
|
@ -94,9 +100,11 @@ module.exports = AbstractPlugin.create({
|
|||
}, this);
|
||||
return true;
|
||||
} else if(param.isString()) {
|
||||
var dep;
|
||||
var dep, localModule;
|
||||
if(["require","exports","module"].indexOf(param.string) >= 0) {
|
||||
dep = new ConstDependency(param.string, param.range);
|
||||
} else if(localModule = LocalModulesHelpers.getLocalModule(this.state, param.string)) {
|
||||
dep = new LocalModuleDependency(localModule, param.range);
|
||||
} else {
|
||||
dep = new AMDRequireItemDependency(param.string, param.range);
|
||||
}
|
||||
|
|
|
@ -7,7 +7,9 @@ var ConstDependency = require("./ConstDependency");
|
|||
var CommonJsRequireDependency = require("./CommonJsRequireDependency");
|
||||
var CommonJsRequireContextDependency = require("./CommonJsRequireContextDependency");
|
||||
var RequireHeaderDependency = require("./RequireHeaderDependency");
|
||||
var LocalModuleDependency = require("./LocalModuleDependency");
|
||||
var ContextDependencyHelpers = require("./ContextDependencyHelpers");
|
||||
var LocalModulesHelpers = require("./LocalModulesHelpers");
|
||||
|
||||
module.exports = AbstractPlugin.create({
|
||||
"expression require.cache": function(expr) {
|
||||
|
@ -23,6 +25,7 @@ module.exports = AbstractPlugin.create({
|
|||
},
|
||||
"call require": function(expr) {
|
||||
if(expr.arguments.length !== 1) return;
|
||||
var localModule;
|
||||
var param = this.evaluateExpression(expr.arguments[0]);
|
||||
if(param.isConditional()) {
|
||||
this.state.current.addDependency(new RequireHeaderDependency(expr.callee.range));
|
||||
|
@ -33,6 +36,11 @@ module.exports = AbstractPlugin.create({
|
|||
}
|
||||
}, this);
|
||||
return true;
|
||||
} else if(param.isString() && (localModule = LocalModulesHelpers.getLocalModule(this.state, param.string))) {
|
||||
var dep = new LocalModuleDependency(localModule, expr.range);
|
||||
dep.loc = expr.loc;
|
||||
this.state.current.addDependency(dep);
|
||||
return true;
|
||||
} else {
|
||||
var result = this.applyPluginsBailResult("call require:commonjs:item", expr, param);
|
||||
if(result === undefined) {
|
||||
|
|
|
@ -1,8 +1,26 @@
|
|||
it("should not create a context for typeof require", function() {
|
||||
it("should define and require a local module", function() {
|
||||
module.exports = "not set";
|
||||
define("my-module", function() {
|
||||
return 1234;
|
||||
});
|
||||
module.exports.should.be.eql("not set");
|
||||
define(["my-module"], function(myModule) {
|
||||
myModule.should.be.eql(1234);
|
||||
return 2345;
|
||||
});
|
||||
module.exports.should.be.eql(2345);
|
||||
require("my-module").should.be.eql(1234);
|
||||
require(["my-module"]);
|
||||
});
|
||||
|
||||
it("should not create a chunk for a AMD require to a local module", function() {
|
||||
define("my-module2", function() {
|
||||
return 1235;
|
||||
});
|
||||
var sync = false;
|
||||
require(["my-module2"], function(myModule2) {
|
||||
myModule2.should.be.eql(1235);
|
||||
sync = true;
|
||||
});
|
||||
sync.should.be.eql(true);
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue