Che cosa verifica questo strumento
Che il documento si analizzi — cosa che in YAML comprende più di quanto sembri:
- l’indentazione è coerente ed è fatta di spazi;
- le virgolette sono chiuse e gli scalari di blocco (
|,>) correttamente indentati; - ogni alias
*nomeha un’ancora&nomea cui puntare; - nessuna mappa porta due volte la stessa chiave;
- i separatori
---producono documenti interi.
Se passa, ottieni la forma della radice e la dimensione. Altrimenti il messaggio del parser con riga e colonna — e i parser YAML sono particolarmente bravi a dire dove.
Validatore, verificatore, parser — e .yml contro .yaml
Verificatore di sintassi, verificatore di formato, parser, tester, validatore: cinque nomi per una sola domanda — questo documento si analizza? È ciò che accade quando incolli.
.yml e .yaml sono la stessa lingua, non due varianti. L’estensione è un’abitudine: il progetto YAML chiede .yaml, mentre un’intera generazione di strumenti ha scritto .yml per prima e non si è più mossa. Docker Compose legge entrambe, GitHub Actions legge entrambe, e anche questa pagina — nulla dentro il file dice con quale grafia è arrivato.
La tabulazione non è indentazione
Una tabulazione occupa otto colonne, o quattro, o due, secondo chi guarda. Un’indentazione fatta di tabulazioni non ha quindi significato definito, e in YAML l’indentazione è la struttura. La specifica le vieta; questo strumento anche.
Dentro uno scalare tra virgolette una tabulazione è solo un carattere e va benissimo. Solo il margine sinistro è il problema.
Le chiavi doppie sono un errore
port: 8080
host: example.com
port: 3000
La specifica esige che le chiavi di una mappa siano uniche. Molti parser lo ignorano e tengono l’ultima: è così che un file di configurazione gira in silenzio su un valore che avevi dimenticato di aver scritto due volte. Qui è un errore, con la riga della seconda.
Un flusso di più documenti è valido
--- separa i documenti, e un file può contenerne quanti vuole. Il rapporto dice quanti. Un manifesto Kubernetes è di solito un flusso, e un flusso non è un errore di sintassi.
Che cosa non verifica
Che il documento voglia dire qualcosa.
Un file può essere YAML perfetto e un Compose rotto: un servizio senza immagine, una chiave scritta enviroment, una porta tra virgolette dove serviva un numero. Nulla di ciò è sintassi, e nulla qui lo intercetterà.
Né decide che cosa significhi una parola nuda. yes è la stringa yes per un lettore YAML 1.2 e il booleano vero per uno 1.1, ed entrambi leggono YAML valido — una differenza che questo validatore non può sciogliere al posto tuo, perché dipende da chi leggerà il file dopo.
Privato per progettazione
Tutto viene eseguito localmente nel browser con JavaScript. I tuoi dati non vengono mai caricati, quindi lo strumento è sicuro per contenuti sensibili e funziona anche offline.