Sha256: 67ddf8c67dfcaea6d3479dd1910217d24b8e8d16565edb922e452ed56b7defde

Contents?: true

Size: 1.83 KB

Versions: 16

Compression:

Stored size: 1.83 KB

Contents

/* 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 => {
  console.error(error);
  throw 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;
}

Version data entries

16 entries across 16 versions & 3 rubygems

Version Path
trusty-cms-6.3.1 node_modules/@babel/helpers/scripts/generate-regenerator-runtime.js
immosquare-cleaner-0.1.51 node_modules/jscodeshift/node_modules/@babel/core/node_modules/@babel/helpers/scripts/generate-regenerator-runtime.js
immosquare-cleaner-0.1.50 node_modules/jscodeshift/node_modules/@babel/core/node_modules/@babel/helpers/scripts/generate-regenerator-runtime.js
immosquare-cleaner-0.1.49 node_modules/jscodeshift/node_modules/@babel/core/node_modules/@babel/helpers/scripts/generate-regenerator-runtime.js
immosquare-cleaner-0.1.48 node_modules/jscodeshift/node_modules/@babel/core/node_modules/@babel/helpers/scripts/generate-regenerator-runtime.js
immosquare-cleaner-0.1.47 node_modules/@babel/helpers/scripts/generate-regenerator-runtime.js
immosquare-cleaner-0.1.46 node_modules/@babel/helpers/scripts/generate-regenerator-runtime.js
immosquare-cleaner-0.1.45 node_modules/@babel/helpers/scripts/generate-regenerator-runtime.js
immosquare-cleaner-0.1.44 node_modules/@babel/helpers/scripts/generate-regenerator-runtime.js
immosquare-cleaner-0.1.43 node_modules/@babel/helpers/scripts/generate-regenerator-runtime.js
immosquare-cleaner-0.1.42 node_modules/@babel/helpers/scripts/generate-regenerator-runtime.js
immosquare-cleaner-0.1.41 node_modules/@babel/helpers/scripts/generate-regenerator-runtime.js
immosquare-cleaner-0.1.40 node_modules/@babel/helpers/scripts/generate-regenerator-runtime.js
wice_grid-7.1.0 node_modules/@babel/helpers/scripts/generate-regenerator-runtime.js
immosquare-cleaner-0.1.39 node_modules/@babel/helpers/scripts/generate-regenerator-runtime.js
immosquare-cleaner-0.1.38 node_modules/@babel/helpers/scripts/generate-regenerator-runtime.js