Yamlfmt: Форматирование YAML файлов

Yamlfmt: Форматирование YAML файлов

Введение

Yamlfmt — это утилита командной строки для форматирования YAML-файлов. Она упрощает соблюдение единых правил оформления, делая файлы более читаемыми и поддерживаемыми. В данной статье рассмотрим основные способы использования yamlfmt, различные режимы работы и доступные флаги конфигурации.

Основное использование

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

Форматирование одного файла

Для форматирования одного файла используйте команду:

yamlfmt x.yaml

Форматирование директории

Для рекурсивного поиска и форматирования всех файлов с расширением .yml или .yaml в указанной директории:

yamlfmt .

Использование Doublestar

Для более динамичного поиска файлов можно использовать Doublestar. Например:

yamlfmt -dstar "**/*.yaml"

Три режима работы

Yamlfmt поддерживает три режима работы: форматирование, проверка (Lint) и тестовый запуск (Dry Run).

Форматирование

Это основной режим работы по умолчанию. Yamlfmt находит все файлы, соответствующие указанным шаблонам, и форматирует их, перезаписывая исходные файлы.

Форматирование из stdin

Этот режим считывает данные из стандартного ввода и выводит отформатированные данные в стандартный вывод. Для его использования передайте - или /dev/stdin, либо используйте флаг -in:

cat x.yaml | yamlfmt -
cat x.yaml | yamlfmt /dev/stdin
cat x.yaml | yamlfmt -in

Тестовый запуск (Dry Run)

Этот режим активируется с помощью флага -dry. Он выводит результат форматирования в консоль без изменения файлов. Полезен для предварительного просмотра изменений:

yamlfmt -dry "путь/к/файлам/*.yaml"

Проверка (Lint)

Этот режим активируется флагом -lint. Yamlfmt проверяет файлы на наличие различий в формате и завершает работу с кодом 1, если такие различия найдены.

yamlfmt -lint .

Флаги командной строки

Операционные флаги

ИмяФлагОписание
Помощь-helpПечатает информацию о команде.
Версия-versionПечатает версию yamlfmt.
Конфигурация-print_confПечатает используемую конфигурацию.
Тестовый запуск-dryВыполняет тестовый запуск.
Проверка-lintВыполняет проверку формата.
Тихий режим-quietИспользует тихий режим (влияет на Dry Run и Lint).
Ввод-inСчитывает данные из stdin и выводит в stdout.

Конфигурационные флаги

ИмяФлагТипОписание
Файл конфигурации-confstringПуть к файлу конфигурации.
Глобальная конфигурация-global_confboolИспользовать конфигурацию из системного каталога.
Отключить глобальную конфигурацию-no_global_confboolОтключить использование конфигурации из системного каталога.
Doublestar-dstarboolИспользовать Doublestar для включения и исключения путей.
Исключить-exclude[]stringПаттерны для исключения путей.
Gitignore-gitignore_excludesboolИспользовать gitignore для исключения путей.
Путь к gitignore-gitignore_pathstringПуть к файлу gitignore (по умолчанию .gitignore).
Расширения-extensions[]stringРасширения файлов для поиска.
Конфигурация форматтера-formatter[]stringПараметры для настройки форматтера.
Отладка-debug[]stringВключить отладочные сообщения.
Формат вывода-output_formatstringФормат вывода (по умолчанию “default”).

Файл конфигурации

Yamlfmt автоматически ищет файлы конфигурации с определенными именами (.yamlfmt, yamlfmt.yml, и т.д.). Вы также можете указать путь к конфигурационному файлу с помощью флага -conf.

Настройка форматтера

Пример конфигурации с использованием базового форматтера:

formatter:
type: basic
indent: 2
include_document_start: true

Пример использования в pre-commit

Для использования yamlfmt в качестве хука pre-commit добавьте следующий блок в ваш .pre-commit-config.yaml:

- repo: https://github.com/google/yamlfmt
rev: v0.10.0
hooks:
- id: yamlfmt

Заключение

Yamlfmt — это мощный инструмент для обеспечения единообразного форматирования YAML-файлов. Он поддерживает различные режимы работы, гибкие настройки и легко интегрируется в существующие процессы CI/CD.

Для получения дополнительной информации и установки, посетите страницу проекта Yamlfmt на GitHub.