Traduisez une configuration YAML en TOML avec indentation et tri des clés optionnels.
Traduisez une configuration YAML en TOML avec indentation et tri des clés optionnels. Traduisez une configuration YAML en TOML avec indentation et tri des clés optionnels.
Sortie
Contexte
Quand le YAML et le TOML se chevauchent, et quand ce n'est pas le cas
Le YAML et le TOML visent tous deux à être des formats de configuration
lisibles par des humains. Ils se chevauchent fortement sur les données
qu'ils peuvent représenter (mappings, séquences, scalaires), mais ils
diffèrent dans la syntaxe et sur quelques cas particuliers. Le YAML
prend en charge les balises, les ancres et les scalaires multi-lignes ;
le TOML distingue les tables en ligne des tableaux de tables, et traite
les dates comme un type de première classe.
Un convertisseur YAML-vers-TOML est surtout utile pour migrer un fichier
de configuration du format préféré d'un outil vers celui d'un autre : par
exemple, déplacer un manifeste Kubernetes dans un extrait
pyproject.toml, ou réexprimer un inventaire Ansible dans une table
Cargo [dependencies].
Ce qui survit à la conversion
Les mappings (key: value en YAML) deviennent des tables TOML ou des
paires clé/valeur selon le contexte. Les séquences deviennent des
tableaux en ligne ou des en-têtes [[array.of.tables]]. Les scalaires
sont préservés tant qu'ils se mappe proprement : chaînes, entiers,
flottants, booléens, et dates ISO.
Ce qui ne survit pas
Les ancres et alias YAML sont aplatis pendant l'analyse ; le TOML
converti contient la valeur concrète à chaque site d'alias, ce que la
plupart des consommateurs veulent. Les balises YAML !!binary ne sont
pas préservées car le TOML n'a pas d'équivalent. Les commentaires sont
supprimés volontairement -- aucun des deux formats ne garantit la
préservation de l'aller-retour.
Conseils de workflow
Avant de valider le TOML converti, lancez le linter TOML de votre projet
(taplo, toml-check, etc.). Le convertisseur ne traduit que la syntaxe,
pas le style ; le linter détecte les problèmes de citation,
d'indentation et d'ordre des clés que le convertisseur ne peut pas voir.
Foire aux questions
Le convertisseur gère-t-il les ancres YAML ?
Oui. Les ancres (`&name value`) et les alias (`*name`) sont développés pendant l'analyse, si bien que le TOML contient la valeur résolue à chaque site d'alias. Les noms d'ancres d'origine ne sont pas préservés.
Les commentaires du YAML survivront-ils ?
Non. Les commentaires YAML sont supprimés par tous les analyseurs grand public. Ajoutez-les à la main dans le TOML si besoin.
Le convertisseur peut-il gérer des fichiers YAML multi-documents ?
Non. Le visualiseur traite chaque import comme un document unique. Utilisez un outil dédié pour les fichiers multi-documents.
Le TOML prend-il en charge les chaînes multi-lignes ?
Oui. Le convertisseur émet les chaînes de base triple-guillemets du TOML pour tout scalaire YAML contenant des retours à la ligne, si bien que la lisibilité est préservée.
Et les données YAML `!!binary` ?
Le TOML n'a pas d'équivalent pour les blobs binaires base64. Le convertisseur émet un avertissement et saute ces valeurs pour éviter une corruption silencieuse.
Mon YAML est-il téléversé ?
Non. L'analyse s'effectue localement via js-yaml, et la sortie TOML est générée localement via smol-toml. Rien n'est envoyé à un serveur.