このプロジェクトについて

pnpm-multi-versionsは、pnpmロックファイルをスキャンして、プロジェクト内で複数のバージョンでインストールされている依存関係を特定するユーティリティツールです。柔軟な統合のためのコマンドラインインターフェース(CLI)とJavaScript APIの両方を提供します。 ### CLIの使用方法 CLIを実行すると、複数のバージョンがインストールされているパッケージのリストが出力されます。ユーザーは`--dependents`フラグを使用して、重複した依存関係の各バージョンにどの特定のパッケージが依存しているかを示すツリー状の可視化を表示できます。 ### APIの使用方法 プログラム的には、このツールは解析されたロックファイルと設定オプションを受け取る関数を公開しています。主なオプションは以下の通りです: - `ignoreMajor`:メジャーバージョンの違いを無視するためのブール値。 - `dependents`:各バージョンの依存元を計算してマッピングするためのブール値。 APIは3つの主要なデータ構造を返します: - `versionsMap`:パッケージ名をインストール済みバージョンのセットにマッピングするMap。 - `dependentsMap`:ターゲットパッケージの各バージョンに依存するパッケージ(特定のバージョン付き)を示すネストされたMap。 - `multipleVersions`:複数のバージョンがインストールされているすべてのパッケージの名前を含むセット。 これにより、開発者はpnpm管理プロジェクト内の重複した依存関係バージョンを特定し、最適化とクリーンアップの取り組みに役立てることができます。