YAML a TOML

Traduce configuracion YAML a TOML con indentacion opcional y ordenacion de claves.

Traduce configuracion YAML a TOML con indentacion opcional y ordenacion de claves. Traduce configuracion YAML a TOML con indentacion opcional y ordenacion de claves.

Salida

Contexto

Cuando YAML y TOML se solapan, y cuando no

YAML y TOML apuntan a formatos de configuracion legibles por humanos. Se solapan mucho en los datos que pueden representar (mapeos, secuencias, escalares), pero difieren en sintaxis y en algunos casos limite. YAML soporta etiquetas, anclas y escalares multilinea; TOML distingue entre tablas en linea y matrices de tablas, y trata las fechas como un tipo de primera clase.

Un conversor de YAML a TOML resulta muy util al migrar un archivo de configuracion del formato preferido de una herramienta al de otra: por ejemplo, mover un manifiesto de Kubernetes a un fragmento de pyproject.toml, o reexpresar un inventario de Ansible en una tabla [dependencies] de Cargo.

Que sobrevive a la conversion

Los mapeos (key: value en YAML) se convierten en tablas TOML o pares clave/valor segun el contexto. Las secuencias pasan a matrices en linea o cabeceras [[array.of.tables]]. Los escalares se conservan mientras mapeen limpiamente: cadenas, enteros, flotantes, booleanos y fechas ISO.

Que no sobrevive

Las anclas y alias de YAML se aplanan durante el parseo; el TOML convertido contiene el valor concreto en cada sitio de alias, que es lo que la mayoria de los consumidores quieren. Las etiquetas !!binary de YAML no se conservan porque TOML no tiene equivalente. Los comentarios se eliminan a proposito: ninguno de los dos formatos garantiza preservacion round-trip.

Consejos de flujo de trabajo

Antes de hacer commit del TOML convertido, ejecuta el linter TOML de tu proyecto (taplo, toml-check, etc.). El conversor solo traduce sintaxis, no estilo; el linter detecta problemas de comillas, indentacion y orden de claves que el conversor no puede captar.

Construido sobre dos bibliotecas MIT/BSD-3 empaquetadas en public/assets: js-yaml para parsear y smol-toml para emitir. Tu entrada se procesa en local.

Preguntas frecuentes

El conversor maneja anclas YAML?
Si. Las anclas (&name value) y alias (*name) se expanden durante el parseo, asi que el TOML contiene el valor resuelto en cada sitio de alias. Los nombres originales de ancla no se conservan.
Sobreviviran los comentarios del YAML?
No. Los comentarios YAML son eliminados por todos los analizadores principales. Agrega los comentarios a mano en el TOML si los necesitas.
El conversor maneja archivos YAML multi-documento?
No. El visor trata cada carga como un unico documento. Usa una herramienta dedicada para archivos multi-documento.
TOML soporta cadenas multilinea?
Si. El conversor emite cadenas basicas con comillas triples de TOML para cualquier escalar YAML que contenga saltos de linea, preservando la legibilidad.
Que hay de los datos !!binary de YAML?
TOML no tiene equivalente para blobs binarios en base64. El conversor advierte y omite esos valores para evitar corrupcion silenciosa.
Mi YAML se sube?
No. El parseo ocurre en local mediante js-yaml y la salida TOML se genera en local mediante smol-toml. Nada se envia a un servidor.