2013-01-31 01:49:25 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								/ *  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									MIT  License  http : //www.opensource.org/licenses/mit-license.php
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Author  Tobias  Koppers  @ sokra 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								* /  
						 
					
						
							
								
									
										
										
										
											2018-07-30 23:08:51 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-01-19 11:09:33 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								"use strict" ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-03-25 05:17:47 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								const  WebpackError  =  require ( "./WebpackError" ) ;  
						 
					
						
							
								
									
										
										
										
											2018-10-25 16:47:52 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								const  makeSerializable  =  require ( "./util/makeSerializable" ) ;  
						 
					
						
							
								
									
										
										
										
											2017-03-25 05:17:47 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								class  ModuleParseError  extends  WebpackError  {  
						 
					
						
							
								
									
										
										
										
											2018-06-04 16:10:23 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									/ * * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  @ param  { string }  source  source  code 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  @ param  { Error & any }  err  the  parse  error 
							 
						 
					
						
							
								
									
										
										
										
											2019-05-30 05:11:49 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									 *  @ param  { string [ ] }  loaders  the  loaders  used 
							 
						 
					
						
							
								
									
										
										
										
											2018-06-04 16:10:23 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									 * / 
							 
						 
					
						
							
								
									
										
										
										
											2019-06-13 16:51:12 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									constructor ( source ,  err ,  loaders )  { 
							 
						 
					
						
							
								
									
										
										
										
											2018-10-30 05:18:08 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										let  message  =  "Module parse failed: "  +  ( err  &&  err . message ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2018-06-04 16:10:23 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										let  loc  =  undefined ; 
							 
						 
					
						
							
								
									
										
										
										
											2018-10-25 16:47:52 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-06-13 17:22:00 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										if  ( ! loaders )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											message  += 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												"\nYou may need an appropriate loader to handle this file type." ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										}  else  if  ( loaders . length  >=  1 )  { 
							 
						 
					
						
							
								
									
										
										
										
											2019-06-03 21:23:13 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											message  +=  ` \n File was processed with these loaders: ${ loaders 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												. map ( loader  =>  ` \n  *  ${ loader } ` ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												. join ( "" ) } ` ;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											message  += 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												"\nYou may need an additional loader to handle the result of these loaders." ; 
							 
						 
					
						
							
								
									
										
										
										
											2019-05-30 05:11:49 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										}  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											message  += 
							 
						 
					
						
							
								
									
										
										
										
											2019-06-03 21:23:13 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												"\nYou may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders" ; 
							 
						 
					
						
							
								
									
										
										
										
											2019-05-30 05:11:49 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
									
										
										
										
											2018-10-25 16:47:52 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-02-25 09:00:20 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										if  ( 
							 
						 
					
						
							
								
									
										
										
										
											2018-10-30 05:18:08 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											err  && 
							 
						 
					
						
							
								
									
										
										
										
											2018-02-25 09:00:20 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											err . loc  && 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											typeof  err . loc  ===  "object"  && 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											typeof  err . loc . line  ===  "number" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										)  { 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-19 11:09:33 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											var  lineNumber  =  err . loc . line ; 
							 
						 
					
						
							
								
									
										
										
										
											2018-10-25 16:47:52 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-02-25 09:00:20 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											if  ( /[\0\u0001\u0002\u0003\u0004\u0005\u0006\u0007]/ . test ( source ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												// binary file
 
							 
						 
					
						
							
								
									
										
										
										
											2018-06-04 16:10:23 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												message  +=  "\n(Source code omitted for this binary file)" ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-19 11:09:33 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											}  else  { 
							 
						 
					
						
							
								
									
										
										
										
											2019-06-04 20:48:46 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												const  sourceLines  =  source . split ( /\r?\n/ ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2018-06-04 16:10:23 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												const  start  =  Math . max ( 0 ,  lineNumber  -  3 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												const  linesBefore  =  sourceLines . slice ( start ,  lineNumber  -  1 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												const  theLine  =  sourceLines [ lineNumber  -  1 ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												const  linesAfter  =  sourceLines . slice ( lineNumber ,  lineNumber  +  2 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2018-10-25 16:47:52 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-06-04 16:10:23 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												message  += 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													linesBefore . map ( l  =>  ` \n |  ${ l } ` ) . join ( "" )  + 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													` \n >  ${ theLine } `  + 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													linesAfter . map ( l  =>  ` \n |  ${ l } ` ) . join ( "" ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-19 11:09:33 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											} 
							 
						 
					
						
							
								
									
										
										
										
											2018-10-25 16:47:52 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-07-14 03:30:55 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											loc  =  {  start :  err . loc  } ; 
							 
						 
					
						
							
								
									
										
										
										
											2018-10-30 05:18:08 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										}  else  if  ( err  &&  err . stack )  { 
							 
						 
					
						
							
								
									
										
										
										
											2018-06-04 16:10:23 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											message  +=  "\n"  +  err . stack ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-20 15:38:28 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
									
										
										
										
											2018-06-04 16:10:23 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										super ( message ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										this . name  =  "ModuleParseError" ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										this . loc  =  loc ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-19 11:09:33 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										this . error  =  err ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-03-25 05:17:47 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										Error . captureStackTrace ( this ,  this . constructor ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2013-01-31 01:49:25 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
									
										
										
										
											2018-10-25 16:47:52 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									serialize ( context )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										const  {  write  }  =  context ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										write ( this . error ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										super . serialize ( context ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									deserialize ( context )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										const  {  read  }  =  context ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										this . error  =  read ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										super . deserialize ( context ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
									
										
										
										
											2013-01-31 01:49:25 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-10-25 16:49:51 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								makeSerializable ( ModuleParseError ,  "webpack/lib/ModuleParseError" ) ;  
						 
					
						
							
								
									
										
										
										
											2018-10-25 16:47:52 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-01-19 11:09:33 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								module . exports  =  ModuleParseError ;