PHP CS Fixer config for M6Web components.
Run
$ composer require --dev m6web/php-cs-fixer-config
Create a configuration file .php-cs-fixer.dist.php in the root of your project:
<?php
$finder = PhpCsFixer\Finder::create()
    ->in(
        [
            __DIR__.'/src',
            __DIR__.'/tests',
        ]
    );
$config = new M6Web\CS\Config\BedrockStreaming();
$config->setFinder($finder);
return $config;You may extend these rules and apply your own extra rules.
Create a configuration file .php-cs-fixer.dist.php in the root of your project:
<?php
$finder = PhpCsFixer\Finder::create()
    ->in([
        __DIR__.'/src',
        __DIR__.'/tests',
    ]);
$config = new class() extends PhpCsFixer\Config {
    public function __construct()
    {
        parent::__construct('customized Bedrock Streaming');
        $this->setRiskyAllowed(true);
    }
    
    public function getRules(): array
    {
        $rules = (new M6Web\CS\Config\BedrockStreaming())->getRules();
        
        // perform updates on the rules array here
        
        return $rules;
    }
};
$config->setFinder($finder);
return $config;Add .php-cs-fixer.cache (this is the cache file created by php-cs-fixer) to .gitignore:
vendor/
.php-cs-fixer.cache
Create a Makefile with the targets below:
# Coding Style
cs:
	./bin/php-cs-fixer fix --dry-run --stop-on-violation --diff
cs-fix:
	./bin/php-cs-fixer fix
cs-ci:
	./bin/php-cs-fixer fix --dry-run --using-cache=no --verboseIf you need to check issues locally, just run
$ make cs
If you need to fix issues locally, just run
$ make cs-fix
In your Continuous Integration, run
$ make cs-ci
Developed by Bedrock Streaming, inspired by refinery29/php-cs-fixer-config.
This project is licensed under the MIT license.