collection-crud/tools/rector.php

82 lines
4.0 KiB
PHP
Raw Normal View History

2022-03-03 10:19:01 -05:00
<?php declare(strict_types=1);
use Rector\CodeQuality\Rector\BooleanNot\SimplifyDeMorganBinaryRector;
use Rector\CodeQuality\Rector\Class_\CompleteDynamicPropertiesRector;
2023-07-21 10:50:58 -04:00
use Rector\CodeQuality\Rector\For_\{ForRepeatedCountToOwnVariableRector};
2022-03-03 11:15:12 -05:00
use Rector\CodeQuality\Rector\If_\{ConsecutiveNullCompareReturnsToNullCoalesceQueueRector, SimplifyIfElseToTernaryRector, SimplifyIfReturnBoolRector};
2023-07-21 10:50:58 -04:00
use Rector\CodeQuality\Rector\Ternary\{SimplifyTautologyTernaryRector, SwitchNegatedTernaryRector};
use Rector\CodingStyle\Rector\ArrowFunction\StaticArrowFunctionRector;
2022-03-03 10:19:01 -05:00
use Rector\CodingStyle\Rector\Class_\AddArrayDefaultToArrayPropertyRector;
use Rector\CodingStyle\Rector\ClassConst\RemoveFinalFromConstRector;
2023-07-21 10:50:58 -04:00
use Rector\CodingStyle\Rector\ClassMethod\{NewlineBeforeNewAssignSetRector};
2022-03-03 10:19:01 -05:00
use Rector\CodingStyle\Rector\Encapsed\WrapEncapsedVariableInCurlyBracesRector;
2023-07-21 10:50:58 -04:00
use Rector\CodingStyle\Rector\FuncCall\{CallUserFuncArrayToVariadicRector, CallUserFuncToMethodCallRector, CountArrayToEmptyArrayComparisonRector, VersionCompareFuncCallToConstantRector};
use Rector\CodingStyle\Rector\String_\SymplifyQuoteEscapeRector;
use Rector\Config\RectorConfig;
2022-03-03 11:15:12 -05:00
use Rector\DeadCode\Rector\ClassMethod\{RemoveUselessParamTagRector, RemoveUselessReturnTagRector};
2022-03-03 10:19:01 -05:00
use Rector\DeadCode\Rector\Foreach_\RemoveUnusedForeachKeyRector;
use Rector\DeadCode\Rector\Property\RemoveUselessVarTagRector;
use Rector\DeadCode\Rector\Switch_\RemoveDuplicatedCaseInSwitchRector;
use Rector\EarlyReturn\Rector\Foreach_\ChangeNestedForeachIfsToEarlyContinueRector;
2022-03-03 11:15:12 -05:00
use Rector\EarlyReturn\Rector\If_\{ChangeIfElseValueAssignToEarlyReturnRector, RemoveAlwaysElseRector};
2023-07-21 10:50:58 -04:00
use Rector\Php74\Rector\Property\RestoreDefaultNullToNullableTypePropertyRector;
use Rector\Php81\Rector\FuncCall\NullToStrictStringFuncCallArgRector;
2022-03-03 10:19:01 -05:00
use Rector\Php81\Rector\Property\ReadOnlyPropertyRector;
2023-07-21 10:50:58 -04:00
use Rector\PHPUnit\Set\PHPUnitSetList;
2022-03-03 10:19:01 -05:00
use Rector\Set\ValueObject\LevelSetList;
2022-03-03 11:15:12 -05:00
use Rector\Symfony\Set\{SymfonyLevelSetList, SymfonySetList};
2023-07-21 10:50:58 -04:00
use Rector\TypeDeclaration\Rector\ClassMethod\{AddMethodCallBasedStrictParamTypeRector, ParamTypeByMethodCallTypeRector, ParamTypeByParentCallTypeRector};
2022-03-03 10:19:01 -05:00
use Rector\TypeDeclaration\Rector\Closure\AddClosureReturnTypeRector;
use Rector\TypeDeclaration\Rector\Property\TypedPropertyFromAssignsRector;
2023-07-21 10:50:58 -04:00
return static function (RectorConfig $config): void {
$config->importShortClasses(FALSE);
2022-03-03 10:19:01 -05:00
2023-07-21 10:50:58 -04:00
$config->sets([
LevelSetList::UP_TO_PHP_82,
PHPUnitSetList::ANNOTATIONS_TO_ATTRIBUTES,
PHPUnitSetList::PHPUNIT_100,
SymfonyLevelSetList::UP_TO_SYMFONY_60,
]);
2022-03-03 10:19:01 -05:00
2023-07-21 10:50:58 -04:00
$config->rules([
AddArrayDefaultToArrayPropertyRector::class,
AddClosureReturnTypeRector::class,
AddMethodCallBasedStrictParamTypeRector::class,
CallUserFuncArrayToVariadicRector::class,
CallUserFuncToMethodCallRector::class,
ChangeIfElseValueAssignToEarlyReturnRector::class,
ChangeNestedForeachIfsToEarlyContinueRector::class,
CompleteDynamicPropertiesRector::class,
ConsecutiveNullCompareReturnsToNullCoalesceQueueRector::class,
CountArrayToEmptyArrayComparisonRector::class,
ForRepeatedCountToOwnVariableRector::class,
NewlineBeforeNewAssignSetRector::class,
ParamTypeByMethodCallTypeRector::class,
ParamTypeByParentCallTypeRector::class,
RemoveAlwaysElseRector::class,
RemoveDuplicatedCaseInSwitchRector::class,
RemoveFinalFromConstRector::class,
RemoveUnusedForeachKeyRector::class,
RemoveUselessParamTagRector::class,
RemoveUselessReturnTagRector::class,
RemoveUselessVarTagRector::class,
SimplifyDeMorganBinaryRector::class,
SimplifyIfElseToTernaryRector::class,
SimplifyIfReturnBoolRector::class,
SimplifyTautologyTernaryRector::class,
StaticArrowFunctionRector::class,
SwitchNegatedTernaryRector::class,
SymplifyQuoteEscapeRector::class,
TypedPropertyFromAssignsRector::class,
VersionCompareFuncCallToConstantRector::class,
WrapEncapsedVariableInCurlyBracesRector::class,
]);
2022-03-03 10:19:01 -05:00
2023-07-21 10:50:58 -04:00
$config->skip([
NullToStrictStringFuncCallArgRector::class,
ReadOnlyPropertyRector::class,
RestoreDefaultNullToNullableTypePropertyRector::class,
]);
2022-03-03 10:19:01 -05:00
};