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. Допустимые значения:
errorwarn-
log(по умолчанию) debugsilent
--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