O que esta ferramenta verifica
Que o documento analisa — o que em YAML abrange mais do que parece:
- a indentação é coerente e feita de espaços;
- as aspas estão fechadas e os escalares de bloco (
|,>) bem indentados; - cada alias
*nometem uma âncora&nomepara apontar; - nenhum mapeamento carrega duas vezes a mesma chave;
- os separadores
---produzem documentos inteiros.
Quando passa, você recebe a forma da raiz e o tamanho. Quando não, a mensagem do analisador com linha e coluna — e analisadores de YAML são especialmente bons em dizer onde.
Validador, verificador, parser — e .yml diante de .yaml
Verificador de sintaxe, verificador de formato, parser, tester, validador: cinco nomes para uma só pergunta — este documento faz parse? É o que acontece quando você cola.
.yml e .yaml são a mesma linguagem, não duas variantes. A extensão é um hábito: o projeto YAML pede .yaml, enquanto toda uma geração de ferramentas escreveu .yml primeiro e nunca mudou. O Docker Compose lê as duas, o GitHub Actions lê as duas, e esta página também — nada dentro do arquivo diz sob qual grafia ele chegou.
Tabulação não é indentação
Uma tabulação ocupa oito colunas, ou quatro, ou duas, conforme quem olha. Uma indentação feita de tabulações não tem, portanto, significado definido, e em YAML a indentação é a estrutura. A especificação as proíbe; esta ferramenta também.
Dentro de um escalar entre aspas uma tabulação é só um caractere e tudo bem. Só a margem esquerda é o problema.
Chaves repetidas são erro
port: 8080
host: example.com
port: 3000
A especificação exige que as chaves de um mapeamento sejam únicas. Muitos analisadores ignoram isso e ficam com a última: é assim que um arquivo de configuração roda em silêncio sobre um valor que você esqueceu ter escrito duas vezes. Aqui é erro, com a linha da segunda.
Um fluxo de vários documentos é válido
--- separa documentos, e um arquivo pode ter quantos quiser. O relatório diz quantos. Um manifesto Kubernetes costuma ser um fluxo, e um fluxo não é erro de sintaxe.
O que ela não verifica
Que o documento signifique alguma coisa.
Um arquivo pode ser YAML perfeito e um Compose quebrado: um serviço sem imagem, uma chave escrita enviroment, uma porta entre aspas onde se esperava um número. Nada disso é sintaxe, e nada aqui vai pegar.
Nem decide o que uma palavra pura significa. yes é a string yes para um leitor YAML 1.2 e o booleano verdadeiro para um 1.1, e ambos leem YAML válido — uma diferença que este validador não pode resolver por você, porque depende de quem lerá o arquivo em seguida.
Privado por padrão
Tudo é executado localmente no seu navegador com JavaScript. Os seus dados nunca são enviados para um servidor, o que torna a ferramenta segura para conteúdo sensível e funciona offline.