Espace de travail Angular qui contient tous les outils et toutes les configurations nécessaires pour contribuer sur les projets :
- Application client de la Cartographie Nationale des lieux de médiation numérique
- Bibliothèque pour la cartographie de l’offre de médiation numérique
- 🪧 À propos
- 📦 Prérequis
- 🚀 Installation
- 🛠️ Utilisation
- 🤝 Contribution
- 🏗️ Construit avec
- 📝 Licence
- Git : Système de contrôle de versions distribué d'un ensemble de fichiers
- Node : Environnement d'exécution pour Javascript
- Yarn : Gestionnaire de paquets pour les produits développés dans des environnements Node
Node et Yarn peuvent être installés via nvm qui permet d'obtenir et d'utiliser rapidement différentes versions de Node via la ligne de commande.
- Cloner le dépôt en local
[email protected]:anct-cartographie-nationale/client-base.git
- Aller dans le dossier du projet et exécuter
yarn
pour installer les dépendances
Husky est un outil de gestion des hooks git pour effectuer des tâches automatiques
Mise en place de Husky à la racine du projet client-base
:
yarn husky install
Rendre exécutable les fichiers qui contiennent les hooks :
chmod a+x .husky/commit-msg
chmod a+x .husky/pre-commit
Cet espace de travail est vide par défaut, mais vous pouvez y ajouter des projets Angular dans le dossier projects
en suivant la documentation de :
- L'application client de la Cartographie Nationale des lieux de médiation numérique
- La bibliothèque pour la cartographie de l’offre de médiation numérique
Pour créer un nouveau projet Angular dans le dossier projects
de l'espace de travail, il faut utiliser la commande :
ng generate library my-lib
s'il s'agit d'une bibliothèqueng generate application my-app
s'il s'agit d'un projet qui peut être lancé dans le navigateur
Pour en savoir plus sur la commande ng generate
, consulter la documentation de la CLI d'Angular
Pour en savoir plus sur la gestion des projets d'applications Angular, voir la documentation des projets multiples
Pour en savoir plus sur la gestion des projets de bibliothèque Angular, voir le tutoriel sur les bibliothèques Angular
- Avant de créer une nouvelle branche de travail, récupérer les dernières modifications disponibles sur la branche
main
- La nouvelle branche de travail doit ête préfixée par
build/
,chore/
,ci/
,docs/
,feat/
,fix/
,perf/
,refactor/
,revert/
,style/
outest/
en fonction du type de modification prévu, pour plus de détails à ce sujet, consulter Conventional Commits cheat sheet - Une branche portant une version à publier doit être de la forme
release/X.Y
avecX.Y
égal au numéro de majeur et de mineur de la release, cela signifie donc que tous les patches sont à appliquer sur la même branche pour chaque version mineure. Cette organisation permet de gérer plusieurs versions de la bibliothèque en parallèle sans mettre en péril la rétrocompatibilité.
Les commits de ce repository doivent respecter la syntaxe décrite par la spécification des Commits Conventionnels
La branche main
, ainsi que l'ensemble des branches de travail avec un préfixe valide requièrent que les commits soient signés :
- La documentation de GitHub indique comment configurer la signature des commits
- Les utilisateurs de keybase peuvent signer leurs commits avec leur clé GPG sur Keybase
À partir du moment où le code est publié sur la branche main
, il est prêt à être utilisé avec la commande git clone
décrite dans la section Installation.
Les processus d'intégration en continu des projets dépendant de cet espace de travail clonent ce dépôt afin de pouvoir exécuter les commandes nécessaires, pour :
- Le contrôle de la syntaxe du code
- Le lancement des tests
- La construction des projets dans leur forme à déployer en production.
- TypeScript est un langage open source construit à partir de JavaScript
- Angular est une boîte à outils open source pour construire des clients web
- Jest est une boîte à outils pour écrire des tests automatisés en JavaScript
- Eslint est un analyseur statique de JavaScript avec les plugins suivants :
- Prettier est un magnificateur de code source en JavaScript
Voir le fichier LICENSE.md du dépôt.