diviky / code-analysis
grumphp config to automatically check conventions for Laravel projects
Installs: 14 616
Dependents: 5
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 1
Open Issues: 0
Requires
- barryvdh/laravel-ide-helper: ^3.0
- fakerphp/faker: ^1.9
- jasonmccreary/laravel-test-assertions: ^2.3
- jrmadsen67/laravel-route-coverage-test: ^1.1
- kitloong/laravel-migrations-generator: ^7.0
- laravel/pint: ^1.13
- mnabialek/laravel-sql-logger: ^2.2
- mockery/mockery: ^1.4.2
- monolog/monolog: ^3.0
- nunomaduro/collision: ^7.10|^8.1
- nunomaduro/phpinsights: ^2.4
- orangehill/iseed: ^3.0
- orchestra/testbench: ^8.27|^9.1
- php-parallel-lint/php-parallel-lint: ^1.3
- phpmd/phpmd: ^2.9
- phpro/grumphp: ^2.0
- phpunit/phpunit: ^10.5|^11.2
- spatie/laravel-ignition: ^2.0
- spatie/phpunit-snapshot-assertions: ^5.1
- spatie/test-time: ^1.2
- squizlabs/php_codesniffer: ^3.5
- staudenmeir/laravel-migration-views: ^1.6
- symfony/console: ^6.0|^7.0
- thedoctor0/laravel-factory-generator: ^1.2
- yieldstudio/grumphp-laravel-pint: ^1.0
Requires (Dev)
- laravel/framework: ^10.20|^11.28
README
Configuration for grumphp that is checking on each commit that the committed code passes the unit tests, complies with the PSR2 coding style and static analysis check. It runs the following checks:
- Check that composer.json is valid
- Check that composer does not have any dependencies for known security vulnerabilities with SensioLabs Security Checker
- Check that commit does not contain any debugging (var_dump, die, exit)
- Check that code complies with the PSR2 coding style
- Perform static code analysis using phpstan
- Check code for unnecessary complexity etc. with PHP Mess Detector
- Check that unit tests pass with PHPUnit
Installation
1. Add checker to your composer.json
:
composer require --dev diviky/code-analysis
2. Add path to grumphp configuration file to your composer.json
's extra:
"extra": {
"grumphp": {
"config-default-path": "vendor/diviky/code-analysis/grumphp.yml"
}
}
Test suites
If you want to run the coding style or static analysis checks only, you can run the following commands:
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
License
The MIT License (MIT). Please see License File for more information.