Tech

Composer : Freeze Versions

Par Amaury BALMER

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

Consulter cet article pour refaire la manipulation dans l’autre sens.


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 ! 🤗

Évènements

Tout Be API présent au WordCamp Paris 2019 !

par Meriem BOUDJEMAÏ

Tech

Composer : Make Stable

par Amaury BALMER

Tech

Composer : Freeze Versions

par Amaury BALMER

Retour en haut de page