メインコンテンツへスキップ
非公式ベータ版翻訳

このページは PageTurner AI で翻訳されました(ベータ版)。プロジェクト公式の承認はありません。 エラーを見つけましたか? 問題を報告 →

ユーティリティ

Lerna は Lerna モノレポ内で独自ツールを作成する際に利用できるユーティリティ関数を提供しています。

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"));

返される projectGraphProjectGraphWithPackages 型となり、これは @nx/devkitProjectGraph 型を拡張したものです。package.json ファイルを持つプロジェクトに関する追加メタデータを含み、またプロジェクト間の内部 npm 依存関係(レジストリからダウンロードされる外部 npm 依存関係とは対照的)を追跡する localPackageDependencies プロパティを持ちます。

projectFileMap はプロジェクト名とその内部ファイルのマッピングです。ファイルが変更された際にどのプロジェクトのバージョンを更新すべきかを判断するために使用されます。

具体的な型の詳細については Lerna のソースコード を参照してください。