Spec-Zone.ru › Prettier

Командная строка

Используйте команду 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

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

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

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

Spec-Zone.ru

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