Gestion des dépendances
Karr est construit sur Node avec pnpm. Pnpm offre une fonctionnalité appelée catalogs. Cette fonctionnalité permet la cohérence des dépendances au sein du monorepo, et nous permet de catégoriser nos dépendances.
Catalogues
Section intitulée « Catalogues »À la racine du monorepo, il y a un fichier pnpm-workspace.yaml
.
Entre autres choses, ce fichier contient tous les catalogues.
La liste actuelle des catalogues est conçue pour trier les dépendances proprement par usage.
Outillage
Section intitulée « Outillage »Comme la fonctionnalité des catalogues dans pnpm est encore relativement récente, le support des outils n’est pas excellent pour l’instant, même au sein de pnpm lui-même. Pour combler cette lacune, il existe quelques petits outils pratiques pour faciliter la vie.
Nip nous permet d’installer des dépendances directement dans un catalogue.
Au lieu de chercher une version de dépendance et de l’ajouter nous-mêmes dans le catalogue approprié,
ou de l’installer directement dans un package puis de la déplacer manuellement vers un catalogue,
nous pouvons simplement la passer à nip
et il fera le travail pour nous.
Utilisation
Section intitulée « Utilisation »Au lieu d’exécuter pnpm install nom-du-package
, exécutez :
pnpm nip nom-du-package
Suivez les instructions pour choisir le catalogue approprié, et votre dépendance sera ajoutée proprement !
Vous n’aurez probablement pas besoin d’utiliser celui-ci vous-même.
Taze est un outil qui facilite grandement la mise à jour de toutes les dépendances dans un espace de travail.
Il est exécuté périodiquement via GitHub Actions pour automatiser le processus de mise à jour.
Utilisation
Section intitulée « Utilisation »Exécutez simplement pnpm taze
pour mettre à jour tout ce qui se trouve dans pnpm-workspace.yaml
.