Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pronovix/drupal-qa
[READ ONLY] QA tools for Drupal
https://github.com/pronovix/drupal-qa
behat code-quality code-style drupal phpunit testing
Last synced: 18 days ago
JSON representation
[READ ONLY] QA tools for Drupal
- Host: GitHub
- URL: https://github.com/pronovix/drupal-qa
- Owner: Pronovix
- License: gpl-2.0
- Created: 2019-08-06T09:07:48.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-10-02T08:30:33.000Z (about 1 month ago)
- Last Synced: 2024-10-07T23:10:10.285Z (29 days ago)
- Topics: behat, code-quality, code-style, drupal, phpunit, testing
- Language: PHP
- Homepage:
- Size: 133 KB
- Stars: 2
- Watchers: 6
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# Drupal QA
Set of modules and libraries and configurations that helps quality assurance in Drupal.
## Automated tasks executed when this plugin is installed
* [phpcs.xml.dist](./config/phpcs.xml.dist) gets symlinked to the Composer project root if it does not exist
* [phpstan.neon.dist](./config/skeletons/phpstan.neon.dist) and [phpstan.baseline.neon](./config/skeletons/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](https://github.com/Pronovix/testrunner).
(You can avoid API rate limit error if you [configure your Github OAuth access token](https://getcomposer.org/doc/articles/troubleshooting.md#api-rate-limit-and-oauth-tokens).)
* `drupalqa:phpstan:ensure-configs-exist` ensures base configurations for PHPStan (stored in [./config/skeletons/](./config/skeletons)) are
available in Composer project root### 3rd-party commands
* `composer normalize` - Normalizes the composer.json (provided by `localheinz/composer-normalize`)
* `./vendor/bin/twigcs` - Checks TWIG files for violations on coding standards. (provided by `friendsoftwig/twigcs`)
* `./vendor/bin/phpstan` - PHP static analysis tool. (provided by `phpstan/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/drupalextensionPlus various other packages (like Drupal Coder, PHPUnit, etc.) required by [webflo/drupal-core-require-dev](https://github.com/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`