From 0fdec6b7e7aea1742b9d93bba8ef748f10c0902d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=B2=20Ribaudo?= Date: Thu, 4 Feb 2021 18:15:30 +0100 Subject: [PATCH] Convert runtime helpers build script to ESM (#12756) --- .eslintrc.cjs | 9 ++++++ .../scripts/build-dist.js | 28 +++++++++++-------- .../scripts/package.json | 1 + 3 files changed, 26 insertions(+), 12 deletions(-) create mode 100644 packages/babel-plugin-transform-runtime/scripts/package.json diff --git a/.eslintrc.cjs b/.eslintrc.cjs index 143e52e2d3..fd932b93fb 100644 --- a/.eslintrc.cjs +++ b/.eslintrc.cjs @@ -96,6 +96,15 @@ module.exports = { ], }, }, + { + files: ["packages/babel-plugin-transform-runtime/scripts/**/*.js"], + rules: { + "import/no-extraneous-dependencies": [ + "error", + { packageDir: "./packages/babel-plugin-transform-runtime" }, + ], + }, + }, { files: ["scripts/**/*.js"], rules: { diff --git a/packages/babel-plugin-transform-runtime/scripts/build-dist.js b/packages/babel-plugin-transform-runtime/scripts/build-dist.js index 1cdbf6491b..e7a6d458fb 100644 --- a/packages/babel-plugin-transform-runtime/scripts/build-dist.js +++ b/packages/babel-plugin-transform-runtime/scripts/build-dist.js @@ -1,17 +1,21 @@ -"use strict"; +import path from "path"; +import fs from "fs"; +import { createRequire } from "module"; +import helpers from "@babel/helpers"; +import babel from "@babel/core"; +import template from "@babel/template"; +import t from "@babel/types"; +import { fileURLToPath } from "url"; -const path = require("path"); -const fs = require("fs"); -const helpers = require("@babel/helpers"); -const babel = require("@babel/core"); -const template = require("@babel/template"); -const t = require("@babel/types"); - -const transformRuntime = require("../"); +import transformRuntime from "../lib/index.js"; +import buildCorejs2Definitions from "../lib/runtime-corejs2-definitions.js"; +import buildCorejs3Definitions from "../lib/runtime-corejs3-definitions.js"; +const require = createRequire(import.meta.url); const runtimeVersion = require("@babel/runtime/package.json").version; -const corejs2Definitions = require("../lib/runtime-corejs2-definitions").default(); -const corejs3Definitions = require("../lib/runtime-corejs3-definitions").default(); + +const corejs2Definitions = buildCorejs2Definitions.default(); +const corejs3Definitions = buildCorejs3Definitions.default(); function outputFile(filePath, data) { fs.mkdirSync(path.dirname(filePath), { recursive: true }); @@ -156,7 +160,7 @@ function writeHelperFiles(runtimeName, { esm, corejs }) { function getRuntimeRoot(runtimeName) { return path.resolve( - __dirname, + path.dirname(fileURLToPath(import.meta.url)), "..", "..", runtimeName.replace(/^@babel\//, "babel-") diff --git a/packages/babel-plugin-transform-runtime/scripts/package.json b/packages/babel-plugin-transform-runtime/scripts/package.json new file mode 100644 index 0000000000..5ffd9800b9 --- /dev/null +++ b/packages/babel-plugin-transform-runtime/scripts/package.json @@ -0,0 +1 @@ +{ "type": "module" }