Spec-Zone.ru › Prettier

CLI

Используйте команду prettier, чтобы запустить Prettier из командной строки.

prettier [options] [file/dir/glob ...]
примечание

Чтобы запустить локально установленную версию Prettier, добавьте перед командой npx, yarn exec, pnpm exec или bunx, например: npx prettier --help, yarn exec prettier --help, pnpm exec prettier --help или bunx prettier --help.

Чтобы отформатировать файл на месте, используйте --write. (Примечание: это перезапишет ваши файлы!)

На практике это может выглядеть так:

prettier . --write

Эта команда форматирует все файлы в текущем каталоге и его подкаталогах, поддерживаемые Prettier.

Рекомендуется всегда проверять, что prettier --write . форматирует в проекте только то, что нужно. Используйте файл .prettierignore, чтобы исключить файлы, которые не следует форматировать.

Более сложный пример:

prettier docs package.json "{app,__{tests,mocks}__}/**/*.js" --write --single-quote --trailing-comma all
предупреждение

Не забудьте взять шаблоны glob в кавычки! Кавычки нужны, чтобы шаблоны glob раскрывала CLI Prettier, а не ваша оболочка. Это важно для кроссплатформенного использования.

примечание

Для параметров форматирования, таких как --single-quote и --trailing-comma, лучше использовать файл конфигурации, а не передавать их как флаги CLI. Так CLI Prettier, интеграции с редакторами и другие инструменты смогут узнать, какие параметры вы используете.

Шаблоны файлов

Получив список путей/шаблонов, CLI Prettier сначала рассматривает каждый элемент как буквальный путь.

  • Если путь указывает на существующий файл, CLI Prettier обрабатывает этот файл и не интерпретирует путь как шаблон glob.

  • Если путь указывает на существующий каталог, CLI Prettier рекурсивно ищет в нем поддерживаемые файлы. Этот процесс основан на расширениях файлов и известных именах файлов, которые Prettier и его плагины связывают с поддерживаемыми языками.

  • В противном случае элемент обрабатывается как шаблон glob с использованием синтаксиса glob из модуля fast-glob.

CLI Prettier будет игнорировать файлы в каталоге node_modules. Чтобы отключить это поведение, используйте флаг --with-node-modules.

При раскрытии аргументов CLI Prettier не будет переходить по символическим ссылкам.

Чтобы экранировать специальные символы в шаблонах glob, можно использовать один из двух синтаксисов: prettier "\[my-dir]/*.js" или prettier "[[]my-dir]/*.js". Оба варианта соответствуют всем JS-файлам в каталоге с именем [my-dir], однако предпочтительнее второй синтаксис, поскольку первый не работает в Windows, где обратная косая черта используется как разделитель путей.

--check

Чтобы проверить, отформатированы ли ваши файлы, запустите Prettier с флагом --check (или -c). Будет выведено понятное сообщение и список неотформатированных файлов, если таковые есть.

prettier . --check

Вывод консоли, если все файлы отформатированы:

Checking formatting...
All matched files use Prettier code style!

Вывод консоли, если некоторые файлы требуют повторного форматирования:

Checking formatting...
[warn] src/fileA.js
[warn] src/fileB.js
[warn] Code style issues found in 2 files. Run Prettier with --write to fix.

Во втором случае команда вернет код выхода 1, что полезно в конвейерах CI. Понятные сообщения о состоянии помогут участникам проекта реагировать на возможные проблемы. Чтобы сократить количество случаев, когда prettier --check обнаруживает неотформатированные файлы, можно настроить хук pre-commit в репозитории. Это поможет сократить количество сбоев CI из-за проблем с форматированием кода.

Если нужно передать список неотформатированных файлов другой команде через конвейер, используйте флаг --list-different вместо --check.

Коды выхода

Код Описание
0 Все файлы отформатированы правильно
1 Некоторые файлы отформатированы неправильно
2 Возникла проблема с Prettier

--debug-check

Если вы опасаетесь, что Prettier изменит корректность вашего кода, добавьте в команду --debug-check. Prettier выведет сообщение об ошибке, если обнаружит, что корректность кода могла измениться. Обратите внимание: --write нельзя использовать вместе с --debug-check.

--find-config-path и --config

Если вы часто форматируете отдельные файлы с помощью prettier, Prettier будет тратить немного времени на поиск файла конфигурации. Чтобы избежать этого, можно попросить Prettier найти файл конфигурации один раз и затем использовать его повторно.

