webifycms / dev-tools
Set of development tools to analyze and auto fix code standards, formatting and other stuffs for WebifyCMS packages.
Installs: 45
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Type:webifycms-tool
pkg:composer/webifycms/dev-tools
Requires
- php: >=8.4
- friendsofphp/php-cs-fixer: ^3.0
- phpstan/phpstan: ^2.0
- rector/rector: ^2.0
Requires (Dev)
- phpunit/phpunit: ^12
README
Set of development tools to analyze and auto fix code standards, formatting and other stuffs for WebifyCMS packages.
The following libraries are included:
friendsofphp/php-cs-fixerphpstan/phpstanrectorphp/rector
Installation
Install via composer
composer require webifycms/dev-tools --dev
Configuration
- PHP CS Fixer
You can add the rules and finder instance in the following way to your config file .php-cs-fixer.php:
use Webify\Tools\Fixer; use PhpCsFixer\Finder; // create a finder instance according to your needs $finder = Finder::create()->in(__DIR__ . '/src'); // add the rules and it will override the defaults $rules = []; return (new Fixer($finder, $rules))->getConfig();
- PHPStan
Add phpstan.neon in the root directory, and you can include src/phpstan.neon file like below if you wish but not necessary.
#... includes: - vendor/webifycms/dev-tools/src/phpstan.neon #...
- Rector
Add rector.php in the root directory and the following, if you need to add more paths you can add them as well:
use Webify\Tools\Rector; // Initialize return (new Rector()) ->initialize([ __DIR__ . '/src', __DIR__ . '/test' ]) ->withPhpSets(php81: true);
Usage
- Analyze your code first with PHPStan static analyzer for errors and fix (manual fix):
vendor/bin/phpstan analyse [options] [<paths>...]
- Run code sniffer and format your codes.
(Recommended) If you wish to fix manually, you can just output the rules that will apply like the following.
./vendor/bin/php-cs-fixer fix --verbose --diff --show-progress=dots --dry-run
If you wish to auto fix the files, and output the summary of changes you can run the following.
./vendor/bin/php-cs-fixer fix --verbose --show-progress=dots
Upgrade code with RectorPHP
# to output the changes only ./vendor/bin/rector process --dry-run # to make the changes ./vendor/bin/rector process
NOTE: You can also set up this extension with your favorite IDE or editor, so you can get more advantages like format on save while developing.
TODO
- Install
phpstan/phpstanlibrary. - Install Rector
rectorphp/rectorlibrary. - Add alias commands for the library commands, like the following:
# ./vendor/bin/php-cs-fixer fix --verbose --diff --show-progress=dots --dry-run composer code-sniff # ./vendor/bin/php-cs-fixer fix --verbose --show-progress=dots composer code-format # ./vendor/bin/phpstan composer code-analyse
- Add support to pass arguments to the alias commands.