| 
									
										
										
										
											2024-10-16 22:42:26 +08:00
										 |  |  | /* | 
					
						
							|  |  |  | 	MIT License http://www.opensource.org/licenses/mit-license.php
 | 
					
						
							|  |  |  | 	Author Alexander Akait @alexander-akait | 
					
						
							|  |  |  | */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | "use strict"; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-07-25 23:22:42 +08:00
										 |  |  | const memoize = require("./memoize"); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | const getVm = memoize(() => require("vm")); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-10-16 22:42:26 +08:00
										 |  |  | // regexp to match at least one "magic comment"
 | 
					
						
							| 
									
										
										
										
											2025-07-03 17:06:45 +08:00
										 |  |  | module.exports.createMagicCommentContext = () => | 
					
						
							| 
									
										
										
										
											2025-07-25 23:22:42 +08:00
										 |  |  | 	getVm().createContext(undefined, { | 
					
						
							| 
									
										
										
										
											2025-07-03 17:06:45 +08:00
										 |  |  | 		name: "Webpack Magic Comment Parser", | 
					
						
							|  |  |  | 		codeGeneration: { strings: false, wasm: false } | 
					
						
							|  |  |  | 	}); | 
					
						
							| 
									
										
										
										
											2024-10-16 22:42:26 +08:00
										 |  |  | module.exports.webpackCommentRegExp = new RegExp( | 
					
						
							|  |  |  | 	/(^|\W)webpack[A-Z]{1,}[A-Za-z]{1,}:/ | 
					
						
							|  |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // regexp to match at least one "magic comment"
 | 
					
						
							|  |  |  | /** | 
					
						
							|  |  |  |  * @returns {import("vm").Context} magic comment context | 
					
						
							|  |  |  |  */ |