44*/
55var AbstractPlugin = require ( "../AbstractPlugin" ) ;
66var AMDRequireItemDependency = require ( "./AMDRequireItemDependency" ) ;
7+ var AMDRequireContextDependency = require ( "./AMDRequireContextDependency" ) ;
78var ConstDependency = require ( "./ConstDependency" ) ;
89var AMDDefineDependency = require ( "./AMDDefineDependency" ) ;
10+ var ContextDependencyHelpers = require ( "./ContextDependencyHelpers" ) ;
911
1012module . exports = AbstractPlugin . create ( {
1113 "call define" : function ( expr ) {
@@ -51,7 +53,7 @@ module.exports = AbstractPlugin.create({
5153 param . items . forEach ( function ( param ) {
5254 var result = this . applyPluginsBailResult ( "call define:amd:item" , expr , param ) ;
5355 if ( result === undefined ) {
54- // TODO: context
56+ this . applyPluginsBailResult ( "call define:amd: context" , expr , param ) ;
5557 }
5658 } , this ) ;
5759 }
@@ -77,7 +79,7 @@ module.exports = AbstractPlugin.create({
7779 param . options . forEach ( function ( param ) {
7880 var result = this . applyPluginsBailResult ( "call define:amd:item" , expr , param ) ;
7981 if ( result === undefined ) {
80- // TODO: context
82+ this . applyPluginsBailResult ( "call define:amd: context" , expr , param ) ;
8183 }
8284 } , this ) ;
8385 return true ;
@@ -93,6 +95,14 @@ module.exports = AbstractPlugin.create({
9395 this . state . current . addDependency ( dep ) ;
9496 return true ;
9597 }
98+ } ,
99+ "call define:amd:context" : function ( expr , param ) {
100+ var dep = ContextDependencyHelpers . create ( AMDRequireContextDependency , param . range , param , expr ) ;
101+ if ( ! dep ) return ;
102+ dep . loc = expr . loc ;
103+ dep . optional = ! ! this . scope . inTry ;
104+ this . state . current . addDependency ( dep ) ;
105+ return true ;
96106 }
97107} ) ;
98108
0 commit comments