Ne faites pas de "composer update"

Cet article a été publié depuis plus de 6 mois, cela signifie que le contenu peut ne plus être d'actualité.

Un titre provoquant certes, je devrais plutôt dire : “ne faites pas de composer update” d’un seul coup sur la totalité des dépendances de votre projet (et en plus c’est une mauvaise pratique) ! Et à plus forte raison si votre application n’est pas bien couverte par des tests automatisés.

Personnellement, j’ai eu le cas pas plus tard qu’aujourd’hui. Un développeur devait réaliser une évolution mineure sur le projet sur lequel je travaille. Ni une, ni deux, il ajoute une nouvelle dépendance à la main dans le composer.json et exécute un composer update pour l’installer.

Je passe le fait de ne pas avoir utilisé la ligne de commande adaptée pour cette opération (un composer require vendor/package), mais en plus il n’a pas pris la peine de lancer les tests (unitaires et fonctionnels) présent sur le projet.

Le résultat ? De nombreuses dépendances du projet ont été mise à jour. Certaines introduisaient des “breaking changes” (dans un changement de version mineur) et 50% du projet est devenu non opérationnel en 30 secondes !