This is a PHPStan Extension for shipmonk/composer-dependency-analyser.
This allows you to use composer-dependency-analyser
without adding additional steps in your CI pipeline.
composer require --dev pb30/phpstan-composer-analysis
- Add the following to your
phpstan.neon
includes:- vendor/pb30/phpstan-composer-analysis/extension.neon
Composer dependency issues are reported as standard PHPStan errors.
You can ignore any errors or false positives using the standard PHPStan ignoreErrors
configuration or through the settings below..
------ ---------------------------------------------------------------------
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
------ ---------------------------------------------------------------------------------
Several settings for composer-dependency-analyser
can be configured in phpstan.neon
:
parameters:
composerAnalysis:
additionalProdPath:
- config
- routes
additionalDevPaths:
- database/seeders
ignoreAllShadowDeps: false
ignoreAllDevDepsInProd: false
ignoreAllProdDepsInDev: false
ignoreAllUnusedDeps: false
ignoreSpecificUnusedDeps:
- laravel/tinker