非官方测试版翻译
本页面由 PageTurner AI 翻译(测试版)。未经项目官方认可。 发现错误? 报告问题 →
实用工具
Lerna 提供了一些实用工具函数,可用于在 Lerna monorepo 中创建您自己的工具。
const utils = require("lerna/utils");
detectProjects()
detectProjects() 函数会创建与 Lerna 底层执行命令时相同的项目图文件映射。这对于编写您自己的脚本非常有用,这些脚本需要在与 Lerna 相同的包集合上运行。如果您需要使用不同的工作区根目录,可以向该函数传递一个自定义工作目录参数。
const path = require("path");
const { detectProjects } = require("lerna/utils");
const { projectGraph, projectFileMap } = await detectProjects();
const { projectGraph, projectFileMap } = await detectProjects(path.resolve("./custom-workspace-root"));
返回的 projectGraph 将是一个 ProjectGraphWithPackages 类型,它扩展了来自 @nx/devkit 的 ProjectGraph 类型。它包含有关具有 package.json 文件的项目的额外元数据。此外还具有 localPackageDependencies 属性,用于跟踪项目之间的内部 npm 依赖(与从注册表下载的外部 npm 依赖相对)。
projectFileMap 是一个从项目名称到其内部文件的映射。这用于确定当文件更改时哪个项目需要被版本化。
有关具体类型详情,请参阅 Lerna 源代码。