コードをスキャンして、未使用の Composer 依存関係を表示する Composer ツール。
Andreas Frömer と寄稿者によって作成され、ロゴは Caneco によって作成されました。
このツールをcomposer-pluginとして使用したい場合は、composer-unused-pluginに進んでください。
大規模なリポジトリで作業していると、必要な Composer パッケージを見失うことがあります。パッケージが多すぎて、実際に使用されているかどうかわからない場合があります。
残念ながら、 composer whyコマンドは、パッケージが別のパッケージに依存してインストールされる理由に関する情報しか提供しません。
パッケージの提供されたシンボルがコードで使用されているかどうかを確認するにはどうすればよいでしょうか?
composer unused !

.pharアーカイブをダウンロードするか、 PHIVE を使用してローカルにインストールすることをお勧めします。
phive経由でインストールするか、最新リリースから最新のcomposer-unused.pharを取得します。
phive install composer-unused curl -OL https://github.com/composer-unused/composer-unused/releases/latest/download/composer-unused.phar
また、 composer-unusedローカル開発依存関係としてインストールすることもできます。
composer require --dev icanhazstring/composer-unused
インストールの種類に応じて、コマンドが異なる場合があります。
注: パッケージは、 composer-unusedを実行する前に、 composer installまたはcomposer updateによってインストールする必要があります。
pharアーカイブはプロジェクト内で直接実行できます。
php composer-unused.phar
ローカル依存関係としてcomposer-unused設定すると、同梱のバイナリを使用して実行できます。
vendor/bin/composer-unused
特定のディレクトリをスキャンしたくない場合や、スキャン中に Composer パッケージを無視したくない場合があります。このような場合、 --excludeDirまたは--excludePackageオプションを指定できます。これらのオプションは、次に示すように複数の値を受け入れます。
php composer-unused.phar --excludeDir=config --excludePackage=symfony/console php composer-unused.phar --excludeDir=bin --excludeDir=config --excludePackage=symfony/assets --excludePackage=symfony/console
パッケージの名前が、
composer.jsonとまったく同じであることを確認してください。
プロジェクトのcomposer.json横にcomposer-unused.phpを配置することでcomposer-unusedを設定できます。この設定は次のようになります:composer-unused.php
依存関係を名前で無視するには、次の行を構成に追加します。
$config->addNamedFilter(NamedFilter::fromString('dependency/name'));パターンごとに依存関係を無視するには、次の行を構成に追加します。
$config->addPatternFilter(PatternFilter::fromString('/dependency/name/'));
PatternFilter(例:/symfony/.*/を使用すると、単一の組織で複数の依存関係を無視できます。
デフォルトでは、 composer-unused composer.json自動ロード ディレクティブを使用して、解析するファイルを探す場所を決定します。依存関係によっては、composer.json が正しく設定されていないか、ファイルが別の方法で読み込まれることがあります。これを使用すると、依存関係ごとに追加のファイルを定義できます。
$config->setAdditionalFilesFor('dependency/name', [<list-of-file-paths>]);CHANGELOG.mdをご覧ください。
CONTRIBUTING.mdをご覧ください。
CODE_OF_CONDUCT.mdをご覧ください。
このパッケージは、MIT ライセンスに基づいてライセンスされています。