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";