Composer : Freeze Versions

Voici un petit script pour figer les versions des dépendances dans composer. Vous allez gagner un temps précieux !

Quelques explications avant de se lancer dans le vif du sujet.

En phase de développement

Lorsque vous utilisez composer pour gérer les dépendances de votre projet durant la phase de développement, les versions sont généralement « dev-master » ou « stable ». Comme ceci, à chaque composer update, vous forcer les mises à jour et êtes à la page. Utile pour détecter rapidement un bug mais également bénéficier de toutes les nouvelles mises à jour.

composer.json de dev
composer.json de dev

En phase de production

Lors de la mise en production de votre projet, il est recommandé de gérer les versions de WP et plugins de manière différente. Ceci dans un but de faciliter la maintenance et le suivi des mises à jour.
De ce fait, l’idée sera de « figer » les versions dans le composer.json, car sinon un composer update va mettre tout le monde à jour. Ce qui n’est le but recherché.

composer.json de prod
composer.json de prod

Le tout en vidéo

La naissance d’un script

Durant une R&D, Julien Maury et Clément Boirie nous ont donc concocté un petit script ( composer freeze version ) pour figer les versions dans le composer.json. Ce dernier récupère les dernières versions dans le composer.lock et va les retranscrire dans le composer.json. Ceci fonctionne pour toutes les dépendances : thèmes, mu-plugins, plugins et cœur de WordPress.

Ce script nous a fait gagner énormément de temps ! Et comme il n’existait pas encore sur les internets, nous avons jugé intéressant de le partager avec vous en open source.

1. Ajouter le script à votre projet

Il suffit d’ajouter le script comme une dépendance de votre projet :

# Ajouter le repository de les source :
{ "type": "vcs", "url": "https://github.com/BeAPI/composer-freeze-version" }
# Require en require-dev dans votre composer.json
"bea/composer/freeze-version": "dev-master" 
# Puis avant usage un :
composer update 

2. Utiliser le script

Easy as pie !

composer freeze-version

3. Le petit plus

Pour refaire la manipulation dans l’autre sens :

Composer : Make Stable


Avez-vous facilement réussi à le mettre en place ? Est-il simple d’utilisation ? Avez-vous gagné du temps ?
Dites-nous tout dans les commentaires.

Enjoy ! 🤗

Publié par

Maxime CULEA

Développeur back-end WordPress et Community Manager, il partage énormément son expertise dans les WordCamps, les réseaux sociaux, les projets open-source, extensions, etc. De nature ouverte, laissez lui un commentaire / une question et il se fera un plaisir d'y répondre.