icanhazstring / composer-unused
通过扫描您的代码来显示未使用的包
Requires
- php: ^7.4 || ^8.0
- ext-json: *
- composer-unused/contracts: ^0.3
- composer-unused/symbol-parser: ^0.2.1
- nikic/php-parser: ^4.15
- ondram/ci-detector: ^4.1
- phpstan/phpdoc-parser: ^1.12
- psr/container: ^1.0 || ^2.0
- psr/log: ^1.1 || ^2 || ^3
- symfony/config: ^4.4 || ^5.4 || ^6.0 || ^7.0
- symfony/console: ^4.4 || ^5.4 || ^6.0 || ^7.0
- symfony/dependency-injection: ^4.4.8 || ^5.4 || ^6.0 || ^7.0
- symfony/property-access: ^4.4 || ^5.4 || ^6.0 || ^7.0
- symfony/serializer: ^4.4 || ^5.4 || ^6.0 || ^7.0
- symfony/validator: ^4.4 || ^5.4 || ^6.0 || ^7.0
- webmozart/assert: ^1.10
- webmozart/glob: ^4.4
Requires (Dev)
- ext-ds: *
- ext-zend-opcache: *
- bamarni/composer-bin-plugin: ^1.8
- codeception/verify: ^3.0
- dg/bypass-finals: ^1.5
- ergebnis/composer-normalize: ^2.28
- jangregor/phpstan-prophecy: ^1.0
- php-ds/php-ds: ^1.4
- phpspec/prophecy-phpunit: ^2.0.2
- phpstan/extension-installer: ^1.3
- phpstan/phpstan: ^1.10
- phpstan/phpstan-phpunit: ^1.3
- phpunit/phpunit: ^9.6.13
- roave/security-advisories: dev-master
- squizlabs/php_codesniffer: ^3.7
- dev-main
- 0.8.11
- 0.8.10
- 0.8.9
- 0.8.8
- 0.8.7
- 0.8.6
- 0.8.5
- 0.8.4
- 0.8.3
- 0.8.2
- 0.8.1
- 0.8.0
- 0.8.0-RC1
- 0.7.12
- 0.7.11
- 0.7.10
- 0.7.9
- 0.7.8
- 0.7.7
- 0.7.6
- 0.7.5
- 0.7.4
- 0.7.3
- 0.7.2
- 0.7.1
- 0.7.0
- 0.6.2
- 0.6.1
- 0.6.0
- 0.5.6
- 0.5.5
- 0.5.4
- 0.5.3
- 0.5.2
- 0.5.1
- 0.5.0
- 0.4.0
- 0.3.1
- 0.3.0
- 0.2.0
- 0.1.1
- 0.1.0
- dev-dependabot/github_actions/dependencies-7ae20179eb
- dev-dependabot/composer/dependencies-3405cdb127
- dev-build/box-4
- dev-composer-unused-340
- dev-fix/composer-plugin
This package is auto-updated.
Last update: 2024-08-24 03:21:48 UTC
README
composer-unused
一个Composer工具,通过扫描您的代码来显示未使用的Composer依赖。
由 Andreas Frömer 和 贡献者 创建,标志由 Caneco 设计。
⚠️ 如果您想将此工具作为composer-plugin使用,请访问 composer-used-plugin。
动机
在大型仓库中工作,您有时会失去对所需Composer包的跟踪。可能有如此多的包,以至于您无法确定它们是否真正被使用。
不幸的是,composer why
命令只能为您提供有关为什么某个包作为依赖项安装在其他包中的信息。
我们如何检查一个包提供的符号是否在我们代码中被使用呢?
composer unused
来拯救!
安装
⚠️ 此工具严重依赖于其依赖项的某些版本。强烈不建议本地安装此工具,因为它可能无法按预期工作或无法正确安装。我们强烈建议您下载.phar
存档或使用PHIVE
在本地安装。
PHAR (PHP存档) (推荐)
通过 phive
安装或从最新版本中获取最新的 composer-used.phar
phive install composer-unused
curl -OL https://github.com/composer-unused/composer-unused/releases/latest/download/composer-unused.phar
本地
您还可以将 composer-used
安装为本地 开发 依赖项
composer require --dev icanhazstring/composer-unused
用法
根据您的安装类型,命令可能会有所不同。
注意:在运行 composer-used
之前,必须通过 composer install
或 composer update
安装包。
PHAR
可以在您的项目中直接运行 phar
存档
php composer-unused.phar
本地
如果您将 composer-used
作为本地依赖项安装,则可以使用提供的二进制文件运行它
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-used.php
放在项目 composer.json
旁边来配置 composer-used。此配置可以看起来像这样:composer-used.php
按名称忽略依赖项
要按名称忽略依赖项,请将以下行添加到您的配置中
$config->addNamedFilter(NamedFilter::fromString('dependency/name'));
按模式忽略依赖项
要按模式忽略依赖项,请将以下行添加到您的配置中
$config->addPatternFilter(PatternFilter::fromString('/dependency\/name/'));
您可以使用
PatternFilter
通过单个组织忽略多个依赖项,例如/symfony\/.*/
要解析的附加文件
默认情况下,composer-used
使用 composer.json
自动加载指令来确定要查找要解析的文件的位置。有时依赖项没有正确设置其 composer.json,或者文件以其他方式加载。使用此方法,您可以为每个依赖项定义附加文件。
$config->setAdditionalFilesFor('dependency/name', [<list-of-file-paths>]);
更新日志
请查看CHANGELOG.md
。
贡献指南
请查看CONTRIBUTING.md
。
行为准则
许可证
本软件包遵循MIT许可证。