You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							65 lines
						
					
					
						
							1.8 KiB
						
					
					
				
			
		
		
	
	
							65 lines
						
					
					
						
							1.8 KiB
						
					
					
				| /* eslint-disable import/no-extraneous-dependencies */
 | |
| 
 | |
| import fs from "fs";
 | |
| import { createRequire } from "module";
 | |
| 
 | |
| const [parse, generate] = await Promise.all([
 | |
|   import("@babel/parser").then(ns => ns.parse),
 | |
|   import("@babel/generator").then(ns => ns.default.default || ns.default),
 | |
| ]).catch(error =>
 | |
|   Promise.reject(
 | |
|     new Error(
 | |
|       "Before running generate-helpers.js you must compile @babel/parser and @babel/generator.",
 | |
|       { cause: error }
 | |
|     )
 | |
|   )
 | |
| );
 | |
| 
 | |
| const REGENERATOR_RUNTIME_IN_FILE = fs.readFileSync(
 | |
|   createRequire(import.meta.url).resolve("regenerator-runtime"),
 | |
|   "utf8"
 | |
| );
 | |
| 
 | |
| const MIN_VERSION = "7.18.0";
 | |
| 
 | |
| const HEADER = `/* @minVersion ${MIN_VERSION} */
 | |
| /*
 | |
|  * This file is auto-generated! Do not modify it directly.
 | |
|  * To re-generate, update the regenerator-runtime dependency of
 | |
|  * @babel/helpers and run 'yarn gulp generate-runtime-helpers'.
 | |
|  */
 | |
| 
 | |
| /* eslint-disable */
 | |
| `;
 | |
| 
 | |
| const COPYRIGHT = `/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */`;
 | |
| 
 | |
| export default function generateRegeneratorRuntimeHelper() {
 | |
|   const ast = parse(REGENERATOR_RUNTIME_IN_FILE, { sourceType: "script" });
 | |
| 
 | |
|   const factoryFunction = ast.program.body[0].declarations[0].init.callee;
 | |
|   factoryFunction.type = "FunctionDeclaration";
 | |
|   factoryFunction.id = { type: "Identifier", name: "_regeneratorRuntime" };
 | |
|   factoryFunction.params = [];
 | |
|   factoryFunction.body.body.unshift(
 | |
|     ...stmts(`
 | |
|       ${COPYRIGHT}
 | |
|       _regeneratorRuntime = function () { return exports; };
 | |
|       var exports = {};
 | |
|     `)
 | |
|   );
 | |
| 
 | |
|   const { code } = generate({
 | |
|     type: "ExportDefaultDeclaration",
 | |
|     declaration: factoryFunction,
 | |
|   });
 | |
| 
 | |
|   return HEADER + code;
 | |
| }
 | |
| 
 | |
| function stmts(code) {
 | |
|   return parse(`function _() { ${code} }`, {
 | |
|     sourceType: "script",
 | |
|   }).program.body[0].body.body;
 | |
| }
 |