YAML Anchors & Aliases Resolver
Развернуть YAML-якоря и алиасы (&anchor, *ref) в полный документ.
Как это работает
Якоря и ссылки YAML через амперсанд и звездочку это удобный способ не повторять один и тот же блок конфигурации несколько раз, но читать такой файл человеку, незнакомому с этим синтаксисом, неудобно, а некоторые инструменты вообще не поддерживают якоря при импорте. Yaml anchors resolver online разворачивает все ссылки в полностью явный документ без сокращений.
Инструмент парсит YAML стандартным образом, при котором якоря и алиасы автоматически разрешаются в реальные значения на уровне парсера, а затем сериализует результат заново уже без каких либо ссылок, только с полностью развернутыми данными на своих местах.
Полезно применять при передаче конфига в систему, которая не поддерживает синтаксис якорей YAML, при объяснении сложного конфига коллеге, не знакомому с этой особенностью формата, или просто чтобы увидеть, что на самом деле получается после применения всех ссылок и слияний через двойной символ меньше.
Частые вопросы
Что произойдет с оператором слияния двойное меньше при разворачивании?
Оператор слияния, который подмешивает содержимое одного блока в другой, полностью разворачивается в реальные поля результирующего объекта, в итоговом документе не останется никаких признаков того, что эти поля пришли откуда то через ссылку.
Можно ли потом снова превратить развернутый YAML обратно в компактную версию с якорями?
Нет, обратное сжатие повторяющихся блоков в якоря это отдельная нетривиальная задача, инструмент выполняет только одностороннее разворачивание, свернуть обратно автоматически не получится.
Сохраняется ли структура и порядок полей после разворачивания якорей?
Да, порядок полей и общая структура документа остаются такими же, как если бы вы вручную выписали все значения без использования якорей и ссылок с самого начала.
Зачем вообще может понадобиться разворачивание якорей, если они удобны для написания?
Удобны они для написания и поддержки, но не всегда удобны для чтения человеком со стороны, для отладки, документации или передачи конфига внешней системе полностью явный вид без ссылок часто оказывается практичнее.