diff --git a/.eslintrc.cjs b/.eslintrc.cjs index d7f520562..a85c6a542 100644 --- a/.eslintrc.cjs +++ b/.eslintrc.cjs @@ -25,6 +25,7 @@ module.exports = { "regexp", "unicorn", "@typescript-eslint", + "simple-import-sort", ], rules: { "arrow-body-style": ["error", "as-needed"], @@ -139,7 +140,6 @@ module.exports = { ], }, ], - "import/order": "error", "import/no-anonymous-default-export": [ "error", { @@ -187,6 +187,9 @@ module.exports = { "regexp/no-empty-alternative": "off", "regexp/no-super-linear-backtracking": "off", + "simple-import-sort/imports": "error", + "simple-import-sort/exports": "error", + // eslint-plugin-unicorn "unicorn/escape-case": "off", "unicorn/catch-error-name": "off", diff --git a/jest.config.js b/jest.config.js index 67e02ec6f..43cfdb3d1 100644 --- a/jest.config.js +++ b/jest.config.js @@ -1,5 +1,7 @@ import path from "node:path"; + import createEsmUtils from "esm-utils"; + import installPrettier from "./tests/config/install-prettier.js"; const { dirname: PROJECT_ROOT } = createEsmUtils(import.meta); diff --git a/package.json b/package.json index 683d5edd4..3604b7050 100644 --- a/package.json +++ b/package.json @@ -133,6 +133,7 @@ "eslint-plugin-prettier-internal-rules": "2.0.1", "eslint-plugin-react": "7.33.2", "eslint-plugin-regexp": "2.1.1", + "eslint-plugin-simple-import-sort": "10.0.0", "eslint-plugin-unicorn": "49.0.0", "esm-utils": "4.2.1", "execa": "7.2.0", diff --git a/scripts/build-website.js b/scripts/build-website.js index 0919454f2..c1f377e9a 100644 --- a/scripts/build-website.js +++ b/scripts/build-website.js @@ -1,19 +1,21 @@ #!/usr/bin/env node -import path from "node:path"; import fs from "node:fs/promises"; +import path from "node:path"; import url from "node:url"; -import fastGlob from "fast-glob"; + import createEsmUtils from "esm-utils"; import { execa } from "execa"; +import fastGlob from "fast-glob"; + import { format } from "../src/index.js"; import { - PROJECT_ROOT, - DIST_DIR, - WEBSITE_DIR, - writeJson, copyFile, + DIST_DIR, + PROJECT_ROOT, + WEBSITE_DIR, writeFile, + writeJson, } from "./utils/index.js"; const { require } = createEsmUtils(import.meta); diff --git a/scripts/build/build-javascript-module.js b/scripts/build/build-javascript-module.js index adbab2e67..d556053df 100644 --- a/scripts/build/build-javascript-module.js +++ b/scripts/build/build-javascript-module.js @@ -1,20 +1,22 @@ -import path from "node:path"; import { createRequire } from "node:module"; -import createEsmUtils from "esm-utils"; +import path from "node:path"; + +import browserslistToEsbuild from "browserslist-to-esbuild"; import esbuild from "esbuild"; import { nodeModulesPolyfillPlugin as esbuildPluginNodeModulePolyfills } from "esbuild-plugins-node-modules-polyfill"; -import browserslistToEsbuild from "browserslist-to-esbuild"; -import { PROJECT_ROOT, DIST_DIR } from "../utils/index.js"; +import createEsmUtils from "esm-utils"; + +import { DIST_DIR, PROJECT_ROOT } from "../utils/index.js"; +import esbuildPluginAddDefaultExport from "./esbuild-plugins/add-default-export.js"; import esbuildPluginEvaluate from "./esbuild-plugins/evaluate.js"; -import esbuildPluginReplaceModule from "./esbuild-plugins/replace-module.js"; import esbuildPluginLicense from "./esbuild-plugins/license.js"; -import esbuildPluginUmd from "./esbuild-plugins/umd.js"; -import esbuildPluginVisualizer from "./esbuild-plugins/visualizer.js"; +import esbuildPluginPrimitiveDefine from "./esbuild-plugins/primitive-define.js"; +import esbuildPluginReplaceModule from "./esbuild-plugins/replace-module.js"; +import esbuildPluginShimCommonjsObjects from "./esbuild-plugins/shim-commonjs-objects.js"; import esbuildPluginStripNodeProtocol from "./esbuild-plugins/strip-node-protocol.js"; import esbuildPluginThrowWarnings from "./esbuild-plugins/throw-warnings.js"; -import esbuildPluginShimCommonjsObjects from "./esbuild-plugins/shim-commonjs-objects.js"; -import esbuildPluginPrimitiveDefine from "./esbuild-plugins/primitive-define.js"; -import esbuildPluginAddDefaultExport from "./esbuild-plugins/add-default-export.js"; +import esbuildPluginUmd from "./esbuild-plugins/umd.js"; +import esbuildPluginVisualizer from "./esbuild-plugins/visualizer.js"; import transform from "./transform/index.js"; import { getPackageFile } from "./utils.js"; diff --git a/scripts/build/build-license.js b/scripts/build/build-license.js index 2031e7fb0..4eb6d5087 100644 --- a/scripts/build/build-license.js +++ b/scripts/build/build-license.js @@ -1,6 +1,8 @@ -import path from "node:path"; import fs from "node:fs/promises"; +import path from "node:path"; + import { outdent } from "outdent"; + import { DIST_DIR, PROJECT_ROOT } from "../utils/index.js"; const PROJECT_LICENSE_FILE = path.join(PROJECT_ROOT, "LICENSE"); diff --git a/scripts/build/build-package-json.js b/scripts/build/build-package-json.js index 291c0c610..28956bd00 100644 --- a/scripts/build/build-package-json.js +++ b/scripts/build/build-package-json.js @@ -1,5 +1,6 @@ import path from "node:path"; -import { PROJECT_ROOT, DIST_DIR, readJson, writeJson } from "../utils/index.js"; + +import { DIST_DIR, PROJECT_ROOT, readJson, writeJson } from "../utils/index.js"; const keysToKeep = [ "name", diff --git a/scripts/build/build-types.js b/scripts/build/build-types.js index 71e09f4aa..c3e46f7c8 100644 --- a/scripts/build/build-types.js +++ b/scripts/build/build-types.js @@ -1,9 +1,11 @@ import fs from "node:fs"; import path from "node:path"; import url from "node:url"; + import { isValidIdentifier } from "@babel/types"; import { outdent } from "outdent"; -import { PROJECT_ROOT, DIST_DIR, writeFile } from "../utils/index.js"; + +import { DIST_DIR, PROJECT_ROOT, writeFile } from "../utils/index.js"; async function typesFileBuilder({ file }) { /** diff --git a/scripts/build/build.js b/scripts/build/build.js index 666a0a1f5..24b53ed21 100644 --- a/scripts/build/build.js +++ b/scripts/build/build.js @@ -1,11 +1,13 @@ #!/usr/bin/env node -import path from "node:path"; import fs from "node:fs/promises"; +import path from "node:path"; import readline from "node:readline"; + import chalk from "chalk"; -import prettyBytes from "pretty-bytes"; import createEsmUtils from "esm-utils"; +import prettyBytes from "pretty-bytes"; + import { DIST_DIR } from "../utils/index.js"; import files from "./config.js"; import parseArguments from "./parse-arguments.js"; diff --git a/scripts/build/config.js b/scripts/build/config.js index 8e67bba58..b15f21559 100644 --- a/scripts/build/config.js +++ b/scripts/build/config.js @@ -1,11 +1,13 @@ +import fs from "node:fs"; import path from "node:path"; import url from "node:url"; -import fs from "node:fs"; + import createEsmUtils from "esm-utils"; -import { PROJECT_ROOT, DIST_DIR, copyFile } from "../utils/index.js"; + +import { copyFile, DIST_DIR, PROJECT_ROOT } from "../utils/index.js"; import buildJavascriptModule from "./build-javascript-module.js"; -import buildPackageJson from "./build-package-json.js"; import buildLicense from "./build-license.js"; +import buildPackageJson from "./build-package-json.js"; import buildTypes from "./build-types.js"; import modifyTypescriptModule from "./modify-typescript-module.js"; import { getPackageFile } from "./utils.js"; diff --git a/scripts/build/esbuild-plugins/evaluate.js b/scripts/build/esbuild-plugins/evaluate.js index 37621415c..1feb0f377 100644 --- a/scripts/build/esbuild-plugins/evaluate.js +++ b/scripts/build/esbuild-plugins/evaluate.js @@ -1,6 +1,6 @@ +import { isValidIdentifier } from "@babel/types"; import createEsmUtils from "esm-utils"; import serialize from "serialize-javascript"; -import { isValidIdentifier } from "@babel/types"; const { importModule } = createEsmUtils(import.meta); diff --git a/scripts/build/esbuild-plugins/shim-commonjs-objects.js b/scripts/build/esbuild-plugins/shim-commonjs-objects.js index 47ccfd980..b0aba10f2 100644 --- a/scripts/build/esbuild-plugins/shim-commonjs-objects.js +++ b/scripts/build/esbuild-plugins/shim-commonjs-objects.js @@ -1,4 +1,5 @@ import fs from "node:fs"; + import { outdent } from "outdent"; export default function esbuildPluginShimCommonjsObjects() { diff --git a/scripts/build/esbuild-plugins/umd.js b/scripts/build/esbuild-plugins/umd.js index 3d309a94e..d63cfd932 100644 --- a/scripts/build/esbuild-plugins/umd.js +++ b/scripts/build/esbuild-plugins/umd.js @@ -1,4 +1,5 @@ import fs from "node:fs"; + import camelCase from "camelcase"; import { outdent } from "outdent"; diff --git a/scripts/build/esbuild-plugins/visualizer.js b/scripts/build/esbuild-plugins/visualizer.js index ddf51150a..9f1e1a118 100644 --- a/scripts/build/esbuild-plugins/visualizer.js +++ b/scripts/build/esbuild-plugins/visualizer.js @@ -1,4 +1,5 @@ import fs from "node:fs/promises"; + import { visualizer as esbuildVisualizer } from "esbuild-visualizer/dist/plugin/index.js"; import { renderTemplate as esbuildVisualizerRenderTemplate } from "esbuild-visualizer/dist/plugin/render-template.js"; diff --git a/scripts/build/modify-typescript-module.js b/scripts/build/modify-typescript-module.js index 043a09a7d..d3151628e 100644 --- a/scripts/build/modify-typescript-module.js +++ b/scripts/build/modify-typescript-module.js @@ -1,8 +1,10 @@ import path from "node:path"; + import escapeStringRegexp from "escape-string-regexp"; -import { outdent } from "outdent"; import MagicString from "magic-string"; -import { writeFile, PROJECT_ROOT } from "../utils/index.js"; +import { outdent } from "outdent"; + +import { PROJECT_ROOT, writeFile } from "../utils/index.js"; function* getModules(text) { const parts = text.split(/(?<=\n)( {2}\/\/ src\/\S+\n)/); diff --git a/scripts/build/parse-arguments.js b/scripts/build/parse-arguments.js index 099a3c0c9..8f735e834 100644 --- a/scripts/build/parse-arguments.js +++ b/scripts/build/parse-arguments.js @@ -1,5 +1,6 @@ -import { parseArgs } from "node:util"; import path from "node:path"; +import { parseArgs } from "node:util"; + import { DIST_DIR } from "../utils/index.js"; function parseArguments() { diff --git a/scripts/build/transform/index.js b/scripts/build/transform/index.js index 95b394c6e..76a288d2d 100644 --- a/scripts/build/transform/index.js +++ b/scripts/build/transform/index.js @@ -1,9 +1,11 @@ import path from "node:path"; + +import babelGenerator from "@babel/generator"; import { parse } from "@babel/parser"; import { traverseFast as traverse } from "@babel/types"; -import babelGenerator from "@babel/generator"; import { outdent } from "outdent"; -import { SOURCE_DIR, PROJECT_ROOT } from "../../utils/index.js"; + +import { PROJECT_ROOT, SOURCE_DIR } from "../../utils/index.js"; import allTransforms from "./transforms/index.js"; const generate = babelGenerator.default; diff --git a/scripts/build/utils.js b/scripts/build/utils.js index a89890425..b2e9265b6 100644 --- a/scripts/build/utils.js +++ b/scripts/build/utils.js @@ -1,5 +1,6 @@ -import path from "node:path"; import fs from "node:fs"; +import path from "node:path"; + import { PROJECT_ROOT } from "../utils/index.js"; function getPackageFile(file) { diff --git a/scripts/changelog-for-patch.js b/scripts/changelog-for-patch.js index eca2d3319..b8b40a382 100644 --- a/scripts/changelog-for-patch.js +++ b/scripts/changelog-for-patch.js @@ -1,8 +1,10 @@ #!/usr/bin/env node import path from "node:path"; + import minimist from "minimist"; import semver from "semver"; + import { changelogUnreleasedDirPath, changelogUnreleasedDirs, diff --git a/scripts/check-deps.js b/scripts/check-deps.js index 097a2867a..e86fbfbdc 100644 --- a/scripts/check-deps.js +++ b/scripts/check-deps.js @@ -1,4 +1,5 @@ import fs from "node:fs/promises"; + import chalk from "chalk"; const packageJson = JSON.parse( diff --git a/scripts/clean-changelog-unreleased.js b/scripts/clean-changelog-unreleased.js index f8b0fa883..3fdeaef3d 100644 --- a/scripts/clean-changelog-unreleased.js +++ b/scripts/clean-changelog-unreleased.js @@ -2,6 +2,7 @@ import fs from "node:fs"; import { fileURLToPath } from "node:url"; + import fastGlob from "fast-glob"; const changelogUnreleasedDir = fileURLToPath( diff --git a/scripts/clean-cspell.js b/scripts/clean-cspell.js index 24752b357..861199768 100644 --- a/scripts/clean-cspell.js +++ b/scripts/clean-cspell.js @@ -1,6 +1,7 @@ #!/usr/bin/env node import fs from "node:fs/promises"; + import { execa } from "execa"; const CSPELL_CONFIG_FILE = new URL("../cspell.json", import.meta.url); diff --git a/scripts/draft-blog-post.js b/scripts/draft-blog-post.js index 8582c452f..46b99a71c 100644 --- a/scripts/draft-blog-post.js +++ b/scripts/draft-blog-post.js @@ -2,15 +2,17 @@ import fs from "node:fs"; import path from "node:path"; + import createEsmUtils from "esm-utils"; import fg from "fast-glob"; import semver from "semver"; + import { - getEntries, - replaceVersions, changelogUnreleasedDirPath, changelogUnreleasedDirs, + getEntries, printEntries, + replaceVersions, } from "./utils/changelog.js"; const { __dirname, require } = createEsmUtils(import.meta); diff --git a/scripts/generate-changelog.js b/scripts/generate-changelog.js index 2bcdb153c..d659b3272 100755 --- a/scripts/generate-changelog.js +++ b/scripts/generate-changelog.js @@ -11,8 +11,10 @@ import fs from "node:fs/promises"; import path from "node:path"; -import createEsmUtils from "esm-utils"; + import enquirer from "enquirer"; +import createEsmUtils from "esm-utils"; + import { CHANGELOG_CATEGORIES } from "./utils/changelog-categories.js"; const { __dirname } = createEsmUtils(import.meta); diff --git a/scripts/lint-changelog.js b/scripts/lint-changelog.js index cf0093480..f729ef7a8 100644 --- a/scripts/lint-changelog.js +++ b/scripts/lint-changelog.js @@ -1,10 +1,12 @@ #!/usr/bin/env node -import path from "node:path"; import fs from "node:fs"; -import { outdent } from "outdent"; +import path from "node:path"; + import createEsmUtils from "esm-utils"; import { LinesAndColumns } from "lines-and-columns"; +import { outdent } from "outdent"; + import { CHANGELOG_CATEGORIES } from "./utils/changelog-categories.js"; const { __dirname } = createEsmUtils(import.meta); diff --git a/scripts/release/release.js b/scripts/release/release.js index 90e650a96..c2a2cb297 100644 --- a/scripts/release/release.js +++ b/scripts/release/release.js @@ -2,8 +2,8 @@ /* This file can't use any dependency since the dependencies may not installed yet */ import { exec } from "node:child_process"; -import { fileURLToPath } from "node:url"; import path from "node:path"; +import { fileURLToPath } from "node:url"; const directory = path.dirname(fileURLToPath(import.meta.url)); function runCommand(command) { diff --git a/scripts/release/run.js b/scripts/release/run.js index 231610a57..e4a395775 100644 --- a/scripts/release/run.js +++ b/scripts/release/run.js @@ -1,7 +1,8 @@ import semver from "semver"; -import { runGit, readJson, logPromise } from "./utils.js"; + import parseArguments from "./parse-arguments.js"; import * as steps from "./steps/index.js"; +import { logPromise, readJson, runGit } from "./utils.js"; const params = parseArguments(); const { stdout: previousVersion } = await runGit([ diff --git a/scripts/release/steps/bump-prettier.js b/scripts/release/steps/bump-prettier.js index 795d630e8..c58bef1bb 100644 --- a/scripts/release/steps/bump-prettier.js +++ b/scripts/release/steps/bump-prettier.js @@ -1,6 +1,8 @@ import fs from "node:fs"; + import semver from "semver"; -import { runYarn, runGit, logPromise, readJson, writeJson } from "../utils.js"; + +import { logPromise, readJson, runGit, runYarn, writeJson } from "../utils.js"; async function format() { await runYarn(["lint:eslint", "--fix"]); diff --git a/scripts/release/steps/generate-bundles.js b/scripts/release/steps/generate-bundles.js index 419f23fca..d6c238d13 100644 --- a/scripts/release/steps/generate-bundles.js +++ b/scripts/release/steps/generate-bundles.js @@ -1,5 +1,6 @@ import chalk from "chalk"; -import { runYarn, logPromise, readJson } from "../utils.js"; + +import { logPromise, readJson, runYarn } from "../utils.js"; export default async function generateBundles({ dry, version, manual }) { if (!manual) { diff --git a/scripts/release/steps/index.js b/scripts/release/steps/index.js index 0c3a03214..ff7d12f33 100644 --- a/scripts/release/steps/index.js +++ b/scripts/release/steps/index.js @@ -1,14 +1,14 @@ -export { default as validateNewVersion } from "./validate-new-version.js"; +export { default as bumpPrettier } from "./bump-prettier.js"; export { default as checkGitStatus } from "./check-git-status.js"; +export { default as generateBundles } from "./generate-bundles.js"; export { default as installDependencies } from "./install-dependencies.js"; export { default as lintFiles } from "./lint-files.js"; -export { default as updateVersion } from "./update-version.js"; -export { default as generateBundles } from "./generate-bundles.js"; -export { default as updateChangelog } from "./update-changelog.js"; -export { default as pushToGit } from "./push-to-git.js"; -export { default as publishToNpm } from "./publish-to-npm.js"; -export { default as waitForBotRelease } from "./wait-for-bot-release.js"; -export { default as showInstructionsAfterNpmPublish } from "./show-instructions-after-npm-publish.js"; -export { default as updateDependentsCount } from "./update-dependents-count.js"; -export { default as bumpPrettier } from "./bump-prettier.js"; export { default as postPublishSteps } from "./post-publish-steps.js"; +export { default as publishToNpm } from "./publish-to-npm.js"; +export { default as pushToGit } from "./push-to-git.js"; +export { default as showInstructionsAfterNpmPublish } from "./show-instructions-after-npm-publish.js"; +export { default as updateChangelog } from "./update-changelog.js"; +export { default as updateDependentsCount } from "./update-dependents-count.js"; +export { default as updateVersion } from "./update-version.js"; +export { default as validateNewVersion } from "./validate-new-version.js"; +export { default as waitForBotRelease } from "./wait-for-bot-release.js"; diff --git a/scripts/release/steps/install-dependencies.js b/scripts/release/steps/install-dependencies.js index 8ca56a563..79a83825d 100644 --- a/scripts/release/steps/install-dependencies.js +++ b/scripts/release/steps/install-dependencies.js @@ -1,5 +1,6 @@ import { execa } from "execa"; -import { runYarn, runGit } from "../utils.js"; + +import { runGit, runYarn } from "../utils.js"; export default async function installDependencies() { await execa("rm", ["-rf", "node_modules"]); diff --git a/scripts/release/steps/post-publish-steps.js b/scripts/release/steps/post-publish-steps.js index 4b8005f5a..fc272b5be 100644 --- a/scripts/release/steps/post-publish-steps.js +++ b/scripts/release/steps/post-publish-steps.js @@ -1,6 +1,7 @@ import chalk from "chalk"; -import outdent from "outdent"; import { execa } from "execa"; +import outdent from "outdent"; + import { fetchText, logPromise } from "../utils.js"; const SCHEMA_REPO = "SchemaStore/schemastore"; diff --git a/scripts/release/steps/publish-to-npm.js b/scripts/release/steps/publish-to-npm.js index 3ee0a8ae2..20fcf24d7 100644 --- a/scripts/release/steps/publish-to-npm.js +++ b/scripts/release/steps/publish-to-npm.js @@ -1,5 +1,6 @@ -import { execa } from "execa"; import enquirer from "enquirer"; +import { execa } from "execa"; + import { waitForEnter } from "../utils.js"; export default async function publishToNpm({ dry }) { diff --git a/scripts/release/steps/show-instructions-after-npm-publish.js b/scripts/release/steps/show-instructions-after-npm-publish.js index 2f7c9a8e1..ae06e6389 100644 --- a/scripts/release/steps/show-instructions-after-npm-publish.js +++ b/scripts/release/steps/show-instructions-after-npm-publish.js @@ -1,6 +1,7 @@ import chalk from "chalk"; import outdent from "outdent"; import semver from "semver"; + import { getBlogPostInfo, getChangelogContent, diff --git a/scripts/release/steps/update-changelog.js b/scripts/release/steps/update-changelog.js index 705061b20..591efcb0e 100644 --- a/scripts/release/steps/update-changelog.js +++ b/scripts/release/steps/update-changelog.js @@ -1,13 +1,15 @@ import fs from "node:fs"; -import { execa } from "execa"; + import chalk from "chalk"; +import { execa } from "execa"; import semver from "semver"; + import { - waitForEnter, - runYarn, - logPromise, getBlogPostInfo, getChangelogContent, + logPromise, + runYarn, + waitForEnter, } from "../utils.js"; function writeChangelog(params) { diff --git a/scripts/release/steps/update-dependents-count.js b/scripts/release/steps/update-dependents-count.js index 8179b6731..f6ad09aef 100644 --- a/scripts/release/steps/update-dependents-count.js +++ b/scripts/release/steps/update-dependents-count.js @@ -1,5 +1,6 @@ import chalk from "chalk"; -import { runGit, fetchText, logPromise, processFile } from "../utils.js"; + +import { fetchText, logPromise, processFile, runGit } from "../utils.js"; async function update() { const npmPage = await logPromise( diff --git a/scripts/release/steps/update-version.js b/scripts/release/steps/update-version.js index 91b4adf57..d3904097b 100644 --- a/scripts/release/steps/update-version.js +++ b/scripts/release/steps/update-version.js @@ -1,4 +1,4 @@ -import { runYarn, readJson, writeJson, processFile } from "../utils.js"; +import { processFile, readJson, runYarn, writeJson } from "../utils.js"; export default async function updateVersion({ version, next }) { const pkg = await readJson("package.json"); diff --git a/scripts/release/steps/wait-for-bot-release.js b/scripts/release/steps/wait-for-bot-release.js index b5c003c08..c828e6f91 100644 --- a/scripts/release/steps/wait-for-bot-release.js +++ b/scripts/release/steps/wait-for-bot-release.js @@ -1,6 +1,7 @@ import chalk from "chalk"; import outdent from "outdent"; -import { waitForEnter, logPromise } from "../utils.js"; + +import { logPromise, waitForEnter } from "../utils.js"; export async function isVersionReleased(version) { const response = await fetch("https://registry.npmjs.org/prettier/"); diff --git a/scripts/release/tests/publish-to-npm.test.js b/scripts/release/tests/publish-to-npm.test.js index 2b49e553a..48fde4b53 100644 --- a/scripts/release/tests/publish-to-npm.test.js +++ b/scripts/release/tests/publish-to-npm.test.js @@ -1,6 +1,7 @@ import assert from "node:assert/strict"; -import { URLSearchParams } from "node:url"; import { describe, it } from "node:test"; +import { URLSearchParams } from "node:url"; + import { getReleaseUrl } from "../steps/show-instructions-after-npm-publish.js"; const RELEASE_URL_BASE = "https://github.com/prettier/prettier/releases/new?"; diff --git a/scripts/release/tests/validate-new-version.test.js b/scripts/release/tests/validate-new-version.test.js index 635278f78..1bb2ecee0 100644 --- a/scripts/release/tests/validate-new-version.test.js +++ b/scripts/release/tests/validate-new-version.test.js @@ -1,6 +1,8 @@ import assert from "node:assert/strict"; import { describe, it } from "node:test"; + import chalk from "chalk"; + import validateNewVersion from "../steps/validate-new-version.js"; describe("validate-new-version", () => { diff --git a/scripts/release/tests/version-check.test.js b/scripts/release/tests/version-check.test.js index d5f7e23cf..590b629b1 100644 --- a/scripts/release/tests/version-check.test.js +++ b/scripts/release/tests/version-check.test.js @@ -1,5 +1,6 @@ import assert from "node:assert/strict"; import { describe, it } from "node:test"; + import { isVersionReleased } from "../steps/wait-for-bot-release.js"; describe("isVersionReleased", () => { diff --git a/scripts/release/utils.js b/scripts/release/utils.js index 64ab096d1..25cff98da 100644 --- a/scripts/release/utils.js +++ b/scripts/release/utils.js @@ -1,8 +1,10 @@ import fs from "node:fs"; import readline from "node:readline"; + import chalk from "chalk"; import { execa } from "execa"; import outdent from "outdent"; + import getFormattedDate from "./get-formatted-date.js"; readline.emitKeypressEvents(process.stdin); @@ -128,14 +130,14 @@ function getChangelogContent({ version, previousVersion, body }) { } export { - runYarn, - runGit, fetchText, + getBlogPostInfo, + getChangelogContent, logPromise, processFile, readJson, - writeJson, + runGit, + runYarn, waitForEnter, - getBlogPostInfo, - getChangelogContent, + writeJson, }; diff --git a/scripts/tools/bundle-test/index.js b/scripts/tools/bundle-test/index.js index 5d93180de..6940afb2a 100644 --- a/scripts/tools/bundle-test/index.js +++ b/scripts/tools/bundle-test/index.js @@ -1,9 +1,11 @@ -import url from "node:url"; -import path from "node:path"; import { createRequire } from "node:module"; +import path from "node:path"; +import url from "node:url"; + import webpack from "webpack"; -import { DIST_DIR } from "../../utils/index.js"; + import files from "../../build/config.js"; +import { DIST_DIR } from "../../utils/index.js"; function runWebpack(config) { return new Promise((resolve, reject) => { diff --git a/scripts/utils/changelog.js b/scripts/utils/changelog.js index a5d0798d1..0a8318f02 100644 --- a/scripts/utils/changelog.js +++ b/scripts/utils/changelog.js @@ -1,5 +1,6 @@ import fs from "node:fs"; import path from "node:path"; + import createEsmUtils from "esm-utils"; import semver from "semver"; diff --git a/scripts/utils/index.js b/scripts/utils/index.js index 3691051ce..b373267fe 100644 --- a/scripts/utils/index.js +++ b/scripts/utils/index.js @@ -1,6 +1,6 @@ import fs from "node:fs/promises"; -import url from "node:url"; import path from "node:path"; +import url from "node:url"; const toPath = (path) => (path instanceof URL ? url.fileURLToPath(path) : path); @@ -35,12 +35,12 @@ const WEBSITE_DIR = path.join(PROJECT_ROOT, "website"); const SOURCE_DIR = path.join(PROJECT_ROOT, "src"); export { - PROJECT_ROOT, - DIST_DIR, - WEBSITE_DIR, - SOURCE_DIR, - readJson, - writeJson, - writeFile, copyFile, + DIST_DIR, + PROJECT_ROOT, + readJson, + SOURCE_DIR, + WEBSITE_DIR, + writeFile, + writeJson, }; diff --git a/src/cli/cli-options.evaluate.js b/src/cli/cli-options.evaluate.js index 36475f936..d59364737 100644 --- a/src/cli/cli-options.evaluate.js +++ b/src/cli/cli-options.evaluate.js @@ -1,4 +1,5 @@ import { outdent } from "outdent"; + import { optionCategories } from "./prettier-internal.js"; /** diff --git a/src/cli/constants.evaluate.js b/src/cli/constants.evaluate.js index 863c5a1af..183bc1bcb 100644 --- a/src/cli/constants.evaluate.js +++ b/src/cli/constants.evaluate.js @@ -1,4 +1,5 @@ import { outdent } from "outdent"; + import { optionCategories } from "./prettier-internal.js"; const categoryOrder = [ diff --git a/src/cli/expand-patterns.js b/src/cli/expand-patterns.js index d0b786181..6c28afbf9 100644 --- a/src/cli/expand-patterns.js +++ b/src/cli/expand-patterns.js @@ -1,6 +1,7 @@ import path from "node:path"; -import { lstatSafe, normalizeToPosix } from "./utils.js"; + import { fastGlob } from "./prettier-internal.js"; +import { lstatSafe, normalizeToPosix } from "./utils.js"; /** @typedef {import('./context').Context} Context */ diff --git a/src/cli/file-info.js b/src/cli/file-info.js index 91d8381f1..c1dea06f1 100644 --- a/src/cli/file-info.js +++ b/src/cli/file-info.js @@ -1,4 +1,5 @@ import stringify from "fast-json-stable-stringify"; + import { format, getFileInfo } from "../index.js"; import { printToScreen } from "./utils.js"; diff --git a/src/cli/find-cache-file.js b/src/cli/find-cache-file.js index 050766587..1eb737c57 100644 --- a/src/cli/find-cache-file.js +++ b/src/cli/find-cache-file.js @@ -1,8 +1,10 @@ import fs from "node:fs/promises"; import os from "node:os"; import path from "node:path"; + import findCacheDir from "find-cache-dir"; -import { statSafe, isJson } from "./utils.js"; + +import { isJson, statSafe } from "./utils.js"; /** * Find default cache file (`./node_modules/.cache/prettier/.prettier-cache`) using https://github.com/avajs/find-cache-dir diff --git a/src/cli/find-config-path.js b/src/cli/find-config-path.js index 516ae72d0..94923cf4c 100644 --- a/src/cli/find-config-path.js +++ b/src/cli/find-config-path.js @@ -1,6 +1,7 @@ import path from "node:path"; + import { resolveConfigFile } from "../index.js"; -import { printToScreen, normalizeToPosix } from "./utils.js"; +import { normalizeToPosix, printToScreen } from "./utils.js"; async function logResolvedConfigPathOrDie(context) { const file = context.argv.findConfigPath; diff --git a/src/cli/format-results-cache.js b/src/cli/format-results-cache.js index 2bb8a0499..d041067f4 100644 --- a/src/cli/format-results-cache.js +++ b/src/cli/format-results-cache.js @@ -1,8 +1,9 @@ // Inspired by LintResultsCache from ESLint // https://github.com/eslint/eslint/blob/c2d0a830754b6099a3325e6d3348c3ba983a677a/lib/cli-engine/lint-result-cache.js -import fileEntryCache from "file-entry-cache"; import stringify from "fast-json-stable-stringify"; +import fileEntryCache from "file-entry-cache"; + import { version as prettierVersion } from "../index.js"; import { createHash } from "./utils.js"; diff --git a/src/cli/format.js b/src/cli/format.js index 6f313f3b6..320925c07 100644 --- a/src/cli/format.js +++ b/src/cli/format.js @@ -1,19 +1,21 @@ import fs from "node:fs/promises"; import path from "node:path"; + import chalk from "chalk"; import { createTwoFilesPatch } from "diff"; + import * as prettier from "../index.js"; +import { expandPatterns } from "./expand-patterns.js"; +import findCacheFile from "./find-cache-file.js"; +import FormatResultsCache from "./format-results-cache.js"; +import isTTY from "./is-tty.js"; +import getOptionsForFile from "./options/get-options-for-file.js"; import { createIsIgnoredFunction, errors, mockable, } from "./prettier-internal.js"; -import { expandPatterns } from "./expand-patterns.js"; -import getOptionsForFile from "./options/get-options-for-file.js"; -import isTTY from "./is-tty.js"; -import findCacheFile from "./find-cache-file.js"; -import FormatResultsCache from "./format-results-cache.js"; -import { statSafe, normalizeToPosix } from "./utils.js"; +import { normalizeToPosix, statSafe } from "./utils.js"; const { getStdin, writeFormattedFile } = mockable; @@ -506,4 +508,4 @@ async function formatFiles(context) { } } -export { formatStdin, formatFiles }; +export { formatFiles, formatStdin }; diff --git a/src/cli/index.js b/src/cli/index.js index 179762380..81e6ef407 100644 --- a/src/cli/index.js +++ b/src/cli/index.js @@ -1,13 +1,13 @@ import * as prettier from "../index.js"; -import createLogger from "./logger.js"; import Context from "./context.js"; -import { parseArgvWithoutPlugins } from "./options/parse-cli-arguments.js"; -import { createDetailedUsage, createUsage } from "./usage.js"; -import { formatStdin, formatFiles } from "./format.js"; import logFileInfoOrDie from "./file-info.js"; import logResolvedConfigPathOrDie from "./find-config-path.js"; -import { printToScreen } from "./utils.js"; +import { formatFiles, formatStdin } from "./format.js"; +import createLogger from "./logger.js"; +import { parseArgvWithoutPlugins } from "./options/parse-cli-arguments.js"; import printSupportInfo from "./print-support-info.js"; +import { createDetailedUsage, createUsage } from "./usage.js"; +import { printToScreen } from "./utils.js"; async function run(rawArguments = process.argv.slice(2)) { // Create a default level logger, so we can log errors during `logLevel` parsing diff --git a/src/cli/logger.js b/src/cli/logger.js index 0d53b2c46..1c0519460 100644 --- a/src/cli/logger.js +++ b/src/cli/logger.js @@ -1,4 +1,5 @@ import readline from "node:readline"; + import chalk, { chalkStderr } from "chalk"; import stripAnsi from "strip-ansi"; import wcwidth from "wcwidth.js"; diff --git a/src/cli/options/get-context-options.js b/src/cli/options/get-context-options.js index cb6e1d700..54144f5d7 100644 --- a/src/cli/options/get-context-options.js +++ b/src/cli/options/get-context-options.js @@ -1,11 +1,12 @@ import dashify from "dashify"; + import { getSupportInfo } from "../../index.js"; +import cliOptions from "../cli-options.evaluate.js"; import { - optionCategories, getSupportInfoWithoutPlugins, normalizeOptionSettings, + optionCategories, } from "../prettier-internal.js"; -import cliOptions from "../cli-options.evaluate.js"; const detailedCliOptions = normalizeOptionSettings(cliOptions).map((option) => normalizeDetailedOption(option), diff --git a/src/cli/options/get-options-for-file.js b/src/cli/options/get-options-for-file.js index 7098b95b3..64f0425e7 100644 --- a/src/cli/options/get-options-for-file.js +++ b/src/cli/options/get-options-for-file.js @@ -1,8 +1,9 @@ import dashify from "dashify"; + import { resolveConfig } from "../../index.js"; import { normalizeOptions as normalizeApiOptions } from "../prettier-internal.js"; -import minimist from "./minimist.js"; import createMinimistOptions from "./create-minimist-options.js"; +import minimist from "./minimist.js"; import normalizeCliOptions from "./normalize-cli-options.js"; function getOptions(argv, detailedOptions) { diff --git a/src/cli/options/normalize-cli-options.js b/src/cli/options/normalize-cli-options.js index cd2bc0338..2cfbe7132 100644 --- a/src/cli/options/normalize-cli-options.js +++ b/src/cli/options/normalize-cli-options.js @@ -1,5 +1,6 @@ import chalk from "chalk"; import leven from "leven"; + import { normalizeOptions, vnopts } from "../prettier-internal.js"; const descriptor = { diff --git a/src/cli/options/parse-cli-arguments.js b/src/cli/options/parse-cli-arguments.js index fc15c7fb0..39c83823d 100644 --- a/src/cli/options/parse-cli-arguments.js +++ b/src/cli/options/parse-cli-arguments.js @@ -1,8 +1,9 @@ import camelCase from "camelcase"; + import { pick } from "../utils.js"; +import createMinimistOptions from "./create-minimist-options.js"; import { getContextOptionsWithoutPlugins } from "./get-context-options.js"; import minimist from "./minimist.js"; -import createMinimistOptions from "./create-minimist-options.js"; import normalizeCliOptions from "./normalize-cli-options.js"; function parseArgv(rawArguments, detailedOptions, logger, keys) { diff --git a/src/cli/print-support-info.js b/src/cli/print-support-info.js index 5f776c72f..b5471cf6d 100644 --- a/src/cli/print-support-info.js +++ b/src/cli/print-support-info.js @@ -1,6 +1,7 @@ import stringify from "fast-json-stable-stringify"; -import { getSupportInfo, format } from "../index.js"; -import { printToScreen, omit } from "./utils.js"; + +import { format, getSupportInfo } from "../index.js"; +import { omit, printToScreen } from "./utils.js"; const sortByName = (array) => array.sort((a, b) => a.name.localeCompare(b.name)); diff --git a/src/cli/usage.js b/src/cli/usage.js index d689db350..4ee1c2869 100644 --- a/src/cli/usage.js +++ b/src/cli/usage.js @@ -1,7 +1,8 @@ import camelCase from "camelcase"; + import { categoryOrder, usageSummary } from "./constants.evaluate.js"; -import { groupBy } from "./utils.js"; import { formatOptionsHiddenDefaults } from "./prettier-internal.js"; +import { groupBy } from "./utils.js"; const OPTION_USAGE_THRESHOLD = 25; const CHOICE_USAGE_MARGIN = 3; @@ -193,4 +194,4 @@ function createDetailedUsage(context, flag) { return `${header}${description}${choices}${defaults}${pluginDefaults}`; } -export { createUsage, createDetailedUsage }; +export { createDetailedUsage, createUsage }; diff --git a/src/cli/utils.js b/src/cli/utils.js index d5b12431b..22a213667 100644 --- a/src/cli/utils.js +++ b/src/cli/utils.js @@ -1,6 +1,8 @@ import fs from "node:fs/promises"; import path from "node:path"; + import sdbm from "sdbm"; + // @ts-expect-error import { __internal as sharedWithCli } from "../index.js"; @@ -107,12 +109,12 @@ const normalizeToPosix = export const { isNonEmptyArray, partition, omit } = sharedWithCli.utils; export { - printToScreen, - groupBy, - pick, createHash, - statSafe, - lstatSafe, + groupBy, isJson, + lstatSafe, normalizeToPosix, + pick, + printToScreen, + statSafe, }; diff --git a/src/common/end-of-line.js b/src/common/end-of-line.js index 42830e10d..003f77029 100644 --- a/src/common/end-of-line.js +++ b/src/common/end-of-line.js @@ -44,8 +44,8 @@ function normalizeEndOfLine(text) { } export { - guessEndOfLine, convertEndOfLineToChars, countEndOfLineChars, + guessEndOfLine, normalizeEndOfLine, }; diff --git a/src/common/errors.js b/src/common/errors.js index 7f3c6f86f..39a014898 100644 --- a/src/common/errors.js +++ b/src/common/errors.js @@ -10,4 +10,4 @@ class ArgExpansionBailout extends Error { name = "ArgExpansionBailout"; } -export { ConfigError, UndefinedParserError, ArgExpansionBailout }; +export { ArgExpansionBailout, ConfigError, UndefinedParserError }; diff --git a/src/common/get-file-info.js b/src/common/get-file-info.js index 0cc215ccb..409a1a857 100644 --- a/src/common/get-file-info.js +++ b/src/common/get-file-info.js @@ -1,6 +1,6 @@ -import inferParser from "../utils/infer-parser.js"; import { resolveConfig } from "../config/resolve-config.js"; import { isIgnored } from "../utils/ignore.js"; +import inferParser from "../utils/infer-parser.js"; /** * @typedef {{ ignorePath?: string | URL | (string | URL)[], withNodeModules?: boolean, plugins: object, resolveConfig?: boolean }} FileInfoOptions diff --git a/src/common/mockable.js b/src/common/mockable.js index dc6d38692..5af60c5be 100644 --- a/src/common/mockable.js +++ b/src/common/mockable.js @@ -1,6 +1,7 @@ import fs from "node:fs/promises"; -import getStdin from "get-stdin"; + import { isCI } from "ci-info"; +import getStdin from "get-stdin"; function writeFormattedFile(file, data) { return fs.writeFile(file, data); diff --git a/src/config/find-project-root.js b/src/config/find-project-root.js index 320826b3a..ca96f31a2 100644 --- a/src/config/find-project-root.js +++ b/src/config/find-project-root.js @@ -2,7 +2,9 @@ // https://github.com/kirstein/find-project-root/blob/master/index.js import path from "node:path"; + import iterateDirectoryUp from "iterate-directory-up"; + import isDirectory from "../utils/is-directory.js"; const MARKERS = [".git", ".hg"]; diff --git a/src/config/prettier-config-explorer/config-searcher.js b/src/config/prettier-config-explorer/config-searcher.js index a73a015b8..2fb996ba6 100644 --- a/src/config/prettier-config-explorer/config-searcher.js +++ b/src/config/prettier-config-explorer/config-searcher.js @@ -1,5 +1,7 @@ import path from "node:path"; + import iterateDirectoryUp from "iterate-directory-up"; + import isFile from "../../utils/is-file.js"; import { loadConfigFromPackageJson } from "./loaders.js"; diff --git a/src/config/prettier-config-explorer/index.js b/src/config/prettier-config-explorer/index.js index d8f1fa3f6..2e60b9057 100644 --- a/src/config/prettier-config-explorer/index.js +++ b/src/config/prettier-config-explorer/index.js @@ -1,7 +1,8 @@ import path from "node:path"; + import mockable from "../../common/mockable.js"; -import loadConfigWithoutCache from "./load-config.js"; import ConfigSearcher from "./config-searcher.js"; +import loadConfigWithoutCache from "./load-config.js"; const loadCache = new Map(); const searchCache = new Map(); @@ -61,4 +62,4 @@ function searchConfig(startDirectory, options = {}) { return search(startDirectory); } -export { searchConfig, loadConfig, clearCache }; +export { clearCache, loadConfig, searchConfig }; diff --git a/src/config/prettier-config-explorer/load-config.js b/src/config/prettier-config-explorer/load-config.js index 50658e62c..65977eec7 100644 --- a/src/config/prettier-config-explorer/load-config.js +++ b/src/config/prettier-config-explorer/load-config.js @@ -1,4 +1,5 @@ import path from "node:path"; + import loadExternalConfig from "./load-external-config.js"; import loaders, { loadConfigFromPackageJson } from "./loaders.js"; diff --git a/src/config/prettier-config-explorer/load-external-config.js b/src/config/prettier-config-explorer/load-external-config.js index 2b40eddd4..90d224e4c 100644 --- a/src/config/prettier-config-explorer/load-external-config.js +++ b/src/config/prettier-config-explorer/load-external-config.js @@ -1,5 +1,5 @@ -import requireFromFile from "../../utils/require-from-file.js"; import importFromFile from "../../utils/import-from-file.js"; +import requireFromFile from "../../utils/require-from-file.js"; const requireErrorCodesShouldBeIgnored = new Set([ "MODULE_NOT_FOUND", diff --git a/src/config/prettier-config-explorer/loaders.js b/src/config/prettier-config-explorer/loaders.js index 2f663e333..6b674bbed 100644 --- a/src/config/prettier-config-explorer/loaders.js +++ b/src/config/prettier-config-explorer/loaders.js @@ -1,8 +1,10 @@ import { pathToFileURL } from "node:url"; + import parseToml from "@iarna/toml/parse-async.js"; -import parseJson5 from "json5/lib/parse.js"; import jsYaml from "js-yaml"; +import parseJson5 from "json5/lib/parse.js"; import parseJson from "parse-json"; + import readFile from "../../utils/read-file.js"; async function readJson(file) { @@ -65,4 +67,4 @@ const loaders = { }; export default loaders; -export { readJson, loadConfigFromPackageJson }; +export { loadConfigFromPackageJson, readJson }; diff --git a/src/config/resolve-config.js b/src/config/resolve-config.js index 707007d89..2bb2bbc46 100644 --- a/src/config/resolve-config.js +++ b/src/config/resolve-config.js @@ -1,12 +1,14 @@ import path from "node:path"; -import micromatch from "micromatch"; + import mem, { memClear } from "mem"; +import micromatch from "micromatch"; import { toPath } from "url-or-path"; + import partition from "../utils/partition.js"; import { - searchConfig as searchPrettierConfig, - loadConfig as loadPrettierConfigFile, clearCache as clearPrettierConfigCache, + loadConfig as loadPrettierConfigFile, + searchConfig as searchPrettierConfig, } from "./prettier-config-explorer/index.js"; import loadEditorConfigWithoutCache from "./resolve-editorconfig.js"; @@ -127,4 +129,4 @@ function pathMatchesGlobs(filePath, patterns, excludedPatterns) { ); } -export { resolveConfig, resolveConfigFile, clearCache }; +export { clearCache, resolveConfig, resolveConfigFile }; diff --git a/src/config/resolve-editorconfig.js b/src/config/resolve-editorconfig.js index c28d922c9..82c81d928 100644 --- a/src/config/resolve-editorconfig.js +++ b/src/config/resolve-editorconfig.js @@ -1,5 +1,7 @@ import path from "node:path"; + import editorconfig from "editorconfig"; + import editorConfigToPrettier from "./editorconfig-to-prettier.js"; import findProjectRoot from "./find-project-root.js"; diff --git a/src/document/builders.js b/src/document/builders.js index 3ce2537ae..a0c150e26 100644 --- a/src/document/builders.js +++ b/src/document/builders.js @@ -1,17 +1,17 @@ import { - DOC_TYPE_CURSOR, - DOC_TYPE_INDENT, DOC_TYPE_ALIGN, - DOC_TYPE_TRIM, - DOC_TYPE_GROUP, + DOC_TYPE_BREAK_PARENT, + DOC_TYPE_CURSOR, DOC_TYPE_FILL, + DOC_TYPE_GROUP, DOC_TYPE_IF_BREAK, + DOC_TYPE_INDENT, DOC_TYPE_INDENT_IF_BREAK, + DOC_TYPE_LABEL, + DOC_TYPE_LINE, DOC_TYPE_LINE_SUFFIX, DOC_TYPE_LINE_SUFFIX_BOUNDARY, - DOC_TYPE_LINE, - DOC_TYPE_LABEL, - DOC_TYPE_BREAK_PARENT, + DOC_TYPE_TRIM, } from "./constants.js"; import { assertDoc, assertDocArray } from "./utils/assert-doc.js"; @@ -233,28 +233,28 @@ function label(label, contents) { } export { - join, - line, - softline, - hardline, - literalline, - group, - conditionalGroup, - fill, - lineSuffix, - lineSuffixBoundary, - cursor, + addAlignmentToDoc, + align, breakParent, + conditionalGroup, + cursor, + dedent, + dedentToRoot, + fill, + group, + hardline, + hardlineWithoutBreakParent, ifBreak, - trim, indent, indentIfBreak, - align, - addAlignmentToDoc, - markAsRoot, - dedentToRoot, - dedent, - hardlineWithoutBreakParent, - literallineWithoutBreakParent, + join, label, + line, + lineSuffix, + lineSuffixBoundary, + literalline, + literallineWithoutBreakParent, + markAsRoot, + softline, + trim, }; diff --git a/src/document/debug.js b/src/document/debug.js index 8261eb726..a9e97f145 100644 --- a/src/document/debug.js +++ b/src/document/debug.js @@ -1,16 +1,16 @@ import { - DOC_TYPE_INDENT, DOC_TYPE_ALIGN, - DOC_TYPE_TRIM, - DOC_TYPE_GROUP, + DOC_TYPE_BREAK_PARENT, DOC_TYPE_FILL, + DOC_TYPE_GROUP, DOC_TYPE_IF_BREAK, + DOC_TYPE_INDENT, DOC_TYPE_INDENT_IF_BREAK, + DOC_TYPE_LABEL, + DOC_TYPE_LINE, DOC_TYPE_LINE_SUFFIX, DOC_TYPE_LINE_SUFFIX_BOUNDARY, - DOC_TYPE_LINE, - DOC_TYPE_LABEL, - DOC_TYPE_BREAK_PARENT, + DOC_TYPE_TRIM, } from "./constants.js"; function flattenDoc(doc) { diff --git a/src/document/printer.js b/src/document/printer.js index fc3a650e7..a12c3a1ec 100644 --- a/src/document/printer.js +++ b/src/document/printer.js @@ -1,25 +1,25 @@ import { convertEndOfLineToChars } from "../common/end-of-line.js"; import getStringWidth from "../utils/get-string-width.js"; +import { fill, hardlineWithoutBreakParent, indent } from "./builders.js"; import { - DOC_TYPE_STRING, - DOC_TYPE_ARRAY, - DOC_TYPE_CURSOR, - DOC_TYPE_INDENT, DOC_TYPE_ALIGN, - DOC_TYPE_TRIM, - DOC_TYPE_GROUP, + DOC_TYPE_ARRAY, + DOC_TYPE_BREAK_PARENT, + DOC_TYPE_CURSOR, DOC_TYPE_FILL, + DOC_TYPE_GROUP, DOC_TYPE_IF_BREAK, + DOC_TYPE_INDENT, DOC_TYPE_INDENT_IF_BREAK, + DOC_TYPE_LABEL, + DOC_TYPE_LINE, DOC_TYPE_LINE_SUFFIX, DOC_TYPE_LINE_SUFFIX_BOUNDARY, - DOC_TYPE_LINE, - DOC_TYPE_LABEL, - DOC_TYPE_BREAK_PARENT, + DOC_TYPE_STRING, + DOC_TYPE_TRIM, } from "./constants.js"; -import { fill, indent, hardlineWithoutBreakParent } from "./builders.js"; -import { getDocParts, getDocType, propagateBreaks } from "./utils.js"; import InvalidDocError from "./invalid-doc-error.js"; +import { getDocParts, getDocType, propagateBreaks } from "./utils.js"; /** @typedef {typeof MODE_BREAK | typeof MODE_FLAT} Mode */ /** @typedef {{ ind: any, doc: any, mode: Mode }} Command */ diff --git a/src/document/public.js b/src/document/public.js index 2d92fe09b..44c646408 100644 --- a/src/document/public.js +++ b/src/document/public.js @@ -1,39 +1,39 @@ import { - join, - line, - softline, - hardline, - literalline, - group, - conditionalGroup, - fill, - lineSuffix, - lineSuffixBoundary, - cursor, + addAlignmentToDoc, + align, breakParent, + conditionalGroup, + cursor, + dedent, + dedentToRoot, + fill, + group, + hardline, + hardlineWithoutBreakParent, ifBreak, - trim, indent, indentIfBreak, - align, - addAlignmentToDoc, - markAsRoot, - dedentToRoot, - dedent, - hardlineWithoutBreakParent, - literallineWithoutBreakParent, + join, label, + line, + lineSuffix, + lineSuffixBoundary, + literalline, + literallineWithoutBreakParent, + markAsRoot, + softline, + trim, } from "./builders.js"; import { printDocToString } from "./printer.js"; import { - willBreak, - traverseDoc, + canBreak, findInDoc, mapDoc, removeLines, - stripTrailingHardline, replaceEndOfLine, - canBreak, + stripTrailingHardline, + traverseDoc, + willBreak, } from "./utils.js"; export const builders = { diff --git a/src/document/utils.js b/src/document/utils.js index d9911d978..9e46c792e 100644 --- a/src/document/utils.js +++ b/src/document/utils.js @@ -1,24 +1,24 @@ +import { join, literalline } from "./builders.js"; import { - DOC_TYPE_STRING, - DOC_TYPE_ARRAY, - DOC_TYPE_CURSOR, - DOC_TYPE_INDENT, DOC_TYPE_ALIGN, - DOC_TYPE_TRIM, - DOC_TYPE_GROUP, + DOC_TYPE_ARRAY, + DOC_TYPE_BREAK_PARENT, + DOC_TYPE_CURSOR, DOC_TYPE_FILL, + DOC_TYPE_GROUP, DOC_TYPE_IF_BREAK, + DOC_TYPE_INDENT, DOC_TYPE_INDENT_IF_BREAK, + DOC_TYPE_LABEL, + DOC_TYPE_LINE, DOC_TYPE_LINE_SUFFIX, DOC_TYPE_LINE_SUFFIX_BOUNDARY, - DOC_TYPE_LINE, - DOC_TYPE_LABEL, - DOC_TYPE_BREAK_PARENT, + DOC_TYPE_STRING, + DOC_TYPE_TRIM, } from "./constants.js"; -import { literalline, join } from "./builders.js"; +import InvalidDocError from "./invalid-doc-error.js"; import getDocType from "./utils/get-doc-type.js"; import traverseDoc from "./utils/traverse-doc.js"; -import InvalidDocError from "./invalid-doc-error.js"; const getDocParts = (doc) => { if (Array.isArray(doc)) { @@ -429,19 +429,19 @@ function inheritLabel(doc, fn) { } export { - getDocParts, - willBreak, - traverseDoc, - findInDoc, - mapDoc, - propagateBreaks, - removeLines, - stripTrailingHardline, - normalizeParts, - normalizeDoc, - cleanDoc, - replaceEndOfLine, canBreak, + cleanDoc, + findInDoc, + getDocParts, getDocType, inheritLabel, + mapDoc, + normalizeDoc, + normalizeParts, + propagateBreaks, + removeLines, + replaceEndOfLine, + stripTrailingHardline, + traverseDoc, + willBreak, }; diff --git a/src/document/utils/get-doc-type.js b/src/document/utils/get-doc-type.js index 35068e4eb..7cb3bed50 100644 --- a/src/document/utils/get-doc-type.js +++ b/src/document/utils/get-doc-type.js @@ -1,6 +1,6 @@ import { - DOC_TYPE_STRING, DOC_TYPE_ARRAY, + DOC_TYPE_STRING, VALID_OBJECT_DOC_TYPES, } from "../constants.js"; diff --git a/src/document/utils/traverse-doc.js b/src/document/utils/traverse-doc.js index 062561b15..7d5e25463 100644 --- a/src/document/utils/traverse-doc.js +++ b/src/document/utils/traverse-doc.js @@ -1,19 +1,19 @@ import { - DOC_TYPE_STRING, - DOC_TYPE_ARRAY, - DOC_TYPE_CURSOR, - DOC_TYPE_INDENT, DOC_TYPE_ALIGN, - DOC_TYPE_TRIM, - DOC_TYPE_GROUP, + DOC_TYPE_ARRAY, + DOC_TYPE_BREAK_PARENT, + DOC_TYPE_CURSOR, DOC_TYPE_FILL, + DOC_TYPE_GROUP, DOC_TYPE_IF_BREAK, + DOC_TYPE_INDENT, DOC_TYPE_INDENT_IF_BREAK, + DOC_TYPE_LABEL, + DOC_TYPE_LINE, DOC_TYPE_LINE_SUFFIX, DOC_TYPE_LINE_SUFFIX_BOUNDARY, - DOC_TYPE_LINE, - DOC_TYPE_LABEL, - DOC_TYPE_BREAK_PARENT, + DOC_TYPE_STRING, + DOC_TYPE_TRIM, } from "../constants.js"; import InvalidDocError from "../invalid-doc-error.js"; import getDocType from "./get-doc-type.js"; diff --git a/src/index.js b/src/index.js index 7ac46cc4e..b577f1ee7 100644 --- a/src/index.js +++ b/src/index.js @@ -1,31 +1,32 @@ -import * as vnopts from "vnopts"; // "fast-glob" is bundled here since the API uses `micromatch` too import fastGlob from "fast-glob"; +import * as vnopts from "vnopts"; + +import * as errors from "./common/errors.js"; +import getFileInfoWithoutPlugins from "./common/get-file-info.js"; +import mockable from "./common/mockable.js"; +import { + clearCache as clearConfigCache, + resolveConfig, + resolveConfigFile, +} from "./config/resolve-config.js"; import * as core from "./main/core.js"; +import { formatOptionsHiddenDefaults } from "./main/normalize-format-options.js"; +import normalizeOptions from "./main/normalize-options.js"; +import * as optionCategories from "./main/option-categories.js"; +import { + clearCache as clearPluginCache, + loadBuiltinPlugins, + loadPlugins, +} from "./main/plugins/index.js"; import { getSupportInfo as getSupportInfoWithoutPlugins, normalizeOptionSettings, } from "./main/support.js"; -import getFileInfoWithoutPlugins from "./common/get-file-info.js"; -import { - loadBuiltinPlugins, - loadPlugins, - clearCache as clearPluginCache, -} from "./main/plugins/index.js"; -import { - resolveConfig, - resolveConfigFile, - clearCache as clearConfigCache, -} from "./config/resolve-config.js"; -import * as errors from "./common/errors.js"; -import * as optionCategories from "./main/option-categories.js"; import { createIsIgnoredFunction } from "./utils/ignore.js"; -import { formatOptionsHiddenDefaults } from "./main/normalize-format-options.js"; -import normalizeOptions from "./main/normalize-options.js"; -import partition from "./utils/partition.js"; import isNonEmptyArray from "./utils/is-non-empty-array.js"; import omit from "./utils/object-omit.js"; -import mockable from "./common/mockable.js"; +import partition from "./utils/partition.js"; /** * @param {*} fn @@ -113,17 +114,17 @@ const debugApis = { }; export { - formatWithCursor, - format, + debugApis as __debug, + sharedWithCli as __internal, check, - resolveConfig, - resolveConfigFile, clearCache as clearConfigCache, + format, + formatWithCursor, getFileInfo, getSupportInfo, - sharedWithCli as __internal, - debugApis as __debug, + resolveConfig, + resolveConfigFile, }; -export * as util from "./utils/public.js"; export * as doc from "./document/public.js"; export { default as version } from "./main/version.evaluate.cjs"; +export * as util from "./utils/public.js"; diff --git a/src/language-css/index.js b/src/language-css/index.js index 45136ffec..2121c1c89 100644 --- a/src/language-css/index.js +++ b/src/language-css/index.js @@ -3,6 +3,6 @@ import printer from "./printer-postcss.js"; export const printers = { postcss: printer, }; -export * as parsers from "./parser-postcss.js"; export { default as languages } from "./languages.evaluate.js"; export { default as options } from "./options.js"; +export * as parsers from "./parser-postcss.js"; diff --git a/src/language-css/languages.evaluate.js b/src/language-css/languages.evaluate.js index e3d1d9e0c..b8f9eabd4 100644 --- a/src/language-css/languages.evaluate.js +++ b/src/language-css/languages.evaluate.js @@ -1,4 +1,5 @@ import linguistLanguages from "linguist-languages"; + import createLanguage from "../utils/create-language.js"; const languages = [ diff --git a/src/language-css/loc.js b/src/language-css/loc.js index 32d9c6fdc..d2da834ea 100644 --- a/src/language-css/loc.js +++ b/src/language-css/loc.js @@ -1,6 +1,6 @@ -import { skipEverythingButNewLine } from "../utils/skip.js"; import isNonEmptyArray from "../utils/is-non-empty-array.js"; import lineColumnToIndex from "../utils/line-column-to-index.js"; +import { skipEverythingButNewLine } from "../utils/skip.js"; function calculateLocStart(node, text) { // `postcss>=8` @@ -238,4 +238,4 @@ function locEnd(node) { return node.source?.endOffset; } -export { locStart, locEnd, calculateLoc, replaceQuotesInInlineComments }; +export { calculateLoc, locEnd, locStart, replaceQuotesInInlineComments }; diff --git a/src/language-css/parse/parse-media-query.js b/src/language-css/parse/parse-media-query.js index 3a527cecf..aebdd70a9 100644 --- a/src/language-css/parse/parse-media-query.js +++ b/src/language-css/parse/parse-media-query.js @@ -1,5 +1,6 @@ import postcssMediaQueryParser from "postcss-media-query-parser"; -import { addTypePrefix, addMissingType } from "./utils.js"; + +import { addMissingType, addTypePrefix } from "./utils.js"; const parse = postcssMediaQueryParser.default; diff --git a/src/language-css/parse/parse-selector.js b/src/language-css/parse/parse-selector.js index 0ff075ae1..df1e9f4c3 100644 --- a/src/language-css/parse/parse-selector.js +++ b/src/language-css/parse/parse-selector.js @@ -1,4 +1,5 @@ import PostcssSelectorParser from "postcss-selector-parser/dist/processor.js"; + import { addTypePrefix } from "./utils.js"; function parseSelector(selector) { diff --git a/src/language-css/parse/parse-value.js b/src/language-css/parse/parse-value.js index f1238e1af..76ecca897 100644 --- a/src/language-css/parse/parse-value.js +++ b/src/language-css/parse/parse-value.js @@ -1,4 +1,5 @@ import PostcssValuesParser from "postcss-values-parser/lib/parser.js"; + import getFunctionArgumentsText from "../utils/get-function-arguments-text.js"; import getValueRoot from "../utils/get-value-root.js"; import hasSCSSInterpolation from "../utils/has-scss-interpolation.js"; diff --git a/src/language-css/parse/utils.js b/src/language-css/parse/utils.js index df3e28e1d..d5e3a8292 100644 --- a/src/language-css/parse/utils.js +++ b/src/language-css/parse/utils.js @@ -29,4 +29,4 @@ function addMissingType(node) { return node; } -export { addTypePrefix, addMissingType }; +export { addMissingType, addTypePrefix }; diff --git a/src/language-css/parser-postcss.js b/src/language-css/parser-postcss.js index a6ccf2c42..4d79df904 100644 --- a/src/language-css/parser-postcss.js +++ b/src/language-css/parser-postcss.js @@ -1,21 +1,22 @@ import postcssParse from "postcss/lib/parse"; import postcssLess from "postcss-less"; import postcssScssParse from "postcss-scss/lib/scss-parse"; + import createError from "../common/parser-create-error.js"; import parseFrontMatter from "../utils/front-matter/parse.js"; -import { hasPragma } from "./pragma.js"; import { - locStart, - locEnd, calculateLoc, + locEnd, + locStart, replaceQuotesInInlineComments, } from "./loc.js"; -import isSCSSNestedPropertyNode from "./utils/is-scss-nested-property-node.js"; -import isModuleRuleName from "./utils/is-module-rule-name.js"; -import parseValue from "./parse/parse-value.js"; -import parseSelector from "./parse/parse-selector.js"; import parseMediaQuery from "./parse/parse-media-query.js"; +import parseSelector from "./parse/parse-selector.js"; +import parseValue from "./parse/parse-value.js"; import { addTypePrefix } from "./parse/utils.js"; +import { hasPragma } from "./pragma.js"; +import isModuleRuleName from "./utils/is-module-rule-name.js"; +import isSCSSNestedPropertyNode from "./utils/is-scss-nested-property-node.js"; const DEFAULT_SCSS_DIRECTIVE = /(\s*)(!default).*$/; const GLOBAL_SCSS_DIRECTIVE = /(\s*)(!global).*$/; diff --git a/src/language-css/print/comma-separated-value-group.js b/src/language-css/print/comma-separated-value-group.js index 4818aa6ab..3f18c97a8 100644 --- a/src/language-css/print/comma-separated-value-group.js +++ b/src/language-css/print/comma-separated-value-group.js @@ -1,42 +1,42 @@ import { - line, - hardline, - softline, - group, - fill, - indent, - dedent, breakParent, + dedent, + fill, + group, + hardline, + indent, + line, + softline, } from "../../document/builders.js"; +import { locEnd, locStart } from "../loc.js"; import { getPropOfDeclNode, - insideValueFunctionNode, + hasEmptyRawBefore, insideAtRuleNode, insideURLFunctionInImportAtRuleNode, - isSCSSControlDirectiveNode, - isRelationalOperatorNode, - isEqualityOperatorNode, - isMultiplicationNode, - isDivisionNode, + insideValueFunctionNode, isAdditionNode, - isSubtractionNode, - isMathOperatorNode, - isEachKeywordNode, - isForKeywordNode, - isIfElseKeywordNode, - hasEmptyRawBefore, - isPostcssSimpleVarNode, - isInlineValueCommentNode, - isHashNode, - isLeftCurlyBraceNode, - isRightCurlyBraceNode, - isWordNode, + isAtWordPlaceholderNode, isColonNode, isColorAdjusterFuncNode, - isAtWordPlaceholderNode, + isDivisionNode, + isEachKeywordNode, + isEqualityOperatorNode, + isForKeywordNode, + isHashNode, + isIfElseKeywordNode, + isInlineValueCommentNode, + isLeftCurlyBraceNode, + isMathOperatorNode, + isMultiplicationNode, isParenGroupNode, + isPostcssSimpleVarNode, + isRelationalOperatorNode, + isRightCurlyBraceNode, + isSCSSControlDirectiveNode, + isSubtractionNode, + isWordNode, } from "../utils/index.js"; -import { locStart, locEnd } from "../loc.js"; function printCommaSeparatedValueGroup(path, options, print) { const { node } = path; diff --git a/src/language-css/print/misc.js b/src/language-css/print/misc.js index 5f3198c40..acb7b764c 100644 --- a/src/language-css/print/misc.js +++ b/src/language-css/print/misc.js @@ -56,10 +56,10 @@ function shouldPrintTrailingComma(options) { } export { - adjustStrings, adjustNumbers, + adjustStrings, + printCssNumber, + printUnit, quoteAttributeValue, shouldPrintTrailingComma, - printUnit, - printCssNumber, }; diff --git a/src/language-css/print/parenthesized-value-group.js b/src/language-css/print/parenthesized-value-group.js index a05d737df..0add301d3 100644 --- a/src/language-css/print/parenthesized-value-group.js +++ b/src/language-css/print/parenthesized-value-group.js @@ -1,26 +1,26 @@ -import isNextLineEmpty from "../../utils/is-next-line-empty.js"; -import isNonEmptyArray from "../../utils/is-non-empty-array.js"; import { + dedent, + fill, + group, + hardline, + ifBreak, + indent, join, line, - hardline, softline, - group, - fill, - indent, - dedent, - ifBreak, } from "../../document/builders.js"; import { getDocParts } from "../../document/utils.js"; +import isNextLineEmpty from "../../utils/is-next-line-empty.js"; +import isNonEmptyArray from "../../utils/is-non-empty-array.js"; +import { locEnd, locStart } from "../loc.js"; import { - isURLFunctionNode, - isKeyValuePairNode, - isKeyInValuePairNode, - isSCSSMapItemNode, isConfigurationNode, + isKeyInValuePairNode, + isKeyValuePairNode, + isSCSSMapItemNode, + isURLFunctionNode, isVarFunctionNode, } from "../utils/index.js"; -import { locStart, locEnd } from "../loc.js"; import { shouldPrintTrailingComma } from "./misc.js"; function hasComma({ node, parent }, options) { diff --git a/src/language-css/print/sequence.js b/src/language-css/print/sequence.js index 636e1460e..e02afc8c1 100644 --- a/src/language-css/print/sequence.js +++ b/src/language-css/print/sequence.js @@ -1,8 +1,8 @@ +import { hardline, line } from "../../document/builders.js"; +import isFrontMatter from "../../utils/front-matter/is-front-matter.js"; import hasNewline from "../../utils/has-newline.js"; import isNextLineEmpty from "../../utils/is-next-line-empty.js"; -import isFrontMatter from "../../utils/front-matter/is-front-matter.js"; -import { line, hardline } from "../../document/builders.js"; -import { locStart, locEnd } from "../loc.js"; +import { locEnd, locStart } from "../loc.js"; function printSequence(path, options, print) { const parts = []; diff --git a/src/language-css/printer-postcss.js b/src/language-css/printer-postcss.js index 7af18d475..bd38f3972 100644 --- a/src/language-css/printer-postcss.js +++ b/src/language-css/printer-postcss.js @@ -1,54 +1,54 @@ -import printString from "../utils/print-string.js"; -import isNonEmptyArray from "../utils/is-non-empty-array.js"; import { + breakParent, + dedent, + group, + hardline, + ifBreak, + indent, join, line, - hardline, softline, - group, - indent, - dedent, - ifBreak, - breakParent, } from "../document/builders.js"; import { removeLines } from "../document/utils.js"; +import isNonEmptyArray from "../utils/is-non-empty-array.js"; +import printString from "../utils/print-string.js"; import UnexpectedNodeError from "../utils/unexpected-node-error.js"; import clean from "./clean.js"; import embed from "./embed.js"; -import { insertPragma } from "./pragma.js"; import getVisitorKeys from "./get-visitor-keys.js"; -import { - maybeToLowerCase, - insideValueFunctionNode, - insideICSSRuleNode, - insideAtRuleNode, - isKeyframeAtRuleKeywords, - isWideKeywords, - isLastNode, - isSCSSControlDirectiveNode, - isDetachedRulesetDeclarationNode, - hasComposesNode, - hasParensAroundNode, - isDetachedRulesetCallNode, - isTemplatePlaceholderNode, - isTemplatePropNode, - isMediaAndSupportsKeywords, - lastLineHasInlineComment, -} from "./utils/index.js"; -import { locStart, locEnd } from "./loc.js"; -import { - adjustStrings, - adjustNumbers, - quoteAttributeValue, - printUnit, - printCssNumber, -} from "./print/misc.js"; +import { locEnd, locStart } from "./loc.js"; +import { insertPragma } from "./pragma.js"; import printCommaSeparatedValueGroup from "./print/comma-separated-value-group.js"; +import { + adjustNumbers, + adjustStrings, + printCssNumber, + printUnit, + quoteAttributeValue, +} from "./print/misc.js"; import { printParenthesizedValueGroup, shouldBreakList, } from "./print/parenthesized-value-group.js"; import printSequence from "./print/sequence.js"; +import { + hasComposesNode, + hasParensAroundNode, + insideAtRuleNode, + insideICSSRuleNode, + insideValueFunctionNode, + isDetachedRulesetCallNode, + isDetachedRulesetDeclarationNode, + isKeyframeAtRuleKeywords, + isLastNode, + isMediaAndSupportsKeywords, + isSCSSControlDirectiveNode, + isTemplatePlaceholderNode, + isTemplatePropNode, + isWideKeywords, + lastLineHasInlineComment, + maybeToLowerCase, +} from "./utils/index.js"; function genericPrint(path, options, print) { const { node } = path; diff --git a/src/language-css/utils/index.js b/src/language-css/utils/index.js index 9ce647333..537f3f054 100644 --- a/src/language-css/utils/index.js +++ b/src/language-css/utils/index.js @@ -387,50 +387,50 @@ function isParenGroupNode(node) { export { getPropOfDeclNode, - maybeToLowerCase, - insideValueFunctionNode, - insideICSSRuleNode, - insideAtRuleNode, - insideURLFunctionInImportAtRuleNode, - isKeyframeAtRuleKeywords, - isWideKeywords, - isLastNode, - isSCSSControlDirectiveNode, - isDetachedRulesetDeclarationNode, - isRelationalOperatorNode, - isEqualityOperatorNode, - isMultiplicationNode, - isDivisionNode, - isAdditionNode, - isSubtractionNode, - isModuloNode, - isMathOperatorNode, - isEachKeywordNode, - isForKeywordNode, - isURLFunctionNode, - isIfElseKeywordNode, hasComposesNode, - hasParensAroundNode, hasEmptyRawBefore, + hasParensAroundNode, + insideAtRuleNode, + insideICSSRuleNode, + insideURLFunctionInImportAtRuleNode, + insideValueFunctionNode, + isAdditionNode, + isAtWordPlaceholderNode, + isColonNode, + isColorAdjusterFuncNode, + isConfigurationNode, isDetachedRulesetCallNode, + isDetachedRulesetDeclarationNode, + isDivisionNode, + isEachKeywordNode, + isEqualityOperatorNode, + isForKeywordNode, + isHashNode, + isIfElseKeywordNode, + isInlineValueCommentNode, + isKeyframeAtRuleKeywords, + isKeyInValuePairNode, + isKeyValuePairInParenGroupNode, + isKeyValuePairNode, + isLastNode, + isLeftCurlyBraceNode, + isMathOperatorNode, + isMediaAndSupportsKeywords, + isModuloNode, + isMultiplicationNode, + isParenGroupNode, + isPostcssSimpleVarNode, + isRelationalOperatorNode, + isRightCurlyBraceNode, + isSCSSControlDirectiveNode, + isSCSSMapItemNode, + isSubtractionNode, isTemplatePlaceholderNode, isTemplatePropNode, - isPostcssSimpleVarNode, - isKeyValuePairNode, - isKeyValuePairInParenGroupNode, - isKeyInValuePairNode, - isSCSSMapItemNode, - isInlineValueCommentNode, - isHashNode, - isLeftCurlyBraceNode, - isRightCurlyBraceNode, - isWordNode, - isColonNode, - isMediaAndSupportsKeywords, - isColorAdjusterFuncNode, - lastLineHasInlineComment, - isAtWordPlaceholderNode, - isConfigurationNode, - isParenGroupNode, + isURLFunctionNode, isVarFunctionNode, + isWideKeywords, + isWordNode, + lastLineHasInlineComment, + maybeToLowerCase, }; diff --git a/src/language-graphql/index.js b/src/language-graphql/index.js index 47acfd323..e8927dcdd 100644 --- a/src/language-graphql/index.js +++ b/src/language-graphql/index.js @@ -3,6 +3,6 @@ import printer from "./printer-graphql.js"; export const printers = { graphql: printer, }; -export * as parsers from "./parser-graphql.js"; export { default as languages } from "./languages.evaluate.js"; export { default as options } from "./options.js"; +export * as parsers from "./parser-graphql.js"; diff --git a/src/language-graphql/languages.evaluate.js b/src/language-graphql/languages.evaluate.js index a9d7aba78..c1027f10f 100644 --- a/src/language-graphql/languages.evaluate.js +++ b/src/language-graphql/languages.evaluate.js @@ -1,4 +1,5 @@ import linguistLanguages from "linguist-languages"; + import createLanguage from "../utils/create-language.js"; const languages = [ diff --git a/src/language-graphql/loc.js b/src/language-graphql/loc.js index eb61009f4..6f6a7492b 100644 --- a/src/language-graphql/loc.js +++ b/src/language-graphql/loc.js @@ -8,4 +8,4 @@ function locEnd(nodeOrToken) { return nodeOrToken.kind === "Comment" ? nodeOrToken.end : nodeOrToken.loc.end; } -export { locStart, locEnd }; +export { locEnd, locStart }; diff --git a/src/language-graphql/parser-graphql.js b/src/language-graphql/parser-graphql.js index 0d6480f06..7ea39e4db 100644 --- a/src/language-graphql/parser-graphql.js +++ b/src/language-graphql/parser-graphql.js @@ -1,7 +1,8 @@ import { parse as parseGraphql } from "graphql/language/parser.mjs"; + import createError from "../common/parser-create-error.js"; +import { locEnd, locStart } from "./loc.js"; import { hasPragma } from "./pragma.js"; -import { locStart, locEnd } from "./loc.js"; function parseComments(ast) { const comments = []; diff --git a/src/language-graphql/printer-graphql.js b/src/language-graphql/printer-graphql.js index 0c3cc013c..a714e6683 100644 --- a/src/language-graphql/printer-graphql.js +++ b/src/language-graphql/printer-graphql.js @@ -1,18 +1,18 @@ import { - join, + group, hardline, + ifBreak, + indent, + join, line, softline, - group, - indent, - ifBreak, } from "../document/builders.js"; import isNextLineEmpty from "../utils/is-next-line-empty.js"; import isNonEmptyArray from "../utils/is-non-empty-array.js"; import UnexpectedNodeError from "../utils/unexpected-node-error.js"; -import { insertPragma } from "./pragma.js"; -import { locStart, locEnd } from "./loc.js"; import getVisitorKeys from "./get-visitor-keys.js"; +import { locEnd, locStart } from "./loc.js"; +import { insertPragma } from "./pragma.js"; import printDescription from "./print/description.js"; function genericPrint(path, options, print) { diff --git a/src/language-handlebars/index.js b/src/language-handlebars/index.js index 201380172..9ca2486a7 100644 --- a/src/language-handlebars/index.js +++ b/src/language-handlebars/index.js @@ -3,5 +3,5 @@ import printer from "./printer-glimmer.js"; export const printers = { glimmer: printer, }; -export * as parsers from "./parser-glimmer.js"; export { default as languages } from "./languages.evaluate.js"; +export * as parsers from "./parser-glimmer.js"; diff --git a/src/language-handlebars/languages.evaluate.js b/src/language-handlebars/languages.evaluate.js index cd4478446..ce23db0d0 100644 --- a/src/language-handlebars/languages.evaluate.js +++ b/src/language-handlebars/languages.evaluate.js @@ -1,4 +1,5 @@ import linguistLanguages from "linguist-languages"; + import createLanguage from "../utils/create-language.js"; const languages = [ diff --git a/src/language-handlebars/loc.js b/src/language-handlebars/loc.js index ddd7f213c..531236259 100644 --- a/src/language-handlebars/loc.js +++ b/src/language-handlebars/loc.js @@ -6,4 +6,4 @@ function locEnd(node) { return node.loc.end.offset; } -export { locStart, locEnd }; +export { locEnd, locStart }; diff --git a/src/language-handlebars/parser-glimmer.js b/src/language-handlebars/parser-glimmer.js index 6e7454b2d..5eabbe17d 100644 --- a/src/language-handlebars/parser-glimmer.js +++ b/src/language-handlebars/parser-glimmer.js @@ -1,7 +1,8 @@ import { preprocess as parseGlimmer } from "@glimmer/syntax"; import { LinesAndColumns } from "lines-and-columns"; + import createError from "../common/parser-create-error.js"; -import { locStart, locEnd } from "./loc.js"; +import { locEnd, locStart } from "./loc.js"; /* from the following template: `non-escaped mustache \\{{helper}}` * glimmer parser will produce an AST missing a backslash diff --git a/src/language-handlebars/printer-glimmer.js b/src/language-handlebars/printer-glimmer.js index 23f86316b..005fa5ae3 100644 --- a/src/language-handlebars/printer-glimmer.js +++ b/src/language-handlebars/printer-glimmer.js @@ -11,13 +11,13 @@ import { } from "../document/builders.js"; import { replaceEndOfLine } from "../document/utils.js"; import getPreferredQuote from "../utils/get-preferred-quote.js"; +import htmlWhitespaceUtils from "../utils/html-whitespace-utils.js"; import isNonEmptyArray from "../utils/is-non-empty-array.js"; import UnexpectedNodeError from "../utils/unexpected-node-error.js"; -import htmlWhitespaceUtils from "../utils/html-whitespace-utils.js"; -import { locStart, locEnd } from "./loc.js"; import clean from "./clean.js"; -import { hasPrettierIgnore, isVoidElement, isWhitespaceNode } from "./utils.js"; import getVisitorKeys from "./get-visitor-keys.js"; +import { locEnd, locStart } from "./loc.js"; +import { hasPrettierIgnore, isVoidElement, isWhitespaceNode } from "./utils.js"; /** * @typedef {import("../document/builders.js").Doc} Doc diff --git a/src/language-html/constants.evaluate.js b/src/language-html/constants.evaluate.js index d24a2ae24..41178137d 100644 --- a/src/language-html/constants.evaluate.js +++ b/src/language-html/constants.evaluate.js @@ -50,8 +50,8 @@ const CSS_WHITE_SPACE_TAGS = getCssStyleTags("white-space"); const CSS_WHITE_SPACE_DEFAULT = "normal"; export { - CSS_DISPLAY_TAGS, CSS_DISPLAY_DEFAULT, - CSS_WHITE_SPACE_TAGS, + CSS_DISPLAY_TAGS, CSS_WHITE_SPACE_DEFAULT, + CSS_WHITE_SPACE_TAGS, }; diff --git a/src/language-html/embed.js b/src/language-html/embed.js index 0389a1a17..3a5924a92 100644 --- a/src/language-html/embed.js +++ b/src/language-html/embed.js @@ -6,24 +6,24 @@ import { line, } from "../document/builders.js"; import printFrontMatter from "../utils/front-matter/print.js"; +import printAngularControlFlowBlockParameters from "./embed/angular-control-flow-block-parameters.js"; +import printAttribute from "./embed/attribute.js"; +import getNodeContent from "./get-node-content.js"; import { + needsToBorrowPrevClosingTagEndMarker, printClosingTag, printClosingTagSuffix, - needsToBorrowPrevClosingTagEndMarker, - printOpeningTagPrefix, printOpeningTag, + printOpeningTagPrefix, } from "./print/tag.js"; import { + dedentString, + htmlTrimPreserveIndentation, + inferElementParser, isScriptLikeTag, isVueNonHtmlBlock, - inferElementParser, - htmlTrimPreserveIndentation, - dedentString, } from "./utils/index.js"; import isVueSfcWithTypescriptScript from "./utils/is-vue-sfc-with-typescript-script.js"; -import getNodeContent from "./get-node-content.js"; -import printAttribute from "./embed/attribute.js"; -import printAngularControlFlowBlockParameters from "./embed/angular-control-flow-block-parameters.js"; const embeddedAngularControlFlowBlocks = new Set([ "if", diff --git a/src/language-html/embed/angular-attributes.js b/src/language-html/embed/angular-attributes.js index b0de65bc3..8a21a1d2f 100644 --- a/src/language-html/embed/angular-attributes.js +++ b/src/language-html/embed/angular-attributes.js @@ -1,17 +1,17 @@ -import { - getUnescapedAttributeValue, - getTextValueParts, -} from "../utils/index.js"; import { fill } from "../../document/builders.js"; +import { + getTextValueParts, + getUnescapedAttributeValue, +} from "../utils/index.js"; +import { + interpolationRegex as angularInterpolationRegex, + printAngularInterpolation, +} from "./angular-interpolation.js"; import { formatAttributeValue, printExpand, shouldHugJsExpression, } from "./utils.js"; -import { - interpolationRegex as angularInterpolationRegex, - printAngularInterpolation, -} from "./angular-interpolation.js"; function createAngularPrinter({ parser }) { return (textToDoc, print, path /*, options*/) => diff --git a/src/language-html/embed/attribute.js b/src/language-html/embed/attribute.js index 18f72512b..24ddf8e8a 100644 --- a/src/language-html/embed/attribute.js +++ b/src/language-html/embed/attribute.js @@ -1,10 +1,10 @@ import { group } from "../../document/builders.js"; import { mapDoc } from "../../document/utils.js"; -import printSrcset from "./srcset.js"; +import printAngularAttribute from "./angular-attributes.js"; import printClassNames from "./class-names.js"; +import printSrcset from "./srcset.js"; import { printStyleAttribute } from "./style.js"; import printVueAttribute from "./vue-attributes.js"; -import printAngularAttribute from "./angular-attributes.js"; /** * @typedef {import("../../document/builders.js").Doc} Doc diff --git a/src/language-html/embed/srcset.js b/src/language-html/embed/srcset.js index 36f0c9354..626288f56 100644 --- a/src/language-html/embed/srcset.js +++ b/src/language-html/embed/srcset.js @@ -1,4 +1,5 @@ import parseSrcset from "@prettier/parse-srcset"; + import { ifBreak, join, line } from "../../document/builders.js"; import { getUnescapedAttributeValue } from "../utils/index.js"; import { printExpand } from "./utils.js"; diff --git a/src/language-html/embed/utils.js b/src/language-html/embed/utils.js index 7d313edee..e4b70e39f 100644 --- a/src/language-html/embed/utils.js +++ b/src/language-html/embed/utils.js @@ -62,4 +62,4 @@ async function formatAttributeValue( return shouldHug ? group(doc) : printExpand(doc); } -export { printExpand, formatAttributeValue, shouldHugJsExpression }; +export { formatAttributeValue, printExpand, shouldHugJsExpression }; diff --git a/src/language-html/embed/vue-attributes.js b/src/language-html/embed/vue-attributes.js index bd5a3b4c8..a86a81946 100644 --- a/src/language-html/embed/vue-attributes.js +++ b/src/language-html/embed/vue-attributes.js @@ -1,17 +1,17 @@ import { - isVueSlotAttribute, - isVueSfcBindingsAttribute, getUnescapedAttributeValue, isVueScriptTag, + isVueSfcBindingsAttribute, + isVueSlotAttribute, } from "../utils/index.js"; import isVueSfcWithTypescriptScript from "../utils/is-vue-sfc-with-typescript-script.js"; -import { printVueVForDirective } from "./vue-v-for-directive.js"; import { printVueScriptGenericAttributeValue } from "./print-vue-script-generic-attribute-value.js"; import { formatAttributeValue, shouldHugJsExpression } from "./utils.js"; import { - printVueBindings, isVueEventBindingExpression, + printVueBindings, } from "./vue-bindings.js"; +import { printVueVForDirective } from "./vue-v-for-directive.js"; /** * @typedef {import("../../document/builders.js").Doc} Doc diff --git a/src/language-html/get-node-content.js b/src/language-html/get-node-content.js index 856d23430..c626b7413 100644 --- a/src/language-html/get-node-content.js +++ b/src/language-html/get-node-content.js @@ -1,9 +1,9 @@ import { - needsToBorrowParentClosingTagStartMarker, - printClosingTagStartMarker, needsToBorrowLastChildClosingTagEndMarker, - printClosingTagEndMarker, + needsToBorrowParentClosingTagStartMarker, needsToBorrowParentOpeningTagEndMarker, + printClosingTagEndMarker, + printClosingTagStartMarker, printOpeningTagEndMarker, } from "./print/tag.js"; diff --git a/src/language-html/index.js b/src/language-html/index.js index 62b714a10..dadd0ce76 100644 --- a/src/language-html/index.js +++ b/src/language-html/index.js @@ -3,6 +3,6 @@ import printer from "./printer-html.js"; export const printers = { html: printer, }; -export * as parsers from "./parser-html.js"; export { default as languages } from "./languages.evaluate.js"; export { default as options } from "./options.js"; +export * as parsers from "./parser-html.js"; diff --git a/src/language-html/languages.evaluate.js b/src/language-html/languages.evaluate.js index 130f2743e..d6a748df2 100644 --- a/src/language-html/languages.evaluate.js +++ b/src/language-html/languages.evaluate.js @@ -1,4 +1,5 @@ import linguistLanguages from "linguist-languages"; + import createLanguage from "../utils/create-language.js"; const languages = [ diff --git a/src/language-html/loc.js b/src/language-html/loc.js index 74e252605..9463722c2 100644 --- a/src/language-html/loc.js +++ b/src/language-html/loc.js @@ -6,4 +6,4 @@ function locEnd(node) { return node.sourceSpan.end.offset; } -export { locStart, locEnd }; +export { locEnd, locStart }; diff --git a/src/language-html/parser-html.js b/src/language-html/parser-html.js index fa1083fa3..19e04caa7 100644 --- a/src/language-html/parser-html.js +++ b/src/language-html/parser-html.js @@ -1,24 +1,25 @@ import { - ParseSourceFile, - ParseLocation, - ParseSourceSpan, - parse as parseHtml, - RecursiveVisitor, - visitAll, getHtmlTagDefinition, + parse as parseHtml, + ParseLocation, + ParseSourceFile, + ParseSourceSpan, + RecursiveVisitor, TagContentType, + visitAll, } from "angular-html-parser"; + +import createError from "../common/parser-create-error.js"; import parseFrontMatter from "../utils/front-matter/parse.js"; import inferParser from "../utils/infer-parser.js"; -import createError from "../common/parser-create-error.js"; import isNonEmptyArray from "../utils/is-non-empty-array.js"; -import HTML_TAGS from "./utils/html-tag-names.evaluate.js"; -import HTML_ELEMENT_ATTRIBUTES from "./utils/html-elements-attributes.evaluate.js"; -import isUnknownNamespace from "./utils/is-unknown-namespace.js"; -import { hasPragma } from "./pragma.js"; import { Node } from "./ast.js"; import { parseIeConditionalComment } from "./conditional-comment.js"; -import { locStart, locEnd } from "./loc.js"; +import { locEnd, locStart } from "./loc.js"; +import { hasPragma } from "./pragma.js"; +import HTML_ELEMENT_ATTRIBUTES from "./utils/html-elements-attributes.evaluate.js"; +import HTML_TAGS from "./utils/html-tag-names.evaluate.js"; +import isUnknownNamespace from "./utils/is-unknown-namespace.js"; /** * @typedef {import('angular-html-parser')} AngularHtmlParser diff --git a/src/language-html/print-preprocess.js b/src/language-html/print-preprocess.js index e19ce6c71..a58ce189e 100644 --- a/src/language-html/print-preprocess.js +++ b/src/language-html/print-preprocess.js @@ -1,8 +1,9 @@ import { ParseSourceSpan } from "angular-html-parser/lib/compiler/src/parse_util.js"; + import htmlWhitespaceUtils from "../utils/html-whitespace-utils.js"; import { - getLeadingAndTrailingHtmlWhitespace, canHaveInterpolation, + getLeadingAndTrailingHtmlWhitespace, getNodeCssStyleDisplay, isDanglingSpaceSensitiveNode, isIndentationSensitiveNode, diff --git a/src/language-html/print/angular-control-flow-block.js b/src/language-html/print/angular-control-flow-block.js index 136909c6d..36d4ef763 100644 --- a/src/language-html/print/angular-control-flow-block.js +++ b/src/language-html/print/angular-control-flow-block.js @@ -1,13 +1,13 @@ import { group, hardline, - softline, - line, indent, join, + line, + softline, } from "../../document/builders.js"; -import { printChildren } from "./children.js"; import ANGULAR_CONTROL_FLOW_BLOCK_SETTINGS from "./angular-control-flow-block-settings.evaluate.js"; +import { printChildren } from "./children.js"; function printAngularControlFlowBlock(path, options, print) { const { node } = path; diff --git a/src/language-html/print/angular-icu-expression.js b/src/language-html/print/angular-icu-expression.js index acac9e155..f66553217 100644 --- a/src/language-html/print/angular-icu-expression.js +++ b/src/language-html/print/angular-icu-expression.js @@ -1,9 +1,9 @@ import { - softline, - line, + group, indent, join, - group, + line, + softline, } from "../../document/builders.js"; import htmlWhitespaceUtils from "../../utils/html-whitespace-utils.js"; import { printClosingTagEnd, printOpeningTagStart } from "./tag.js"; @@ -59,4 +59,4 @@ function printAngularIcuCase(path, options, print) { ]; } -export { printAngularIcuExpression, printAngularIcuCase }; +export { printAngularIcuCase, printAngularIcuExpression }; diff --git a/src/language-html/print/children.js b/src/language-html/print/children.js index bdfb95feb..c59949bb8 100644 --- a/src/language-html/print/children.js +++ b/src/language-html/print/children.js @@ -1,30 +1,30 @@ import { breakParent, group, + hardline, ifBreak, line, softline, - hardline, } from "../../document/builders.js"; import { replaceEndOfLine } from "../../document/utils.js"; -import isNonEmptyArray from "../../utils/is-non-empty-array.js"; import htmlWhitespaceUtils from "../../utils/html-whitespace-utils.js"; -import { locStart, locEnd } from "../loc.js"; +import isNonEmptyArray from "../../utils/is-non-empty-array.js"; +import { locEnd, locStart } from "../loc.js"; import { forceBreakChildren, forceNextEmptyLine, - isTextLikeNode, hasPrettierIgnore, + isTextLikeNode, preferHardlineAsLeadingSpaces, } from "../utils/index.js"; import { - printOpeningTagPrefix, needsToBorrowNextOpeningTagStartMarker, - printOpeningTagStartMarker, + needsToBorrowParentClosingTagStartMarker, needsToBorrowPrevClosingTagEndMarker, printClosingTagEndMarker, printClosingTagSuffix, - needsToBorrowParentClosingTagStartMarker, + printOpeningTagPrefix, + printOpeningTagStartMarker, } from "./tag.js"; function getEndLocation(node) { diff --git a/src/language-html/print/element.js b/src/language-html/print/element.js index ed5c3a909..53fb51ec2 100644 --- a/src/language-html/print/element.js +++ b/src/language-html/print/element.js @@ -3,28 +3,28 @@ import { dedentToRoot, group, ifBreak, - indentIfBreak, indent, + indentIfBreak, line, softline, } from "../../document/builders.js"; import { replaceEndOfLine } from "../../document/utils.js"; import getNodeContent from "../get-node-content.js"; import { - shouldPreserveContent, + forceBreakContent, isScriptLikeTag, isVueCustomBlock, - forceBreakContent, + shouldPreserveContent, } from "../utils/index.js"; -import { - printOpeningTagPrefix, - printOpeningTag, - printClosingTagSuffix, - printClosingTag, - needsToBorrowPrevClosingTagEndMarker, - needsToBorrowLastChildClosingTagEndMarker, -} from "./tag.js"; import { printChildren } from "./children.js"; +import { + needsToBorrowLastChildClosingTagEndMarker, + needsToBorrowPrevClosingTagEndMarker, + printClosingTag, + printClosingTagSuffix, + printOpeningTag, + printOpeningTagPrefix, +} from "./tag.js"; function printElement(path, options, print) { const { node } = path; diff --git a/src/language-html/print/tag.js b/src/language-html/print/tag.js index f49ed555d..7cf748f5b 100644 --- a/src/language-html/print/tag.js +++ b/src/language-html/print/tag.js @@ -3,23 +3,24 @@ */ import assert from "node:assert"; -import isNonEmptyArray from "../../utils/is-non-empty-array.js"; + import { + hardline, indent, join, line, softline, - hardline, } from "../../document/builders.js"; import { replaceEndOfLine } from "../../document/utils.js"; -import { locStart, locEnd } from "../loc.js"; +import isNonEmptyArray from "../../utils/is-non-empty-array.js"; +import { locEnd, locStart } from "../loc.js"; import { - isTextLikeNode, getLastDescendant, - isPreLikeNode, hasPrettierIgnore, - shouldPreserveContent, + isPreLikeNode, + isTextLikeNode, isVueSfcBlock, + shouldPreserveContent, } from "../utils/index.js"; function printClosingTag(node, options) { @@ -375,20 +376,20 @@ function printOpeningTagEndMarker(node) { } export { + needsToBorrowLastChildClosingTagEndMarker, + needsToBorrowNextOpeningTagStartMarker, + needsToBorrowParentClosingTagStartMarker, + needsToBorrowParentOpeningTagEndMarker, + needsToBorrowPrevClosingTagEndMarker, printClosingTag, + printClosingTagEnd, + printClosingTagEndMarker, printClosingTagStart, printClosingTagStartMarker, - printClosingTagEndMarker, printClosingTagSuffix, - printClosingTagEnd, - needsToBorrowLastChildClosingTagEndMarker, - needsToBorrowParentClosingTagStartMarker, - needsToBorrowPrevClosingTagEndMarker, printOpeningTag, - printOpeningTagStart, - printOpeningTagPrefix, - printOpeningTagStartMarker, printOpeningTagEndMarker, - needsToBorrowNextOpeningTagStartMarker, - needsToBorrowParentOpeningTagEndMarker, + printOpeningTagPrefix, + printOpeningTagStart, + printOpeningTagStartMarker, }; diff --git a/src/language-html/printer-html.js b/src/language-html/printer-html.js index 702455b44..b3e0aec6f 100644 --- a/src/language-html/printer-html.js +++ b/src/language-html/printer-html.js @@ -4,32 +4,32 @@ import { fill, group, hardline } from "../document/builders.js"; import { cleanDoc, replaceEndOfLine } from "../document/utils.js"; -import UnexpectedNodeError from "../utils/unexpected-node-error.js"; import getPreferredQuote from "../utils/get-preferred-quote.js"; import htmlWhitespaceUtils from "../utils/html-whitespace-utils.js"; +import UnexpectedNodeError from "../utils/unexpected-node-error.js"; import clean from "./clean.js"; -import { unescapeQuoteEntities, getTextValueParts } from "./utils/index.js"; -import preprocess from "./print-preprocess.js"; -import { insertPragma } from "./pragma.js"; -import { locStart, locEnd } from "./loc.js"; import embed from "./embed.js"; -import { - printClosingTagSuffix, - printClosingTagEnd, - printOpeningTagPrefix, - printOpeningTagStart, -} from "./print/tag.js"; -import { printElement } from "./print/element.js"; -import { printChildren } from "./print/children.js"; +import getVisitorKeys from "./get-visitor-keys.js"; +import { locEnd, locStart } from "./loc.js"; +import { insertPragma } from "./pragma.js"; import { printAngularControlFlowBlock, printAngularControlFlowBlockParameters, } from "./print/angular-control-flow-block.js"; -import getVisitorKeys from "./get-visitor-keys.js"; import { - printAngularIcuExpression, printAngularIcuCase, + printAngularIcuExpression, } from "./print/angular-icu-expression.js"; +import { printChildren } from "./print/children.js"; +import { printElement } from "./print/element.js"; +import { + printClosingTagEnd, + printClosingTagSuffix, + printOpeningTagPrefix, + printOpeningTagStart, +} from "./print/tag.js"; +import preprocess from "./print-preprocess.js"; +import { getTextValueParts, unescapeQuoteEntities } from "./utils/index.js"; function genericPrint(path, options, print) { const { node } = path; diff --git a/src/language-html/utils/index.js b/src/language-html/utils/index.js index b6a189340..c7f7c35aa 100644 --- a/src/language-html/utils/index.js +++ b/src/language-html/utils/index.js @@ -2,17 +2,17 @@ * @typedef {import("../../common/ast-path.js").default} AstPath */ -import isFrontMatter from "../../utils/front-matter/is-front-matter.js"; -import inferParser from "../../utils/infer-parser.js"; -import { line, hardline, join } from "../../document/builders.js"; +import { hardline, join, line } from "../../document/builders.js"; import { replaceEndOfLine } from "../../document/utils.js"; -import { - CSS_DISPLAY_TAGS, - CSS_DISPLAY_DEFAULT, - CSS_WHITE_SPACE_TAGS, - CSS_WHITE_SPACE_DEFAULT, -} from "../constants.evaluate.js"; +import isFrontMatter from "../../utils/front-matter/is-front-matter.js"; import htmlWhitespaceUtils from "../../utils/html-whitespace-utils.js"; +import inferParser from "../../utils/infer-parser.js"; +import { + CSS_DISPLAY_DEFAULT, + CSS_DISPLAY_TAGS, + CSS_WHITE_SPACE_DEFAULT, + CSS_WHITE_SPACE_TAGS, +} from "../constants.evaluate.js"; import isUnknownNamespace from "./is-unknown-namespace.js"; const htmlTrimLeadingBlankLines = (string) => @@ -622,24 +622,21 @@ function isVueScriptTag(node, options) { } export { - htmlTrimPreserveIndentation, - getLeadingAndTrailingHtmlWhitespace, canHaveInterpolation, dedentString, forceBreakChildren, forceBreakContent, forceNextEmptyLine, getLastDescendant, + getLeadingAndTrailingHtmlWhitespace, getNodeCssStyleDisplay, getNodeCssStyleWhiteSpace, + getTextValueParts, + getUnescapedAttributeValue, hasPrettierIgnore, + htmlTrimPreserveIndentation, + htmlWhitespaceUtils, inferElementParser, - isVueCustomBlock, - isVueNonHtmlBlock, - isVueScriptTag, - isVueSlotAttribute, - isVueSfcBindingsAttribute, - isVueSfcBlock, isDanglingSpaceSensitiveNode, isIndentationSensitiveNode, isLeadingSpaceSensitiveNode, @@ -647,13 +644,16 @@ export { isScriptLikeTag, isTextLikeNode, isTrailingSpaceSensitiveNode, - isWhitespaceSensitiveNode, isUnknownNamespace, + isVueCustomBlock, + isVueNonHtmlBlock, + isVueScriptTag, + isVueSfcBindingsAttribute, + isVueSfcBlock, + isVueSlotAttribute, + isWhitespaceSensitiveNode, preferHardlineAsLeadingSpaces, preferHardlineAsTrailingSpaces, shouldPreserveContent, unescapeQuoteEntities, - getTextValueParts, - htmlWhitespaceUtils, - getUnescapedAttributeValue, }; diff --git a/src/language-js/clean.js b/src/language-js/clean.js index 827bdc828..11163c29c 100644 --- a/src/language-js/clean.js +++ b/src/language-js/clean.js @@ -1,5 +1,5 @@ -import isBlockComment from "./utils/is-block-comment.js"; import { isArrayOrTupleExpression } from "./utils/index.js"; +import isBlockComment from "./utils/is-block-comment.js"; const ignoredProperties = new Set([ "range", diff --git a/src/language-js/comments/handle-comments.js b/src/language-js/comments/handle-comments.js index f51237290..6b42ad412 100644 --- a/src/language-js/comments/handle-comments.js +++ b/src/language-js/comments/handle-comments.js @@ -1,28 +1,28 @@ -import hasNewline from "../../utils/has-newline.js"; -import getNextNonSpaceNonCommentCharacter from "../../utils/get-next-non-space-non-comment-character.js"; -import getNextNonSpaceNonCommentCharacterIndex from "../../utils/get-next-non-space-non-comment-character-index.js"; -import hasNewlineInRange from "../../utils/has-newline-in-range.js"; -import isNonEmptyArray from "../../utils/is-non-empty-array.js"; import { + addDanglingComment, addLeadingComment, addTrailingComment, - addDanglingComment, } from "../../main/comments/utils.js"; +import getNextNonSpaceNonCommentCharacter from "../../utils/get-next-non-space-non-comment-character.js"; +import getNextNonSpaceNonCommentCharacterIndex from "../../utils/get-next-non-space-non-comment-character-index.js"; +import hasNewline from "../../utils/has-newline.js"; +import hasNewlineInRange from "../../utils/has-newline-in-range.js"; +import isNonEmptyArray from "../../utils/is-non-empty-array.js"; +import { locEnd, locStart } from "../loc.js"; import { - getFunctionParameters, - isPrettierIgnoreComment, - isCallLikeExpression, + createTypeCheckFunction, getCallArguments, + getFunctionParameters, isCallExpression, + isCallLikeExpression, + isIntersectionType, + isLineComment, isMemberExpression, isObjectProperty, - isLineComment, - markerForIfWithoutBlockAndSameLineComment, - createTypeCheckFunction, + isPrettierIgnoreComment, isUnionType, - isIntersectionType, + markerForIfWithoutBlockAndSameLineComment, } from "../utils/index.js"; -import { locStart, locEnd } from "../loc.js"; import isBlockComment from "../utils/is-block-comment.js"; import isTypeCastComment from "../utils/is-type-cast-comment.js"; @@ -1028,7 +1028,7 @@ const isRealFunctionLikeNode = createTypeCheckFunction([ ]); export { - handleOwnLineComment as ownLine, handleEndOfLineComment as endOfLine, + handleOwnLineComment as ownLine, handleRemainingComment as remaining, }; diff --git a/src/language-js/comments/printer-methods.js b/src/language-js/comments/printer-methods.js index a8b3e90ea..c3e966e89 100644 --- a/src/language-js/comments/printer-methods.js +++ b/src/language-js/comments/printer-methods.js @@ -89,7 +89,7 @@ function isGap(text, { parser }) { } } -export * as handleComments from "./handle-comments.js"; export { printComment } from "../print/comment.js"; export { default as isBlockComment } from "../utils/is-block-comment.js"; -export { canAttachComment, getCommentChildNodes, willPrintOwnComments, isGap }; +export * as handleComments from "./handle-comments.js"; +export { canAttachComment, getCommentChildNodes, isGap, willPrintOwnComments }; diff --git a/src/language-js/embed/css.js b/src/language-js/embed/css.js index 731395e93..d6be30bce 100644 --- a/src/language-js/embed/css.js +++ b/src/language-js/embed/css.js @@ -1,6 +1,6 @@ +import { hardline, indent, softline } from "../../document/builders.js"; +import { cleanDoc, mapDoc, replaceEndOfLine } from "../../document/utils.js"; import isNonEmptyArray from "../../utils/is-non-empty-array.js"; -import { indent, hardline, softline } from "../../document/builders.js"; -import { mapDoc, replaceEndOfLine, cleanDoc } from "../../document/utils.js"; import { printTemplateExpressions } from "../print/template-literal.js"; import { isAngularComponentStyles } from "./utils.js"; diff --git a/src/language-js/embed/graphql.js b/src/language-js/embed/graphql.js index 89839165e..3d84b486e 100644 --- a/src/language-js/embed/graphql.js +++ b/src/language-js/embed/graphql.js @@ -1,4 +1,4 @@ -import { indent, join, hardline } from "../../document/builders.js"; +import { hardline, indent, join } from "../../document/builders.js"; import { escapeTemplateCharacters, printTemplateExpressions, diff --git a/src/language-js/embed/html.js b/src/language-js/embed/html.js index 236f12740..338dd0ce7 100644 --- a/src/language-js/embed/html.js +++ b/src/language-js/embed/html.js @@ -1,16 +1,16 @@ import { - indent, - line, - hardline, group, + hardline, + indent, label, + line, } from "../../document/builders.js"; import { mapDoc } from "../../document/utils.js"; import { printTemplateExpressions, uncookTemplateElementValue, } from "../print/template-literal.js"; -import { isAngularComponentTemplate, hasLanguageComment } from "./utils.js"; +import { hasLanguageComment, isAngularComponentTemplate } from "./utils.js"; // The counter is needed to distinguish nested embeds. let htmlTemplateLiteralCounter = 0; diff --git a/src/language-js/embed/markdown.js b/src/language-js/embed/markdown.js index 3effc23c7..3384721f1 100644 --- a/src/language-js/embed/markdown.js +++ b/src/language-js/embed/markdown.js @@ -1,8 +1,8 @@ import { - indent, - softline, - literalline, dedentToRoot, + indent, + literalline, + softline, } from "../../document/builders.js"; import { escapeTemplateCharacters } from "../print/template-literal.js"; diff --git a/src/language-js/embed/utils.js b/src/language-js/embed/utils.js index 075c04eaf..eb87cf70d 100644 --- a/src/language-js/embed/utils.js +++ b/src/language-js/embed/utils.js @@ -1,8 +1,8 @@ import { - hasComment, CommentCheckFlags, - isObjectProperty, + hasComment, isArrayOrTupleExpression, + isObjectProperty, } from "../utils/index.js"; const angularComponentObjectExpressionPredicates = [ @@ -84,8 +84,8 @@ function isAsConstExpression(node) { } export { + hasLanguageComment, isAngularComponentStyles, isAngularComponentTemplate, - hasLanguageComment, isAsConstExpression, }; diff --git a/src/language-js/languages.evaluate.js b/src/language-js/languages.evaluate.js index 8b32bb0cd..2ca80bc10 100644 --- a/src/language-js/languages.evaluate.js +++ b/src/language-js/languages.evaluate.js @@ -1,4 +1,5 @@ import linguistLanguages from "linguist-languages"; + import createLanguage from "../utils/create-language.js"; const languages = [ diff --git a/src/language-js/loc.js b/src/language-js/loc.js index 2631f1ff0..72f45d6c4 100644 --- a/src/language-js/loc.js +++ b/src/language-js/loc.js @@ -49,4 +49,4 @@ function hasSameLoc(nodeA, nodeB) { return hasSameLocStart(nodeA, nodeB) && hasSameLocEnd(nodeA, nodeB); } -export { locStart, locEnd, hasSameLocStart, hasSameLoc }; +export { hasSameLoc, hasSameLocStart, locEnd, locStart }; diff --git a/src/language-js/needs-parens.js b/src/language-js/needs-parens.js index 0d2511551..1398adfef 100644 --- a/src/language-js/needs-parens.js +++ b/src/language-js/needs-parens.js @@ -1,20 +1,20 @@ import isNonEmptyArray from "../utils/is-non-empty-array.js"; import { + createTypeCheckFunction, getFunctionParameters, getLeftSidePathName, + getPrecedence, hasNakedLeftSide, hasNode, + isArrayOrTupleExpression, + isBinaryCastExpression, isBitwiseOperator, - startsWithNoLookaheadToken, - shouldFlatten, - getPrecedence, isCallExpression, isMemberExpression, - isObjectProperty, - isBinaryCastExpression, - isArrayOrTupleExpression, isObjectOrRecordExpression, - createTypeCheckFunction, + isObjectProperty, + shouldFlatten, + startsWithNoLookaheadToken, } from "./utils/index.js"; function needsParens(path, options) { diff --git a/src/language-js/parse/acorn.js b/src/language-js/parse/acorn.js index aafc0054a..407d2f054 100644 --- a/src/language-js/parse/acorn.js +++ b/src/language-js/parse/acorn.js @@ -1,9 +1,10 @@ import { Parser as AcornParser } from "acorn"; import acornJsx from "acorn-jsx"; + import createError from "../../common/parser-create-error.js"; import tryCombinations from "../../utils/try-combinations.js"; -import createParser from "./utils/create-parser.js"; import postprocess from "./postprocess/index.js"; +import createParser from "./utils/create-parser.js"; import getSourceType from "./utils/get-source-type.js"; /** @type {import("acorn").Options} */ diff --git a/src/language-js/parse/angular.js b/src/language-js/parse/angular.js index acfd1a040..8ff3946dd 100644 --- a/src/language-js/parse/angular.js +++ b/src/language-js/parse/angular.js @@ -4,7 +4,8 @@ import { parseInterpolationExpression, parseTemplateBindings, } from "angular-estree-parser"; -import { locStart, locEnd } from "../loc.js"; + +import { locEnd, locStart } from "../loc.js"; /** * @param {parseAction | parseBinding | parseInterpolationExpression | parseTemplateBindings} parseMethod diff --git a/src/language-js/parse/babel.js b/src/language-js/parse/babel.js index 88c02de4f..8cb96aed9 100644 --- a/src/language-js/parse/babel.js +++ b/src/language-js/parse/babel.js @@ -1,10 +1,11 @@ import { parse as babelParse, parseExpression } from "@babel/parser"; + +import getNextNonSpaceNonCommentCharacterIndex from "../../utils/get-next-non-space-non-comment-character-index.js"; import tryCombinations from "../../utils/try-combinations.js"; import getShebang from "../utils/get-shebang.js"; -import getNextNonSpaceNonCommentCharacterIndex from "../../utils/get-next-non-space-non-comment-character-index.js"; -import createParser from "./utils/create-parser.js"; -import createBabelParseError from "./utils/create-babel-parse-error.js"; import postprocess from "./postprocess/index.js"; +import createBabelParseError from "./utils/create-babel-parse-error.js"; +import createParser from "./utils/create-parser.js"; import getSourceType from "./utils/get-source-type.js"; import wrapBabelExpression from "./utils/wrap-babel-expression.js"; diff --git a/src/language-js/parse/espree.js b/src/language-js/parse/espree.js index e9eb33b3b..7ac959e3d 100644 --- a/src/language-js/parse/espree.js +++ b/src/language-js/parse/espree.js @@ -1,8 +1,9 @@ import { parse as espreeParse } from "espree"; + import createError from "../../common/parser-create-error.js"; import tryCombinations from "../../utils/try-combinations.js"; -import createParser from "./utils/create-parser.js"; import postprocess from "./postprocess/index.js"; +import createParser from "./utils/create-parser.js"; import getSourceType from "./utils/get-source-type.js"; /** @type {import("espree").Options} */ diff --git a/src/language-js/parse/flow.js b/src/language-js/parse/flow.js index 66bf9dcf8..9c57f3a23 100644 --- a/src/language-js/parse/flow.js +++ b/src/language-js/parse/flow.js @@ -1,8 +1,9 @@ import flowParser from "flow-parser"; + import createError from "../../common/parser-create-error.js"; +import postprocess from "./postprocess/index.js"; import createParser from "./utils/create-parser.js"; import replaceHashbang from "./utils/replace-hashbang.js"; -import postprocess from "./postprocess/index.js"; // https://github.com/facebook/flow/tree/main/packages/flow-parser#options // Keep this sync with `/scripts/sync-flow-test.js` diff --git a/src/language-js/parse/meriyah.js b/src/language-js/parse/meriyah.js index 6252aa042..1f1a35d0e 100644 --- a/src/language-js/parse/meriyah.js +++ b/src/language-js/parse/meriyah.js @@ -1,8 +1,9 @@ import { parse as meriyahParse } from "meriyah"; + import createError from "../../common/parser-create-error.js"; import tryCombinations from "../../utils/try-combinations.js"; -import createParser from "./utils/create-parser.js"; import postprocess from "./postprocess/index.js"; +import createParser from "./utils/create-parser.js"; import getSourceType from "./utils/get-source-type.js"; // https://github.com/meriyah/meriyah/blob/4676f60b6c149d7082bde2c9147f9ae2359c8075/src/parser.ts#L185 diff --git a/src/language-js/parse/postprocess/index.js b/src/language-js/parse/postprocess/index.js index fc52dc4b8..f148bc8b3 100644 --- a/src/language-js/parse/postprocess/index.js +++ b/src/language-js/parse/postprocess/index.js @@ -1,8 +1,8 @@ -import { locStart, locEnd } from "../../loc.js"; -import isTypeCastComment from "../../utils/is-type-cast-comment.js"; import isNonEmptyArray from "../../../utils/is-non-empty-array.js"; +import { locEnd, locStart } from "../../loc.js"; import isBlockComment from "../../utils/is-block-comment.js"; import isIndentableBlockComment from "../../utils/is-indentable-block-comment.js"; +import isTypeCastComment from "../../utils/is-type-cast-comment.js"; import visitNode from "./visit-node.js"; /** diff --git a/src/language-js/parse/typescript.js b/src/language-js/parse/typescript.js index d751bce6c..c0aa0665b 100644 --- a/src/language-js/parse/typescript.js +++ b/src/language-js/parse/typescript.js @@ -1,9 +1,10 @@ import { parse as parseTypeScript } from "@typescript-eslint/typescript-estree"; + import createError from "../../common/parser-create-error.js"; import tryCombinations from "../../utils/try-combinations.js"; +import postprocess from "./postprocess/index.js"; import createParser from "./utils/create-parser.js"; import replaceHashbang from "./utils/replace-hashbang.js"; -import postprocess from "./postprocess/index.js"; /** @type {import("@typescript-eslint/typescript-estree").TSESTreeOptions} */ const baseParseOptions = { diff --git a/src/language-js/parse/utils/create-parser.js b/src/language-js/parse/utils/create-parser.js index aabbcc9a9..c93042cd4 100644 --- a/src/language-js/parse/utils/create-parser.js +++ b/src/language-js/parse/utils/create-parser.js @@ -1,5 +1,5 @@ +import { locEnd, locStart } from "../../loc.js"; import { hasPragma } from "../../pragma.js"; -import { locStart, locEnd } from "../../loc.js"; function createParser(options) { options = typeof options === "function" ? { parse: options } : options; diff --git a/src/language-js/pragma.js b/src/language-js/pragma.js index d6dd3cc56..8b2d5d9ff 100644 --- a/src/language-js/pragma.js +++ b/src/language-js/pragma.js @@ -1,4 +1,5 @@ -import { parseWithComments, strip, extract, print } from "jest-docblock"; +import { extract, parseWithComments, print, strip } from "jest-docblock"; + import { normalizeEndOfLine } from "../common/end-of-line.js"; import getShebang from "./utils/get-shebang.js"; diff --git a/src/language-js/print/angular.js b/src/language-js/print/angular.js index e2863ed51..b3ab1f0da 100644 --- a/src/language-js/print/angular.js +++ b/src/language-js/print/angular.js @@ -1,10 +1,10 @@ -import { join, line, group } from "../../document/builders.js"; +import { group, join, line } from "../../document/builders.js"; import UnexpectedNodeError from "../../utils/unexpected-node-error.js"; import { - hasNode, - hasComment, - getComments, createTypeCheckFunction, + getComments, + hasComment, + hasNode, } from "../utils/index.js"; import { printBinaryishExpression } from "./binaryish.js"; diff --git a/src/language-js/print/array.js b/src/language-js/print/array.js index dec3523e5..065f13a1c 100644 --- a/src/language-js/print/array.js +++ b/src/language-js/print/array.js @@ -1,28 +1,27 @@ -import { printDanglingComments } from "../../main/comments/print.js"; import { + fill, + group, + hardline, + ifBreak, + indent, line, softline, - hardline, - group, - indent, - ifBreak, - fill, } from "../../document/builders.js"; +import { printDanglingComments } from "../../main/comments/print.js"; import hasNewline from "../../utils/has-newline.js"; import isNextLineEmptyAfterIndex from "../../utils/is-next-line-empty.js"; import skipInlineComment from "../../utils/skip-inline-comment.js"; import skipTrailingComment from "../../utils/skip-trailing-comment.js"; +import { locEnd, locStart } from "../loc.js"; import { - shouldPrintComma, - hasComment, CommentCheckFlags, - isNumericLiteral, - isSignedNumericLiteral, + hasComment, isArrayOrTupleExpression, + isNumericLiteral, isObjectOrRecordExpression, + isSignedNumericLiteral, + shouldPrintComma, } from "../utils/index.js"; -import { locStart, locEnd } from "../loc.js"; - import { printOptionalToken } from "./misc.js"; import { printTypeAnnotationProperty } from "./type-annotation.js"; @@ -222,4 +221,4 @@ function printArrayElementsConcisely(path, options, print, trailingComma) { return fill(parts); } -export { printArray, isConciselyPrintedArray }; +export { isConciselyPrintedArray, printArray }; diff --git a/src/language-js/print/arrow-function.js b/src/language-js/print/arrow-function.js index d061410d8..38ac2a2c9 100644 --- a/src/language-js/print/arrow-function.js +++ b/src/language-js/print/arrow-function.js @@ -1,35 +1,35 @@ -import { - printDanglingComments, - printCommentsSeparately, -} from "../../main/comments/print.js"; -import getNextNonSpaceNonCommentCharacterIndex from "../../utils/get-next-non-space-non-comment-character-index.js"; -import { - line, - softline, - group, - indent, - ifBreak, - join, - indentIfBreak, -} from "../../document/builders.js"; -import { removeLines, willBreak } from "../../document/utils.js"; import { ArgExpansionBailout } from "../../common/errors.js"; +import { + group, + ifBreak, + indent, + indentIfBreak, + join, + line, + softline, +} from "../../document/builders.js"; +import { removeLines, willBreak } from "../../document/utils.js"; +import { + printCommentsSeparately, + printDanglingComments, +} from "../../main/comments/print.js"; +import getNextNonSpaceNonCommentCharacterIndex from "../../utils/get-next-non-space-non-comment-character-index.js"; +import { locEnd } from "../loc.js"; import { getFunctionParameters, + hasComment, hasLeadingOwnLineComment, + isArrayOrTupleExpression, + isBinaryish, + isCallLikeExpression, isJsxElement, + isObjectOrRecordExpression, isTemplateOnItsOwnLine, shouldPrintComma, startsWithNoLookaheadToken, - isBinaryish, - hasComment, - isCallLikeExpression, - isArrayOrTupleExpression, - isObjectOrRecordExpression, } from "../utils/index.js"; -import { locEnd } from "../loc.js"; -import { printFunctionParameters } from "./function-parameters.js"; import { printReturnType, shouldPrintParamsWithoutParens } from "./function.js"; +import { printFunctionParameters } from "./function-parameters.js"; /** * @typedef {import("../../common/ast-path.js").default} AstPath diff --git a/src/language-js/print/assignment.js b/src/language-js/print/assignment.js index 3342267a2..89fd056e1 100644 --- a/src/language-js/print/assignment.js +++ b/src/language-js/print/assignment.js @@ -1,26 +1,26 @@ -import isNonEmptyArray from "../../utils/is-non-empty-array.js"; -import getStringWidth from "../../utils/get-string-width.js"; import { - line, group, indent, indentIfBreak, + line, lineSuffixBoundary, } from "../../document/builders.js"; -import { cleanDoc, willBreak, canBreak } from "../../document/utils.js"; +import { canBreak, cleanDoc, willBreak } from "../../document/utils.js"; +import getStringWidth from "../../utils/get-string-width.js"; +import isNonEmptyArray from "../../utils/is-non-empty-array.js"; import { + createTypeCheckFunction, + getCallArguments, hasLeadingOwnLineComment, isBinaryish, - isStringLiteral, - isNumericLiteral, isCallExpression, - isMemberExpression, - getCallArguments, - isLoneShortArgument, - isObjectProperty, - createTypeCheckFunction, - isUnionType, isIntersectionType, + isLoneShortArgument, + isMemberExpression, + isNumericLiteral, + isObjectProperty, + isStringLiteral, + isUnionType, } from "../utils/index.js"; import { shouldInlineLogicalExpression } from "./binaryish.js"; import { printCallExpression } from "./call-expression.js"; @@ -436,8 +436,8 @@ function getTypeArgumentsFromCallExpression(node) { } export { - printVariableDeclarator, - printAssignmentExpression, - printAssignment, isArrowFunctionVariableDeclarator, + printAssignment, + printAssignmentExpression, + printVariableDeclarator, }; diff --git a/src/language-js/print/binaryish.js b/src/language-js/print/binaryish.js index b6e0a31f2..872c9820f 100644 --- a/src/language-js/print/binaryish.js +++ b/src/language-js/print/binaryish.js @@ -1,27 +1,27 @@ -import { printComments } from "../../main/comments/print.js"; -import { DOC_TYPE_FILL, DOC_TYPE_GROUP } from "../../document/constants.js"; import { + align, + group, + indent, + indentIfBreak, join, line, softline, - group, - indent, - align, - indentIfBreak, } from "../../document/builders.js"; +import { DOC_TYPE_FILL, DOC_TYPE_GROUP } from "../../document/constants.js"; import { cleanDoc, getDocParts } from "../../document/utils.js"; +import { printComments } from "../../main/comments/print.js"; import { - hasLeadingOwnLineComment, - isBinaryish, - isJsxElement, - shouldFlatten, - hasComment, CommentCheckFlags, - isCallExpression, - isMemberExpression, - isObjectProperty, + hasComment, + hasLeadingOwnLineComment, isArrayOrTupleExpression, + isBinaryish, + isCallExpression, + isJsxElement, + isMemberExpression, isObjectOrRecordExpression, + isObjectProperty, + shouldFlatten, } from "../utils/index.js"; /** @typedef {import("../../document/builders.js").Doc} Doc */ diff --git a/src/language-js/print/block.js b/src/language-js/print/block.js index 5fec3b4ab..82fdc99ec 100644 --- a/src/language-js/print/block.js +++ b/src/language-js/print/block.js @@ -1,9 +1,9 @@ +import { hardline, indent } from "../../document/builders.js"; import { printDanglingComments } from "../../main/comments/print.js"; import isNonEmptyArray from "../../utils/is-non-empty-array.js"; -import { hardline, indent } from "../../document/builders.js"; import { - hasComment, CommentCheckFlags, + hasComment, isNextLineEmpty, } from "../utils/index.js"; import { printStatementSequence } from "./statement.js"; diff --git a/src/language-js/print/call-arguments.js b/src/language-js/print/call-arguments.js index d0dbc81a2..8fcdd9154 100644 --- a/src/language-js/print/call-arguments.js +++ b/src/language-js/print/call-arguments.js @@ -1,42 +1,40 @@ +import { ArgExpansionBailout } from "../../common/errors.js"; +import { + breakParent, + conditionalGroup, + group, + hardline, + ifBreak, + indent, + line, + softline, +} from "../../document/builders.js"; +import { willBreak } from "../../document/utils.js"; import { printDanglingComments } from "../../main/comments/print.js"; import { + CommentCheckFlags, + getCallArguments, + getCallArgumentSelector, getFunctionParameters, hasComment, - CommentCheckFlags, + isArrayOrTupleExpression, + isBinaryCastExpression, + isBinaryish, + isCallExpression, + isCallLikeExpression, isFunctionCompositionArgs, isJsxElement, isLongCurriedCallExpression, - shouldPrintComma, - getCallArguments, - iterateCallArgumentsPath, isNextLineEmpty, - isCallExpression, - isStringLiteral, - isObjectProperty, - getCallArgumentSelector, - isSimpleCallArgument, - isBinaryish, - isRegExpLiteral, - isSimpleType, - isCallLikeExpression, - isBinaryCastExpression, - isArrayOrTupleExpression, isObjectOrRecordExpression, + isObjectProperty, + isRegExpLiteral, + isSimpleCallArgument, + isSimpleType, + isStringLiteral, + iterateCallArgumentsPath, + shouldPrintComma, } from "../utils/index.js"; - -import { - line, - hardline, - softline, - group, - indent, - conditionalGroup, - ifBreak, - breakParent, -} from "../../document/builders.js"; -import { willBreak } from "../../document/utils.js"; - -import { ArgExpansionBailout } from "../../common/errors.js"; import { isConciselyPrintedArray } from "./array.js"; function printCallArguments(path, options, print) { diff --git a/src/language-js/print/call-expression.js b/src/language-js/print/call-expression.js index 3b2755447..461e1f940 100644 --- a/src/language-js/print/call-expression.js +++ b/src/language-js/print/call-expression.js @@ -1,4 +1,4 @@ -import { join, group } from "../../document/builders.js"; +import { group, join } from "../../document/builders.js"; import pathNeedsParens from "../needs-parens.js"; import { getCallArguments, @@ -9,9 +9,9 @@ import { isTestCall, iterateCallArgumentsPath, } from "../utils/index.js"; -import printMemberChain from "./member-chain.js"; import printCallArguments from "./call-arguments.js"; -import { printOptionalToken, printFunctionTypeParameters } from "./misc.js"; +import printMemberChain from "./member-chain.js"; +import { printFunctionTypeParameters, printOptionalToken } from "./misc.js"; function printCallExpression(path, options, print) { const { node, parent } = path; diff --git a/src/language-js/print/cast-expression.js b/src/language-js/print/cast-expression.js index 8f0ea31ca..d67ad2411 100644 --- a/src/language-js/print/cast-expression.js +++ b/src/language-js/print/cast-expression.js @@ -1,4 +1,4 @@ -import { softline, group, indent } from "../../document/builders.js"; +import { group, indent, softline } from "../../document/builders.js"; import { isCallExpression, isMemberExpression } from "../utils/index.js"; function printBinaryCastExpression(path, options, print) { diff --git a/src/language-js/print/class.js b/src/language-js/print/class.js index fa594ee28..2f6e30e19 100644 --- a/src/language-js/print/class.js +++ b/src/language-js/print/class.js @@ -1,37 +1,37 @@ -import isNonEmptyArray from "../../utils/is-non-empty-array.js"; -import createGroupIdMapper from "../../utils/create-group-id-mapper.js"; +import { + group, + hardline, + ifBreak, + indent, + join, + line, + softline, +} from "../../document/builders.js"; import { printComments, printDanglingComments, } from "../../main/comments/print.js"; +import createGroupIdMapper from "../../utils/create-group-id-mapper.js"; +import isNonEmptyArray from "../../utils/is-non-empty-array.js"; import { - join, - line, - hardline, - softline, - group, - indent, - ifBreak, -} from "../../document/builders.js"; -import { - hasComment, CommentCheckFlags, createTypeCheckFunction, + hasComment, isNextLineEmpty, } from "../utils/index.js"; -import { getTypeParametersGroupId } from "./type-parameters.js"; +import { printAssignment } from "./assignment.js"; +import { printClassMemberDecorators } from "./decorators.js"; import { printMethod } from "./function.js"; import { - printOptionalToken, - printDefiniteToken, - printDeclareToken, printAbstractToken, + printDeclareToken, + printDefiniteToken, + printOptionalToken, printTypeScriptAccessibilityToken, } from "./misc.js"; import { printPropertyKey } from "./property.js"; -import { printAssignment } from "./assignment.js"; -import { printClassMemberDecorators } from "./decorators.js"; import { printTypeAnnotationProperty } from "./type-annotation.js"; +import { getTypeParametersGroupId } from "./type-parameters.js"; /** * @typedef {import("../../document/builders.js").Doc} Doc @@ -372,8 +372,8 @@ function shouldPrintSemicolonAfterClassProperty(node, nextNode) { export { printClass, + printClassBody, printClassMethod, printClassProperty, printHardlineAfterHeritage, - printClassBody, }; diff --git a/src/language-js/print/comment.js b/src/language-js/print/comment.js index bb20656d1..f7c93bef7 100644 --- a/src/language-js/print/comment.js +++ b/src/language-js/print/comment.js @@ -1,8 +1,7 @@ -import { join, hardline } from "../../document/builders.js"; +import { hardline, join } from "../../document/builders.js"; import { replaceEndOfLine } from "../../document/utils.js"; - +import { locEnd, locStart } from "../loc.js"; import { isLineComment } from "../utils/index.js"; -import { locStart, locEnd } from "../loc.js"; import isBlockComment from "../utils/is-block-comment.js"; import isIndentableBlockComment from "../utils/is-indentable-block-comment.js"; @@ -45,4 +44,4 @@ function printIndentableBlockComment(comment) { ]; } -export { printComment, isIndentableBlockComment }; +export { isIndentableBlockComment, printComment }; diff --git a/src/language-js/print/decorators.js b/src/language-js/print/decorators.js index b766eab2a..67e01f9ec 100644 --- a/src/language-js/print/decorators.js +++ b/src/language-js/print/decorators.js @@ -1,15 +1,15 @@ -import isNonEmptyArray from "../../utils/is-non-empty-array.js"; -import hasNewline from "../../utils/has-newline.js"; -import isIgnored from "../utils/is-ignored.js"; import { - line, - hardline, - join, breakParent, group, + hardline, + join, + line, } from "../../document/builders.js"; -import { locEnd, hasSameLocStart } from "../loc.js"; +import hasNewline from "../../utils/has-newline.js"; +import isNonEmptyArray from "../../utils/is-non-empty-array.js"; +import { hasSameLocStart, locEnd } from "../loc.js"; import { isExportDeclaration } from "../utils/index.js"; +import isIgnored from "../utils/is-ignored.js"; function printClassMemberDecorators(path, options, print) { const { node } = path; @@ -87,8 +87,8 @@ function hasDecoratorsBeforeExport(node) { } export { - printDecorators, - printClassMemberDecorators, - printDecoratorsBeforeExport, hasDecoratorsBeforeExport, + printClassMemberDecorators, + printDecorators, + printDecoratorsBeforeExport, }; diff --git a/src/language-js/print/enum.js b/src/language-js/print/enum.js index f87b829f2..0390528c0 100644 --- a/src/language-js/print/enum.js +++ b/src/language-js/print/enum.js @@ -89,4 +89,4 @@ function printEnumDeclaration(path, print, options) { ]; } -export { printEnumDeclaration, printEnumMember, printEnumBody }; +export { printEnumBody, printEnumDeclaration, printEnumMember }; diff --git a/src/language-js/print/estree.js b/src/language-js/print/estree.js index 5c51d7a2e..a9cb5e603 100644 --- a/src/language-js/print/estree.js +++ b/src/language-js/print/estree.js @@ -1,77 +1,76 @@ -import { printDanglingComments } from "../../main/comments/print.js"; -import hasNewline from "../../utils/has-newline.js"; import { + group, + hardline, + indent, join, line, - hardline, softline, - group, - indent, } from "../../document/builders.js"; import { replaceEndOfLine } from "../../document/utils.js"; +import { printDanglingComments } from "../../main/comments/print.js"; +import hasNewline from "../../utils/has-newline.js"; import UnexpectedNodeError from "../../utils/unexpected-node-error.js"; - +import { locEnd, locStart } from "../loc.js"; import { - hasComment, CommentCheckFlags, - isNextLineEmpty, - needsHardlineAfterDanglingComment, - isCallExpression, - isMemberExpression, + hasComment, isArrayOrTupleExpression, + isCallExpression, isLiteral, + isMemberExpression, + isNextLineEmpty, isObjectOrRecordExpression, + needsHardlineAfterDanglingComment, startsWithNoLookaheadToken, } from "../utils/index.js"; -import { locStart, locEnd } from "../loc.js"; import isBlockComment from "../utils/is-block-comment.js"; -import { - printOptionalToken, - printBindExpressionCallee, - adjustClause, - printRestSpread, - printDefiniteToken, - printDeclareToken, -} from "./misc.js"; -import { - printImportDeclaration, - printExportDeclaration, - printModuleSpecifier, -} from "./module.js"; -import { printTernary } from "./ternary.js"; -import { - printTaggedTemplateLiteral, - printTemplateLiteral, -} from "./template-literal.js"; import { printArray } from "./array.js"; -import { printObject } from "./object.js"; +import { printArrowFunction } from "./arrow-function.js"; +import { + printAssignmentExpression, + printVariableDeclarator, +} from "./assignment.js"; +import { printBinaryishExpression } from "./binaryish.js"; +import { printBlock, printBlockBody } from "./block.js"; +import { printCallExpression } from "./call-expression.js"; import { printClass, + printClassBody, printClassMethod, printClassProperty, - printClassBody, } from "./class.js"; -import { printProperty } from "./property.js"; +import { printExpressionStatement } from "./expression-statement.js"; import { printFunction, printMethod, printReturnStatement, printThrowStatement, } from "./function.js"; -import { printArrowFunction } from "./arrow-function.js"; -import { printCallExpression } from "./call-expression.js"; -import { - printVariableDeclarator, - printAssignmentExpression, -} from "./assignment.js"; -import { printBinaryishExpression } from "./binaryish.js"; -import { printStatementSequence } from "./statement.js"; -import { printMemberExpression } from "./member.js"; -import { printBlock, printBlockBody } from "./block.js"; -import { printLiteral } from "./literal.js"; -import { printTypeAnnotationProperty } from "./type-annotation.js"; -import { printExpressionStatement } from "./expression-statement.js"; import { printHtmlBinding } from "./html-binding.js"; +import { printLiteral } from "./literal.js"; +import { printMemberExpression } from "./member.js"; +import { + adjustClause, + printBindExpressionCallee, + printDeclareToken, + printDefiniteToken, + printOptionalToken, + printRestSpread, +} from "./misc.js"; +import { + printExportDeclaration, + printImportDeclaration, + printModuleSpecifier, +} from "./module.js"; +import { printObject } from "./object.js"; +import { printProperty } from "./property.js"; +import { printStatementSequence } from "./statement.js"; +import { + printTaggedTemplateLiteral, + printTemplateLiteral, +} from "./template-literal.js"; +import { printTernary } from "./ternary.js"; +import { printTypeAnnotationProperty } from "./type-annotation.js"; /** * @typedef {import("../../common/ast-path.js").default} AstPath diff --git a/src/language-js/print/expression-statement.js b/src/language-js/print/expression-statement.js index bbe9f74f4..f2794c703 100644 --- a/src/language-js/print/expression-statement.js +++ b/src/language-js/print/expression-statement.js @@ -1,8 +1,8 @@ import { printDanglingComments } from "../../main/comments/print.js"; import { - markerForIfWithoutBlockAndSameLineComment, - hasComment, CommentCheckFlags, + hasComment, + markerForIfWithoutBlockAndSameLineComment, } from "../utils/index.js"; import { isSingleJsxExpressionStatementInMarkdown, diff --git a/src/language-js/print/flow.js b/src/language-js/print/flow.js index 35edd83af..379857730 100644 --- a/src/language-js/print/flow.js +++ b/src/language-js/print/flow.js @@ -1,52 +1,53 @@ /** @typedef {import("../../document/builders.js").Doc} Doc */ import assert from "node:assert"; -import printString from "../../utils/print-string.js"; -import printNumber from "../../utils/print-number.js"; + import { replaceEndOfLine } from "../../document/utils.js"; +import printNumber from "../../utils/print-number.js"; +import printString from "../../utils/print-string.js"; import { isFunctionNotation, isGetterOrSetter, rawText, } from "../utils/index.js"; import isFlowKeywordType from "../utils/is-flow-keyword-type.js"; +import { printArray } from "./array.js"; import { printBinaryCastExpression } from "./cast-expression.js"; import { printClass } from "./class.js"; import { - printOpaqueType, - printTypeAlias, - printIntersectionType, - printInferType, - printUnionType, - printFunctionType, - printIndexedAccessType, - printRestType, - printNamedTupleMember, - printTypeAnnotation, - printTypeAnnotationProperty, - printArrayType, - printTypeQuery, - printTypePredicate, -} from "./type-annotation.js"; -import { printInterface } from "./interface.js"; -import { printTypeParameter, printTypeParameters } from "./type-parameters.js"; -import { printExportDeclaration } from "./module.js"; -import { printArray } from "./array.js"; -import { printObject } from "./object.js"; -import { printPropertyKey } from "./property.js"; -import { - printEnumDeclaration, printEnumBody, + printEnumDeclaration, printEnumMember, } from "./enum.js"; +import { printInterface } from "./interface.js"; import { printBigInt } from "./literal.js"; +import { printFlowMappedTypeProperty } from "./mapped-type.js"; import { + printDeclareToken, printOptionalToken, printRestSpread, - printDeclareToken, } from "./misc.js"; +import { printExportDeclaration } from "./module.js"; +import { printObject } from "./object.js"; +import { printPropertyKey } from "./property.js"; import { printTernary } from "./ternary.js"; -import { printFlowMappedTypeProperty } from "./mapped-type.js"; +import { + printArrayType, + printFunctionType, + printIndexedAccessType, + printInferType, + printIntersectionType, + printNamedTupleMember, + printOpaqueType, + printRestType, + printTypeAlias, + printTypeAnnotation, + printTypeAnnotationProperty, + printTypePredicate, + printTypeQuery, + printUnionType, +} from "./type-annotation.js"; +import { printTypeParameter, printTypeParameters } from "./type-parameters.js"; function printFlow(path, options, print) { const { node } = path; diff --git a/src/language-js/print/function-parameters.js b/src/language-js/print/function-parameters.js index 7f454f764..c88f9e557 100644 --- a/src/language-js/print/function-parameters.js +++ b/src/language-js/print/function-parameters.js @@ -1,32 +1,32 @@ -import getNextNonSpaceNonCommentCharacter from "../../utils/get-next-non-space-non-comment-character.js"; -import { printDanglingComments } from "../../main/comments/print.js"; +import { ArgExpansionBailout } from "../../common/errors.js"; import { - line, - hardline, - softline, group, - indent, + hardline, ifBreak, + indent, + line, + softline, } from "../../document/builders.js"; import { removeLines, willBreak } from "../../document/utils.js"; +import { printDanglingComments } from "../../main/comments/print.js"; +import getNextNonSpaceNonCommentCharacter from "../../utils/get-next-non-space-non-comment-character.js"; +import isNonEmptyArray from "../../utils/is-non-empty-array.js"; +import { locEnd } from "../loc.js"; import { getFunctionParameters, - iterateFunctionParametersPath, + hasComment, + hasRestParameter, + isArrayOrTupleExpression, + isNextLineEmpty, + isObjectOrRecordExpression, + isObjectType, + isObjectTypePropertyAFunction, isSimpleType, isTestCall, isTypeAnnotationAFunction, - isObjectType, - isObjectTypePropertyAFunction, - hasRestParameter, + iterateFunctionParametersPath, shouldPrintComma, - hasComment, - isNextLineEmpty, - isArrayOrTupleExpression, - isObjectOrRecordExpression, } from "../utils/index.js"; -import { locEnd } from "../loc.js"; -import { ArgExpansionBailout } from "../../common/errors.js"; -import isNonEmptyArray from "../../utils/is-non-empty-array.js"; import { printFunctionTypeParameters } from "./misc.js"; /** @typedef {import("../../common/ast-path.js").default} AstPath */ @@ -291,7 +291,7 @@ function shouldBreakFunctionParameters(functionNode) { export { printFunctionParameters, - shouldHugTheOnlyFunctionParameter, - shouldGroupFunctionParameters, shouldBreakFunctionParameters, + shouldGroupFunctionParameters, + shouldHugTheOnlyFunctionParameter, }; diff --git a/src/language-js/print/function.js b/src/language-js/print/function.js index a26e45df2..302e58be1 100644 --- a/src/language-js/print/function.js +++ b/src/language-js/print/function.js @@ -1,33 +1,34 @@ import assert from "node:assert"; -import { printDanglingComments } from "../../main/comments/print.js"; + import { - softline, group, - indent, - ifBreak, hardline, + ifBreak, + indent, + softline, } from "../../document/builders.js"; -import { - getFunctionParameters, - hasLeadingOwnLineComment, - isBinaryish, - isJsxElement, - hasComment, - CommentCheckFlags, - isCallExpression, - getCallArguments, - hasNakedLeftSide, - getLeftSide, -} from "../utils/index.js"; +import { printDanglingComments } from "../../main/comments/print.js"; import hasNewlineInRange from "../../utils/has-newline-in-range.js"; import { locEnd, locStart } from "../loc.js"; +import { + CommentCheckFlags, + getCallArguments, + getFunctionParameters, + getLeftSide, + hasComment, + hasLeadingOwnLineComment, + hasNakedLeftSide, + isBinaryish, + isCallExpression, + isJsxElement, +} from "../utils/index.js"; import { printFunctionParameters, - shouldGroupFunctionParameters, shouldBreakFunctionParameters, + shouldGroupFunctionParameters, } from "./function-parameters.js"; +import { printDeclareToken, printFunctionTypeParameters } from "./misc.js"; import { printPropertyKey } from "./property.js"; -import { printFunctionTypeParameters, printDeclareToken } from "./misc.js"; import { printTypeAnnotationProperty } from "./type-annotation.js"; /** @@ -325,9 +326,9 @@ function returnArgumentHasLeadingComment(options, argument) { export { printFunction, printMethod, - printReturnStatement, - printThrowStatement, printMethodValue, + printReturnStatement, printReturnType, + printThrowStatement, shouldPrintParamsWithoutParens, }; diff --git a/src/language-js/print/html-binding.js b/src/language-js/print/html-binding.js index 1de597516..70c04a050 100644 --- a/src/language-js/print/html-binding.js +++ b/src/language-js/print/html-binding.js @@ -1,9 +1,9 @@ import { + group, + indent, join, line, - group, softline, - indent, } from "../../document/builders.js"; function printHtmlBinding(path, options, print) { diff --git a/src/language-js/print/index.js b/src/language-js/print/index.js index 60ea1ac76..70eb85077 100644 --- a/src/language-js/print/index.js +++ b/src/language-js/print/index.js @@ -1,17 +1,17 @@ -import printIgnored from "../../main/print-ignored.js"; -import { line, group, indent } from "../../document/builders.js"; +import { group, indent, line } from "../../document/builders.js"; import { inheritLabel } from "../../document/utils.js"; +import printIgnored from "../../main/print-ignored.js"; import isNonEmptyArray from "../../utils/is-non-empty-array.js"; import pathNeedsParens from "../needs-parens.js"; import { createTypeCheckFunction } from "../utils/index.js"; import isIgnored from "../utils/is-ignored.js"; -import { printEstree } from "./estree.js"; import { printAngular } from "./angular.js"; -import { printJsx } from "./jsx.js"; -import { printFlow } from "./flow.js"; -import { printTypescript } from "./typescript.js"; import { printDecorators } from "./decorators.js"; +import { printEstree } from "./estree.js"; +import { printFlow } from "./flow.js"; +import { printJsx } from "./jsx.js"; import { shouldPrintLeadingSemicolon } from "./semicolon.js"; +import { printTypescript } from "./typescript.js"; /** * @typedef {import("../../common/ast-path.js").default} AstPath diff --git a/src/language-js/print/interface.js b/src/language-js/print/interface.js index 4ea09a006..aff74ca4d 100644 --- a/src/language-js/print/interface.js +++ b/src/language-js/print/interface.js @@ -1,8 +1,8 @@ +import { group, ifBreak, indent, join, line } from "../../document/builders.js"; import isNonEmptyArray from "../../utils/is-non-empty-array.js"; -import { join, line, group, indent, ifBreak } from "../../document/builders.js"; -import { hasComment, identity, CommentCheckFlags } from "../utils/index.js"; -import { getTypeParametersGroupId } from "./type-parameters.js"; +import { CommentCheckFlags, hasComment, identity } from "../utils/index.js"; import { printDeclareToken } from "./misc.js"; +import { getTypeParametersGroupId } from "./type-parameters.js"; /** * @typedef {import("../../document/builders.js").Doc} Doc diff --git a/src/language-js/print/jsx.js b/src/language-js/print/jsx.js index 239aff5b5..424756498 100644 --- a/src/language-js/print/jsx.js +++ b/src/language-js/print/jsx.js @@ -1,38 +1,38 @@ +import { + conditionalGroup, + cursor, + fill, + group, + hardline, + ifBreak, + indent, + join, + line, + lineSuffixBoundary, + softline, +} from "../../document/builders.js"; +import { replaceEndOfLine, willBreak } from "../../document/utils.js"; import { printComments, printDanglingComments, } from "../../main/comments/print.js"; -import { - line, - hardline, - softline, - group, - indent, - conditionalGroup, - fill, - ifBreak, - lineSuffixBoundary, - join, - cursor, -} from "../../document/builders.js"; -import { willBreak, replaceEndOfLine } from "../../document/utils.js"; -import UnexpectedNodeError from "../../utils/unexpected-node-error.js"; import getPreferredQuote from "../../utils/get-preferred-quote.js"; +import UnexpectedNodeError from "../../utils/unexpected-node-error.js"; import WhitespaceUtils from "../../utils/whitespace-utils.js"; +import { willPrintOwnComments } from "../comments/printer-methods.js"; +import pathNeedsParens from "../needs-parens.js"; import { - isJsxElement, - rawText, - isCallExpression, - isStringLiteral, - isBinaryish, - hasComment, CommentCheckFlags, + hasComment, hasNodeIgnoreComment, isArrayOrTupleExpression, + isBinaryish, + isCallExpression, + isJsxElement, isObjectOrRecordExpression, + isStringLiteral, + rawText, } from "../utils/index.js"; -import pathNeedsParens from "../needs-parens.js"; -import { willPrintOwnComments } from "../comments/printer-methods.js"; /* Only the following are treated as whitespace inside JSX. diff --git a/src/language-js/print/literal.js b/src/language-js/print/literal.js index 533dcc0b3..c87239fc3 100644 --- a/src/language-js/print/literal.js +++ b/src/language-js/print/literal.js @@ -1,6 +1,6 @@ -import printString from "../../utils/print-string.js"; -import printNumber from "../../utils/print-number.js"; import { replaceEndOfLine } from "../../document/utils.js"; +import printNumber from "../../utils/print-number.js"; +import printString from "../../utils/print-string.js"; /** * @typedef {import("../types/estree.js").Node} Node @@ -91,4 +91,4 @@ function printDirective(rawText, options) { return enclosingQuote + rawContent + enclosingQuote; } -export { printLiteral, printBigInt }; +export { printBigInt, printLiteral }; diff --git a/src/language-js/print/mapped-type.js b/src/language-js/print/mapped-type.js index 3250a86b7..6e6c71483 100644 --- a/src/language-js/print/mapped-type.js +++ b/src/language-js/print/mapped-type.js @@ -1,13 +1,13 @@ +import { + group, + ifBreak, + indent, + line, + softline, +} from "../../document/builders.js"; import { printDanglingComments } from "../../main/comments/print.js"; import hasNewlineInRange from "../../utils/has-newline-in-range.js"; import { locStart } from "../loc.js"; -import { - group, - softline, - indent, - ifBreak, - line, -} from "../../document/builders.js"; /** * @param {string | null} optional @@ -87,6 +87,6 @@ function printTypescriptMappedType(path, options, print) { export { printFlowMappedTypeProperty, - printTypeScriptMappedTypeModifier, printTypescriptMappedType, + printTypeScriptMappedTypeModifier, }; diff --git a/src/language-js/print/member-chain.js b/src/language-js/print/member-chain.js index deccb7feb..ad4de20d0 100644 --- a/src/language-js/print/member-chain.js +++ b/src/language-js/print/member-chain.js @@ -1,37 +1,36 @@ -import { printComments } from "../../main/comments/print.js"; -import isNextLineEmptyAfterIndex from "../../utils/is-next-line-empty.js"; -import getNextNonSpaceNonCommentCharacterIndex from "../../utils/get-next-non-space-non-comment-character-index.js"; -import pathNeedsParens from "../needs-parens.js"; import { - isCallExpression, - isMemberExpression, - isFunctionOrArrowExpression, - isLongCurriedCallExpression, - isMemberish, - isNumericLiteral, - isSimpleCallArgument, - hasComment, - CommentCheckFlags, - isNextLineEmpty, -} from "../utils/index.js"; -import { locEnd } from "../loc.js"; - -import { - join, - hardline, - group, - indent, - conditionalGroup, breakParent, + conditionalGroup, + group, + hardline, + indent, + join, label, } from "../../document/builders.js"; import { willBreak } from "../../document/utils.js"; +import { printComments } from "../../main/comments/print.js"; +import getNextNonSpaceNonCommentCharacterIndex from "../../utils/get-next-non-space-non-comment-character-index.js"; +import isNextLineEmptyAfterIndex from "../../utils/is-next-line-empty.js"; +import { locEnd } from "../loc.js"; +import pathNeedsParens from "../needs-parens.js"; +import { + CommentCheckFlags, + hasComment, + isCallExpression, + isFunctionOrArrowExpression, + isLongCurriedCallExpression, + isMemberExpression, + isMemberish, + isNextLineEmpty, + isNumericLiteral, + isSimpleCallArgument, +} from "../utils/index.js"; import printCallArguments from "./call-arguments.js"; import { printMemberLookup } from "./member.js"; import { - printOptionalToken, - printFunctionTypeParameters, printBindExpressionCallee, + printFunctionTypeParameters, + printOptionalToken, } from "./misc.js"; /** diff --git a/src/language-js/print/member.js b/src/language-js/print/member.js index be078a0fc..4dcc9735a 100644 --- a/src/language-js/print/member.js +++ b/src/language-js/print/member.js @@ -1,8 +1,8 @@ -import { softline, group, indent, label } from "../../document/builders.js"; +import { group, indent, label, softline } from "../../document/builders.js"; import { - isNumericLiteral, - isMemberExpression, isCallExpression, + isMemberExpression, + isNumericLiteral, } from "../utils/index.js"; import { printOptionalToken } from "./misc.js"; diff --git a/src/language-js/print/misc.js b/src/language-js/print/misc.js index 3c0785ca3..e651233af 100644 --- a/src/language-js/print/misc.js +++ b/src/language-js/print/misc.js @@ -124,13 +124,13 @@ function printTypeScriptAccessibilityToken(node) { } export { - printOptionalToken, - printDefiniteToken, - printDeclareToken, - printAbstractToken, - printFunctionTypeParameters, - printBindExpressionCallee, - printRestSpread, adjustClause, + printAbstractToken, + printBindExpressionCallee, + printDeclareToken, + printDefiniteToken, + printFunctionTypeParameters, + printOptionalToken, + printRestSpread, printTypeScriptAccessibilityToken, }; diff --git a/src/language-js/print/module.js b/src/language-js/print/module.js index 77dad28f9..17251d80a 100644 --- a/src/language-js/print/module.js +++ b/src/language-js/print/module.js @@ -1,27 +1,27 @@ import assert from "node:assert"; -import isNonEmptyArray from "../../utils/is-non-empty-array.js"; -import UnexpectedNodeError from "../../utils/unexpected-node-error.js"; + import { - softline, group, + hardline, + ifBreak, indent, join, line, - ifBreak, - hardline, + softline, } from "../../document/builders.js"; import { printDanglingComments } from "../../main/comments/print.js"; - +import isNonEmptyArray from "../../utils/is-non-empty-array.js"; +import UnexpectedNodeError from "../../utils/unexpected-node-error.js"; +import { hasSameLoc, locEnd, locStart } from "../loc.js"; import { - hasComment, CommentCheckFlags, - shouldPrintComma, - needsHardlineAfterDanglingComment, - isStringLiteral, - rawText, createTypeCheckFunction, + hasComment, + isStringLiteral, + needsHardlineAfterDanglingComment, + rawText, + shouldPrintComma, } from "../utils/index.js"; -import { locStart, hasSameLoc, locEnd } from "../loc.js"; import { printDecoratorsBeforeExport } from "./decorators.js"; import { printDeclareToken } from "./misc.js"; @@ -405,8 +405,8 @@ function isShorthandSpecifier(specifier) { } export { - printImportDeclaration, printExportDeclaration, - printModuleSpecifier, + printImportDeclaration, printImportKind, + printModuleSpecifier, }; diff --git a/src/language-js/print/object.js b/src/language-js/print/object.js index 92d210ec1..83f6e532e 100644 --- a/src/language-js/print/object.js +++ b/src/language-js/print/object.js @@ -1,28 +1,27 @@ -import { printDanglingComments } from "../../main/comments/print.js"; import { + group, + hardline, + ifBreak, + indent, line, softline, - group, - indent, - ifBreak, - hardline, } from "../../document/builders.js"; -import hasNewlineInRange from "../../utils/has-newline-in-range.js"; +import { printDanglingComments } from "../../main/comments/print.js"; import hasNewline from "../../utils/has-newline.js"; +import hasNewlineInRange from "../../utils/has-newline-in-range.js"; import isNonEmptyArray from "../../utils/is-non-empty-array.js"; +import { locEnd, locStart } from "../loc.js"; import { - shouldPrintComma, - hasComment, - getComments, CommentCheckFlags, + getComments, + hasComment, isNextLineEmpty, isObjectType, + shouldPrintComma, } from "../utils/index.js"; -import { locStart, locEnd } from "../loc.js"; - -import { printOptionalToken } from "./misc.js"; -import { shouldHugTheOnlyFunctionParameter } from "./function-parameters.js"; import { printHardlineAfterHeritage } from "./class.js"; +import { shouldHugTheOnlyFunctionParameter } from "./function-parameters.js"; +import { printOptionalToken } from "./misc.js"; import { printTypeAnnotationProperty } from "./type-annotation.js"; /** @typedef {import("../../document/builders.js").Doc} Doc */ diff --git a/src/language-js/print/property.js b/src/language-js/print/property.js index da11e053c..7a3504807 100644 --- a/src/language-js/print/property.js +++ b/src/language-js/print/property.js @@ -1,6 +1,6 @@ import { printComments } from "../../main/comments/print.js"; -import printString from "../../utils/print-string.js"; import printNumber from "../../utils/print-number.js"; +import printString from "../../utils/print-string.js"; import { isNumericLiteral, isSimpleNumber, diff --git a/src/language-js/print/semicolon.js b/src/language-js/print/semicolon.js index 69f26f10b..30a2c234c 100644 --- a/src/language-js/print/semicolon.js +++ b/src/language-js/print/semicolon.js @@ -128,8 +128,8 @@ function isSingleVueEventBindingExpressionStatement({ node, parent }, options) { } export { - shouldPrintLeadingSemicolon, isSingleJsxExpressionStatementInMarkdown, isSingleVueEventBindingExpressionStatement, isVueEventBindingExpression, + shouldPrintLeadingSemicolon, }; diff --git a/src/language-js/print/template-literal.js b/src/language-js/print/template-literal.js index db987bec2..d4b1db9cc 100644 --- a/src/language-js/print/template-literal.js +++ b/src/language-js/print/template-literal.js @@ -1,27 +1,27 @@ -import getStringWidth from "../../utils/get-string-width.js"; -import getIndentSize from "../../utils/get-indent-size.js"; import { - join, - hardline, - softline, - group, - indent, - align, - lineSuffixBoundary, addAlignmentToDoc, + align, + group, + hardline, + indent, + join, label, + lineSuffixBoundary, + softline, } from "../../document/builders.js"; import { printDocToString } from "../../document/printer.js"; import { mapDoc } from "../../document/utils.js"; -import { - isBinaryish, - isSimpleTemplateLiteral, - hasComment, - isMemberExpression, - isBinaryCastExpression, -} from "../utils/index.js"; +import getIndentSize from "../../utils/get-indent-size.js"; +import getStringWidth from "../../utils/get-string-width.js"; import hasNewlineInRange from "../../utils/has-newline-in-range.js"; -import { locStart, locEnd } from "../loc.js"; +import { locEnd, locStart } from "../loc.js"; +import { + hasComment, + isBinaryCastExpression, + isBinaryish, + isMemberExpression, + isSimpleTemplateLiteral, +} from "../utils/index.js"; function printTemplateLiteral(path, print, options) { const { node } = path; @@ -296,9 +296,9 @@ function isJestEachTemplateLiteral({ node, parent }) { } export { - printTemplateLiteral, + escapeTemplateCharacters, printTaggedTemplateLiteral, printTemplateExpressions, - escapeTemplateCharacters, + printTemplateLiteral, uncookTemplateElementValue, }; diff --git a/src/language-js/print/ternary-old.js b/src/language-js/print/ternary-old.js index ee2d478d6..c9f42388f 100644 --- a/src/language-js/print/ternary-old.js +++ b/src/language-js/print/ternary-old.js @@ -1,23 +1,23 @@ -import hasNewlineInRange from "../../utils/has-newline-in-range.js"; -import { - isJsxElement, - isCallExpression, - isMemberExpression, - isBinaryCastExpression, - hasComment, -} from "../utils/index.js"; -import { locStart, locEnd } from "../loc.js"; -import isBlockComment from "../utils/is-block-comment.js"; import { + align, + breakParent, + dedent, + group, + ifBreak, + indent, line, softline, - group, - indent, - align, - ifBreak, - dedent, - breakParent, } from "../../document/builders.js"; +import hasNewlineInRange from "../../utils/has-newline-in-range.js"; +import { locEnd, locStart } from "../loc.js"; +import { + hasComment, + isBinaryCastExpression, + isCallExpression, + isJsxElement, + isMemberExpression, +} from "../utils/index.js"; +import isBlockComment from "../utils/is-block-comment.js"; /** * @typedef {import("../../document/builders.js").Doc} Doc diff --git a/src/language-js/print/ternary.js b/src/language-js/print/ternary.js index 5fd7f0ad7..6e2ee6737 100644 --- a/src/language-js/print/ternary.js +++ b/src/language-js/print/ternary.js @@ -1,30 +1,29 @@ -import hasNewlineInRange from "../../utils/has-newline-in-range.js"; -import { - isJsxElement, - isCallExpression, - isMemberExpression, - isBinaryCastExpression, - getComments, - isLoneShortArgument, - isSimpleExpressionByNodeCount, - hasComment, - CommentCheckFlags, -} from "../utils/index.js"; -import { locStart, locEnd } from "../loc.js"; -import isBlockComment from "../utils/is-block-comment.js"; import { + breakParent, + dedent, + group, + hardline, + ifBreak, + indent, line, softline, - hardline, - group, - indent, - dedent, - ifBreak, - breakParent, } from "../../document/builders.js"; -import pathNeedsParens from "../needs-parens.js"; import { printDanglingComments } from "../../main/comments/print.js"; - +import hasNewlineInRange from "../../utils/has-newline-in-range.js"; +import { locEnd, locStart } from "../loc.js"; +import pathNeedsParens from "../needs-parens.js"; +import { + CommentCheckFlags, + getComments, + hasComment, + isBinaryCastExpression, + isCallExpression, + isJsxElement, + isLoneShortArgument, + isMemberExpression, + isSimpleExpressionByNodeCount, +} from "../utils/index.js"; +import isBlockComment from "../utils/is-block-comment.js"; import { printTernaryOld } from "./ternary-old.js"; /** diff --git a/src/language-js/print/type-annotation.js b/src/language-js/print/type-annotation.js index adc7e7877..48f7d69d8 100644 --- a/src/language-js/print/type-annotation.js +++ b/src/language-js/print/type-annotation.js @@ -1,23 +1,23 @@ -import { printComments } from "../../main/comments/print.js"; import { + align, group, + ifBreak, + indent, join, line, softline, - indent, - align, - ifBreak, } from "../../document/builders.js"; -import pathNeedsParens from "../needs-parens.js"; +import { printComments } from "../../main/comments/print.js"; import { hasSameLocStart } from "../loc.js"; +import pathNeedsParens from "../needs-parens.js"; import { - isSimpleType, - isObjectType, - hasLeadingOwnLineComment, - isObjectTypePropertyAFunction, - hasComment, CommentCheckFlags, createTypeCheckFunction, + hasComment, + hasLeadingOwnLineComment, + isObjectType, + isObjectTypePropertyAFunction, + isSimpleType, isUnionType, } from "../utils/index.js"; import { printAssignment } from "./assignment.js"; @@ -26,9 +26,9 @@ import { shouldGroupFunctionParameters, } from "./function-parameters.js"; import { - printOptionalToken, - printDeclareToken, printAbstractToken, + printDeclareToken, + printOptionalToken, } from "./misc.js"; /** @@ -553,20 +553,20 @@ function printTypePredicate(path, print) { } export { - printOpaqueType, - printTypeAlias, - printIntersectionType, - printUnionType, + printArrayType, printFunctionType, printIndexedAccessType, printInferType, - shouldHugType, + printIntersectionType, printJSDocType, - printRestType, printNamedTupleMember, - printTypeAnnotationProperty, + printOpaqueType, + printRestType, + printTypeAlias, printTypeAnnotation, - printArrayType, - printTypeQuery, + printTypeAnnotationProperty, printTypePredicate, + printTypeQuery, + printUnionType, + shouldHugType, }; diff --git a/src/language-js/print/type-parameters.js b/src/language-js/print/type-parameters.js index 4a77ec2ac..a35b29320 100644 --- a/src/language-js/print/type-parameters.js +++ b/src/language-js/print/type-parameters.js @@ -1,30 +1,30 @@ -import { printDanglingComments } from "../../main/comments/print.js"; import { + group, + hardline, + ifBreak, + indent, + indentIfBreak, join, line, - hardline, - softline, - group, - indent, - ifBreak, lineSuffixBoundary, - indentIfBreak, + softline, } from "../../document/builders.js"; -import { - isTestCall, - hasComment, - CommentCheckFlags, - shouldPrintComma, - getFunctionParameters, - isObjectType, -} from "../utils/index.js"; +import { printDanglingComments } from "../../main/comments/print.js"; import createGroupIdMapper from "../../utils/create-group-id-mapper.js"; +import { + CommentCheckFlags, + getFunctionParameters, + hasComment, + isObjectType, + isTestCall, + shouldPrintComma, +} from "../utils/index.js"; +import { isArrowFunctionVariableDeclarator } from "./assignment.js"; +import { printTypeScriptMappedTypeModifier } from "./mapped-type.js"; import { printTypeAnnotationProperty, shouldHugType, } from "./type-annotation.js"; -import { isArrowFunctionVariableDeclarator } from "./assignment.js"; -import { printTypeScriptMappedTypeModifier } from "./mapped-type.js"; const getTypeParametersGroupId = createGroupIdMapper("typeParameters"); @@ -189,4 +189,4 @@ function printTypeParameter(path, options, print) { return group(parts); } -export { printTypeParameter, printTypeParameters, getTypeParametersGroupId }; +export { getTypeParametersGroupId, printTypeParameter, printTypeParameters }; diff --git a/src/language-js/print/typescript.js b/src/language-js/print/typescript.js index e2f162530..fddc7bd51 100644 --- a/src/language-js/print/typescript.js +++ b/src/language-js/print/typescript.js @@ -1,60 +1,59 @@ import { + conditionalGroup, + group, + ifBreak, + indent, join, softline, - group, - indent, - conditionalGroup, - ifBreak, } from "../../document/builders.js"; import UnexpectedNodeError from "../../utils/unexpected-node-error.js"; +import { locStart } from "../loc.js"; import { - isStringLiteral, - shouldPrintComma, isArrayOrTupleExpression, isObjectOrRecordExpression, + isStringLiteral, + shouldPrintComma, } from "../utils/index.js"; import isTsKeywordType from "../utils/is-ts-keyword-type.js"; -import { locStart } from "../loc.js"; - -import { - printOptionalToken, - printDeclareToken, - printTypeScriptAccessibilityToken, -} from "./misc.js"; -import { printTernary } from "./ternary.js"; +import { printArray } from "./array.js"; +import { printBlock } from "./block.js"; +import { printBinaryCastExpression } from "./cast-expression.js"; +import { printClassMethod, printClassProperty } from "./class.js"; +import { printEnumDeclaration, printEnumMember } from "./enum.js"; +import { printFunction, printMethodValue } from "./function.js"; import { printFunctionParameters, shouldGroupFunctionParameters, } from "./function-parameters.js"; -import { printTemplateLiteral } from "./template-literal.js"; -import { printArray } from "./array.js"; -import { printObject } from "./object.js"; -import { printClassProperty, printClassMethod } from "./class.js"; -import { printTypeParameter, printTypeParameters } from "./type-parameters.js"; -import { printPropertyKey } from "./property.js"; -import { printFunction, printMethodValue } from "./function.js"; import { printInterface } from "./interface.js"; -import { printBlock } from "./block.js"; -import { printBinaryCastExpression } from "./cast-expression.js"; +import { printTypescriptMappedType } from "./mapped-type.js"; import { - printTypeAlias, - printIntersectionType, - printUnionType, + printDeclareToken, + printOptionalToken, + printTypeScriptAccessibilityToken, +} from "./misc.js"; +import { printImportKind } from "./module.js"; +import { printObject } from "./object.js"; +import { printPropertyKey } from "./property.js"; +import { printTemplateLiteral } from "./template-literal.js"; +import { printTernary } from "./ternary.js"; +import { + printArrayType, printFunctionType, printIndexedAccessType, printInferType, + printIntersectionType, printJSDocType, - printRestType, printNamedTupleMember, + printRestType, + printTypeAlias, printTypeAnnotation, printTypeAnnotationProperty, - printArrayType, - printTypeQuery, printTypePredicate, + printTypeQuery, + printUnionType, } from "./type-annotation.js"; -import { printEnumDeclaration, printEnumMember } from "./enum.js"; -import { printImportKind } from "./module.js"; -import { printTypescriptMappedType } from "./mapped-type.js"; +import { printTypeParameter, printTypeParameters } from "./type-parameters.js"; function printTypescript(path, options, print) { const { node } = path; diff --git a/src/language-js/printer.js b/src/language-js/printer.js index d56b02e69..0ed5669f4 100644 --- a/src/language-js/printer.js +++ b/src/language-js/printer.js @@ -2,9 +2,9 @@ export const experimentalFeatures = { // TODO: Make this default behavior avoidAstMutation: true, }; -export { default as print } from "./print/index.js"; +export { default as massageAstNode } from "./clean.js"; export * from "./comments/printer-methods.js"; export { default as embed } from "./embed/index.js"; -export { default as massageAstNode } from "./clean.js"; export { insertPragma } from "./pragma.js"; +export { default as print } from "./print/index.js"; export { default as getVisitorKeys } from "./traverse/get-visitor-keys.js"; diff --git a/src/language-js/traverse/visitor-keys.evaluate.js b/src/language-js/traverse/visitor-keys.evaluate.js index 7c3e02d7e..286f937a0 100644 --- a/src/language-js/traverse/visitor-keys.evaluate.js +++ b/src/language-js/traverse/visitor-keys.evaluate.js @@ -1,6 +1,7 @@ import { VISITOR_KEYS as babelVisitorKeys } from "@babel/types"; import { visitorKeys as tsVisitorKeys } from "@typescript-eslint/visitor-keys"; import flowVisitorKeys from "hermes-parser/dist/generated/ESTreeVisitorKeys.js"; + import unionVisitorKeys from "./union-visitor-keys.js"; const angularVisitorKeys = { diff --git a/src/language-js/utils/index.js b/src/language-js/utils/index.js index 6dac0a16f..020f18d58 100644 --- a/src/language-js/utils/index.js +++ b/src/language-js/utils/index.js @@ -1,16 +1,17 @@ import isEs5IdentifierName from "@prettier/is-es5-identifier-name"; + import { hasDescendant } from "../../utils/ast-utils.js"; -import hasNewline from "../../utils/has-newline.js"; -import isNonEmptyArray from "../../utils/is-non-empty-array.js"; -import isNextLineEmptyAfterIndex from "../../utils/is-next-line-empty.js"; import getStringWidth from "../../utils/get-string-width.js"; -import { locStart, locEnd, hasSameLocStart } from "../loc.js"; -import getVisitorKeys from "../traverse/get-visitor-keys.js"; +import hasNewline from "../../utils/has-newline.js"; +import isNextLineEmptyAfterIndex from "../../utils/is-next-line-empty.js"; +import isNonEmptyArray from "../../utils/is-non-empty-array.js"; import printString from "../../utils/print-string.js"; +import { hasSameLocStart, locEnd, locStart } from "../loc.js"; +import getVisitorKeys from "../traverse/get-visitor-keys.js"; import createTypeCheckFunction from "./create-type-check-function.js"; import isBlockComment from "./is-block-comment.js"; -import isNodeMatches from "./is-node-matches.js"; import isFlowKeywordType from "./is-flow-keyword-type.js"; +import isNodeMatches from "./is-node-matches.js"; import isTsKeywordType from "./is-ts-keyword-type.js"; /** @@ -1243,69 +1244,69 @@ const isIntersectionType = createTypeCheckFunction([ ]); export { - getFunctionParameters, - iterateFunctionParametersPath, + CommentCheckFlags, + createTypeCheckFunction, getCallArguments, - iterateCallArgumentsPath, getCallArgumentSelector, - hasRestParameter, + getComments, + getFunctionParameters, getLeftSide, getLeftSidePathName, + getPrecedence, + hasComment, hasLeadingOwnLineComment, hasNakedLeftSide, hasNode, hasNodeIgnoreComment, + hasRestParameter, identity, + isArrayOrTupleExpression, + isBinaryCastExpression, isBinaryish, - isCallLikeExpression, - isLineComment, - isPrettierIgnoreComment, + isBitwiseOperator, isCallExpression, - isMemberExpression, + isCallLikeExpression, isExportDeclaration, isFunctionCompositionArgs, isFunctionNotation, isFunctionOrArrowExpression, isGetterOrSetter, + isIntersectionType, isJsxElement, + isLineComment, + isLiteral, + isLoneShortArgument, isLongCurriedCallExpression, - isSimpleCallArgument, + isMemberExpression, isMemberish, + isNextLineEmpty, isNumericLiteral, - isSignedNumericLiteral, + isObjectOrRecordExpression, isObjectProperty, isObjectType, isObjectTypePropertyAFunction, + isPrettierIgnoreComment, isRegExpLiteral, - isSimpleType, - isSimpleNumber, + isSignedNumericLiteral, isSimpleAtomicExpression, - isSimpleMemberExpression, - isSimpleTemplateLiteral, + isSimpleCallArgument, isSimpleExpressionByNodeCount, - isLoneShortArgument, + isSimpleMemberExpression, + isSimpleNumber, + isSimpleTemplateLiteral, + isSimpleType, isStringLiteral, - isLiteral, isStringPropSafeToUnquote, isTemplateOnItsOwnLine, isTestCall, isTypeAnnotationAFunction, - isNextLineEmpty, + isUnionType, + iterateCallArgumentsPath, + iterateFunctionParametersPath, + markerForIfWithoutBlockAndSameLineComment, needsHardlineAfterDanglingComment, rawText, - shouldPrintComma, - isBitwiseOperator, shouldFlatten, + shouldPrintComma, startsWithNoLookaheadToken, - getPrecedence, - hasComment, - getComments, - CommentCheckFlags, - markerForIfWithoutBlockAndSameLineComment, - isBinaryCastExpression, - isArrayOrTupleExpression, - isObjectOrRecordExpression, - createTypeCheckFunction, - isUnionType, - isIntersectionType, }; diff --git a/src/language-json/languages.evaluate.js b/src/language-json/languages.evaluate.js index 175d6f88a..0ecc91965 100644 --- a/src/language-json/languages.evaluate.js +++ b/src/language-json/languages.evaluate.js @@ -1,4 +1,5 @@ import linguistLanguages from "linguist-languages"; + import createLanguage from "../utils/create-language.js"; const languages = [ diff --git a/src/language-json/parser-json.js b/src/language-json/parser-json.js index 6a84f7186..26692bfc3 100644 --- a/src/language-json/parser-json.js +++ b/src/language-json/parser-json.js @@ -1,9 +1,10 @@ import { parseExpression } from "@babel/parser"; -import isNonEmptyArray from "../utils/is-non-empty-array.js"; + import createError from "../common/parser-create-error.js"; -import createParser from "../language-js/parse/utils/create-parser.js"; import createBabelParseError from "../language-js/parse/utils/create-babel-parse-error.js"; +import createParser from "../language-js/parse/utils/create-parser.js"; import wrapBabelExpression from "../language-js/parse/utils/wrap-babel-expression.js"; +import isNonEmptyArray from "../utils/is-non-empty-array.js"; function createJsonParse(options = {}) { const { allowComments = true } = options; diff --git a/src/language-json/printer-estree-json.js b/src/language-json/printer-estree-json.js index e16e962b0..257dabb44 100644 --- a/src/language-json/printer-estree-json.js +++ b/src/language-json/printer-estree-json.js @@ -112,5 +112,5 @@ function clean(node, newNode /*, parent*/) { clean.ignoredProperties = ignoredProperties; -export { genericPrint as print, clean as massageAstNode }; +export { clean as massageAstNode, genericPrint as print }; export { default as getVisitorKeys } from "./get-visitor-keys.js"; diff --git a/src/language-markdown/clean.js b/src/language-markdown/clean.js index 4cafc18b0..21daaf0ef 100644 --- a/src/language-markdown/clean.js +++ b/src/language-markdown/clean.js @@ -1,4 +1,5 @@ import collapseWhiteSpace from "collapse-white-space"; + import isFrontMatter from "../utils/front-matter/is-front-matter.js"; import { startWithPragma } from "./pragma.js"; diff --git a/src/language-markdown/embed.js b/src/language-markdown/embed.js index 8eba48472..1433ff9aa 100644 --- a/src/language-markdown/embed.js +++ b/src/language-markdown/embed.js @@ -1,7 +1,7 @@ -import getMaxContinuousCount from "../utils/get-max-continuous-count.js"; import { hardline, markAsRoot } from "../document/builders.js"; import { replaceEndOfLine } from "../document/utils.js"; import printFrontMatter from "../utils/front-matter/print.js"; +import getMaxContinuousCount from "../utils/get-max-continuous-count.js"; import inferParser from "../utils/infer-parser.js"; import { getFencedCodeBlockValue } from "./utils.js"; diff --git a/src/language-markdown/index.js b/src/language-markdown/index.js index 0e513c036..635f8ab3c 100644 --- a/src/language-markdown/index.js +++ b/src/language-markdown/index.js @@ -3,6 +3,6 @@ import printer from "./printer-markdown.js"; export const printers = { mdast: printer, }; -export * as parsers from "./parser-markdown.js"; export { default as languages } from "./languages.evaluate.js"; export { default as options } from "./options.js"; +export * as parsers from "./parser-markdown.js"; diff --git a/src/language-markdown/languages.evaluate.js b/src/language-markdown/languages.evaluate.js index bde9b14e9..91246d039 100644 --- a/src/language-markdown/languages.evaluate.js +++ b/src/language-markdown/languages.evaluate.js @@ -1,4 +1,5 @@ import linguistLanguages from "linguist-languages"; + import createLanguage from "../utils/create-language.js"; const languages = [ diff --git a/src/language-markdown/loc.js b/src/language-markdown/loc.js index 23c2bebd3..116beb0fc 100644 --- a/src/language-markdown/loc.js +++ b/src/language-markdown/loc.js @@ -6,4 +6,4 @@ function locEnd(node) { return node.position.end.offset; } -export { locStart, locEnd }; +export { locEnd, locStart }; diff --git a/src/language-markdown/mdx.js b/src/language-markdown/mdx.js index 65d1ccfca..0eeec43af 100644 --- a/src/language-markdown/mdx.js +++ b/src/language-markdown/mdx.js @@ -76,4 +76,4 @@ const esSyntax = function () { inlineMethods.splice(inlineMethods.indexOf("text"), 0, "esComment"); }; -export { esSyntax, BLOCKS_REGEX, COMMENT_REGEX }; +export { BLOCKS_REGEX, COMMENT_REGEX, esSyntax }; diff --git a/src/language-markdown/parser-markdown.js b/src/language-markdown/parser-markdown.js index 44137eaa8..fe0233411 100644 --- a/src/language-markdown/parser-markdown.js +++ b/src/language-markdown/parser-markdown.js @@ -1,12 +1,13 @@ +import footnotes from "remark-footnotes"; +import remarkMath from "remark-math"; import remarkParse from "remark-parse"; import unified from "unified"; -import remarkMath from "remark-math"; -import footnotes from "remark-footnotes"; -import { hasPragma } from "./pragma.js"; -import { locStart, locEnd } from "./loc.js"; + +import { locEnd, locStart } from "./loc.js"; import { BLOCKS_REGEX, esSyntax } from "./mdx.js"; -import htmlToJsx from "./unified-plugins/html-to-jsx.js"; +import { hasPragma } from "./pragma.js"; import frontMatter from "./unified-plugins/front-matter.js"; +import htmlToJsx from "./unified-plugins/html-to-jsx.js"; import liquid from "./unified-plugins/liquid.js"; import wikiLink from "./unified-plugins/wiki-link.js"; diff --git a/src/language-markdown/pragma.js b/src/language-markdown/pragma.js index 0a5c48c82..6e2dee2fd 100644 --- a/src/language-markdown/pragma.js +++ b/src/language-markdown/pragma.js @@ -28,4 +28,4 @@ const insertPragma = (text) => { : `${pragma}\n\n${extracted.content}`; }; -export { startWithPragma, hasPragma, insertPragma }; +export { hasPragma, insertPragma, startWithPragma }; diff --git a/src/language-markdown/print-whitespace.js b/src/language-markdown/print-whitespace.js index 931c358b1..b57e83bec 100644 --- a/src/language-markdown/print-whitespace.js +++ b/src/language-markdown/print-whitespace.js @@ -1,7 +1,7 @@ import { hardline, line, softline } from "../document/builders.js"; import { - KIND_CJK_PUNCTUATION, KIND_CJ_LETTER, + KIND_CJK_PUNCTUATION, KIND_K_LETTER, KIND_NON_CJK, } from "./utils.js"; diff --git a/src/language-markdown/printer-markdown.js b/src/language-markdown/printer-markdown.js index 01012fd11..80565734c 100644 --- a/src/language-markdown/printer-markdown.js +++ b/src/language-markdown/printer-markdown.js @@ -1,42 +1,43 @@ import collapseWhiteSpace from "collapse-white-space"; -import getMinNotPresentContinuousCount from "../utils/get-min-not-present-continuous-count.js"; -import getMaxContinuousCount from "../utils/get-max-continuous-count.js"; -import getStringWidth from "../utils/get-string-width.js"; -import getPreferredQuote from "../utils/get-preferred-quote.js"; + import { + align, breakParent, + fill, + group, + hardline, + hardlineWithoutBreakParent, + ifBreak, + indent, join, line, literalline, markAsRoot, - hardline, softline, - ifBreak, - fill, - align, - indent, - group, - hardlineWithoutBreakParent, } from "../document/builders.js"; -import { normalizeDoc, replaceEndOfLine } from "../document/utils.js"; import { printDocToString } from "../document/printer.js"; +import { normalizeDoc, replaceEndOfLine } from "../document/utils.js"; +import getMaxContinuousCount from "../utils/get-max-continuous-count.js"; +import getMinNotPresentContinuousCount from "../utils/get-min-not-present-continuous-count.js"; +import getPreferredQuote from "../utils/get-preferred-quote.js"; +import getStringWidth from "../utils/get-string-width.js"; import UnexpectedNodeError from "../utils/unexpected-node-error.js"; -import embed from "./embed.js"; -import { insertPragma } from "./pragma.js"; -import { locStart, locEnd } from "./loc.js"; -import preprocess from "./print-preprocess.js"; import clean from "./clean.js"; import { PUNCTUATION_REGEXP } from "./constants.evaluate.js"; +import embed from "./embed.js"; +import getVisitorKeys from "./get-visitor-keys.js"; +import { locEnd, locStart } from "./loc.js"; +import { insertPragma } from "./pragma.js"; +import preprocess from "./print-preprocess.js"; +import { printWhitespace } from "./print-whitespace.js"; import { getFencedCodeBlockValue, hasGitDiffFriendlyOrderedList, - splitText, INLINE_NODE_TYPES, INLINE_NODE_WRAPPER_TYPES, isAutolink, + splitText, } from "./utils.js"; -import getVisitorKeys from "./get-visitor-keys.js"; -import { printWhitespace } from "./print-whitespace.js"; /** * @typedef {import("../document/builders.js").Doc} Doc diff --git a/src/language-markdown/unified-plugins/html-to-jsx.js b/src/language-markdown/unified-plugins/html-to-jsx.js index e7dfd4b21..c8d866632 100644 --- a/src/language-markdown/unified-plugins/html-to-jsx.js +++ b/src/language-markdown/unified-plugins/html-to-jsx.js @@ -1,5 +1,5 @@ import { COMMENT_REGEX } from "../mdx.js"; -import { mapAst, INLINE_NODE_WRAPPER_TYPES } from "../utils.js"; +import { INLINE_NODE_WRAPPER_TYPES, mapAst } from "../utils.js"; function htmlToJsx() { return (ast) => diff --git a/src/language-markdown/utils.js b/src/language-markdown/utils.js index a5bfcf27b..f1b2d88f3 100644 --- a/src/language-markdown/utils.js +++ b/src/language-markdown/utils.js @@ -1,10 +1,11 @@ import assert from "node:assert"; -import { locStart, locEnd } from "./loc.js"; + import { CJK_REGEXP, K_REGEXP, PUNCTUATION_REGEXP, } from "./constants.evaluate.js"; +import { locEnd, locStart } from "./loc.js"; const INLINE_NODE_TYPES = new Set([ "liquidNode", @@ -237,16 +238,16 @@ function isAutolink(node) { } export { - mapAst, - splitText, getFencedCodeBlockValue, getOrderedListItemInfo, hasGitDiffFriendlyOrderedList, INLINE_NODE_TYPES, INLINE_NODE_WRAPPER_TYPES, isAutolink, - KIND_NON_CJK, KIND_CJ_LETTER, - KIND_K_LETTER, KIND_CJK_PUNCTUATION, + KIND_K_LETTER, + KIND_NON_CJK, + mapAst, + splitText, }; diff --git a/src/language-yaml/index.js b/src/language-yaml/index.js index d298a799b..727914c45 100644 --- a/src/language-yaml/index.js +++ b/src/language-yaml/index.js @@ -3,6 +3,6 @@ import printer from "./printer-yaml.js"; export const printers = { yaml: printer, }; -export * as parsers from "./parser-yaml.js"; export { default as languages } from "./languages.evaluate.js"; export { default as options } from "./options.js"; +export * as parsers from "./parser-yaml.js"; diff --git a/src/language-yaml/languages.evaluate.js b/src/language-yaml/languages.evaluate.js index 9ba81cd76..729b36833 100644 --- a/src/language-yaml/languages.evaluate.js +++ b/src/language-yaml/languages.evaluate.js @@ -1,4 +1,5 @@ import linguistLanguages from "linguist-languages"; + import createLanguage from "../utils/create-language.js"; const languages = [ diff --git a/src/language-yaml/loc.js b/src/language-yaml/loc.js index 23c2bebd3..116beb0fc 100644 --- a/src/language-yaml/loc.js +++ b/src/language-yaml/loc.js @@ -6,4 +6,4 @@ function locEnd(node) { return node.position.end.offset; } -export { locStart, locEnd }; +export { locEnd, locStart }; diff --git a/src/language-yaml/parser-yaml.js b/src/language-yaml/parser-yaml.js index f3f657fc7..2aaa89dc9 100644 --- a/src/language-yaml/parser-yaml.js +++ b/src/language-yaml/parser-yaml.js @@ -1,7 +1,8 @@ import { parse as parseYaml } from "yaml-unist-parser/lib/parse.js"; + import createError from "../common/parser-create-error.js"; +import { locEnd, locStart } from "./loc.js"; import { hasPragma } from "./pragma.js"; -import { locStart, locEnd } from "./loc.js"; function parse(text) { try { diff --git a/src/language-yaml/pragma.js b/src/language-yaml/pragma.js index a432feb03..4be505a68 100644 --- a/src/language-yaml/pragma.js +++ b/src/language-yaml/pragma.js @@ -10,4 +10,4 @@ function insertPragma(text) { return `# @format\n\n${text}`; } -export { isPragma, hasPragma, insertPragma }; +export { hasPragma, insertPragma, isPragma }; diff --git a/src/language-yaml/print/flow-mapping-sequence.js b/src/language-yaml/print/flow-mapping-sequence.js index a2b215824..36c0dc7f7 100644 --- a/src/language-yaml/print/flow-mapping-sequence.js +++ b/src/language-yaml/print/flow-mapping-sequence.js @@ -1,12 +1,12 @@ import { + hardline, ifBreak, + join, line, softline, - hardline, - join, } from "../../document/builders.js"; -import { isEmptyNode, hasEndComments } from "../utils.js"; -import { printNextEmptyLine, alignWithSpaces } from "./misc.js"; +import { hasEndComments, isEmptyNode } from "../utils.js"; +import { alignWithSpaces, printNextEmptyLine } from "./misc.js"; function printFlowMapping(path, print, options) { const { node } = path; diff --git a/src/language-yaml/print/mapping-item.js b/src/language-yaml/print/mapping-item.js index f3858702c..f2d3aadbc 100644 --- a/src/language-yaml/print/mapping-item.js +++ b/src/language-yaml/print/mapping-item.js @@ -8,13 +8,13 @@ import { line, } from "../../document/builders.js"; import { + hasEndComments, hasLeadingComments, hasMiddleComments, hasTrailingComment, - hasEndComments, - isNode, isEmptyNode, isInlineNode, + isNode, } from "../utils.js"; import { alignWithSpaces } from "./misc.js"; diff --git a/src/language-yaml/print/misc.js b/src/language-yaml/print/misc.js index 7dfe37830..505456ca7 100644 --- a/src/language-yaml/print/misc.js +++ b/src/language-yaml/print/misc.js @@ -1,4 +1,4 @@ -import { softline, align } from "../../document/builders.js"; +import { align, softline } from "../../document/builders.js"; import { hasEndComments, isNextLineEmpty, isNode } from "../utils.js"; const printedEmptyLineCache = new WeakMap(); @@ -42,4 +42,4 @@ function alignWithSpaces(width, doc) { return align(" ".repeat(width), doc); } -export { alignWithSpaces, shouldPrintEndComments, printNextEmptyLine }; +export { alignWithSpaces, printNextEmptyLine, shouldPrintEndComments }; diff --git a/src/language-yaml/printer-yaml.js b/src/language-yaml/printer-yaml.js index 2bbf5717f..281ea094e 100644 --- a/src/language-yaml/printer-yaml.js +++ b/src/language-yaml/printer-yaml.js @@ -12,34 +12,34 @@ import { import { replaceEndOfLine } from "../document/utils.js"; import isPreviousLineEmpty from "../utils/is-previous-line-empty.js"; import UnexpectedNodeError from "../utils/unexpected-node-error.js"; -import { insertPragma, isPragma } from "./pragma.js"; -import { locStart } from "./loc.js"; import embed from "./embed.js"; -import { - getFlowScalarLineContents, - getLastDescendantNode, - hasLeadingComments, - hasMiddleComments, - hasTrailingComment, - hasEndComments, - hasPrettierIgnore, - isLastDescendantNode, - isNode, - isInlineNode, -} from "./utils.js"; import getVisitorKeys from "./get-visitor-keys.js"; -import preprocess from "./print-preprocess.js"; -import { - alignWithSpaces, - printNextEmptyLine, - shouldPrintEndComments, -} from "./print/misc.js"; +import { locStart } from "./loc.js"; +import { insertPragma, isPragma } from "./pragma.js"; +import printBlock from "./print/block.js"; import { printFlowMapping, printFlowSequence, } from "./print/flow-mapping-sequence.js"; import printMappingItem from "./print/mapping-item.js"; -import printBlock from "./print/block.js"; +import { + alignWithSpaces, + printNextEmptyLine, + shouldPrintEndComments, +} from "./print/misc.js"; +import preprocess from "./print-preprocess.js"; +import { + getFlowScalarLineContents, + getLastDescendantNode, + hasEndComments, + hasLeadingComments, + hasMiddleComments, + hasPrettierIgnore, + hasTrailingComment, + isInlineNode, + isLastDescendantNode, + isNode, +} from "./utils.js"; function genericPrint(path, options, print) { const { node } = path; diff --git a/src/language-yaml/utils.js b/src/language-yaml/utils.js index 65300410c..0fdd07eae 100644 --- a/src/language-yaml/utils.js +++ b/src/language-yaml/utils.js @@ -333,20 +333,20 @@ function isInlineNode(node) { } export { - isNode, - isEmptyNode, - isInlineNode, - mapNode, defineShortcut, - isNextLineEmpty, - isLastDescendantNode, getBlockValueLineContents, getFlowScalarLineContents, getLastDescendantNode, - hasPrettierIgnore, + hasEndComments, + hasIndicatorComment, hasLeadingComments, hasMiddleComments, - hasIndicatorComment, + hasPrettierIgnore, hasTrailingComment, - hasEndComments, + isEmptyNode, + isInlineNode, + isLastDescendantNode, + isNextLineEmpty, + isNode, + mapNode, }; diff --git a/src/main/ast-to-doc.js b/src/main/ast-to-doc.js index e5db17e6d..c8beb4b72 100644 --- a/src/main/ast-to-doc.js +++ b/src/main/ast-to-doc.js @@ -2,9 +2,9 @@ import AstPath from "../common/ast-path.js"; import { cursor } from "../document/builders.js"; import { inheritLabel } from "../document/utils.js"; import { attachComments } from "./comments/attach.js"; -import { printComments, ensureAllCommentsPrinted } from "./comments/print.js"; -import { printEmbeddedLanguages } from "./multiparser.js"; +import { ensureAllCommentsPrinted, printComments } from "./comments/print.js"; import createPrintPreCheckFunction from "./create-print-pre-check-function.js"; +import { printEmbeddedLanguages } from "./multiparser.js"; import printIgnored from "./print-ignored.js"; /** @@ -143,4 +143,4 @@ async function prepareToPrint(ast, options) { return { ast, comments }; } -export { printAstToDoc, prepareToPrint }; +export { prepareToPrint, printAstToDoc }; diff --git a/src/main/comments/attach.js b/src/main/comments/attach.js index 6e22482c8..0b3468c6e 100644 --- a/src/main/comments/attach.js +++ b/src/main/comments/attach.js @@ -1,11 +1,12 @@ import assert from "node:assert"; + +import { getChildren } from "../../utils/ast-utils.js"; import hasNewline from "../../utils/has-newline.js"; import isNonEmptyArray from "../../utils/is-non-empty-array.js"; -import { getChildren } from "../../utils/ast-utils.js"; import createGetVisitorKeysFunction from "../create-get-visitor-keys-function.js"; import { - addLeadingComment, addDanglingComment, + addLeadingComment, addTrailingComment, } from "./utils.js"; diff --git a/src/main/comments/print.js b/src/main/comments/print.js index f3a8324cf..9c491ba54 100644 --- a/src/main/comments/print.js +++ b/src/main/comments/print.js @@ -1,17 +1,17 @@ import { - line, - hardline, breakParent, + hardline, indent, - lineSuffix, join, + line, + lineSuffix, } from "../../document/builders.js"; import { inheritLabel } from "../../document/utils.js"; import hasNewline from "../../utils/has-newline.js"; -import skipNewline from "../../utils/skip-newline.js"; -import { skipSpaces } from "../../utils/skip.js"; -import isPreviousLineEmpty from "../../utils/is-previous-line-empty.js"; import isNonEmptyArray from "../../utils/is-non-empty-array.js"; +import isPreviousLineEmpty from "../../utils/is-previous-line-empty.js"; +import { skipSpaces } from "../../utils/skip.js"; +import skipNewline from "../../utils/skip-newline.js"; /** * @typedef {import("../../common/ast-path.js").default} AstPath @@ -222,8 +222,8 @@ function ensureAllCommentsPrinted(options) { } export { + ensureAllCommentsPrinted, printComments, printCommentsSeparately, printDanglingComments, - ensureAllCommentsPrinted, }; diff --git a/src/main/comments/utils.js b/src/main/comments/utils.js index 45f264471..2865bbfaf 100644 --- a/src/main/comments/utils.js +++ b/src/main/comments/utils.js @@ -43,4 +43,4 @@ function addTrailingComment(node, comment) { addCommentHelper(node, comment); } -export { addLeadingComment, addDanglingComment, addTrailingComment }; +export { addDanglingComment, addLeadingComment, addTrailingComment }; diff --git a/src/main/core-options.evaluate.js b/src/main/core-options.evaluate.js index 5c68cc734..efb0b3579 100644 --- a/src/main/core-options.evaluate.js +++ b/src/main/core-options.evaluate.js @@ -1,9 +1,10 @@ import { outdent } from "outdent"; + import { CATEGORY_CONFIG, CATEGORY_EDITOR, - CATEGORY_OTHER, CATEGORY_GLOBAL, + CATEGORY_OTHER, CATEGORY_SPECIAL, } from "./option-categories.js"; diff --git a/src/main/core.js b/src/main/core.js index c3fc80350..73511e487 100644 --- a/src/main/core.js +++ b/src/main/core.js @@ -1,22 +1,22 @@ import { diffArrays } from "diff"; -import { hardline, addAlignmentToDoc } from "../document/builders.js"; -import { printDocToString as printDocToStringWithoutNormalizeOptions } from "../document/printer.js"; -import { printDocToDebug } from "../document/debug.js"; -import getAlignmentSize from "../utils/get-alignment-size.js"; import { - guessEndOfLine, convertEndOfLineToChars, countEndOfLineChars, + guessEndOfLine, normalizeEndOfLine, } from "../common/end-of-line.js"; -import normalizeFormatOptions from "./normalize-format-options.js"; -import massageAst from "./massage-ast.js"; -import { resolveParser } from "./parser-and-printer.js"; -import parseText from "./parse.js"; -import { printAstToDoc, prepareToPrint } from "./ast-to-doc.js"; -import { calculateRange } from "./range-util.js"; +import { addAlignmentToDoc, hardline } from "../document/builders.js"; +import { printDocToDebug } from "../document/debug.js"; +import { printDocToString as printDocToStringWithoutNormalizeOptions } from "../document/printer.js"; +import getAlignmentSize from "../utils/get-alignment-size.js"; +import { prepareToPrint, printAstToDoc } from "./ast-to-doc.js"; import getCursorNode from "./get-cursor-node.js"; +import massageAst from "./massage-ast.js"; +import normalizeFormatOptions from "./normalize-format-options.js"; +import parseText from "./parse.js"; +import { resolveParser } from "./parser-and-printer.js"; +import { calculateRange } from "./range-util.js"; const BOM = "\uFEFF"; @@ -357,10 +357,10 @@ async function printDocToString(doc, options) { } export { - formatWithCursor, - parse, formatAst, formatDoc, - printToDoc, + formatWithCursor, + parse, printDocToString, + printToDoc, }; diff --git a/src/main/multiparser.js b/src/main/multiparser.js index 11f8831fe..a9b768c35 100644 --- a/src/main/multiparser.js +++ b/src/main/multiparser.js @@ -1,7 +1,7 @@ import { stripTrailingHardline } from "../document/utils.js"; +import createGetVisitorKeysFunction from "./create-get-visitor-keys-function.js"; import normalizeFormatOptions from "./normalize-format-options.js"; import parse from "./parse.js"; -import createGetVisitorKeysFunction from "./create-get-visitor-keys-function.js"; async function printEmbeddedLanguages( /** @type {import("../common/ast-path.js").default} */ path, diff --git a/src/main/parse.js b/src/main/parse.js index faef62ebf..a8517d217 100644 --- a/src/main/parse.js +++ b/src/main/parse.js @@ -1,4 +1,5 @@ import { codeFrameColumns } from "@babel/code-frame"; + import { resolveParser } from "./parser-and-printer.js"; async function parse(originalText, options) { diff --git a/src/main/parser-and-printer.js b/src/main/parser-and-printer.js index 01c70bbc6..0f70f5dfc 100644 --- a/src/main/parser-and-printer.js +++ b/src/main/parser-and-printer.js @@ -78,7 +78,7 @@ function initPrinter(plugin, astFormat) { export { getParserPluginByParserName, getPrinterPluginByAstFormat, - resolveParser, initParser, initPrinter, + resolveParser, }; diff --git a/src/main/plugins/index.js b/src/main/plugins/index.js index 4e8e16523..5bcb2a2f1 100644 --- a/src/main/plugins/index.js +++ b/src/main/plugins/index.js @@ -1,3 +1,3 @@ -export { clearCache } from "./load-plugin.js"; export { default as loadBuiltinPlugins } from "./load-builtin-plugins.js"; +export { clearCache } from "./load-plugin.js"; export { default as loadPlugins } from "./load-plugins.js"; diff --git a/src/main/plugins/load-plugin.js b/src/main/plugins/load-plugin.js index 891cdb946..849a0a778 100644 --- a/src/main/plugins/load-plugin.js +++ b/src/main/plugins/load-plugin.js @@ -1,6 +1,8 @@ -import { pathToFileURL } from "node:url"; import path from "node:path"; +import { pathToFileURL } from "node:url"; + import mem, { memClear } from "mem"; + import importFromDirectory from "../../utils/import-from-directory.js"; function normalizePlugin(pluginInstanceOfPluginModule, name) { @@ -42,4 +44,4 @@ function clearCache() { memClear(importPlugin); } -export { loadPlugin, loadPluginFromDirectory, clearCache }; +export { clearCache, loadPlugin, loadPluginFromDirectory }; diff --git a/src/main/range-util.js b/src/main/range-util.js index 10a2e5e20..56b593014 100644 --- a/src/main/range-util.js +++ b/src/main/range-util.js @@ -1,4 +1,5 @@ import assert from "node:assert"; + import { getSortedChildNodes } from "./comments/attach.js"; const isJsonParser = ({ parser }) => diff --git a/src/plugins/builtin-plugins-proxy.js b/src/plugins/builtin-plugins-proxy.js index 7d5659e6a..2bbd30c82 100644 --- a/src/plugins/builtin-plugins-proxy.js +++ b/src/plugins/builtin-plugins-proxy.js @@ -1,24 +1,17 @@ -import cssOptions from "../language-css/options.js"; import cssLanguages from "../language-css/languages.evaluate.js"; - -import graphqlOptions from "../language-graphql/options.js"; +import cssOptions from "../language-css/options.js"; import graphqlLanguages from "../language-graphql/languages.evaluate.js"; - +import graphqlOptions from "../language-graphql/options.js"; import handlebarsLanguages from "../language-handlebars/languages.evaluate.js"; - -import htmlOptions from "../language-html/options.js"; import htmlLanguages from "../language-html/languages.evaluate.js"; - -import jsOptions from "../language-js/options.js"; +import htmlOptions from "../language-html/options.js"; import jsLanguages from "../language-js/languages.evaluate.js"; - +import jsOptions from "../language-js/options.js"; import jsonLanguages from "../language-json/languages.evaluate.js"; - -import markdownOptions from "../language-markdown/options.js"; import markdownLanguages from "../language-markdown/languages.evaluate.js"; - -import yamlOptions from "../language-yaml/options.js"; +import markdownOptions from "../language-markdown/options.js"; import yamlLanguages from "../language-yaml/languages.evaluate.js"; +import yamlOptions from "../language-yaml/options.js"; function createParsersAndPrinters(modules) { const parsers = Object.create(null); diff --git a/src/plugins/estree.js b/src/plugins/estree.js index cdc7c96df..27f657af7 100644 --- a/src/plugins/estree.js +++ b/src/plugins/estree.js @@ -1,7 +1,7 @@ -import * as estreePrinter from "../language-js/printer.js"; import jsLanguages from "../language-js/languages.evaluate.js"; -import * as estreeJsonPrinter from "../language-json/printer-estree-json.js"; +import * as estreePrinter from "../language-js/printer.js"; import jsonLanguages from "../language-json/languages.evaluate.js"; +import * as estreeJsonPrinter from "../language-json/printer-estree-json.js"; export const printers = { estree: estreePrinter, diff --git a/src/standalone.js b/src/standalone.js index a4c9888ae..cf0635ab4 100644 --- a/src/standalone.js +++ b/src/standalone.js @@ -45,12 +45,12 @@ const debugApis = { }; export { - formatWithCursor, - format, - check, - getSupportInfo, debugApis as __debug, + check, + format, + formatWithCursor, + getSupportInfo, }; -export * as util from "./utils/public.js"; export * as doc from "./document/public.js"; export { default as version } from "./main/version.evaluate.cjs"; +export * as util from "./utils/public.js"; diff --git a/src/utils/ast-utils.js b/src/utils/ast-utils.js index dec3f7eb1..4879e7a95 100644 --- a/src/utils/ast-utils.js +++ b/src/utils/ast-utils.js @@ -59,4 +59,4 @@ function hasDescendant(node, { getVisitorKeys, predicate }) { return false; } -export { hasDescendant, getDescendants, getChildren }; +export { getChildren, getDescendants, hasDescendant }; diff --git a/src/utils/get-interpreter.js b/src/utils/get-interpreter.js index 358f09171..2c84af7fd 100644 --- a/src/utils/get-interpreter.js +++ b/src/utils/get-interpreter.js @@ -1,4 +1,5 @@ import fs from "node:fs"; + import readlines from "n-readlines"; /** diff --git a/src/utils/get-next-non-space-non-comment-character-index.js b/src/utils/get-next-non-space-non-comment-character-index.js index 3f29a149d..d95444834 100644 --- a/src/utils/get-next-non-space-non-comment-character-index.js +++ b/src/utils/get-next-non-space-non-comment-character-index.js @@ -1,7 +1,7 @@ +import { skipSpaces } from "./skip.js"; import skipInlineComment from "./skip-inline-comment.js"; import skipNewline from "./skip-newline.js"; import skipTrailingComment from "./skip-trailing-comment.js"; -import { skipSpaces } from "./skip.js"; /** * @param {string} text diff --git a/src/utils/ignore.js b/src/utils/ignore.js index ed1cfa0fc..ba7d43752 100644 --- a/src/utils/ignore.js +++ b/src/utils/ignore.js @@ -1,7 +1,9 @@ import path from "node:path"; import url from "node:url"; -import { isUrl, toPath } from "url-or-path"; + import ignoreModule from "ignore"; +import { isUrl, toPath } from "url-or-path"; + import readFile from "../utils/read-file.js"; const createIgnore = ignoreModule.default; diff --git a/src/utils/import-from-directory.js b/src/utils/import-from-directory.js index b8b851884..0bc7aa310 100644 --- a/src/utils/import-from-directory.js +++ b/src/utils/import-from-directory.js @@ -1,4 +1,5 @@ import path from "node:path"; + import importFromFile from "./import-from-file.js"; function importFromDirectory(specifier, directory) { diff --git a/src/utils/import-from-file.js b/src/utils/import-from-file.js index 513f89bc9..477c37542 100644 --- a/src/utils/import-from-file.js +++ b/src/utils/import-from-file.js @@ -1,4 +1,5 @@ import { pathToFileURL } from "node:url"; + // TODO: Use `import.meta.resolve` when it's available import { resolve } from "import-meta-resolve"; diff --git a/src/utils/is-directory.js b/src/utils/is-directory.js index d9bec460c..c87c05e53 100644 --- a/src/utils/is-directory.js +++ b/src/utils/is-directory.js @@ -1,4 +1,5 @@ import fs from "node:fs/promises"; + import { toPath } from "url-or-path"; /** diff --git a/src/utils/is-file.js b/src/utils/is-file.js index d9526826a..0d072748c 100644 --- a/src/utils/is-file.js +++ b/src/utils/is-file.js @@ -1,4 +1,5 @@ import fs from "node:fs/promises"; + import { toPath } from "url-or-path"; /** diff --git a/src/utils/is-next-line-empty.js b/src/utils/is-next-line-empty.js index bef5c0423..12585cc99 100644 --- a/src/utils/is-next-line-empty.js +++ b/src/utils/is-next-line-empty.js @@ -1,8 +1,8 @@ -import skipNewline from "./skip-newline.js"; +import hasNewline from "./has-newline.js"; import { skipSpaces, skipToLineEnd } from "./skip.js"; import skipInlineComment from "./skip-inline-comment.js"; +import skipNewline from "./skip-newline.js"; import skipTrailingComment from "./skip-trailing-comment.js"; -import hasNewline from "./has-newline.js"; /** * @param {string} text diff --git a/src/utils/is-previous-line-empty.js b/src/utils/is-previous-line-empty.js index 2820787a1..0a9689b6a 100644 --- a/src/utils/is-previous-line-empty.js +++ b/src/utils/is-previous-line-empty.js @@ -1,5 +1,5 @@ -import skipNewline from "./skip-newline.js"; import { skipSpaces } from "./skip.js"; +import skipNewline from "./skip-newline.js"; // Note: this function doesn't ignore leading comments unlike isNextLineEmpty /** diff --git a/src/utils/public.js b/src/utils/public.js index 62d9bd99d..9bf12ace3 100644 --- a/src/utils/public.js +++ b/src/utils/public.js @@ -1,6 +1,6 @@ import getNextNonSpaceNonCommentCharacterIndexWithStartIndex from "./get-next-non-space-non-comment-character-index.js"; -import isPreviousLineEmptyWithStartIndex from "./is-previous-line-empty.js"; import isNextLineEmptyAfterIndex from "./is-next-line-empty.js"; +import isPreviousLineEmptyWithStartIndex from "./is-previous-line-empty.js"; // Legacy version of `getNextNonSpaceNonCommentCharacterIndex` /** @@ -82,30 +82,30 @@ export function isNextLineEmpty(text, startIndex) { legacyIsNextLineEmpty(...arguments); } -export { default as getMaxContinuousCount } from "./get-max-continuous-count.js"; -export { default as getStringWidth } from "./get-string-width.js"; +export { + addDanglingComment, + addLeadingComment, + addTrailingComment, +} from "../main/comments/utils.js"; export { default as getAlignmentSize } from "./get-alignment-size.js"; export { default as getIndentSize } from "./get-indent-size.js"; -export { default as skipNewline } from "./skip-newline.js"; -export { default as skipInlineComment } from "./skip-inline-comment.js"; -export { default as skipTrailingComment } from "./skip-trailing-comment.js"; +export { default as getMaxContinuousCount } from "./get-max-continuous-count.js"; +export { default as getNextNonSpaceNonCommentCharacter } from "./get-next-non-space-non-comment-character.js"; +export { default as getStringWidth } from "./get-string-width.js"; export { default as hasNewline } from "./has-newline.js"; export { default as hasNewlineInRange } from "./has-newline-in-range.js"; export { default as hasSpaces } from "./has-spaces.js"; -export { default as getNextNonSpaceNonCommentCharacter } from "./get-next-non-space-non-comment-character.js"; export { default as makeString } from "./make-string.js"; export { skip, - skipWhitespace, + skipEverythingButNewLine, skipSpaces, skipToLineEnd, - skipEverythingButNewLine, + skipWhitespace, } from "./skip.js"; -export { - addLeadingComment, - addDanglingComment, - addTrailingComment, -} from "../main/comments/utils.js"; +export { default as skipInlineComment } from "./skip-inline-comment.js"; +export { default as skipNewline } from "./skip-newline.js"; +export { default as skipTrailingComment } from "./skip-trailing-comment.js"; // TODO: Remove this in v4 export { isNextLineEmptyAfterIndex }; diff --git a/src/utils/read-file.js b/src/utils/read-file.js index fdb061370..6e1e24e26 100644 --- a/src/utils/read-file.js +++ b/src/utils/read-file.js @@ -1,4 +1,5 @@ import fs from "node:fs/promises"; + import { isUrlString } from "url-or-path"; /** diff --git a/src/utils/skip.js b/src/utils/skip.js index e0d54c35e..e72ff8774 100644 --- a/src/utils/skip.js +++ b/src/utils/skip.js @@ -62,8 +62,8 @@ const skipEverythingButNewLine = skip(/[^\n\r]/); export { skip, - skipWhitespace, + skipEverythingButNewLine, skipSpaces, skipToLineEnd, - skipEverythingButNewLine, + skipWhitespace, }; diff --git a/tests/config/format-test.js b/tests/config/format-test.js index 98558a117..f90a9b689 100644 --- a/tests/config/format-test.js +++ b/tests/config/format-test.js @@ -1,13 +1,15 @@ import fs from "node:fs"; import path from "node:path"; import url from "node:url"; + import createEsmUtils from "esm-utils"; + import getPrettier from "./get-prettier.js"; import checkParsers from "./utils/check-parsers.js"; -import createSnapshot from "./utils/create-snapshot.js"; -import visualizeEndOfLine from "./utils/visualize-end-of-line.js"; import consistentEndOfLine from "./utils/consistent-end-of-line.js"; +import createSnapshot from "./utils/create-snapshot.js"; import stringifyOptionsForTitle from "./utils/stringify-options-for-title.js"; +import visualizeEndOfLine from "./utils/visualize-end-of-line.js"; const { __dirname } = createEsmUtils(import.meta); diff --git a/tests/config/get-prettier.js b/tests/config/get-prettier.js index 461f0c9a2..ea9ea97b8 100644 --- a/tests/config/get-prettier.js +++ b/tests/config/get-prettier.js @@ -1,5 +1,5 @@ -import { pathToFileURL } from "node:url"; import path from "node:path"; +import { pathToFileURL } from "node:url"; function getPrettierInternal() { if (process.env.TEST_STANDALONE) { diff --git a/tests/config/install-prettier.js b/tests/config/install-prettier.js index f78eaa9f3..908b6256a 100644 --- a/tests/config/install-prettier.js +++ b/tests/config/install-prettier.js @@ -1,9 +1,10 @@ -import path from "node:path"; import fs from "node:fs"; -import { outdent } from "outdent"; -import { execaSync } from "execa"; -import { temporaryDirectory as createTemporaryDirectory } from "tempy"; +import path from "node:path"; + import chalk from "chalk"; +import { execaSync } from "execa"; +import { outdent } from "outdent"; +import { temporaryDirectory as createTemporaryDirectory } from "tempy"; const allowedClients = new Set(["yarn", "npm", "pnpm"]); diff --git a/tests/config/utils/check-parsers.js b/tests/config/utils/check-parsers.js index 259dd1ccf..8fa94e73e 100644 --- a/tests/config/utils/check-parsers.js +++ b/tests/config/utils/check-parsers.js @@ -1,6 +1,7 @@ import path from "node:path"; -import { outdent } from "outdent"; + import createEsmUtils from "esm-utils"; +import { outdent } from "outdent"; const { __dirname, __filename } = createEsmUtils(import.meta); diff --git a/tests/config/utils/create-snapshot.js b/tests/config/utils/create-snapshot.js index ed5f2ea91..6564425f1 100644 --- a/tests/config/utils/create-snapshot.js +++ b/tests/config/utils/create-snapshot.js @@ -1,6 +1,7 @@ import { wrap as raw } from "jest-snapshot-serializer-raw"; -import visualizeRange from "./visualize-range.js"; + import visualizeEndOfLine from "./visualize-end-of-line.js"; +import visualizeRange from "./visualize-range.js"; const SEPARATOR_WIDTH = 80; function printSeparator(description = "") { diff --git a/tests/config/utils/visualize-range.js b/tests/config/utils/visualize-range.js index eb7232dc1..222bc7a6f 100644 --- a/tests/config/utils/visualize-range.js +++ b/tests/config/utils/visualize-range.js @@ -1,5 +1,5 @@ -import { LinesAndColumns } from "lines-and-columns"; import { codeFrameColumns } from "@babel/code-frame"; +import { LinesAndColumns } from "lines-and-columns"; const codeFrameColumnsOptions = { linesAbove: Number.POSITIVE_INFINITY, linesBelow: Number.POSITIVE_INFINITY, diff --git a/tests/dts/unit/run.js b/tests/dts/unit/run.js index 46f151c97..c85193dcc 100644 --- a/tests/dts/unit/run.js +++ b/tests/dts/unit/run.js @@ -1,6 +1,7 @@ import fs from "node:fs"; import path from "node:path"; import url from "node:url"; + import { default as ts } from "typescript"; // const isProduction = process.env.NODE_ENV === "production"; diff --git a/tests/format/js/cursor/jsfmt.spec.js b/tests/format/js/cursor/jsfmt.spec.js index ef0080c5d..1c44864f9 100644 --- a/tests/format/js/cursor/jsfmt.spec.js +++ b/tests/format/js/cursor/jsfmt.spec.js @@ -1,4 +1,5 @@ import { outdent } from "outdent"; + import getPrettier from "../../../config/get-prettier.js"; run_spec(import.meta, ["babel", "typescript", "flow"]); diff --git a/tests/integration/__tests__/bundle.js b/tests/integration/__tests__/bundle.js index d74c2dcb6..1ab6f05b9 100644 --- a/tests/integration/__tests__/bundle.js +++ b/tests/integration/__tests__/bundle.js @@ -1,12 +1,14 @@ import fs from "node:fs/promises"; import path from "node:path"; + import createEsmUtils from "esm-utils"; import fastGlob from "fast-glob"; -import { projectRoot } from "../env.js"; -import prettier from "../../config/prettier-entry.js"; -import createSandBox from "../../config/utils/create-sandbox.cjs"; + import coreOptions from "../../../src/main/core-options.evaluate.js"; import codeSamples from "../../../website/playground/codeSamples.mjs"; +import prettier from "../../config/prettier-entry.js"; +import createSandBox from "../../config/utils/create-sandbox.cjs"; +import { projectRoot } from "../env.js"; const { require, importModule } = createEsmUtils(import.meta); diff --git a/tests/integration/__tests__/cache.js b/tests/integration/__tests__/cache.js index e15f00469..3b9ef28d8 100644 --- a/tests/integration/__tests__/cache.js +++ b/tests/integration/__tests__/cache.js @@ -1,5 +1,5 @@ -import path from "node:path"; import fs from "node:fs/promises"; +import path from "node:path"; import { fileURLToPath } from "node:url"; function resolveDir(dir) { diff --git a/tests/integration/__tests__/cli.js b/tests/integration/__tests__/cli.js index c60790b54..05c77ca02 100644 --- a/tests/integration/__tests__/cli.js +++ b/tests/integration/__tests__/cli.js @@ -1,4 +1,5 @@ import fs from "node:fs"; + import { prettierCli } from "../env.js"; describe("CLI", () => { diff --git a/tests/integration/__tests__/config-invalid.js b/tests/integration/__tests__/config-invalid.js index 4becfe576..1b6fe451a 100644 --- a/tests/integration/__tests__/config-invalid.js +++ b/tests/integration/__tests__/config-invalid.js @@ -1,5 +1,7 @@ import fs from "node:fs/promises"; + import outdent from "outdent"; + import jestPathSerializer from "../path-serializer.js"; expect.addSnapshotSerializer(jestPathSerializer); diff --git a/tests/integration/__tests__/config-resolution.js b/tests/integration/__tests__/config-resolution.js index ac082a17a..0397117e1 100644 --- a/tests/integration/__tests__/config-resolution.js +++ b/tests/integration/__tests__/config-resolution.js @@ -1,5 +1,6 @@ import path from "node:path"; import url from "node:url"; + import prettier from "../../config/prettier-entry.js"; test("resolves configuration from external files and overrides by extname", async () => { diff --git a/tests/integration/__tests__/debug-api.js b/tests/integration/__tests__/debug-api.js index 5431f3b09..af38a2937 100644 --- a/tests/integration/__tests__/debug-api.js +++ b/tests/integration/__tests__/debug-api.js @@ -1,4 +1,5 @@ import { outdent } from "outdent"; + import prettier from "../../config/prettier-entry.js"; const { diff --git a/tests/integration/__tests__/doc-trim.js b/tests/integration/__tests__/doc-trim.js index d3e1ab45f..9ab3574fc 100644 --- a/tests/integration/__tests__/doc-trim.js +++ b/tests/integration/__tests__/doc-trim.js @@ -1,4 +1,5 @@ import { outdent } from "outdent"; + import prettier from "../../config/prettier-entry.js"; const docPrinter = prettier.doc.printer; diff --git a/tests/integration/__tests__/doc-utils-clean-doc.js b/tests/integration/__tests__/doc-utils-clean-doc.js index 95a5a8270..9372b6b12 100644 --- a/tests/integration/__tests__/doc-utils-clean-doc.js +++ b/tests/integration/__tests__/doc-utils-clean-doc.js @@ -1,10 +1,10 @@ import { - group, align, + fill, + group, + ifBreak, indent, lineSuffix, - ifBreak, - fill, } from "../../../src/document/builders.js"; import { cleanDoc } from "../../../src/document/utils.js"; diff --git a/tests/integration/__tests__/file-info.js b/tests/integration/__tests__/file-info.js index 9a1670a7f..74a65314c 100644 --- a/tests/integration/__tests__/file-info.js +++ b/tests/integration/__tests__/file-info.js @@ -1,8 +1,10 @@ -import path from "node:path"; import fs from "node:fs"; +import path from "node:path"; import url from "node:url"; -import { temporaryDirectory as getTemporaryDirectory } from "tempy"; + import createEsmUtils from "esm-utils"; +import { temporaryDirectory as getTemporaryDirectory } from "tempy"; + import prettier from "../../config/prettier-entry.js"; const { __dirname } = createEsmUtils(import.meta); diff --git a/tests/integration/__tests__/format.js b/tests/integration/__tests__/format.js index a9792d826..b56249c81 100644 --- a/tests/integration/__tests__/format.js +++ b/tests/integration/__tests__/format.js @@ -1,4 +1,5 @@ import { outdent } from "outdent"; + import prettier from "../../config/prettier-entry.js"; import fooPlugin from "../plugins/defaultOptions/plugin.cjs"; diff --git a/tests/integration/__tests__/ignore-absolute-path.js b/tests/integration/__tests__/ignore-absolute-path.js index 2209aa764..735710814 100644 --- a/tests/integration/__tests__/ignore-absolute-path.js +++ b/tests/integration/__tests__/ignore-absolute-path.js @@ -1,4 +1,5 @@ import path from "node:path"; + import createEsmUtils from "esm-utils"; const { __dirname } = createEsmUtils(import.meta); diff --git a/tests/integration/__tests__/invalid-ignore.js b/tests/integration/__tests__/invalid-ignore.js index c7caa4a03..b0dd0d2d6 100644 --- a/tests/integration/__tests__/invalid-ignore.js +++ b/tests/integration/__tests__/invalid-ignore.js @@ -1,5 +1,7 @@ import path from "node:path"; + import createEsmUtils from "esm-utils"; + import prettier from "../../config/prettier-entry.js"; const { __dirname } = createEsmUtils(import.meta); diff --git a/tests/integration/__tests__/line-suffix-boundary.js b/tests/integration/__tests__/line-suffix-boundary.js index 15ba37663..0ba1cc614 100644 --- a/tests/integration/__tests__/line-suffix-boundary.js +++ b/tests/integration/__tests__/line-suffix-boundary.js @@ -1,4 +1,5 @@ import { outdent } from "outdent"; + /** @type {import('prettier')} */ import prettier from "../../config/prettier-entry.js"; import printDoc from "../print-doc.js"; diff --git a/tests/integration/__tests__/normalize-doc.js b/tests/integration/__tests__/normalize-doc.js index 68ad33454..7be6d945f 100644 --- a/tests/integration/__tests__/normalize-doc.js +++ b/tests/integration/__tests__/normalize-doc.js @@ -1,5 +1,5 @@ +import { fill, group } from "../../../src/document/builders.js"; import { normalizeDoc } from "../../../src/document/utils.js"; -import { group, fill } from "../../../src/document/builders.js"; describe("normalizeDoc", () => { test.each([ diff --git a/tests/integration/__tests__/patterns-dirs.js b/tests/integration/__tests__/patterns-dirs.js index 1ce748d19..d77b8633a 100644 --- a/tests/integration/__tests__/patterns-dirs.js +++ b/tests/integration/__tests__/patterns-dirs.js @@ -1,8 +1,10 @@ import fs from "node:fs"; import path from "node:path"; + import createEsmUtils from "esm-utils"; -import jestPathSerializer from "../path-serializer.js"; + import { projectRoot } from "../env.js"; +import jestPathSerializer from "../path-serializer.js"; const { __dirname } = createEsmUtils(import.meta); diff --git a/tests/integration/__tests__/resolve-config-file.js b/tests/integration/__tests__/resolve-config-file.js index aa3d922ca..ac1698bdf 100644 --- a/tests/integration/__tests__/resolve-config-file.js +++ b/tests/integration/__tests__/resolve-config-file.js @@ -1,4 +1,5 @@ import url from "node:url"; + import prettier from "../../config/prettier-entry.js"; test("API resolveConfigFile", async () => { diff --git a/tests/integration/__tests__/schema.js b/tests/integration/__tests__/schema.js index f5a97e18e..b3a520647 100644 --- a/tests/integration/__tests__/schema.js +++ b/tests/integration/__tests__/schema.js @@ -1,5 +1,5 @@ -import prettier from "../../config/prettier-entry.js"; import generateSchema from "../../../scripts/utils/generate-schema.js"; +import prettier from "../../config/prettier-entry.js"; test("schema", async () => { const { options } = await prettier.getSupportInfo(); diff --git a/tests/integration/__tests__/with-parser-inference.js b/tests/integration/__tests__/with-parser-inference.js index c85c83401..3c99d1f44 100644 --- a/tests/integration/__tests__/with-parser-inference.js +++ b/tests/integration/__tests__/with-parser-inference.js @@ -1,4 +1,5 @@ import { outdent } from "outdent"; + import prettier from "../../config/prettier-entry.js"; describe("infers postcss parser", () => { diff --git a/tests/integration/cli-worker.js b/tests/integration/cli-worker.js index 583569fab..da0d47117 100644 --- a/tests/integration/cli-worker.js +++ b/tests/integration/cli-worker.js @@ -1,8 +1,9 @@ -import { workerData, parentPort } from "node:worker_threads"; import fs from "node:fs"; import path from "node:path"; -import url from "node:url"; import readline from "node:readline"; +import url from "node:url"; +import { parentPort, workerData } from "node:worker_threads"; + import { prettierCli, prettierMainEntry } from "./env.js"; const normalizeToPosix = diff --git a/tests/integration/env.js b/tests/integration/env.js index a5cac1b69..943e6b4e9 100644 --- a/tests/integration/env.js +++ b/tests/integration/env.js @@ -1,4 +1,5 @@ import path from "node:path"; + import createEsmUtils from "esm-utils"; const { __dirname, require } = createEsmUtils(import.meta); @@ -17,4 +18,4 @@ const prettierMainEntry = isProduction const projectRoot = path.join(__dirname, "../.."); -export { isProduction, prettierMainEntry, prettierCli, projectRoot }; +export { isProduction, prettierCli, prettierMainEntry, projectRoot }; diff --git a/tests/unit/doc-builders.js b/tests/unit/doc-builders.js index faf9d5dfc..400ea4c4f 100644 --- a/tests/unit/doc-builders.js +++ b/tests/unit/doc-builders.js @@ -1,18 +1,18 @@ import { - join, - group, + addAlignmentToDoc, + align, conditionalGroup, + dedent, + dedentToRoot, fill, - lineSuffix, + group, ifBreak, indent, indentIfBreak, - align, - addAlignmentToDoc, - markAsRoot, - dedentToRoot, - dedent, + join, label, + lineSuffix, + markAsRoot, } from "../../src/document/builders.js"; import InvalidDocError from "../../src/document/invalid-doc-error.js"; diff --git a/tests/unit/errors.js b/tests/unit/errors.js index 31519719a..c5f256be1 100644 --- a/tests/unit/errors.js +++ b/tests/unit/errors.js @@ -1,7 +1,7 @@ import { + ArgExpansionBailout, ConfigError, UndefinedParserError, - ArgExpansionBailout, } from "../../src/common/errors.js"; it("ConfigError", () => { diff --git a/tests/unit/html-element-display-values.js b/tests/unit/html-element-display-values.js index 2757499d1..4feee2627 100644 --- a/tests/unit/html-element-display-values.js +++ b/tests/unit/html-element-display-values.js @@ -1,7 +1,8 @@ import { htmlTagNames } from "html-tag-names"; + import { - CSS_DISPLAY_TAGS, CSS_DISPLAY_DEFAULT, + CSS_DISPLAY_TAGS, } from "../../src/language-html/constants.evaluate.js"; test("display", () => { diff --git a/tests/unit/strip-trailing-hardline.js b/tests/unit/strip-trailing-hardline.js index d02372682..e0a7d7484 100644 --- a/tests/unit/strip-trailing-hardline.js +++ b/tests/unit/strip-trailing-hardline.js @@ -1,4 +1,4 @@ -import { hardline, fill } from "../../src/document/builders.js"; +import { fill, hardline } from "../../src/document/builders.js"; import { stripTrailingHardline } from "../../src/document/utils.js"; test("Should not mutate doc", () => { diff --git a/tests/unit/syntax-transform.js b/tests/unit/syntax-transform.js index 9ff63ef76..b82ed75b1 100644 --- a/tests/unit/syntax-transform.js +++ b/tests/unit/syntax-transform.js @@ -1,6 +1,7 @@ /* eslint-disable quotes -- `toMatchInlineSnapshot` uses template literal */ -import url from "node:url"; import path from "node:path"; +import url from "node:url"; + import transformCode from "../../scripts/build/transform/index.js"; const file = url.fileURLToPath( diff --git a/tests/unit/traverse-doc.js b/tests/unit/traverse-doc.js index 9131702be..b622e49c1 100644 --- a/tests/unit/traverse-doc.js +++ b/tests/unit/traverse-doc.js @@ -1,5 +1,5 @@ -import { traverseDoc, findInDoc } from "../../src/document/utils.js"; import InvalidDocError from "../../src/document/invalid-doc-error.js"; +import { findInDoc, traverseDoc } from "../../src/document/utils.js"; test("traverse", () => { const doc = [["a", "b"]]; diff --git a/tests/unit/visitor-keys.js b/tests/unit/visitor-keys.js index bbcc14a66..c40201dfa 100644 --- a/tests/unit/visitor-keys.js +++ b/tests/unit/visitor-keys.js @@ -1,9 +1,9 @@ -import estreeVisitorKeys from "../../src/language-js/traverse/visitor-keys.evaluate.js"; -import jsonVisitorKeys from "../../src/language-json/visitor-keys.js"; import postcssVisitorKeys from "../../src/language-css/visitor-keys.js"; import graphqlVisitorKeys from "../../src/language-graphql/visitor-keys.js"; import glimmerVisitorKeys from "../../src/language-handlebars/visitor-keys.evaluate.js"; import htmlVisitorKeys from "../../src/language-html/visitor-keys.js"; +import estreeVisitorKeys from "../../src/language-js/traverse/visitor-keys.evaluate.js"; +import jsonVisitorKeys from "../../src/language-json/visitor-keys.js"; import remarkVisitorKeys from "../../src/language-markdown/visitor-keys.js"; import yamlVisitorKeys from "../../src/language-yaml/visitor-keys.js"; diff --git a/website/playground/EditorState.js b/website/playground/EditorState.js index a932deb68..476d9ba6d 100644 --- a/website/playground/EditorState.js +++ b/website/playground/EditorState.js @@ -1,6 +1,6 @@ import * as React from "react"; -import { stateToggler, shallowEqual } from "./helpers.js"; +import { shallowEqual, stateToggler } from "./helpers.js"; import * as storage from "./storage.js"; export default class EditorState extends React.Component { diff --git a/website/playground/Playground.js b/website/playground/Playground.js index a24e04e81..f1bc7cdf6 100644 --- a/website/playground/Playground.js +++ b/website/playground/Playground.js @@ -1,20 +1,19 @@ import * as React from "react"; import { Button, ClipboardButton } from "./buttons.js"; +import getCodeSample from "./codeSamples.mjs"; +import generateDummyId from "./dummyId.js"; import EditorState from "./EditorState.js"; +import { shallowEqual } from "./helpers.js"; +import formatMarkdown from "./markdown.js"; import { DebugPanel, InputPanel, OutputPanel } from "./panels.js"; import PrettierFormat from "./PrettierFormat.js"; -import { shallowEqual } from "./helpers.js"; -import * as urlHash from "./urlHash.js"; -import formatMarkdown from "./markdown.js"; -import * as util from "./util.js"; -import generateDummyId from "./dummyId.js"; -import getCodeSample from "./codeSamples.mjs"; - import { Sidebar, SidebarCategory } from "./sidebar/components.js"; -import SidebarOptions from "./sidebar/SidebarOptions.js"; -import Option from "./sidebar/options.js"; import { Checkbox } from "./sidebar/inputs.js"; +import Option from "./sidebar/options.js"; +import SidebarOptions from "./sidebar/SidebarOptions.js"; +import * as urlHash from "./urlHash.js"; +import * as util from "./util.js"; const CATEGORIES_ORDER = [ "Global", diff --git a/website/playground/buttons.js b/website/playground/buttons.js index f73174bc5..766ca06b3 100644 --- a/website/playground/buttons.js +++ b/website/playground/buttons.js @@ -1,5 +1,5 @@ -import * as React from "react"; import ClipboardJS from "clipboard"; +import * as React from "react"; export const Button = React.forwardRef((props, ref) => (