pb30 / phpstan-composer-analysis
v0.7.1
2024-09-18 16:35 UTC
Requires
- php: ~8.1|~8.2|~8.3
- phpstan/phpstan: ^1.12
- shipmonk/composer-dependency-analyser: 1.7.0
Requires (Dev)
- laravel/pint: ^1.17
README
PHPStan Composer 依赖分析包装器
这是一个为 shipmonk/composer-dependency-analyser 的 PHPStan 扩展。
这允许您在 CI 管道中无需添加额外步骤即可使用 composer-dependency-analyser
。
安装
composer require --dev pb30/phpstan-composer-analysis
- 将以下内容添加到您的
phpstan.neon
包含中:- vendor/pb30/phpstan-composer-analysis/extension.neon
使用方法
Composer 依赖问题会报告为标准的 PHPStan 错误。
您可以使用标准的 PHPStan ignoreErrors
配置或以下设置忽略任何错误或误报。
------ ---------------------------------------------------------------------
Line app/DateHelpers.php
------ ---------------------------------------------------------------------
17 Shadow dependency detected: nesbot/carbon using Carbon\CarbonPeriod
💡 Class is used, but is not specified in composer.json
------ ---------------------------------------------------------------------
------ -------------------------------------------------------------------------
Line app/MyHelper.php
------ -------------------------------------------------------------------------
19 Dev dependency used in production: fakerphp/faker using Faker\Generator
💡 This should probably be moved to "require" section in composer.json
------ -------------------------------------------------------------------------
------ ---------------------------------------------------------------------------------
Line composer.json
------ ---------------------------------------------------------------------------------
-1 Prod dependency used only in dev paths: spatie/once
💡 This should probably be moved to "require-dev" section in composer.json
-1 Unused dependency detected: predis/predis
💡 This is are listed in composer.json, but no usage was found in scanned paths
------ ---------------------------------------------------------------------------------
配置
可以在 phpstan.neon
中配置多个 composer-dependency-analyser
设置。
parameters: composerAnalysis: additionalProdPath: - config - routes additionalDevPaths: - database/seeders ignoreAllShadowDeps: false ignoreAllDevDepsInProd: false ignoreAllProdDepsInDev: false ignoreAllUnusedDeps: false ignoreSpecificUnusedDeps: - laravel/tinker