diviky / code-analysis
grumphp 配置以自动检查 Laravel 项目的约定
v2.1.0
2024-05-22 07:23 UTC
Requires
- barryvdh/laravel-ide-helper: ^2.12
- beyondcode/laravel-query-detector: ^1.6
- brianium/paratest: ^6.3
- fakerphp/faker: ^1.9
- jasonmccreary/laravel-test-assertions: ^2.3
- jrmadsen67/laravel-route-coverage-test: ^1.1
- kitloong/laravel-migrations-generator: ^6.3
- laravel/pint: ^1.1
- mnabialek/laravel-sql-logger: ^2.2
- mockery/mockery: ^1.4.2
- monolog/monolog: ^3.0
- nunomaduro/collision: ^5.11|^6.1
- nunomaduro/phpinsights: ^2.4
- orangehill/iseed: ^3.0
- orchestra/testbench: ^6.0|^7.0|^8.0
- php-parallel-lint/php-parallel-lint: ^1.3
- phpmd/phpmd: ^2.9
- phpro/grumphp: ^1.0
- phpunit/phpunit: ^9.5|^10.1
- psalm/plugin-laravel: 2.8.0
- spatie/laravel-ignition: ^2.0
- spatie/phpunit-snapshot-assertions: ^4.2
- spatie/test-time: ^1.2
- squizlabs/php_codesniffer: ^3.5
- staudenmeir/laravel-migration-views: ^1.5|^1.6
- thedoctor0/laravel-factory-generator: ^1.2
- vimeo/psalm: ^5.24
- yieldstudio/grumphp-laravel-pint: ^0.0.2
Requires (Dev)
- laravel/framework: ^9.0|^10.0
README
为grumphp的配置,每次提交都会检查提交的代码是否通过单元测试,符合 PSR2 编码风格和静态分析检查。它执行以下检查:
- 检查 composer.json 是否有效
- 使用SensioLabs 安全检查器检查 composer 是否存在已知安全漏洞的依赖项
- 检查提交中不包含任何调试代码(var_dump、die、exit)
- 检查代码是否符合 PSR2 编码风格
- 使用phpstan执行静态代码分析
- 使用PHP Mess Detector检查代码中的不必要复杂性等
- 使用 PHPUnit 检查代码通过单元测试
安装
1. 将检查器添加到您的 composer.json
composer require --dev diviky/code-analysis
2. 将 grumphp 配置文件的路径添加到 composer.json
的 extra 中
"extra": {
"grumphp": {
"config-default-path": "vendor/diviky/code-analysis/grumphp.yml"
}
}
测试套件
如果您只想运行编码风格或静态分析检查,可以运行以下命令
php artisan self-diagnosis
composer validate
vendor/bin/grumphp run --testsuite=style
vendor/bin/grumphp run --testsuite=static
vendor/bin/php-cs-fixer fix --allow-risky=yes
vendor/bin/psalm
vendor/bin/phpstan analyse src
vendor/bin/testbench package:test --parallel
vendor/bin/phpunit --coverage-html coverage
许可证
MIT 许可证(MIT)。有关更多信息,请参阅许可证文件。