From 4b2db262b77fd15a0e25bb343cee9a0034bbe5fd Mon Sep 17 00:00:00 2001 From: fisker Cheung Date: Wed, 16 Apr 2025 13:39:48 +0800 Subject: [PATCH] Migrated version.evaluate.cjs to ES Module (#17347) --- jest.config.js | 8 +++++++- scripts/build/esbuild-plugins/evaluate.js | 13 +++---------- src/index.cjs | 3 ++- src/index.js | 2 +- src/main/version.evaluate.cjs | 3 --- src/main/version.evaluate.js | 3 +++ src/standalone.js | 2 +- 7 files changed, 17 insertions(+), 17 deletions(-) delete mode 100644 src/main/version.evaluate.cjs create mode 100644 src/main/version.evaluate.js diff --git a/jest.config.js b/jest.config.js index acce11cf9..4376f74e1 100644 --- a/jest.config.js +++ b/jest.config.js @@ -40,9 +40,15 @@ if (isProduction) { ); } -if (SKIP_TESTS_WITH_NEW_SYNTAX) { +if (SKIP_TESTS_WITH_NEW_SYNTAX || process.versions.node.startsWith("16.")) { + // Uses import attributes testPathIgnorePatterns.push( "/tests/integration/__tests__/help-options.js", + ); +} + +if (SKIP_TESTS_WITH_NEW_SYNTAX) { + testPathIgnorePatterns.push( "/tests/integration/__tests__/plugin-parsers.js", "/tests/integration/__tests__/normalize-doc.js", "/tests/integration/__tests__/doc-utils-clean-doc.js", diff --git a/scripts/build/esbuild-plugins/evaluate.js b/scripts/build/esbuild-plugins/evaluate.js index 3e7ee5d2b..009bdd090 100644 --- a/scripts/build/esbuild-plugins/evaluate.js +++ b/scripts/build/esbuild-plugins/evaluate.js @@ -6,14 +6,11 @@ export default function esbuildPluginEvaluate() { return { name: "evaluate", setup(build) { - const { format } = build.initialOptions; - build.onLoad( - { filter: /\.evaluate\.c?js$/, namespace: "file" }, + { filter: /\.evaluate\.[cm]?js$/, namespace: "file" }, async ({ path }) => { const module = await import(url.pathToFileURL(path)); const text = Object.entries(module) - .filter(([specifier]) => specifier !== "module.exports") .map(([specifier, value]) => { const code = value instanceof RegExp @@ -21,18 +18,14 @@ export default function esbuildPluginEvaluate() { : serialize(value, { space: 2 }); if (specifier === "default") { - return format === "cjs" - ? `module.exports = ${code};` - : `export default ${code};`; + return `export default ${code};`; } if (!isValidIdentifier(specifier)) { throw new Error(`${specifier} is not a valid specifier`); } - return format === "cjs" - ? `exports.${specifier} = ${code};` - : `export const ${specifier} = ${code};`; + return `export const ${specifier} = ${code};`; }) .join("\n"); return { contents: text }; diff --git a/src/index.cjs b/src/index.cjs index f84b6843b..b8e3befb0 100644 --- a/src/index.cjs +++ b/src/index.cjs @@ -41,6 +41,7 @@ prettier.__debug = debugApis; if (process.env.NODE_ENV === "production") { prettier.util = require("./utils/public.js"); prettier.doc = require("./document/public.js"); + prettier.version = require("./main/version.evaluate.js").default; } else { Object.defineProperties(prettier, { util: { @@ -70,7 +71,7 @@ if (process.env.NODE_ENV === "production") { }, }, }); + prettier.version = require("../package.json").version; } -prettier.version = require("./main/version.evaluate.cjs"); module.exports = prettier; diff --git a/src/index.js b/src/index.js index a1754d578..6d88aa219 100644 --- a/src/index.js +++ b/src/index.js @@ -140,5 +140,5 @@ export { resolveConfigFile, }; export * as doc from "./document/public.js"; -export { default as version } from "./main/version.evaluate.cjs"; +export { default as version } from "./main/version.evaluate.js"; export * as util from "./utils/public.js"; diff --git a/src/main/version.evaluate.cjs b/src/main/version.evaluate.cjs deleted file mode 100644 index 5850ec2db..000000000 --- a/src/main/version.evaluate.cjs +++ /dev/null @@ -1,3 +0,0 @@ -"use strict"; - -module.exports = require("../../package.json").version; diff --git a/src/main/version.evaluate.js b/src/main/version.evaluate.js new file mode 100644 index 000000000..311cf0a1c --- /dev/null +++ b/src/main/version.evaluate.js @@ -0,0 +1,3 @@ +import packageJson from "../../package.json" with { type: "json" }; + +export default packageJson.version; diff --git a/src/standalone.js b/src/standalone.js index cf0635ab4..8277956ee 100644 --- a/src/standalone.js +++ b/src/standalone.js @@ -52,5 +52,5 @@ export { getSupportInfo, }; export * as doc from "./document/public.js"; -export { default as version } from "./main/version.evaluate.cjs"; +export { default as version } from "./main/version.evaluate.js"; export * as util from "./utils/public.js";