diff --git a/scripts/build/build-javascript-module.js b/scripts/build/build-javascript-module.js index 0e1112527..379f68b2d 100644 --- a/scripts/build/build-javascript-module.js +++ b/scripts/build/build-javascript-module.js @@ -9,7 +9,6 @@ import esbuildPluginEvaluate from "./esbuild-plugins/evaluate.mjs"; import esbuildPluginReplaceModule from "./esbuild-plugins/replace-module.mjs"; import esbuildPluginLicense from "./esbuild-plugins/license.mjs"; import esbuildPluginUmd from "./esbuild-plugins/umd.mjs"; -import esbuildPluginInteropDefault from "./esbuild-plugins/interop-default.mjs"; import esbuildPluginVisualizer from "./esbuild-plugins/visualizer.mjs"; import esbuildPluginStripNodeProtocol from "./esbuild-plugins/strip-node-protocol.mjs"; import esbuildPluginThrowWarnings from "./esbuild-plugins/throw-warnings.mjs"; @@ -248,7 +247,6 @@ function getEsbuildOptions({ file, files, shouldCollectLicenses, cliOptions }) { esbuildOptions.plugins.push( esbuildPluginUmd({ name: file.output.umdVariableName, - interopDefault: buildOptions.interopDefault ?? true, }) ); } @@ -256,10 +254,6 @@ function getEsbuildOptions({ file, files, shouldCollectLicenses, cliOptions }) { esbuildOptions.platform = "node"; esbuildOptions.external.push(...files.map((file) => file.output.file)); - if (file.output.format !== "esm" && buildOptions.interopDefault) { - esbuildOptions.plugins.push(esbuildPluginInteropDefault()); - } - // https://github.com/evanw/esbuild/issues/1921 if (file.output.format === "esm") { esbuildOptions.plugins.push(esbuildPluginShimCommonjsObjects()); diff --git a/scripts/build/config.mjs b/scripts/build/config.mjs index a4b179eee..4613e9b01 100644 --- a/scripts/build/config.mjs +++ b/scripts/build/config.mjs @@ -22,7 +22,6 @@ const resolveEsmModulePath = async (specifier) => * @property {object[]?} replaceModule - Module replacements * @property {string[]?} target - ESBuild targets * @property {string[]?} external - array of paths that should not be included in the final bundle - * @property {boolean?} interopDefault - interop default export * @property {boolean?} minify - disable code minification * * @typedef {Object} Output @@ -326,13 +325,11 @@ const nonPluginUniversalFiles = [ input: "src/document/index.js", outputBaseName: "doc", umdVariableName: "doc", - interopDefault: false, minify: false, }, { input: "src/standalone.js", umdVariableName: "prettier", - interopDefault: false, replaceModule: [ { module: require.resolve("@babel/highlight"), diff --git a/scripts/build/esbuild-plugins/interop-default.mjs b/scripts/build/esbuild-plugins/interop-default.mjs deleted file mode 100644 index d9970bdaa..000000000 --- a/scripts/build/esbuild-plugins/interop-default.mjs +++ /dev/null @@ -1,36 +0,0 @@ -import fs from "node:fs"; - -export default function esbuildPluginInteropDefault() { - return { - name: "interop-default", - setup(build) { - const { onEnd, initialOptions: esbuildOptions } = build; - - onEnd(() => { - const file = esbuildOptions.outfile; - - if (!fs.existsSync(file)) { - throw new Error(`${file} not exists`); - } - - const text = fs.readFileSync(file, "utf8").trim(); - const lines = text.split("\n"); - if ( - lines.at(-2) !== - "// Annotate the CommonJS export names for ESM import in node:" || - lines.at(-1) !== "0 && (module.exports = {});" - ) { - throw new Error("Unexpected output."); - } - lines.length -= 2; - - lines.push( - "// Interop default export", - "module.exports = module.exports.default" - ); - - fs.writeFileSync(file, lines.join("\n")); - }); - }, - }; -} diff --git a/scripts/build/esbuild-plugins/umd.mjs b/scripts/build/esbuild-plugins/umd.mjs index 212709af9..1a15a5c7f 100644 --- a/scripts/build/esbuild-plugins/umd.mjs +++ b/scripts/build/esbuild-plugins/umd.mjs @@ -3,7 +3,7 @@ import camelCase from "camelcase"; import { outdent } from "outdent"; const PLACEHOLDER = "__PLACEHOLDER__"; -function getUmdWrapper({ name, interopDefault = false }, build) { +function getUmdWrapper({ name }, build) { const path = name.split("."); const { minify } = build.initialOptions; const temporaryName = minify ? "m" : camelCase(name); @@ -23,17 +23,15 @@ function getUmdWrapper({ name, interopDefault = false }, build) { let wrapper = outdent` (function (factory) { - function interopModuleDefault(factory) { + function interopModuleDefault() { var module = factory(); - return module${interopDefault ? ".default" : ""}; + return module.default || module; } if (typeof exports === "object" && typeof module === "object") { - module.exports = interopModuleDefault(factory); + module.exports = interopModuleDefault(); } else if (typeof define === "function" && define.amd) { - define(function () { - return interopModuleDefault(factory) - }); + define(interopModuleDefault); } else { var root = typeof globalThis !== "undefined" @@ -43,7 +41,7 @@ function getUmdWrapper({ name, interopDefault = false }, build) { : typeof self !== "undefined" ? self : this || {}; - ${globalObjectText.trimStart()} = interopModuleDefault(factory); + ${globalObjectText.trimStart()} = interopModuleDefault(); } })(function() { "use strict";${PLACEHOLDER}