Validateur TOML
Validez les fichiers TOML, tels que Cargo.toml, pyproject.toml ou les paramètres Hugo et Netlify, avant qu’ils ne fassent échouer une compilation. Le validateur analyse l’entrée selon la spécification TOML et signale la première erreur avec sa ligne, sa colonne et l’explication de l’analyseur, notamment les clés en double, les tables redéfinies et les dates impossibles. Pour les fichiers valides, il indique le nombre de tables et de clés ainsi que les clés de premier niveau, afin que vous puissiez vérifier la structure d’un coup d’œil.
Foire aux questions
Que vérifie le validateur TOML ?
Il analyse les clés, les chaînes, les nombres, les booléens, les dates et les heures, les tableaux, les tables intégrées, les tables et les tableaux de tables, conformément à la spécification TOML. Tout écart, comme une valeur manquante, une chaîne sans guillemets ou une séquence d’échappement incorrecte, est signalé comme une erreur. Un bref résumé de leur structure est fourni pour les fichiers valides.
Quelles informations contient une erreur ?
Chaque erreur indique la ligne et la colonne où l’analyse s’est arrêtée, ainsi qu’une ligne de détails fournie par l’analyseur, par exemple une date invalide ou une tentative de redéfinition d’une table ou d’une valeur déjà définie. Les lignes et les colonnes commencent à 1. Seule la première erreur est affichée, car les erreurs suivantes en découlent souvent.
Pourquoi une clé ou une table est-elle signalée comme redéfinie ?
TOML n’autorise pas deux fois la même clé dans une table, et un en-tête de table comme [server] ne peut apparaître qu’une seule fois. Définir une clé avec points comme server.port après une table [server] où port a déjà été défini compte également comme une redéfinition. Regroupez les entrées au même endroit pour corriger le problème.
Comment les tables et les clés sont-elles comptées ?
Tables compte chaque table sous la racine, y compris les tables intégrées et chaque entrée d’un tableau de tables. Keys compte chaque clé dont la valeur n’est ni une table ni un tableau de tables ; une liste de chaînes compte donc comme une seule clé. Top-level keys répertorie les noms à la racine, jusqu’à 50.
Les dates et les heures sont-elles vérifiées ?
Oui. Les dates-heures avec décalage, les dates-heures locales, les dates locales et les heures locales sont toutes validées, y compris les valeurs impossibles comme le mois 13 ou l’heure 25. Une date écrite dans un autre format, par exemple 05/27/1979, n’est pas une date TOML et doit être entourée de guillemets pour être interprétée comme une chaîne.
Quelles chaînes et séquences d’échappement sont autorisées ?
Les chaînes de base entre guillemets doubles acceptent des séquences d’échappement comme \n, \t, \" et \uXXXX, tandis que les chaînes littérales entre guillemets simples conservent chaque caractère tel qu’il est écrit. Les deux formats existent aussi sur plusieurs lignes, avec trois guillemets. Toute séquence d’échappement inconnue ou chaîne non terminée est signalée avec sa position.
Les très grands entiers sont-ils acceptés ?
Oui. Les entiers jusqu’à la limite sur 64 bits de la spécification TOML, comme 9223372036854775807, sont acceptés. Les entiers dépassant cette plage, les zéros initiaux et les tirets bas qui ne sont pas entre des chiffres sont des erreurs.
Un marqueur d’ordre des octets ou une fin de ligne Windows pose-t-il problème ?
Non. Un marqueur d’ordre des octets UTF-8 au début est ignoré, et les fins de ligne LF et CRLF sont toutes deux acceptées. Les caractères de contrôle non échappés dans les chaînes sont signalés comme des erreurs.
Vérifie-t-il la signification des clés, comme le ferait Cargo ou Poetry ?
Non, le validateur vérifie uniquement la syntaxe et la structure de TOML. Un fichier peut être un TOML valide tout en contenant une clé que Cargo ou un moteur de compilation Python ne comprend pas. Utilisez cet outil pour écarter les problèmes de syntaxe avant d’examiner les paramètres propres à chaque outil.
Quelle taille maximale peut avoir l’entrée, et puis-je la convertir ?
Les entrées peuvent atteindre 5 MiB et les tableaux imbriqués ainsi que les tables inline peuvent comporter jusqu'à 64 niveaux. Pour convertir un TOML valide en JSON, en YAML ou dans un autre format, utilisez le convertisseur de formats de données.