Passer au contenu

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.

À 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.

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.

Au lieu d’exécuter pnpm install nom-du-package, exécutez :

Fenêtre de terminal
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.

Exécutez simplement pnpm taze pour mettre à jour tout ce qui se trouve dans pnpm-workspace.yaml.