Перейти к содержанию

Форматер YAML

Валидация и переформатирование YAML с указанием номера строки и столбца.

Входные данные
Выходные данные

Форматер YAML

YAML встречается везде — от манифестов Kubernetes до рабочих процессов GitHub Actions и конфигурации приложений — и не прощает ошибок с пробелами: один неправильно выровненный пробел разрушает весь документ. Этот инструмент проверяет синтаксис YAML-документа и переформатирует его последовательно, чтобы вы могли поймать ошибку в pipeline или конфигурационном файле до его запуска.

Вставьте документ, и он немедленно будет разобран. Корректный ввод вернётся переформатированным с выбранной вами шириной отступа; некорректный ввод выведет точную строку и столбец проблемы вместе с тем, что ожидал парсер, поэтому вам не придётся гадать, в какой из сорока строк потеряна табуляция. Две проверки выполняются автоматически для каждого валидного документа: предупреждение, если какая-либо строка использует табуляцию для отступа, так как спецификация YAML запрещает табы, даже если многие редакторы вставляют их по умолчанию, и подсчёт дублирующихся ключей в одном маппинге, что YAML допускает, но обычно это означает, что побеждает только последний, а остальные бесполезны.

Параметры контролируют как структуру, так и пробельные символы. Отсортируйте ключи по алфавиту для получения детерминированного, сравниваемого документа — это полезно, когда сгенерированная конфигурация постоянно создаёт шумные git-дифы без функциональной причины. Сворачивание коротких списков преобразует скалярную последовательность вроде трёхстрочного списка тегов в одну строку flow-стиля, например tags: [a, b, c]; оставьте её отключённой, и встроенные flow-списки в вводе будут развёрнуты обратно в один элемент на строку, что обычно удобнее для проверки и слияния. Удаление комментариев убирает полнострочные и концевые hash-комментарии для версии, предназначенной для минификации или обмена без заметок, а оставление их включёнными сохраняет комментарии вашего документа в точности как они написаны.

Форматирование происходит полностью в вашем браузере. YAML, который вы вставляете, никогда не загружается, не логируется и не отправляется никуда — он разбирается, переформатируется и отображается локально, и исчезает в момент закрытия или перезагрузки вкладки.

FAQ

Мой YAML загружается куда-нибудь?
Нет. Разбор и форматирование происходят полностью в JavaScript-движке вашего браузера. Ничего из того, что вы вставляете, не отправляется на сервер, не логируется и не хранится вне вашего устройства.
Что означают строка и столбец в ошибке?
Они указывают на то место в вашем документе, где парсер перестал понимать, считая с верхнего левого угла вставленного вами текста. Они также показывают, что парсер ожидал, например согласованный отступ или значение после двоеточия.
Почему инструмент предупреждает о табуляции?
Спецификация YAML запрещает использовать символы табуляции для отступа — разрешены только пробелы. Документ с табуляцией для отступа может быть разобран непоследовательно или полностью не работать в другой реализации YAML, поэтому инструмент это отмечает, даже если ваш ввод здесь ещё работает.
Что происходит с дублирующимися ключами?
YAML позволяет повторять ключ в одном маппинге, и большинство парсеров молча оставляют только последнее значение. Инструмент не отклоняет это, но подсчитывает дубликаты и отмечает затронутую строку, чтобы вы могли решить, было ли это намеренным.
Может ли инструмент исправить невалидный YAML?
Нет — он точно сообщает вам, где разбор не удался, чтобы вы могли исправить источник. Автоматическое угадывание исправления для нарушенного отступа рискует изменить смысл документа.