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:yaml
LINT_YAML_BOOTSTRAP
: fichier PHP à inclure avant d’exécuter la commande lint:yaml
LINT_YAML_PHP_PARAMETERS
: paramètres de la commande php
LINT_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