foundation/rector.php
2025-06-13 18:29:55 +02:00

46 lines
No EOL
1.6 KiB
PHP

<?php
declare(strict_types = 1);
use Rector\CodeQuality\Rector\BooleanNot\SimplifyDeMorganBinaryRector;
use Rector\CodeQuality\Rector\Empty_\SimplifyEmptyCheckOnEmptyArrayRector;
use Rector\Config\RectorConfig;
use Rector\Php80\Rector\FunctionLike\MixedTypeRector;
use Rector\TypeDeclaration\Rector\ClassMethod\AddParamTypeDeclarationRector;
use Rector\TypeDeclaration\Rector\ClassMethod\AddReturnTypeDeclarationRector;
use Rector\TypeDeclaration\Rector\ClassMethod\AddVoidReturnTypeWhereNoReturnRector;
use Rector\TypeDeclaration\Rector\ClassMethod\ReturnTypeFromReturnNewRector;
use Rector\TypeDeclaration\Rector\ClassMethod\ReturnTypeFromStrictTypedCallRector;
use Rector\TypeDeclaration\Rector\ClassMethod\ReturnTypeFromStrictTypedPropertyRector;
use Rector\TypeDeclaration\Rector\Property\AddPropertyTypeDeclarationRector;
return RectorConfig::configure()->withPaths([
__DIR__.'/src',
])->withSkip([
// Skip vendor and other directories
__DIR__.'/vendor',
__DIR__.'/storage',
__DIR__.'/public',
])->withRules([
// Add missing return types
AddVoidReturnTypeWhereNoReturnRector::class,
AddReturnTypeDeclarationRector::class,
ReturnTypeFromReturnNewRector::class,
ReturnTypeFromStrictTypedCallRector::class,
ReturnTypeFromStrictTypedPropertyRector::class,
// Add missing parameter types
AddParamTypeDeclarationRector::class,
// Add missing property types
AddPropertyTypeDeclarationRector::class,
// Code quality improvements
SimplifyEmptyCheckOnEmptyArrayRector::class,
SimplifyDeMorganBinaryRector::class,
// PHP 8+ features
MixedTypeRector::class,
])->withPhpSets(
php81: true,
);