https://github.com/eliashaeussler/rector-config
🏡 My personal configuration for Rector
https://github.com/eliashaeussler/rector-config
config rector
Last synced: 11 months ago
JSON representation
🏡 My personal configuration for Rector
- Host: GitHub
- URL: https://github.com/eliashaeussler/rector-config
- Owner: eliashaeussler
- License: gpl-3.0
- Created: 2023-03-09T07:00:39.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2025-08-06T05:04:50.000Z (11 months ago)
- Last Synced: 2025-08-06T07:06:02.772Z (11 months ago)
- Topics: config, rector
- Language: PHP
- Homepage:
- Size: 1.04 MB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: CODEOWNERS
Awesome Lists containing this project
README
# Rector config
[](https://coveralls.io/github/eliashaeussler/rector-config)
[](https://codeclimate.com/github/eliashaeussler/rector-config/maintainability)
[](https://github.com/eliashaeussler/rector-config/actions/workflows/cgl.yaml)
[](https://github.com/eliashaeussler/rector-config/actions/workflows/tests.yaml)
[](https://packagist.org/packages/eliashaeussler/rector-config)
This package contains basic [Rector](https://github.com/rectorphp/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.
## 🔥 Installation
[](https://packagist.org/packages/eliashaeussler/rector-config)
[](https://packagist.org/packages/eliashaeussler/rector-config)
```bash
composer require --dev eliashaeussler/rector-config
```
## ⚡ Usage
```php
# 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();
};
```
## ⭐ License
This project is licensed under [GNU General Public License 3.0 (or later)](LICENSE).