實用程式
Lerna 提供一些實用函式功能,可用於在 Lerna 單一儲存庫中建立自己的工具。
const utils = require("lerna/utils");
detectProjects()
detectProjects()
函式功能會建立 Lerna 在後台用於執行指令的專案圖表檔案對應。這個功能在撰寫需要對 Lerna 所選定的相同套件集進行操作的腳本時很有用。
const { detectProjects } = require("lerna/utils");
const { projectGraph, projectFileMap } = await detectProjects();
回傳的 projectGraph
會是 ProjectGraphWithPackages
,這項服務是由 @nx/devkit
的 ProjectGraph
類型延伸而來的。它會包含有關擁有 package.json
檔案的專案額外資訊。它也會有一個 localPackageDependencies
屬性,用於追蹤專案之間的內部 npm 相依關係(相對於從註冊表下載的外部 npm 相依關係)。
projectFileMap
會將專案名稱對應到專案中的檔案。這項服務用來判斷檔案變更時需要建立哪個專案的版本號。
請參閱 Lerna 的 TypeScript 原始碼 了解具體的類型詳細資訊。