lint:yaml

La commande lint:yaml du dépôt symfony/yaml permet de vérifier la syntaxe de fichiers YAML.

Dans l’idée, cette commande n’a que peu d’intérêt sur les fichiers de config de Symfony (/config) : comme ils seront lus pour générer le cache du Container, indispensable pour faire fonctionner la commande, si il y a une erreur de syntaxe une exception surviendra avant que la commande ne vérifie les fichiers YAML.

Cependant d’autres cas peuvent être intéressants à tester :

Utilisation avec Docker

L’image Docker steevanb/symfony-yaml-lint vous permet de lancer lint:yaml sur votre projet sans installer le composant symfony/yaml.

Tous les fichiers YAML dans le répertoire /app du Container seront validés.

Exemple

docker run --rm -it --volume $(pwd):/app steevanb/symfony-yaml-lint:5.2.5

Résultat : fichier YAML avec une erreur de syntaxe

Fichier YAML avec une erreur (il manque : après services) :

services
    foo

Format invalide

Résultat : pas d’erreur de syntaxe

Format valide

Configuration de PHP et lint-yaml

Vous pouvez configurer PHP et la commande lint:yaml via des variables d’env :

docker \
    run \
        --rm \
        -it \
        --volume $(pwd):/app \
        --env LINT_YAML_PARAMETERS="--parse-tags --exclude=/app/vendor" \
        --env LINT_YAML_BOOTSTRAP="/app/lintYaml.bootstrap.php" \
        --env LINT_YAML_PHP_PARAMETERS="-d memory_limit=250M" \
        --env LINT_YAML_DIRECTORY="/foo" \
        steevanb/symfony-yaml-lint:5.2.5

Références

symfony/yaml

How to find errors in translation files

steevanb/docker-symfony-yaml-lint

steevanb/symfony-yaml-lint