Maintenance

Politique de livraison

FocusJs et FocusComponents ont des nouvelles releases mineures toutes les deux semaines environ.

Chaque release mineure est suivie dans les jours qui suivent d'une ou plusieurs releases de patchs.

Le suivi des releases peut se faire sur les pages de release des projets :

Politique de gestion des dépendances

Le build de l'application SPA doit être déterministe pour une version du package.json donné.

En particulier :

  • le build ne doit pas dépendre du moment de la dernière exécution de npm install sur un projet.
  • le build ne doit pas dépendre du poste du développeur / build-agent

Pour cela, il faut figer les numéros de versions dans le package.json :

{
 /* ... */
  "dependencies": {
    "awesomplete": "1.0.0",
    "babel-eslint": "4.0.5",
    "backbone": "1.2.1",
    "daterangepicker": "0.0.3",
    "eslint": "0.24.1"
    /* ...  */
  }
}

Pour connaître les numéros de version effectifs dans un projet donné, taper :

npm list

On obtient l'arbre de dépendances node du projet :

├─┬ focusjs@0.9.0-1
│ ├─┬ flux@2.1.1
│ │ ├── fbemitter@2.0.0
│ │ └─┬ fbjs@0.1.0-alpha.7
│ │   ├── core-js@1.1.3
│ │   ├─┬ promise@7.0.4
│ │   │ └── asap@2.0.3
│ │   └── whatwg-fetch@0.9.0
│ ├── keymirror@0.1.1
│ ├── object-assign@2.1.1
│ └── uuid@2.0.1
├─┬ focusjs-components@0.5.1-4
│ ├─┬ babel-core@5.8.23
│ │ ├── babel-plugin-constant-folding@1.0.1
│ │ ├── babel-plugin-dead-code-elimination@1.0.2

Politique de mise à jour des projets

Les projets doivent se mettre régulièrement à jour, pour prendre en compte les corrections au fur et à mesure.

Pour se mettre à jour :

npm run update-focus

Cette commande :

  • télécharge la dernière version de FocusJS
  • télécharge la dernière version de FocusComponents
  • met à jour les numéros de version figé dans le package.json du projet

La commande est définie dans le package.json du starter-kit :

https://github.com/KleeGroup/focus-starter-kit/blob/master/package.json