Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →
Utilidades
Lerna incluye algunas funciones de utilidad que pueden emplearse para crear tus propias herramientas dentro de un monorepo de Lerna.
const utils = require("lerna/utils");
detectProjects()
La función detectProjects() crea el mismo mapeo de proyectos que Lerna utiliza internamente para ejecutar sus comandos. Esto resulta útil para escribir tus propios scripts que necesiten operar con el mismo conjunto de paquetes que manejaría Lerna. Puedes pasar un parámetro de directorio de trabajo personalizado si necesitas usar una raíz de workspace diferente.
const path = require("path");
const { detectProjects } = require("lerna/utils");
const { projectGraph, projectFileMap } = await detectProjects();
const { projectGraph, projectFileMap } = await detectProjects(path.resolve("./custom-workspace-root"));
El projectGraph devuelto será de tipo ProjectGraphWithPackages, que extiende el tipo ProjectGraph de @nx/devkit. Contiene metadatos adicionales sobre proyectos que tienen archivos package.json. También incluye una propiedad localPackageDependencies que rastrea dependencias internas de npm entre proyectos (a diferencia de las dependencias externas de npm que se descargan del registro).
El projectFileMap es un mapeo de nombres de proyecto a los archivos que contienen. Se utiliza para determinar qué proyecto necesita versionarse cuando cambia un archivo.
Consulta el código fuente de Lerna para detalles específicos de los tipos.