Cette page a été traduite par PageTurner AI (bêta). Non approuvée officiellement par le projet. Vous avez trouvé une erreur ? Signaler un problème →
Utilitaires
Lerna fournit des fonctions utilitaires permettant de créer vos propres outils au sein d'un monorepo Lerna.
const utils = require("lerna/utils");
detectProjects()
La fonction detectProjects() génère la même cartographie de graphe de projets que Lerna utilise en interne pour exécuter ses commandes. Elle est utile pour écrire vos propres scripts devant opérer sur le même ensemble de packages que Lerna. Vous pouvez passer un paramètre de répertoire de travail personnalisé à la fonction si vous devez utiliser une racine d'espace de travail différente.
const path = require("path");
const { detectProjects } = require("lerna/utils");
const { projectGraph, projectFileMap } = await detectProjects();
const { projectGraph, projectFileMap } = await detectProjects(path.resolve("./custom-workspace-root"));
Le projectGraph renvoyé sera un ProjectGraphWithPackages, qui étend le type ProjectGraph de @nx/devkit. Il contient des métadonnées supplémentaires sur les projets disposant de fichiers package.json. Il possède également une propriété localPackageDependencies qui suit les dépendances npm internes entre projets (par opposition aux dépendances npm externes téléchargées depuis le registre).
Le projectFileMap établit une correspondance entre les noms de projets et les fichiers qu'ils contiennent. Il sert à déterminer quel projet doit être versionné lorsqu'un fichier est modifié.
Consultez le code source de Lerna pour obtenir les détails spécifiques des types.