Projet Types d'OGC
Durant le développement
Début du dev en local
En début de dév, on peut simplement pointer sur le dossier types
cloné en local avec npm link, plutôt que sur ses node_modules :
- ouvrir une cmd dans le dossier
types
npm link
- cela créé un lien symbolique npm pour votre projet local
types
. Il peut être utilisé par d'autres projets.
- ouvrir une cmd dans le dossier d'un autre projet utilisant
types
(frontend, backend, ...)
npm link @ccmo-ogc/types
- remarque :
@ccmo-ogc/types
est le name
du package linké - le projet courant référence votre dossier
types
local
-
Remarque : exécuter npm i
dans le projet courant fait pointer de nouveau vers les node_modules
. Il faudra refaire un npm link <package>
pour pointer de nouveau sur le package local.
Version de travail partagée
Une fois la lib dans une version plus aboutie, on va en publier une version sur npm (pour les autres env - reviewers et pipelines de CI).
Déroulement standard, via un exemple où l'on veut faire une évol sur la lib types
en version 1.2.3
:
- suffixer la version actuelle d'un
-next-{n}
: 1.2.3-next-1
- publication manuelle de la lib (cf plus bas)
- utilisation de la version
1.2.3-next-1
dans le projet frontend
Lors de la review, une modification s'avère nécessaire sur la lib :
- bump la version de travail :
1.2.3-next-2
- publication manuelle de la lib (cf plus bas)
- utilisation de la version
1.2.3-next-2
dans le projet frontend
La review est approuvée, la branche frontend prête à être merge. On publie une "vraie" version de types.
- bump la version :
1.2.4
-
Remarque: pas forcément 1.2.4
, car d'autres versions auront déjà pu être publiées entre temps
- merge de la branche
types
=> publication auto par la CI de la 1.2.4
- utilisation de la version
1.2.4
dans le projet frontend - merge de la branche frontend
Publication
Publication automatique sur master
Lors d'un merge sur master, les modifications sont automatiquement publiées sur npm.
Attention, afin que cela fonctionne, avant de push, pensez à :
- faire un
npm run build
sur votre branche pour regénérer les index.ts
- incrémenter le numéro de
version
dans le package.json
- faire un
npm install
pour mettre à jour le package-lock.json
Procédure de publication manuelle
- modifier le numéro de version dans
package.json
npm i
npm run build
npm publish
- Dans le projet,
npm i @ccmo-ogc/types@latest --save --save-exact