Skip to content

Latest commit

 

History

History
62 lines (50 loc) · 2.67 KB

README.md

File metadata and controls

62 lines (50 loc) · 2.67 KB

PHPStan Wrapper for Composer Dependency Analysis

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.

Installation

  1. composer require --dev pb30/phpstan-composer-analysis
  2. Add the following to your phpstan.neon includes: - vendor/pb30/phpstan-composer-analysis/extension.neon

Usage

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
 ------ ---------------------------------------------------------------------------------

Configuration

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