Retrouvez Masson sur Github: http://github.com/wdavidw/node-masson
J’ai publié ces derniers jours plusieurs librairies pour Node. Je parlerai aujourd’hui de Masson, un projet similaire à Make, Ant ou encore Rake. Masson est donc un projet JavaScript pour l’environnement Node. Pour rappel, Node est basé sur le moteur V8 qui anime Google Chrome et fonctionnement de manière asynchronisé.
Description
Masson est une librairie permettant d’organiser et d’exécuter des tâches. Une tâche est une ou plusieurs actions regroupées ensemble et identifié par un nom, c’est-à-dire une clé. Chaque exécution de tâche peut dépendre de l’exécution antérieure d’autres tâches. Et puisque Node offre le bénéfice d’être asynchrone, l’API de Masson reflète ce model et il suffit d’appeler la fonction out pour marque la fin d’une tâche et continuer l’exécution du workflow.
Un rapide exemple
L’exemple ci-dessous crée 3 tâches. La première, ‘clean’, nettoie le code source; la seconde, ‘test’, teste le code source; la troisième, ‘build’, lance les deux tâches précédentes et crée une archive.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | |
C’est simple et complet. A noter aussi les points suivants:
- Masson fournit plusieurs APIs alternatifs
- Les targets peuvent partager des arguments les unes avec les autres
- Méchanisme d’évènements par extension de la class
EventEmitterde Node - Intégration avec NPM (Node Package Manager)
- 100% Open Source (license MIT)