Provides set of libraries to easily setup code quality checks based on GrumPHP for Drupal project.
- Add this package using composer
composer require --dev fivejars/drupal-quality-check
- Copy configuration files(
grumphp.yml.dist
,phpmd.xml.dist
,phpstan.neon.dist
) in project's root directory (not Drupal root directory) without.dist
suffix(grumphp.yml
,phpmd.xml
,phpstan.neon
). - Overview and change configuration according to your project requirements.
- Copy the scripts section from
composer.scripts.json
to your projectcomposer.json
or merge it usingwikimedia/composer-merge-plugin
.
That's it. Now, GrumPHP tasks run on every git commit
.
Also you can to run other tasks using composer scripts.
Note: As part of install, GrumPHP adds
pre-commit
hook to repository. Existingpre-commit
might get destroyed when install/uninstall.
composer grumphp
- Run GrumPHP for the project files added to Gitcomposer phpmetrics
- Generate PHP Metrics for project files from configured directories(see composer.scripts.json in the package root)composer phpstan
- Run PHPStan for the project files from configured directories(see phpstan.neon in your project root)composer phpcs YOUR_DIR
- Run PHPCS on the directory from command argument.composer phpcbf YOUR_DIR
- Run PHPCBF on the directory from command argument.composer phpmd
- Run PHPMD for the project files from configured directories(see phpmd.xml in your project root)composer phpmnd
- Run PHPMD for the project files from configured directories(see composer.scripts.json in the package root)composer twigcs YOUR_DIR
- Run TwigCS on the directory from command argument.
- PHPCS with Drupal standard.
- PHP Lint
- YAML Lint
- Composer
- Composer Normalize
- JSONLint
- PHP Copy/Paste Detector (CPD)
- PHPStan
- TwigCS
- PHPCompatibility
- PHPMetrics
Long list checks/validators available here.