drupol / phpcsfixer-configs-drupal
Base PHP CS Fixer configurations for Drupal 7 and 8.
Installs: 211 554
Dependents: 3
Suggesters: 0
Security: 0
Stars: 7
Watchers: 4
Forks: 5
Open Issues: 3
Requires
- php: >= 8.0.0
- ext-mbstring: *
- ext-tokenizer: *
- drupol/phpcsfixer-configs-php: ^2.0
- friendsofphp/php-cs-fixer: ^3.49
Requires (Dev)
- ergebnis/composer-normalize: ^2.31.0
- maglnet/composer-require-checker: ^4.4.0
- php-cs-fixer/phpunit-constraint-isidenticalstring: ^1.3
- php-parallel-lint/php-parallel-lint: ^1.3
- phpro/grumphp: ^1.0 || ^2.0
- phpunit/phpunit: ^9.6.13 || ^10
README
PHP CS Fixer Drupal Configurations
Description
This package provides a set [PHP-Cs-Fixer](https://github.com/FriendsOfPHP/PHP CS Fixer) configuration objects ready to be used in a Drupal project.
Documentation
Available configuration objects:
drupol\PhpCsFixerConfigsDrupal\Config\Drupal7
drupol\PhpCsFixerConfigsDrupal\Config\Drupal8
Requirements
- PHP >= 8.0
- friendsofphp/php-cs-fixer >= 3.35
Installation
The recommended way to install PHP CS Fixer Drupal is to use Composer in a dedicated composer.json
file in your project, for example in the tools/php-cs-fixer
directory:
mkdir -p tools/php-cs-fixer composer require --dev --working-dir=tools/php-cs-fixer drupol/phpcsfixer-configs-drupal
Or using the main composer.json
:
composer require --dev drupol/phpcsfixer-configs-drupal
Configuration
Assuming you installed PHP CS Fixer as instructed above, you should now setup a configuration .php-cs-fixer.php
file in the root directory of your project.
touch .php-cs-fixer.php
The example below setup PHP CS Fixer to use Drupal 8/9/10 rules:
<?php use drupol\PhpCsFixerConfigsDrupal\Config\Drupal8; $finder = PhpCsFixer\Finder::create() ->in(['web/modules/custom']) ->name('*.module') ->name('*.inc') ->name('*.install') ->name('*.test') ->name('*.profile') ->name('*.theme') ->notPath('*.md') ->notPath('*.info.yml') ; $config = new Drupal8(); $config->setFinder($finder); $rules = $config->getRules(); $config->setRules($rules); return $config;
See the PHP CS Fixer documentation on how to use the advanced configuration object.
Usage
Assuming you installed PHP CS Fixer as instructed above, you can run the following command to fix your Drupal project:
tools/php-cs-fixer/vendor/bin/php-cs-fixer fix
Code quality, tests and benchmarks
Every time changes are introduced into the library, Github Actions run the tests and the benchmarks.
The library has tests written with PHPUnit.
Feel free to check them out in the tests
directory. Run ./vendor/bin/phpunit
to trigger the tests.
Before each commit some inspections are executed with GrumPHP, run ./vendor/bin/grumphp run
to check manually.
Contributing
Feel free to contribute to this library by sending Github pull requests. I'm quite reactive :-)