module/specification-api : generer les types avec suffixe "Api", utilisation d'union type pour les enum
Objectif :
- la génération des types utilise actuellement un outil basé sur java, ce qui amène des contraintes sur les env de dev et de CI
- elle ne génère pas bien les enum (on voudrait avoir des enum dans la spec, et des union type en sortie)
- elle est un peu lente
- elle ne permet pas d'ajouter un suffixe aux noms de type générés
Il s'agit de basculer sur un outil de génération plus simple, plus rapide et qui correspond mieux a nos besoins :
- Choix porté sur https://www.npmjs.com/package/openapi-typescript-codegen après différents tests
- Rq : https://www.npmjs.com/package/openapi-typescript a été testé mais écarté car ne génère pas des fichiers distincts pour chaque type + pas de suffixe
Etapes de mise en oeuvre :
-
Ajouter ce nouveau mode de génération dans specification-api en plus de l'existant -
Basculer apps/tef dessus -
Basculer api/ dessus -
Basculer apps/crater dessus -
Supprimer l'ancien outil de génération, mettre a jour le gitlab-ci.yml en conséquence (plus besoin d'image docker utilisant java), mettre a jour les doc d'install d'environnement de dev, nettoyer les package.json (remonter toutes les dépendances d'api/ dans le package.json global) -
Généraliser dans la spec l'utilisation des enum (pour les champs categorieTerritoire, ...) et mettre à jour le code tef/crater en conséquence
Edited by Lionel