Командная строка
Используйте команду prettier для запуска Prettier из командной строки.
prettier [options] [file/dir/glob ...]
Чтобы запустить локальную версию Prettier, добавьте префикс
npxилиyarn(если вы используете Yarn), напримерnpx prettier --help, илиyarn prettier --help.
Чтобы отформатировать файл на месте, используйте --write. (Примечание: это перезапишет ваши файлы!)
На практике это может выглядеть так:
prettier . --write
Эта команда форматирует все файлы, поддерживаемые Prettier, в текущей директории и её поддиректориях.
Рекомендуется всегда убедиться, что prettier --write . форматирует только нужные файлы в вашем проекте. Используйте файл .prettierignore для игнорирования файлов, которые не нужно форматировать.
Более сложный пример:
prettier docs package.json "{app,__{tests,mocks}__}/**/*.js" --write --single-quote --trailing-comma all
Не забывайте о кавычках вокруг шаблонов! Кавычки гарантируют, что Prettier CLI расширяет шаблоны, а не ваша оболочка, что важно для кроссплатформенного использования.
Лучше использовать файл конфигурации файл конфигурации для опций форматирования, таких как
--single-quoteи--trailing-comma, вместо передачи их в качестве флагов командной строки. Таким образом, Prettier CLI, интеграции с редакторами и другие инструменты смогут узнать используемые вами опции.
Шаблоны файлов
Учитывая список путей/шаблонов, Prettier CLI сначала рассматривает каждую запись в нём как буквальный путь.
Если путь указывает на существующий файл, Prettier CLI обрабатывает этот файл и не разрешает путь как шаблон glob.
Если путь указывает на существующую директорию, Prettier CLI рекурсивно находит поддерживаемые файлы в этой директории. Этот процесс разрешения основан на расширениях файлов и известных именах файлов, которые Prettier и его плагины связывают с поддерживаемыми языками.
В противном случае запись разрешается как шаблон glob с использованием синтаксиса glob из модуля
fast-glob.
Prettier CLI проигнорирует файлы, расположенные в директории node_modules. Чтобы отказаться от этого поведения, используйте флаг --with-node-modules.
Prettier CLI не будет следовать символичным ссылкам при расширении аргументов.
Для экранирования специальных символов в шаблонах 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 находит неотформатированные файлы, вы можете настроить пре-коммит хук в вашем репозитории. Применение этой практики сведёт к минимуму случаи, когда 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, но также выводит на стандартный вывод дружественное для человека сообщение.
--no-config
Не искать файл конфигурации. Будут использоваться настройки по умолчанию.
--config-precedence
Определяет, как файл конфигурации должен обрабатываться в сочетании с опциями командной строки.
cli-override (по умолчанию)
Опции командной строки имеют приоритет над файлом конфигурации.
file-override
Файл конфигурации имеет приоритет над опциями командной строки.
prefer-file
Если файл конфигурации найден, он обрабатывается, а другие опции командной строки игнорируются. Если файл конфигурации не найден, опции командной строки обрабатываются как обычно.
Эта опция добавляет поддержку интеграций с редакторами, где пользователи определяют свои настройки по умолчанию, но хотят соблюдать настройки, специфичные для проекта.
--no-editorconfig
Не учитывать .editorconfig при обработке конфигурации. Подробности см. в prettier.resolveConfig документации.
--with-node-modules
Prettier CLI будет игнорировать файлы, расположенные в директории node_modules. Чтобы отказаться от этого поведения, используйте флаг --with-node-modules.
--write
Это перезаписывает все обработанные файлы на месте. Это сопоставимо с eslint --fix потоком работы. Вы также можете использовать алиас -w.
--log-level
Изменить уровень ведения журнала для командной строки. Допустимые варианты:
errorwarn-
log(по умолчанию) debugsilent
--stdin-filepath
Путь к файлу, который Prettier CLI будет обрабатывать как stdin. Например:
abc.css
.name { display: none; }
shell
$ 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/en/cli