Ce dépôt regroupe plusieurs librairies React publiées sous le scope @jeremiemeunier. Chaque dossier correspond à un package indépendant contenant son propre code et sa documentation.
| Package | Description rapide |
|---|---|
| core | Composants de base et utilitaires (ex. Loader). |
| carousel | Composant de carrousel pour faire défiler du contenu. |
| cursor | Curseur personnalisé qui met en évidence les liens. |
| drawer | Panneau latéral coulissant. |
| editorparser | Parser pour afficher le contenu d'un éditeur au format JSON. |
| form | Large collection d’éléments de formulaire : Input, Select, Checkbox, DatePicker, etc. |
| x-form | Fork FormData de form - composants de formulaire optimisés pour l'extraction automatique de FormData. |
| hooks | Hooks React réutilisables comme useRefresh et useSeo. |
| modal | Système de modales complet avec de nombreux sous-composants. |
| navigation | Provider et hook pour gérer l’état de navigation. |
| theme | Gestion des thèmes avec contexte et composants de sélection. |
| toast | Bibliothèque de notifications toast. |
Chaque package possède un fichier README.md décrivant en détail son installation et son utilisation. Vous pouvez ainsi intégrer uniquement les composants dont vous avez besoin.
core: composants transverses (loader, helpers).carousel: carrousel React paginé.cursor: curseur personnalisé pour mettre en avant les liens.drawer: panneau latéral animé.editorparser: rendu d’un contenu JSON structuré.form: ensemble complet de champs de formulaires.x-form: composants de formulaire FormData-focused.hooks: hooks React partagés (useRefresh,useSeo, …).modal: système de modales modulaire.navigation: provider et composants de pagination.theme: gestion de thèmes et sélecteurs associés.toast: notifications toast configurables.
Ajoutez un fichier .npmrc à la racine de votre projet pour récupérer les packages depuis le registre GitHub :
@jeremiemeunier:registry=https://npm.pkg.github.comInstallez ensuite les packages souhaités, par exemple :
npm install @jeremiemeunier/core @jeremiemeunier/formTous les packages partagent la même structure de scripts npm :
| Script | Description |
|---|---|
npm run lint |
Analyse le code avec ESLint. |
npm run build |
Compile le package avec tsup et génère les fichiers dans dist/. |
npm run pub |
Exécute le build puis publie la version courante sur GitHub Packages. |
npm run pubbeta |
(Uniquement dans form) publie une version marquée beta après le build. |
ℹ️ Le package
@jeremiemeunier/toastexpose le scriptnpm run tsuppour la compilation ; son comportement est équivalent ànpm run build.
Les scripts doivent être lancés dans le dossier du package concerné.
Chaque dossier de package contient son propre package.json. Vous pouvez donc cloner ce dépôt puis, dans le répertoire du package à modifier, lancer :
npm installLe dépôt ne contient pas de workspace monorepo : les dépendances sont isolées dans chaque package.
Chaque package est construit avec tsup pour générer les fichiers distribuables dans le dossier dist.
npm run buildLe build produit à la fois les fichiers JavaScript et les définitions TypeScript.
Aucun package ne fournit encore de suite de tests automatisés. Lorsque des tests seront ajoutés, ils suivront la convention npm test.
Pour publier une nouvelle version d’un package :
- Mettez à jour la version dans
package.json. - Générez les artefacts (
npm run build). - Publiez avec
npm run pub(ounpm run pubbetapour publier une préversion du packageform). Assurez‑vous d’être authentifié sur le registre GitHub Packages (npm login --registry=https://npm.pkg.github.com).