Grunt replace version

Un plugin WorPress porte un numéro de version que l’on retrouve dans les fichiers php, en variable, constante ou dans les commentaires. De même les fichiers README, lorsque l’on publie l’extension sur Git, contiennent également ce numéro. Grunt est un lanceur de tâches javascript utilisant NodeJS, et pouvant assurer la production de fichiers php, css, js, images … optimisés pour le web moderne. Grunt fonctionne avec d’innombrables extensions permettant une multitude d’actions. Il existe en particulier un plugin qui remplace du texte dans les fichiers en utilisant des chaînes de caractère, des expressions régulières ou des fonctions.

Les logos Grunt et WordPress sur fond de Tower Bridge à Londres, temps nuageux

Grunt text replace

Le plugin pour Grunt de remplacement de texte se nomme grunt-text-replace. Cet article explique comment utiliser cette extension afin de remplacer automatiquement le numéro de version d’un plugin WordPress, qui se trouve disséminé un peu partout.

Installation

On se rend dans le répertoire du plugin qui contient un fichier package.json et un fichier Gruntfile.js, voir cet article du blog. La page du plugin donne la commande à lancer :

Lecture du numéro de version

Le numéro de version est écrit dans le fichier package.json. Lorsque le développeur veut changer de numéro de version, cela doit être le premier fichier dans lequel il le fait. L’écriture de la tâche avec le plugin tentera de remplacer dans le code les occurrences de ce numéro.

Dans le fichier Gruntfile.js, on va lire le contenu du fichier package.json afin d’en sortir le numéro de version. Cela se fait avec la méthode file.readJSON() de l’objet grunt.

Le numéro de version est package.version.

Définition de la tâche

On charge la tâche dans le fichier Gruntfile.js :

On lit le fichier package.json pour connaître le numéro de version :

Et l’on définit la tâche dans la méthode initConfig() de Grunt :

Comme cette tache ne fait que remplacer le numéro de version, on peut l’appeler simplement version :

Le plugin grunt-text-replace pouvant servir à autre chose, on choisit d’énumérer les sous-tâches à lancer.

On peut aussi choisir de joindre la tâche version à la tâche par défaut default.

Exécution

Pour exécuter la tâche, dans le répertoire du plugin wordpress, on lance la commande :

Et hop, un moyen efficace de remplacer un numéro de version en n’oubliant pas quelques occurrences cachées dans les fichiers.

Soumettre un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables.