2013-01-31 01:49:25 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								/ *  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									MIT  License  http : //www.opensource.org/licenses/mit-license.php
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Author  Tobias  Koppers  @ sokra 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								* /  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								var  path  =  require ( "path" ) ;  
						 
					
						
							
								
									
										
										
										
											2014-06-06 01:52:45 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								var  ConstDependency  =  require ( "./dependencies/ConstDependency" ) ;  
						 
					
						
							
								
									
										
										
										
											2013-01-31 01:49:25 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								var  ModuleAliasPlugin  =  require ( "enhanced-resolve/lib/ModuleAliasPlugin" ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-06-16 21:18:49 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								var  NullFactory  =  require ( "./NullFactory" ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-01-31 01:49:25 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								function  CompatibilityPlugin ( )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								module . exports  =  CompatibilityPlugin ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								CompatibilityPlugin . prototype . apply  =  function ( compiler )  {  
						 
					
						
							
								
									
										
										
										
											2015-04-24 05:55:50 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									compiler . plugin ( "compilation" ,  function ( compilation )  { 
							 
						 
					
						
							
								
									
										
										
										
											2014-06-16 21:18:49 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										compilation . dependencyFactories . set ( ConstDependency ,  new  NullFactory ( ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										compilation . dependencyTemplates . set ( ConstDependency ,  new  ConstDependency . Template ( ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2013-01-31 01:49:25 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									compiler . resolvers . normal . apply ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										new  ModuleAliasPlugin ( { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											"enhanced-require" :  path . join ( _ _dirname ,  ".." ,  "buildin" ,  "return-require.js" ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-06-06 01:52:45 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									compiler . parser . plugin ( "call require" ,  function ( expr )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										// support for browserify style require delegator: "require(o, !0)"
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if ( expr . arguments . length  !==  2 )  return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										var  second  =  this . evaluateExpression ( expr . arguments [ 1 ] ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if ( ! second . isBoolean ( ) )  return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if ( second . asBool ( )  !==  true )  return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										var  dep  =  new  ConstDependency ( "require" ,  expr . callee . range ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										dep . loc  =  expr . loc ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if ( this . state . current . dependencies . length  >  1 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											var  last  =  this . state . current . dependencies [ this . state . current . dependencies . length  -  1 ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											if ( last . critical  &&  last . request  ===  "."  &&  last . userRequest  ===  "."  &&  last . recursive ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												this . state . current . dependencies . pop ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
									
										
										
										
											2015-03-06 21:59:11 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										dep . critical  =  "This seems to be a pre-built javascript file. Though this is possible, it's not recommended. Try to require the original source to get better results." ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-06-06 01:52:45 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										this . state . current . addDependency ( dep ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return  true ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-03-06 21:59:11 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								} ;