ユーティリティ
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
ファイルを持つプロジェクトに関する追加メタデータが含まれています。また、プロジェクト間の内部 npm 依存関係を追跡する localPackageDependencies
プロパティもあります (レジストリからダウンロードされた外部 npm 依存関係とは対照的です)。
projectFileMap
は、プロジェクト名とプロジェクト内のファイルへのマッピングです。これは、ファイルが変更されたときにどのプロジェクトのバージョンを管理する必要があるかを判断するために使用されます。
Lerna の TypeScript ソースコードで具体的な型の詳細を参照してください。