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 :
symfony:yaml depuis une image Docker séparée de votre projet (exemple : steevanb/docker-symfony-yaml-lint)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.
docker run --rm -it --volume $(pwd):/app steevanb/symfony-yaml-lint:5.2.5
Fichier YAML avec une erreur (il manque : après services) :
services
foo


Vous pouvez configurer PHP et la commande lint:yaml via des variables d’env :
LINT_YAML_PARAMETERS : paramètres à passer à la commande lint:yamlLINT_YAML_BOOTSTRAP : fichier PHP à inclure avant d’exécuter la commande lint:yamlLINT_YAML_PHP_PARAMETERS : paramètres de la commande phpLINT_YAML_DIRECTORY : répertoire dans lequel seront vérifiés les fichiers YAMLdocker \
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
How to find errors in translation files