sylius / sylius-rector
Rector upgrades rules for Sylius
                                    Fund package maintenance!
                                                                            
                                                                                                                                        sylius
                                                                                    
                                                                
Installs: 633 027
Dependents: 46
Suggesters: 0
Security: 0
Stars: 9
Watchers: 8
Forks: 13
Open Issues: 3
Type:rector-extension
pkg:composer/sylius/sylius-rector
Requires
- php: ^8.0
- rector/rector: ^2.0.7
Requires (Dev)
- phpstan/extension-installer: ^1.1
- phpstan/phpstan: ^2.1.2
- phpstan/phpstan-strict-rules: ^2.0.3
- phpstan/phpstan-webmozart-assert: ^2.0.0
- phpunit/phpunit: ^10.5.44
- symplify/easy-coding-standard: ^12.5.1
- symplify/package-builder: ^11.3.2
- symplify/phpstan-extensions: ^12.0.1
- symplify/phpstan-rules: ^14.2.7
- symplify/rule-doc-generator: ^12.2.5
- symplify/vendor-patches: ^11.3.7
Conflicts
- rector/rector: <0.11
- symplify/phpstan-rules: ^11.1
README
Installation Sylius-Standard
In Sylius-Standard, we are providing a basic configuration to getting started with Sylius/SyliusRector. You can add rules
or rule sets to your <project_root>/rector.php and reap benefits from Rector.
Installation in older projects
sylius/sylius-rector package requires at least PHP 8.0. Of course, if you use PHP in version 7.4 you can use
rector/rector to upgrade your PHP version easily!
Then, when you meet the minimal requirements, run the following commands:
composer require sylius/sylius-rector --dev
Finally, create <project_root>/rector.php file with the following content:
<?php declare(strict_types=1); use Rector\CodeQuality\Rector\Class_\InlineConstructorDefaultToPropertyRector; use Rector\Config\RectorConfig; use Rector\Set\ValueObject\LevelSetList; use Sylius\SyliusRector\Set\SyliusPlus; return static function (RectorConfig $rectorConfig): void { $rectorConfig->importNames(); $rectorConfig->import(__DIR__ . '/vendor/sylius/sylius-rector/config/config.php'); $rectorConfig->paths([ __DIR__ . '/src' ]); };
Learn Rector Faster
Rector is a tool that we develop and share for free, so anyone can save hundreds of hours on refactoring. But not everyone has time to understand Rector and AST complexity. You have 2 ways to speed this process up:
- read a book - The Power of Automated Refactoring
- hire our experienced team to improve your code base
Both ways support us to and improve Rector in sustainable way by learning from practical projects.
Thank you note
We would like to thank @alexander-schranz for starting this initiative and setting up initial codebase structure.