kapersoft / awesome-rector-rules
A collection of some awesome Rector rules
Fund package maintenance!
kapersoft
Requires
- php: ^8.2
- rector/rector: ^2.0.11
Requires (Dev)
- ergebnis/composer-normalize: ^2.47
- laravel/pint: ^1.22
- phpstan/phpstan: ^2.1
- phpunit/phpunit: ^10.0
This package is auto-updated.
Last update: 2025-06-11 02:04:59 UTC
README
A set of awesome Rector rules.
Installation
Install via Composer:
composer require kapersoft/awesome-rector-rules --dev
Then register the rules in your rector.php
config:
use Kapersoft\AwesomeRectorRules\NullableTypeToUnionTypeRector; use Kapersoft\AwesomeRectorRules\MoveNullToEndOfUnionTypeRector; return static function (Rector\Config\RectorConfig $rectorConfig): void { $rectorConfig->rules([ NullableTypeToUnionTypeRector::class, MoveNullToEndOfUnionTypeRector::class, ]); };
Included Rector Rules
1. NullableTypeToUnionTypeRector
Description: Converts nullable types (e.g., ?int
) to explicit union types with null
(e.g., int|null
).
Before:
function someFunction(?int $value): ?string { return null; }
After:
function someFunction(int|null $value): string|null { return null; }
2. MoveNullToEndOfUnionTypeRector
Description: Moves null
to the end of union types for consistency (e.g., null|string
→ string|null
).
Before:
function someFunction(null|string $param): null|int { }
After:
function someFunction(string|null $param): int|null { }
Changelog
See CHANGELOG.md for a history of changes.
Contributing
See CONTRIBUTING.md for contribution guidelines.
Security
See SECURITY.md for the security policy and reporting guidelines.
License
This project is licensed under the MIT License.