From 21c68e36aed4031ca1d3cd84a264a9119ac717d0 Mon Sep 17 00:00:00 2001 From: fisker Cheung Date: Fri, 25 Mar 2022 16:37:34 +0800 Subject: [PATCH] Build: migrate `scripts/shims/*` to ESM (#12371) --- scripts/build/bundler.mjs | 6 +++--- scripts/build/config.mjs | 10 +++++----- scripts/build/shims/{assert.cjs => assert.js} | 4 +--- scripts/build/shims/babel-highlight.cjs | 6 ------ scripts/build/shims/babel-highlight.js | 4 ++++ scripts/build/shims/{chalk.cjs => chalk.js} | 4 +--- scripts/build/shims/debug.cjs | 3 --- scripts/build/shims/debug.js | 3 +++ scripts/build/shims/parent-module.cjs | 4 +++- 9 files changed, 20 insertions(+), 24 deletions(-) rename scripts/build/shims/{assert.cjs => assert.js} (64%) delete mode 100644 scripts/build/shims/babel-highlight.cjs create mode 100644 scripts/build/shims/babel-highlight.js rename scripts/build/shims/{chalk.cjs => chalk.js} (79%) delete mode 100644 scripts/build/shims/debug.cjs create mode 100644 scripts/build/shims/debug.js diff --git a/scripts/build/bundler.mjs b/scripts/build/bundler.mjs index 756da7c07..385c137fd 100644 --- a/scripts/build/bundler.mjs +++ b/scripts/build/bundler.mjs @@ -14,7 +14,7 @@ import esbuildPluginStripNodeProtocol from "./esbuild-plugins/strip-node-protoco import esbuildPluginThrowWarnings from "./esbuild-plugins/throw-warnings.mjs"; import bundles from "./config.mjs"; -const { __dirname, readJsonSync, require } = createEsmUtils(import.meta); +const { dirname, readJsonSync, require } = createEsmUtils(import.meta); const packageJson = readJsonSync("../../package.json"); const umdTarget = browserslistToEsbuild(packageJson.browserslist); @@ -97,7 +97,7 @@ function* getEsbuildOptions(bundle, buildOptions) { // Prevent `esbuildPluginNodeModulePolyfills` include shim for this module { module: "assert", - path: require.resolve("./shims/assert.cjs"), + path: path.join(dirname, "./shims/assert.js"), }, // `esbuildPluginNodeModulePolyfills` didn't shim this module { @@ -161,7 +161,7 @@ function* getEsbuildOptions(bundle, buildOptions) { legalComments: "none", external: [...(bundle.external ?? [])], // Disable esbuild auto discover `tsconfig.json` file - tsconfig: path.join(__dirname, "empty-tsconfig.json"), + tsconfig: path.join(dirname, "empty-tsconfig.json"), target: [...(bundle.esbuildTarget ?? ["node12"])], logLevel: "error", }; diff --git a/scripts/build/config.mjs b/scripts/build/config.mjs index 56a7e0487..efb9b759e 100644 --- a/scripts/build/config.mjs +++ b/scripts/build/config.mjs @@ -3,7 +3,7 @@ import { createRequire } from "node:module"; import createEsmUtils from "esm-utils"; import { PROJECT_ROOT } from "../utils/index.mjs"; -const { require } = createEsmUtils(import.meta); +const { require, dirname } = createEsmUtils(import.meta); /** * @typedef {Object} Bundle @@ -160,7 +160,7 @@ const parsers = [ })), { module: require.resolve("debug/src/browser.js"), - path: require.resolve("./shims/debug.cjs"), + path: path.join(dirname, "./shims/debug.js"), }, ], }, @@ -297,11 +297,11 @@ const coreBundles = [ replaceModule: [ { module: require.resolve("@babel/highlight"), - path: require.resolve("./shims/babel-highlight.cjs"), + path: path.join(dirname, "./shims/babel-highlight.js"), }, { module: createRequire(require.resolve("vnopts")).resolve("chalk"), - path: require.resolve("./shims/chalk.cjs"), + path: path.join(dirname, "./shims/chalk.js"), }, replaceDiffPackageEntry("lib/diff/array.js"), { @@ -332,7 +332,7 @@ const coreBundles = [ // cosmiconfig@6 -> import-fresh can't find parentModule, since module is bundled { module: require.resolve("parent-module"), - path: require.resolve("./shims/parent-module.cjs"), + path: path.join(dirname, "./shims/parent-module.cjs"), }, ], }, diff --git a/scripts/build/shims/assert.cjs b/scripts/build/shims/assert.js similarity index 64% rename from scripts/build/shims/assert.cjs rename to scripts/build/shims/assert.js index 42b115991..1b2ba1f3f 100644 --- a/scripts/build/shims/assert.cjs +++ b/scripts/build/shims/assert.js @@ -1,6 +1,4 @@ -"use strict"; - const assert = () => {}; assert.ok = assert; assert.strictEqual = assert; -module.exports = assert; +export default assert; diff --git a/scripts/build/shims/babel-highlight.cjs b/scripts/build/shims/babel-highlight.cjs deleted file mode 100644 index 3b23660e0..000000000 --- a/scripts/build/shims/babel-highlight.cjs +++ /dev/null @@ -1,6 +0,0 @@ -"use strict"; - -const chalk = require("./chalk.cjs"); -const highlight = { shouldHighlight: () => false, getChalk: () => chalk }; - -module.exports = highlight; diff --git a/scripts/build/shims/babel-highlight.js b/scripts/build/shims/babel-highlight.js new file mode 100644 index 000000000..199243f95 --- /dev/null +++ b/scripts/build/shims/babel-highlight.js @@ -0,0 +1,4 @@ +import chalk from "./chalk.js"; + +export const shouldHighlight = () => false; +export const getChalk = () => chalk; diff --git a/scripts/build/shims/chalk.cjs b/scripts/build/shims/chalk.js similarity index 79% rename from scripts/build/shims/chalk.cjs rename to scripts/build/shims/chalk.js index 8ce0658d3..f28b94603 100644 --- a/scripts/build/shims/chalk.cjs +++ b/scripts/build/shims/chalk.js @@ -1,5 +1,3 @@ -"use strict"; - const chalk = (x) => x; chalk.grey = chalk; chalk.red = chalk; @@ -8,4 +6,4 @@ chalk.yellow = chalk; chalk.blue = chalk; chalk.default = chalk; -module.exports = chalk; +export default chalk; diff --git a/scripts/build/shims/debug.cjs b/scripts/build/shims/debug.cjs deleted file mode 100644 index 9d9e8288e..000000000 --- a/scripts/build/shims/debug.cjs +++ /dev/null @@ -1,3 +0,0 @@ -"use strict"; - -module.exports = () => () => {}; diff --git a/scripts/build/shims/debug.js b/scripts/build/shims/debug.js new file mode 100644 index 000000000..61b0f15d8 --- /dev/null +++ b/scripts/build/shims/debug.js @@ -0,0 +1,3 @@ +const debug = () => () => {}; + +export default debug; diff --git a/scripts/build/shims/parent-module.cjs b/scripts/build/shims/parent-module.cjs index 0bcecab1c..113b1684d 100644 --- a/scripts/build/shims/parent-module.cjs +++ b/scripts/build/shims/parent-module.cjs @@ -1,3 +1,5 @@ "use strict"; -module.exports = (file) => file; +const parentModule = (file) => file; + +module.exports = parentModule;