A common codestyle helper for all Blumilk projects.
Add package to our project:
composer require blumilksoftware/codestyle --dev
Then run following to create configuration file and add scripts to the composer.json
file:
./vendor/bin/codestyle init
Or you can create codestyle.php
file in your project's root directory:
<?php declare(strict_types=1); use Blumilk\Codestyle\Config; return new Config();
You can configure paths and rules in Config
class constructor:
<?php declare(strict_types=1); use Blumilk\Codestyle\Config; use Blumilk\Codestyle\Configuration\Defaults\LaravelPaths; $paths = new LaravelPaths(); $config = new Config( paths: $paths->filter("app", "tests")->add("src"), ); return $config->config();
Or:
<?php declare(strict_types=1); use Blumilk\Codestyle\Config; use Blumilk\Codestyle\Configuration\Defaults\LaravelPaths; $config = new Config( paths: new LaravelPaths(LaravelPaths::LARAVEL_8_PATHS), ); return $config->config();
Or:
<?php declare(strict_types=1); use Blumilk\Codestyle\Config; use Blumilk\Codestyle\Configuration\Defaults\Paths; $config = new Config( paths: new Paths("src"), ); return $config->config();
Add scripts to your composer.json
file:
{ "scripts": { "cs": "./vendor/bin/php-cs-fixer fix --dry-run --diff --config codestyle.php", "csf": "./vendor/bin/php-cs-fixer fix --diff --config codestyle.php" } }
Then run following command to check codestyle:
composer cs
or following to fix found errors:
composer csf
If you want to disable risky rules, you can add withoutRiskyFixers
method to the config file:
return $config->withoutRiskyFixers()->config();
If you want to enable ignoring marked file, you can add ignoreMarkedFiles
method to the config file:
return $config->ignoreMarkedFiles()->config();
and then add // php-cs-fixer:ignore-file
to the file which you want to ignore.
Upgrading guide is available in upgrading.md file.
In cloned or forked repository, run:
cp .env.example .env composer install
There are scripts available for package codestyle checking and testing:
Command | Description |
---|---|
composer cs | Runs codestyle against the package itself |
composer csf | Runs codestyle with fixer enabled against the package itself |
composer test | Runs all test cases |
composer unit | Runs tests for package features |
composer e2e | Runs tests for codestyle rules |
There is also the Docker Compose configuration available:
docker compose up -d docker compose exec php php -v docker compose exec php composer -V
There are also Makefile commands available:
make run make shell make stop
Please maintain our project guidelines:
- keep issues well described, labeled and in English,
- add issue number to all your commits,
- add issue number to your branch name,
- squash your commits into one commit with standardized name.