跳到主要內容

實用程式

Lerna 提供一些實用函式功能,可用於在 Lerna 單一儲存庫中建立自己的工具。

const utils = require("lerna/utils");

detectProjects()

detectProjects() 函式功能會建立 Lerna 在後台用於執行指令的專案圖表檔案對應。這個功能在撰寫需要對 Lerna 所選定的相同套件集進行操作的腳本時很有用。

const { detectProjects } = require("lerna/utils");

const { projectGraph, projectFileMap } = await detectProjects();

回傳的 projectGraph 會是 ProjectGraphWithPackages,這項服務是由 @nx/devkitProjectGraph 類型延伸而來的。它會包含有關擁有 package.json 檔案的專案額外資訊。它也會有一個 localPackageDependencies 屬性,用於追蹤專案之間的內部 npm 相依關係(相對於從註冊表下載的外部 npm 相依關係)。

projectFileMap 會將專案名稱對應到專案中的檔案。這項服務用來判斷檔案變更時需要建立哪個專案的版本號。

請參閱 Lerna 的 TypeScript 原始碼 了解具體的類型詳細資訊。