pb30/phpstan-composer-analysis

安装数: 4,012

依赖者: 0

建议者: 0

安全性: 0

星标: 3

关注者: 2

分支: 1

开放性问题: 1

类型:phpstan-extension

v0.7.1 2024-09-18 16:35 UTC

README

PHPStan Composer 依赖分析包装器

这是一个为 shipmonk/composer-dependency-analyser 的 PHPStan 扩展。

这允许您在 CI 管道中无需添加额外步骤即可使用 composer-dependency-analyser

安装

  1. composer require --dev pb30/phpstan-composer-analysis
  2. 将以下内容添加到您的 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