Spaces:
No application file
No application file
declare(strict_types=1); | |
use Rector\CodeQuality\Rector\FunctionLike\SimplifyUselessVariableRector; | |
use Rector\Config\RectorConfig; | |
use Rector\DeadCode\Rector\Assign\RemoveUnusedVariableAssignRector; | |
use Rector\DeadCode\Rector\Cast\RecastingRemovalRector; | |
use Rector\DeadCode\Rector\Property\RemoveUnusedPrivatePropertyRector; | |
use Rector\DeadCode\Rector\Property\RemoveUselessVarTagRector; | |
use Rector\Php80\Rector\Class_\ClassPropertyAssignToConstructorPromotionRector; | |
use Rector\Set\ValueObject\SetList; | |
use Rector\TypeDeclaration\Rector\Class_\ReturnTypeFromStrictTernaryRector; | |
use Rector\TypeDeclaration\Rector\ClassMethod\AddVoidReturnTypeWhereNoReturnRector; | |
use Rector\TypeDeclaration\Rector\ClassMethod\BoolReturnTypeFromStrictScalarReturnsRector; | |
use Rector\TypeDeclaration\Rector\ClassMethod\NumericReturnTypeFromStrictScalarReturnsRector; | |
use Rector\TypeDeclaration\Rector\ClassMethod\ReturnTypeFromReturnDirectArrayRector; | |
use Rector\TypeDeclaration\Rector\ClassMethod\ReturnTypeFromReturnNewRector; | |
use Rector\TypeDeclaration\Rector\ClassMethod\ReturnTypeFromStrictBoolReturnExprRector; | |
use Rector\TypeDeclaration\Rector\ClassMethod\ReturnTypeFromStrictConstantReturnRector; | |
use Rector\TypeDeclaration\Rector\ClassMethod\ReturnTypeFromStrictNativeCallRector; | |
use Rector\TypeDeclaration\Rector\ClassMethod\ReturnTypeFromStrictNewArrayRector; | |
use Rector\TypeDeclaration\Rector\ClassMethod\ReturnTypeFromStrictParamRector; | |
use Rector\TypeDeclaration\Rector\Property\TypedPropertyFromStrictConstructorRector; | |
use Rector\TypeDeclaration\Rector\Property\TypedPropertyFromStrictSetUpRector; | |
return static function (RectorConfig $rectorConfig): void { | |
$rectorConfig->paths([ | |
__DIR__.'/app/bundles', | |
__DIR__.'/plugins', | |
]); | |
$rectorConfig->skip([ | |
'*/Test/*', | |
'*/Tests/*', | |
'*.html.php', | |
// Remove in M6 once the class is removed. | |
__DIR__.'/app/bundles/CoreBundle/Helper/UTF8Helper.php', | |
ReturnTypeFromReturnDirectArrayRector::class => [ | |
// require bit test update | |
__DIR__.'/app/bundles/LeadBundle/Model/LeadModel.php', | |
// array vs doctrine collection | |
__DIR__.'/app/bundles/CoreBundle/Entity/TranslationEntityTrait.php', | |
], | |
// Avoiding breaking BC breaks with forced return types in public methods | |
ReturnTypeFromReturnNewRector::class => [ | |
__DIR__.'/app/bundles/IntegrationsBundle/Sync/SyncProcess/Direction/Integration/ObjectChangeGenerator.php', | |
__DIR__.'/app/bundles/IntegrationsBundle/Sync/SyncProcess/Direction/Internal/ObjectChangeGenerator.php', | |
], | |
// lets handle later, once we have more type declaratoins | |
RecastingRemovalRector::class, | |
RemoveUnusedPrivatePropertyRector::class => [ | |
// entities | |
__DIR__.'/app/bundles/UserBundle/Entity', | |
// typo fallback | |
__DIR__.'/app/bundles/LeadBundle/Entity/LeadField.php', | |
], | |
ReturnTypeFromStrictBoolReturnExprRector::class => [ | |
__DIR__.'/app/bundles/LeadBundle/Segment/Decorator/BaseDecorator.php', | |
// requires quite a refactoring | |
__DIR__.'/app/bundles/CoreBundle/Factory/MauticFactory.php', | |
], | |
RemoveUnusedVariableAssignRector::class => [ | |
// unset variable to clear garbage collector | |
__DIR__.'/app/bundles/LeadBundle/Model/ImportModel.php', | |
], | |
TypedPropertyFromStrictConstructorRector::class => [ | |
// entities magic | |
__DIR__.'/app/bundles/LeadBundle/Entity', | |
// fixed in rector dev-main | |
__DIR__.'/app/bundles/CoreBundle/DependencyInjection/Builder/BundleMetadata.php', | |
], | |
ClassPropertyAssignToConstructorPromotionRector::class => [ | |
__DIR__.'/app/bundles/CacheBundle/EventListener/CacheClearSubscriber.php', | |
__DIR__.'/app/bundles/ReportBundle/Event/ReportBuilderEvent.php', | |
// false positive | |
__DIR__.'/app/bundles/CoreBundle/DependencyInjection/Builder/BundleMetadata.php', | |
], | |
Rector\TypeDeclaration\Rector\Property\TypedPropertyFromAssignsRector::class => [ | |
'*/Entity/*', | |
], | |
// handle later with full PHP 8.0 upgrade | |
Rector\Php80\Rector\FunctionLike\MixedTypeRector::class, | |
Rector\Php73\Rector\FuncCall\JsonThrowOnErrorRector::class, | |
Rector\CodeQuality\Rector\ClassMethod\OptionalParametersAfterRequiredRector::class, | |
// handle later, case by case as lot of chnaged code | |
Rector\DeadCode\Rector\If_\RemoveAlwaysTrueIfConditionRector::class => [ | |
__DIR__.'/app/bundles/PointBundle/Controller/TriggerController.php', | |
__DIR__.'/app/bundles/LeadBundle/Controller/ImportController.php', | |
__DIR__.'/app/bundles/FormBundle/Controller/FormController.php', | |
// watch out on this one - the variables are set magically via $$name | |
// @see app/bundles/FormBundle/Form/Type/FieldType.php:99 | |
__DIR__.'/app/bundles/FormBundle/Form/Type/FieldType.php', | |
], | |
]); | |
// Define what rule sets will be applied | |
$rectorConfig->sets([ | |
SetList::DEAD_CODE, | |
SetList::PHP_80, | |
// SetList::TYPE_DECLARATION, | |
]); | |
// Define what single rules will be applied | |
$rectorConfig->rules([ | |
Rector\TypeDeclaration\Rector\ClassMethod\ReturnTypeFromStrictTypedCallRector::class, | |
Rector\TypeDeclaration\Rector\ClassMethod\ReturnTypeFromStrictScalarReturnExprRector::class, | |
Rector\TypeDeclaration\Rector\Property\TypedPropertyFromAssignsRector::class, | |
NumericReturnTypeFromStrictScalarReturnsRector::class, | |
ReturnTypeFromReturnNewRector::class, | |
ReturnTypeFromStrictNativeCallRector::class, | |
ReturnTypeFromStrictNewArrayRector::class, | |
ReturnTypeFromStrictParamRector::class, | |
ReturnTypeFromStrictTernaryRector::class, | |
ClassPropertyAssignToConstructorPromotionRector::class, | |
BoolReturnTypeFromStrictScalarReturnsRector::class, | |
AddVoidReturnTypeWhereNoReturnRector::class, | |
TypedPropertyFromStrictConstructorRector::class, | |
TypedPropertyFromStrictSetUpRector::class, | |
RemoveUnusedVariableAssignRector::class, | |
RemoveUselessVarTagRector::class, | |
SimplifyUselessVariableRector::class, | |
ReturnTypeFromStrictBoolReturnExprRector::class, | |
ReturnTypeFromStrictConstantReturnRector::class, | |
ReturnTypeFromReturnDirectArrayRector::class, | |
]); | |
}; | |