$ prettier --find-config-path path/to/file.js
path/to/.prettierrc

В результате будет указан путь к файлу конфигурации, который можно передать в --config:

prettier path/to/file.js --write --config path/to/.prettierrc

Также можно использовать --config, если файл конфигурации находится там, где Prettier не может его найти, например в каталоге config/.

Если у вас нет файла конфигурации или вы хотите игнорировать его, если он существует, можно передать --no-config.

--ignore-path

Путь к файлу, содержащему шаблоны для файлов, которые нужно игнорировать. По умолчанию Prettier ищет ./.gitignore и ./.prettierignore.
Можно указать несколько значений.

--list-different

Еще один полезный флаг — --list-different (или -l), который выводит имена файлов, отличающихся от результата форматирования Prettier. При наличии различий скрипт завершится с ошибкой, что полезно в CI.

prettier . --single-quote --list-different

Также можно использовать флаг --check, который работает так же, как --list-different, но дополнительно выводит в stdout понятное итоговое сообщение.

--no-config

Не искать файл конфигурации. Будут использоваться настройки по умолчанию.

--config-precedence

Определяет, как файл конфигурации учитывается вместе с параметрами CLI.

cli-override (по умолчанию)

Параметры CLI имеют приоритет над файлом конфигурации

file-override

Файл конфигурации имеет приоритет над параметрами CLI

prefer-file

Если файл конфигурации найден, он будет применен, а остальные параметры CLI будут проигнорированы. Если файл конфигурации не найден, параметры CLI будут обработаны как обычно.

Этот параметр поддерживает интеграции с редакторами: пользователи могут задать конфигурацию по умолчанию, но при этом учитывать настройки конкретного проекта.

--no-editorconfig

Не учитывать .editorconfig при разборе конфигурации. Подробности см. в документации prettier.resolveConfig.

--with-node-modules

CLI Prettier будет игнорировать файлы в каталоге node_modules. Чтобы отключить это поведение, используйте флаг --with-node-modules.

--write

Перезаписывает все обработанные файлы на месте. Это аналогично рабочему процессу eslint --fix. Также можно использовать псевдоним -w.

--log-level

Изменяет уровень журналирования CLI. Допустимые значения:

  • error
  • warn
  • log (по умолчанию)
  • debug
  • silent

--stdin-filepath

Путь к файлу, который CLI Prettier будет считать стандартным вводом. Например:

abc.css

.name {
  display: none;
}

оболочка

$ cat abc.css | prettier --stdin-filepath abc.css
.name {
  display: none;
}

--ignore-unknown

С параметром --ignore-unknown (или -u) Prettier будет игнорировать неизвестные файлы, найденные по шаблонам.

prettier "**/*" --write --ignore-unknown

--no-error-on-unmatched-pattern

Не выдавать ошибку, если шаблон не соответствует ни одному файлу.

--cache

Если этот параметр включен, следующие значения используются в качестве ключей кеша, и файл форматируется, только если изменилось одно из них.

  • Версия Prettier
  • Параметры
  • Версия Node.js
  • (если --cache-strategy равно metadata) метаданные файла, например временные метки
  • (если --cache-strategy равно content) содержимое файла
prettier . --write --cache

Запуск Prettier без --cache удалит кеш.

Кроме того, поскольку файл кеша хранится в ./node_modules/.cache/prettier/.prettier-cache, его можно удалить вручную с помощью rm ./node_modules/.cache/prettier/.prettier-cache.

предупреждение

Версии и реализация плагинов не используются в качестве ключей кеша. Рекомендуем удалять кеш при обновлении плагинов.

--cache-location

Путь к файлу кеша, используемому флагом --cache. Если явно не указан --cache-location, Prettier сохраняет файл кеша в ./node_modules/.cache/prettier/.prettier-cache.

Если указан путь к файлу, в качестве файла кеша используется именно этот файл.

prettier . --write --cache --cache-location=path/to/cache-file

--cache-strategy

Стратегия, используемая кешем для обнаружения изменившихся файлов. Может быть metadata или content.

В целом metadata работает быстрее. Однако content полезен для обновления временной метки без изменения содержимого файла. Например, это может происходить во время операций git, таких как git clone, поскольку эта операция не отслеживает время изменения файлов.

Если стратегия не указана, будет использоваться content.

prettier . --write --cache --cache-strategy metadata

© James Long and contributors
https://prettier.io/docs/cli

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API