🏡 My personal configuration for Rector
GPL-3.0 License
This package contains basic Rector config for use in my personal projects. It is not meant to be used anywhere else. I won't provide support and don't accept pull requests for this repo.
composer require --dev eliashaeussler/rector-config
# rector.php
use EliasHaeussler\RectorConfig\Config\Config;
use EliasHaeussler\RectorConfig\Set\CustomSet;
use Rector\Config\RectorConfig;
use Rector\Php80\Rector\Class_\AnnotationToAttributeRector;
use Rector\Set\ValueObject\SetList;
use Rector\ValueObject\PhpVersion;
return static function (RectorConfig $rectorConfig): void {
// Optional: Configure PHP version explicitly
// Can be left out to use the current environment's PHP version
$phpVersion = PhpVersion::PHP_81;
// Create config from Rector config object
$config = Config::create($rectorConfig, $phpVersion)->in(
__DIR__.'/src',
__DIR__.'/tests',
);
// Skip specific paths
$config->not(
__DIR__.'/src/lib',
__DIR__.'/tests/test-application/vendor',
);
// Include default PHPUnit sets
$config->withPHPUnit();
// Include default Symfony sets
$config->withSymfony();
// Include default TYPO3 sets
$config->withTYPO3();
// Include custom sets
$config->withSets(
new CustomSet(
SetList::CODE_QUALITY,
SetList::CODING_STYLE,
),
);
// Skip specific rectors
$config->skip(
AnnotationToAttributeRector::class,
[
__DIR__.'/src/Some/File.php',
],
);
// Apply configuration
$config->apply();
};
This project is licensed under GNU General Public License 3.0 (or later).