Questa pagina è stata tradotta da PageTurner AI (beta). Non ufficialmente approvata dal progetto. Hai trovato un errore? Segnala problema →
Utilità
Lerna include alcune funzioni di utilità che possono essere utilizzate per creare strumenti personalizzati all'interno di un monorepo Lerna.
const utils = require("lerna/utils");
detectProjects()
La funzione detectProjects() crea la stessa mappatura del grafo dei progetti che Lerna utilizza internamente per eseguire i propri comandi. È utile per scrivere script personalizzati che devono operare sullo stesso insieme di pacchetti su cui opererebbe Lerna. È possibile passare alla funzione un parametro per una directory di lavoro personalizzata se si necessita di utilizzare una root del workspace diversa.
const path = require("path");
const { detectProjects } = require("lerna/utils");
const { projectGraph, projectFileMap } = await detectProjects();
const { projectGraph, projectFileMap } = await detectProjects(path.resolve("./custom-workspace-root"));
Il projectGraph restituito sarà di tipo ProjectGraphWithPackages, un'estensione del tipo ProjectGraph da @nx/devkit. Contiene metadati aggiuntivi sui progetti che dispongono di file package.json. Include inoltre una proprietà localPackageDependencies che traccia le dipendenze npm interne tra progetti (contrariamente alle dipendenze npm esterne scaricate dal registry).
Il projectFileMap è una mappatura dei nomi dei progetti ai file in essi contenuti. Viene utilizzato per determinare quale progetto deve essere versionato quando un file cambia.
Consulta il codice sorgente di Lerna per i dettagli specifici sui tipi.