1.0.3 • Published 6 years ago

joobster v1.0.3

Weekly downloads
35
License
-
Repository
github
Last release
6 years ago

README

Wilfried Moulin v1.0, 2015-12-15

Description

joobster est un booster de projet JavaScript (EcmaScript pour les puristes) et permet de masquer la complexité des différentes tâches nécessaires aux différentes phases de développement, en se rapprochant de la philosophie maven.

Installation

Il faut au préalable installer NodeJs.

Depuis NPM, si je le publie un jour

$ npm install -g joobster

Depuis les sources

Installer joobster de manière globale:

  • Se placer dans le dossier de joobster
  • Lancer la commande
$ npm install -g

Installer joobster de manière locale:

  • Se placer dans le dossier de joobster
  • Lancer la commande
$ npm install

Commandes

Après l'installation, les commandes joobster et jsr (alias de la première) sont accessibles en globale dans la console nodeJs.

Une aide est fournie en tapant la commande, donne la description de toutes les taches possibles.

$ jsr --help

Les options suivantes sont alors proposées:

OptionRôle
-h, --helpAffiche l'aide
-V, --versionAffiche la version du builder
-l, --logInitialise le niveau des logs (error)
-d, --dirPermet d'indiquer le répertoire du projet des tâches à lancer
-f, --filesPermet de lancer les tâches sur un filter donné

Pour lancer joobster depuis une install locale, une fois placé dans le répertoire de joobster, voici un exemple de commande :

$ node ./src/bosster <tache> -l debug -d 'path/to/project/dir'

Configurer un projet pour utiliser joobster

Soit on utilise la configuration par défaut et le projet doit avoir une arboresence pârticulière, soit on paramètre joobster en ajoutant le fichier joobster.json à la racine du projet afin de modifier les valeurs par défaut.

L'objet de configuration par défaut :

	{ 
      projectDir : "./",
      base : "src",
      baseTst : "tst",
      dir : "js",
      fileFilter : "**/*.js",
      outdir : "dist",
      tmpDir : "tmp",
      outdirMap: "maps",
      compile : {
          presets: [presetsObject["es2015"]],
      }
    }
project
| + src
| |	+ js
| + tst
| |	+ js

Les tâches fournies par joobster

Les tâches de gestion des dépendances

Il va fournir des tâches se rapprochant de la philosophie maven pour simplifier et pérenniser la gestion des dépendances en les fixant (sans ^, ~ ou *) afin de pérenniser les versions.

TâcheRôleDépendances

Les tâches de JavaScript (suffixe :js)

TâcheRôleDépendances
clean:jsSuppression des fichiers de transpilation (dist/js et dist/maps/js) avec Babel
compile:jsTranspilation JavaScript -> dist/js et dist/maps/jsclean:js
validate:jsLancement de l'analyse EsLint
test:jsLancement des tests unitaires (test/js) basé sur Mocha
watch:jsLancement d'un watcher sur les fichiers js pour transpilation

Les tâches de TypeScript (suffixe :ts)

TâcheRôleDépendances
clean:tsSuppression des fichiers de transpilation (dist/ts et dist/maps/ts
compile:tsTranspilation JavaScript -> dist/ts et dist/maps/tsclean:js
validate:tsLancement de l'analyse TsLint
test:tsLancement des tests unitaires (test/ts) basé sur Mocha
watch:tsLancement d'un watcher sur les fichiers js pour transpilation

Lancement de l'application sous node

TâcheRôleDépendances

Construction des livrables

TâcheRôleDépendances