pronovix / drupal-qa
QA tools for Drupal.
5.3.0
2026-03-30 12:56 UTC
Requires
- php: ~8.3.0
- composer-plugin-api: ^2.0
- behat/behat: ^3.9.0
- behat/mink: ^1.8
- cweagans/composer-patches: ^1.7
- dealerdirect/phpcodesniffer-composer-installer: ^1.0
- drupal/core-dev: ^11.3.4
- drupal/drupal-extension: ^4.1.0 || ^5.0
- drush/drush: ^13.6.0
- ergebnis/composer-normalize: ^2.38.0
- friendsoftwig/twigcs: ^6.0
- instaclick/php-webdriver: ^1.4.5 || ^2.0
- mglaman/phpstan-drupal: ^1.3
- phpspec/prophecy-phpunit: ^2
- phpstan/phpstan: ^1.8.11
- phpstan/phpstan-deprecation-rules: ^1.0
- pronovix/composer-logger: ^5.0
- slevomat/coding-standard: ^8.13.4
Conflicts
- phpdocumentor/reflection-docblock: >=6.0.0
This package is auto-updated.
Last update: 2026-06-14 06:01:46 UTC
README
Set of modules and libraries and configurations that helps quality assurance in Drupal.
Automated tasks executed when this plugin is installed
- phpcs.xml.dist gets symlinked to the Composer project root if it does not exist
- phpstan.neon.dist and phpstan.baseline.neon gets copied to the Composer project root if they do not exist
Available commands
Drupal QA commands
composer drupalqa:phpcs:config-install- installs Pronovix's PHP CodeSniffer configuration for Drupal projects (the plugin tries to install it automatically when it gets installed)composer drupalqa:testrunner:download- installs latest version of Pronovix's TestRunner Go application from Github. (You can avoid API rate limit error if you configure your Github OAuth access token.)drupalqa:phpstan:ensure-configs-existensures base configurations for PHPStan (stored in ./config/skeletons/) are available in Composer project root
3rd-party commands
composer normalize- Normalizes the composer.json (provided bylocalheinz/composer-normalize)./vendor/bin/twigcs- Checks TWIG files for violations on coding standards. (provided byfriendsoftwig/twigcs)./vendor/bin/phpstan- PHP static analysis tool. (provided byphpstan/phpstan)
Packages included
Code quality
- Composer Normalize: https://github.com/localheinz/composer-normalize
- PHP CodeSniffer Standards Composer Installer Plugin: https://github.com/Dealerdirect/phpcodesniffer-composer-installer
- PHPStan: https://github.com/phpstan/phpstan
- Slevomat Coding Standard: https://github.com/slevomat/coding-standard
Testing
- Behat Screenshot Extension: https://github.com/elvetemedve/behat-screenshot
- Behat Drupal Extension: https://github.com/jhedstrom/drupalextension
Plus various other packages (like Drupal Coder, PHPUnit, etc.) required by webflo/drupal-core-require-dev.
Development notes
ALL classes, interfaces in this project are internal and not meant to be used by other projects. No backward-compatibility promise is given for these.
Running QA checks:
- First fix auto-fixable issues with
composer lint:fix && composer static:fix - then run checks
composer lint:check && composer static:check