[DX] Run UpgradeRectorConfigRector on /configs/set (#2099)

This commit is contained in:
Tomas Votruba 2022-04-20 09:05:49 +02:00 committed by GitHub
parent d90953d9a9
commit 03fbf02ec4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
36 changed files with 391 additions and 400 deletions

View File

@ -6,6 +6,5 @@ use Rector\Config\RectorConfig;
use Rector\DependencyInjection\Rector\Class_\ActionInjectionToConstructorInjectionRector;
return static function (RectorConfig $rectorConfig): void {
$services = $rectorConfig->services();
$services->set(ActionInjectionToConstructorInjectionRector::class);
$rectorConfig->rule(ActionInjectionToConstructorInjectionRector::class);
};

View File

@ -80,64 +80,63 @@ use Rector\Php71\Rector\FuncCall\RemoveExtraParametersRector;
use Rector\Renaming\Rector\FuncCall\RenameFunctionRector;
return static function (RectorConfig $rectorConfig): void {
$services = $rectorConfig->services();
$services->set(CombinedAssignRector::class);
$services->set(SimplifyEmptyArrayCheckRector::class);
$services->set(ReplaceMultipleBooleanNotRector::class);
$services->set(ForeachToInArrayRector::class);
$services->set(SimplifyForeachToCoalescingRector::class);
$services->set(SimplifyFuncGetArgsCountRector::class);
$services->set(SimplifyInArrayValuesRector::class);
$services->set(SimplifyStrposLowerRector::class);
$services->set(GetClassToInstanceOfRector::class);
$services->set(SimplifyArraySearchRector::class);
$services->set(SimplifyConditionsRector::class);
$services->set(SimplifyIfNotNullReturnRector::class);
$services->set(SimplifyIfReturnBoolRector::class);
$services->set(SimplifyUselessVariableRector::class);
$services->set(UnnecessaryTernaryExpressionRector::class);
$services->set(RemoveExtraParametersRector::class);
$services->set(SimplifyDeMorganBinaryRector::class);
$services->set(SimplifyTautologyTernaryRector::class);
$services->set(SimplifyForeachToArrayFilterRector::class);
$services->set(SingleInArrayToCompareRector::class);
$services->set(SimplifyIfElseToTernaryRector::class);
$services->set(JoinStringConcatRector::class);
$services->set(ConsecutiveNullCompareReturnsToNullCoalesceQueueRector::class);
$services->set(SimplifyIfIssetToNullCoalescingRector::class);
$services->set(ExplicitBoolCompareRector::class);
$services->set(CombineIfRector::class);
$services->set(UseIdenticalOverEqualWithSameTypeRector::class);
$services->set(SimplifyBoolIdenticalTrueRector::class);
$services->set(SimplifyRegexPatternRector::class);
$services->set(BooleanNotIdenticalToNotIdenticalRector::class);
$services->set(CallableThisArrayToAnonymousFunctionRector::class);
$services->set(AndAssignsToSeparateLinesRector::class);
$services->set(ForToForeachRector::class);
$services->set(CompactToVariablesRector::class);
$services->set(CompleteDynamicPropertiesRector::class);
$services->set(IsAWithStringWithThirdArgumentRector::class);
$services->set(StrlenZeroToIdenticalEmptyStringRector::class);
$services->set(RemoveAlwaysTrueConditionSetInConstructorRector::class);
$services->set(ThrowWithPreviousExceptionRector::class);
$services->set(RemoveSoleValueSprintfRector::class);
$services->set(ShortenElseIfRector::class);
$services->set(AddPregQuoteDelimiterRector::class);
$services->set(ArrayMergeOfNonArraysToSimpleArrayRector::class);
$services->set(IntvalToTypeCastRector::class);
$services->set(ArrayKeyExistsTernaryThenValueToCoalescingRector::class);
$services->set(AbsolutizeRequireAndIncludePathRector::class);
$services->set(ChangeArrayPushToArrayAssignRector::class);
$services->set(ForRepeatedCountToOwnVariableRector::class);
$services->set(ForeachItemsAssignToEmptyArrayToAssignRector::class);
$services->set(InlineIfToExplicitIfRector::class);
$services->set(ArrayKeysAndInArrayToArrayKeyExistsRector::class);
$services->set(SplitListAssignToSeparateLineRector::class);
$services->set(UnusedForeachValueToArrayKeysRector::class);
$services->set(ArrayThisCallToThisMethodCallRector::class);
$services->set(CommonNotEqualRector::class);
$services->set(RenameFunctionRector::class)
->configure([
$rectorConfig->rule(CombinedAssignRector::class);
$rectorConfig->rule(SimplifyEmptyArrayCheckRector::class);
$rectorConfig->rule(ReplaceMultipleBooleanNotRector::class);
$rectorConfig->rule(ForeachToInArrayRector::class);
$rectorConfig->rule(SimplifyForeachToCoalescingRector::class);
$rectorConfig->rule(SimplifyFuncGetArgsCountRector::class);
$rectorConfig->rule(SimplifyInArrayValuesRector::class);
$rectorConfig->rule(SimplifyStrposLowerRector::class);
$rectorConfig->rule(GetClassToInstanceOfRector::class);
$rectorConfig->rule(SimplifyArraySearchRector::class);
$rectorConfig->rule(SimplifyConditionsRector::class);
$rectorConfig->rule(SimplifyIfNotNullReturnRector::class);
$rectorConfig->rule(SimplifyIfReturnBoolRector::class);
$rectorConfig->rule(SimplifyUselessVariableRector::class);
$rectorConfig->rule(UnnecessaryTernaryExpressionRector::class);
$rectorConfig->rule(RemoveExtraParametersRector::class);
$rectorConfig->rule(SimplifyDeMorganBinaryRector::class);
$rectorConfig->rule(SimplifyTautologyTernaryRector::class);
$rectorConfig->rule(SimplifyForeachToArrayFilterRector::class);
$rectorConfig->rule(SingleInArrayToCompareRector::class);
$rectorConfig->rule(SimplifyIfElseToTernaryRector::class);
$rectorConfig->rule(JoinStringConcatRector::class);
$rectorConfig->rule(ConsecutiveNullCompareReturnsToNullCoalesceQueueRector::class);
$rectorConfig->rule(SimplifyIfIssetToNullCoalescingRector::class);
$rectorConfig->rule(ExplicitBoolCompareRector::class);
$rectorConfig->rule(CombineIfRector::class);
$rectorConfig->rule(UseIdenticalOverEqualWithSameTypeRector::class);
$rectorConfig->rule(SimplifyBoolIdenticalTrueRector::class);
$rectorConfig->rule(SimplifyRegexPatternRector::class);
$rectorConfig->rule(BooleanNotIdenticalToNotIdenticalRector::class);
$rectorConfig->rule(CallableThisArrayToAnonymousFunctionRector::class);
$rectorConfig->rule(AndAssignsToSeparateLinesRector::class);
$rectorConfig->rule(ForToForeachRector::class);
$rectorConfig->rule(CompactToVariablesRector::class);
$rectorConfig->rule(CompleteDynamicPropertiesRector::class);
$rectorConfig->rule(IsAWithStringWithThirdArgumentRector::class);
$rectorConfig->rule(StrlenZeroToIdenticalEmptyStringRector::class);
$rectorConfig->rule(RemoveAlwaysTrueConditionSetInConstructorRector::class);
$rectorConfig->rule(ThrowWithPreviousExceptionRector::class);
$rectorConfig->rule(RemoveSoleValueSprintfRector::class);
$rectorConfig->rule(ShortenElseIfRector::class);
$rectorConfig->rule(AddPregQuoteDelimiterRector::class);
$rectorConfig->rule(ArrayMergeOfNonArraysToSimpleArrayRector::class);
$rectorConfig->rule(IntvalToTypeCastRector::class);
$rectorConfig->rule(ArrayKeyExistsTernaryThenValueToCoalescingRector::class);
$rectorConfig->rule(AbsolutizeRequireAndIncludePathRector::class);
$rectorConfig->rule(ChangeArrayPushToArrayAssignRector::class);
$rectorConfig->rule(ForRepeatedCountToOwnVariableRector::class);
$rectorConfig->rule(ForeachItemsAssignToEmptyArrayToAssignRector::class);
$rectorConfig->rule(InlineIfToExplicitIfRector::class);
$rectorConfig->rule(ArrayKeysAndInArrayToArrayKeyExistsRector::class);
$rectorConfig->rule(SplitListAssignToSeparateLineRector::class);
$rectorConfig->rule(UnusedForeachValueToArrayKeysRector::class);
$rectorConfig->rule(ArrayThisCallToThisMethodCallRector::class);
$rectorConfig->rule(CommonNotEqualRector::class);
$rectorConfig
->ruleWithConfiguration(RenameFunctionRector::class, [
'split' => 'explode',
'join' => 'implode',
'sizeof' => 'count',
@ -162,22 +161,22 @@ return static function (RectorConfig $rectorConfig): void {
'mbstrrpos' => 'mb_strrpos',
'mbsubstr' => 'mb_substr',
]);
$services->set(SetTypeToCastRector::class);
$services->set(LogicalToBooleanRector::class);
$services->set(VarToPublicPropertyRector::class);
$services->set(IssetOnPropertyObjectToPropertyExistsRector::class);
$services->set(NewStaticToNewSelfRector::class);
$services->set(DateTimeToDateTimeInterfaceRector::class);
$services->set(UnwrapSprintfOneArgumentRector::class);
$services->set(SwitchNegatedTernaryRector::class);
$services->set(SingularSwitchToIfRector::class);
$services->set(SimplifyIfNullableReturnRector::class);
$services->set(NarrowUnionTypeDocRector::class);
$services->set(FuncGetArgsToVariadicParamRector::class);
$services->set(CallUserFuncToMethodCallRector::class);
$services->set(CallUserFuncWithArrowFunctionToInlineRector::class);
$services->set(CountArrayToEmptyArrayComparisonRector::class);
$services->set(FlipTypeControlToUseExclusiveTypeRector::class);
$services->set(ExplicitMethodCallOverMagicGetSetRector::class);
$services->set(DoWhileBreakFalseToIfElseRector::class);
$rectorConfig->rule(SetTypeToCastRector::class);
$rectorConfig->rule(LogicalToBooleanRector::class);
$rectorConfig->rule(VarToPublicPropertyRector::class);
$rectorConfig->rule(IssetOnPropertyObjectToPropertyExistsRector::class);
$rectorConfig->rule(NewStaticToNewSelfRector::class);
$rectorConfig->rule(DateTimeToDateTimeInterfaceRector::class);
$rectorConfig->rule(UnwrapSprintfOneArgumentRector::class);
$rectorConfig->rule(SwitchNegatedTernaryRector::class);
$rectorConfig->rule(SingularSwitchToIfRector::class);
$rectorConfig->rule(SimplifyIfNullableReturnRector::class);
$rectorConfig->rule(NarrowUnionTypeDocRector::class);
$rectorConfig->rule(FuncGetArgsToVariadicParamRector::class);
$rectorConfig->rule(CallUserFuncToMethodCallRector::class);
$rectorConfig->rule(CallUserFuncWithArrowFunctionToInlineRector::class);
$rectorConfig->rule(CountArrayToEmptyArrayComparisonRector::class);
$rectorConfig->rule(FlipTypeControlToUseExclusiveTypeRector::class);
$rectorConfig->rule(ExplicitMethodCallOverMagicGetSetRector::class);
$rectorConfig->rule(DoWhileBreakFalseToIfElseRector::class);
};

View File

@ -34,39 +34,38 @@ use Rector\Php55\Rector\String_\StringClassNameToClassConstantRector;
use Rector\Transform\Rector\FuncCall\FuncCallToConstFetchRector;
return static function (RectorConfig $rectorConfig): void {
$services = $rectorConfig->services();
$services->set(PHPStormVarAnnotationRector::class);
$services->set(NullableCompareToNullRector::class);
$services->set(BinarySwitchToIfElseRector::class);
$services->set(ConsistentImplodeRector::class);
$services->set(TernaryConditionVariableAssignmentRector::class);
$services->set(SymplifyQuoteEscapeRector::class);
$services->set(SplitGroupedConstantsAndPropertiesRector::class);
$services->set(StringClassNameToClassConstantRector::class);
$services->set(ConsistentPregDelimiterRector::class);
$services->set(CatchExceptionNameMatchingTypeRector::class);
$services->set(UseIncrementAssignRector::class);
$services->set(SplitDoubleAssignRector::class);
$services->set(VarConstantCommentRector::class);
$services->set(EncapsedStringsToSprintfRector::class);
$services->set(WrapEncapsedVariableInCurlyBracesRector::class);
$services->set(NewlineBeforeNewAssignSetRector::class);
$services->set(AddArrayDefaultToArrayPropertyRector::class);
$services->set(AddFalseDefaultToBoolPropertyRector::class);
$services->set(MakeInheritedMethodVisibilitySameAsParentRector::class);
$services->set(CallUserFuncArrayToVariadicRector::class);
$services->set(VersionCompareFuncCallToConstantRector::class);
$rectorConfig->rule(PHPStormVarAnnotationRector::class);
$rectorConfig->rule(NullableCompareToNullRector::class);
$rectorConfig->rule(BinarySwitchToIfElseRector::class);
$rectorConfig->rule(ConsistentImplodeRector::class);
$rectorConfig->rule(TernaryConditionVariableAssignmentRector::class);
$rectorConfig->rule(SymplifyQuoteEscapeRector::class);
$rectorConfig->rule(SplitGroupedConstantsAndPropertiesRector::class);
$rectorConfig->rule(StringClassNameToClassConstantRector::class);
$rectorConfig->rule(ConsistentPregDelimiterRector::class);
$rectorConfig->rule(CatchExceptionNameMatchingTypeRector::class);
$rectorConfig->rule(UseIncrementAssignRector::class);
$rectorConfig->rule(SplitDoubleAssignRector::class);
$rectorConfig->rule(VarConstantCommentRector::class);
$rectorConfig->rule(EncapsedStringsToSprintfRector::class);
$rectorConfig->rule(WrapEncapsedVariableInCurlyBracesRector::class);
$rectorConfig->rule(NewlineBeforeNewAssignSetRector::class);
$rectorConfig->rule(AddArrayDefaultToArrayPropertyRector::class);
$rectorConfig->rule(AddFalseDefaultToBoolPropertyRector::class);
$rectorConfig->rule(MakeInheritedMethodVisibilitySameAsParentRector::class);
$rectorConfig->rule(CallUserFuncArrayToVariadicRector::class);
$rectorConfig->rule(VersionCompareFuncCallToConstantRector::class);
$services->set(FuncCallToConstFetchRector::class)
->configure([
$rectorConfig
->ruleWithConfiguration(FuncCallToConstFetchRector::class, [
'php_sapi_name' => 'PHP_SAPI',
'pi' => 'M_PI',
]);
$services->set(SeparateMultiUseImportsRector::class);
$services->set(RemoveDoubleUnderscoreInMethodNameRector::class);
$services->set(PostIncDecToPreIncDecRector::class);
$services->set(UnSpreadOperatorRector::class);
$services->set(NewlineAfterStatementRector::class);
$services->set(RemoveFinalFromConstRector::class);
$rectorConfig->rule(SeparateMultiUseImportsRector::class);
$rectorConfig->rule(RemoveDoubleUnderscoreInMethodNameRector::class);
$rectorConfig->rule(PostIncDecToPreIncDecRector::class);
$rectorConfig->rule(UnSpreadOperatorRector::class);
$rectorConfig->rule(NewlineAfterStatementRector::class);
$rectorConfig->rule(RemoveFinalFromConstRector::class);
};

View File

@ -52,53 +52,52 @@ use Rector\DeadCode\Rector\TryCatch\RemoveDeadTryCatchRector;
use Rector\PHPUnit\Rector\ClassMethod\RemoveEmptyTestMethodRector;
return static function (RectorConfig $rectorConfig): void {
$services = $rectorConfig->services();
$services->set(UnwrapFutureCompatibleIfFunctionExistsRector::class);
$services->set(UnwrapFutureCompatibleIfPhpVersionRector::class);
$services->set(RecastingRemovalRector::class);
$services->set(RemoveDeadStmtRector::class);
$services->set(RemoveDuplicatedArrayKeyRector::class);
$services->set(RemoveUnusedForeachKeyRector::class);
$services->set(RemoveParentCallWithoutParentRector::class);
$services->set(RemoveEmptyClassMethodRector::class);
$services->set(RemoveDoubleAssignRector::class);
$services->set(SimplifyMirrorAssignRector::class);
$services->set(RemoveOverriddenValuesRector::class);
$services->set(RemoveUnusedPrivatePropertyRector::class);
$services->set(RemoveUnusedPrivateClassConstantRector::class);
$services->set(RemoveUnusedPrivateMethodRector::class);
$services->set(RemoveCodeAfterReturnRector::class);
$services->set(RemoveDeadConstructorRector::class);
$services->set(RemoveDeadReturnRector::class);
$services->set(RemoveDeadContinueRector::class);
$services->set(RemoveDeadIfForeachForRector::class);
$services->set(RemoveAndTrueRector::class);
$services->set(RemoveConcatAutocastRector::class);
$services->set(SimplifyUselessVariableRector::class);
$services->set(RemoveDelegatingParentCallRector::class);
$services->set(RemoveDuplicatedInstanceOfRector::class);
$services->set(RemoveDuplicatedCaseInSwitchRector::class);
$services->set(RemoveNullPropertyInitializationRector::class);
$services->set(RemoveUnreachableStatementRector::class);
$services->set(SimplifyIfElseWithSameContentRector::class);
$services->set(TernaryToBooleanOrFalseToBooleanAndRector::class);
$services->set(RemoveEmptyTestMethodRector::class);
$services->set(RemoveDeadTryCatchRector::class);
$services->set(RemoveUnusedVariableAssignRector::class);
$services->set(RemoveDuplicatedIfReturnRector::class);
$services->set(RemoveUnusedNonEmptyArrayBeforeForeachRector::class);
$services->set(RemoveEmptyMethodCallRector::class);
$services->set(RemoveDeadConditionAboveReturnRector::class);
$services->set(RemoveUnusedConstructorParamRector::class);
$services->set(RemoveDeadInstanceOfRector::class);
$services->set(RemoveDeadLoopRector::class);
$services->set(RemoveUnusedPrivateMethodParameterRector::class);
$services->set(RemoveUnusedParamInRequiredAutowireRector::class);
$rectorConfig->rule(UnwrapFutureCompatibleIfFunctionExistsRector::class);
$rectorConfig->rule(UnwrapFutureCompatibleIfPhpVersionRector::class);
$rectorConfig->rule(RecastingRemovalRector::class);
$rectorConfig->rule(RemoveDeadStmtRector::class);
$rectorConfig->rule(RemoveDuplicatedArrayKeyRector::class);
$rectorConfig->rule(RemoveUnusedForeachKeyRector::class);
$rectorConfig->rule(RemoveParentCallWithoutParentRector::class);
$rectorConfig->rule(RemoveEmptyClassMethodRector::class);
$rectorConfig->rule(RemoveDoubleAssignRector::class);
$rectorConfig->rule(SimplifyMirrorAssignRector::class);
$rectorConfig->rule(RemoveOverriddenValuesRector::class);
$rectorConfig->rule(RemoveUnusedPrivatePropertyRector::class);
$rectorConfig->rule(RemoveUnusedPrivateClassConstantRector::class);
$rectorConfig->rule(RemoveUnusedPrivateMethodRector::class);
$rectorConfig->rule(RemoveCodeAfterReturnRector::class);
$rectorConfig->rule(RemoveDeadConstructorRector::class);
$rectorConfig->rule(RemoveDeadReturnRector::class);
$rectorConfig->rule(RemoveDeadContinueRector::class);
$rectorConfig->rule(RemoveDeadIfForeachForRector::class);
$rectorConfig->rule(RemoveAndTrueRector::class);
$rectorConfig->rule(RemoveConcatAutocastRector::class);
$rectorConfig->rule(SimplifyUselessVariableRector::class);
$rectorConfig->rule(RemoveDelegatingParentCallRector::class);
$rectorConfig->rule(RemoveDuplicatedInstanceOfRector::class);
$rectorConfig->rule(RemoveDuplicatedCaseInSwitchRector::class);
$rectorConfig->rule(RemoveNullPropertyInitializationRector::class);
$rectorConfig->rule(RemoveUnreachableStatementRector::class);
$rectorConfig->rule(SimplifyIfElseWithSameContentRector::class);
$rectorConfig->rule(TernaryToBooleanOrFalseToBooleanAndRector::class);
$rectorConfig->rule(RemoveEmptyTestMethodRector::class);
$rectorConfig->rule(RemoveDeadTryCatchRector::class);
$rectorConfig->rule(RemoveUnusedVariableAssignRector::class);
$rectorConfig->rule(RemoveDuplicatedIfReturnRector::class);
$rectorConfig->rule(RemoveUnusedNonEmptyArrayBeforeForeachRector::class);
$rectorConfig->rule(RemoveEmptyMethodCallRector::class);
$rectorConfig->rule(RemoveDeadConditionAboveReturnRector::class);
$rectorConfig->rule(RemoveUnusedConstructorParamRector::class);
$rectorConfig->rule(RemoveDeadInstanceOfRector::class);
$rectorConfig->rule(RemoveDeadLoopRector::class);
$rectorConfig->rule(RemoveUnusedPrivateMethodParameterRector::class);
$rectorConfig->rule(RemoveUnusedParamInRequiredAutowireRector::class);
// docblock
$services->set(RemoveUselessParamTagRector::class);
$services->set(RemoveUselessReturnTagRector::class);
$services->set(RemoveNonExistingVarAnnotationRector::class);
$services->set(RemoveUnusedPromotedPropertyRector::class);
$services->set(RemoveLastReturnRector::class);
$rectorConfig->rule(RemoveUselessParamTagRector::class);
$rectorConfig->rule(RemoveUselessReturnTagRector::class);
$rectorConfig->rule(RemoveNonExistingVarAnnotationRector::class);
$rectorConfig->rule(RemoveUnusedPromotedPropertyRector::class);
$rectorConfig->rule(RemoveLastReturnRector::class);
};

View File

@ -8,7 +8,5 @@ use Rector\DowngradePhp53\Rector\Dir\DirConstToFileConstRector;
return static function (RectorConfig $rectorConfig): void {
$rectorConfig->phpVersion(PhpVersion::PHP_52);
$services = $rectorConfig->services();
$services->set(DirConstToFileConstRector::class);
$rectorConfig->rule(DirConstToFileConstRector::class);
};

View File

@ -14,13 +14,11 @@ use Rector\DowngradePhp54\Rector\MethodCall\DowngradeInstanceMethodCallRector;
return static function (RectorConfig $rectorConfig): void {
$rectorConfig->phpVersion(PhpVersion::PHP_53);
$services = $rectorConfig->services();
$services->set(ShortArrayToLongArrayRector::class);
$services->set(DowngradeStaticClosureRector::class);
$services->set(DowngradeIndirectCallByArrayRector::class);
$services->set(DowngradeCallableTypeDeclarationRector::class);
$services->set(DowngradeBinaryNotationRector::class);
$services->set(DowngradeInstanceMethodCallRector::class);
$services->set(DowngradeThisInClosureRector::class);
$rectorConfig->rule(ShortArrayToLongArrayRector::class);
$rectorConfig->rule(DowngradeStaticClosureRector::class);
$rectorConfig->rule(DowngradeIndirectCallByArrayRector::class);
$rectorConfig->rule(DowngradeCallableTypeDeclarationRector::class);
$rectorConfig->rule(DowngradeBinaryNotationRector::class);
$rectorConfig->rule(DowngradeInstanceMethodCallRector::class);
$rectorConfig->rule(DowngradeThisInClosureRector::class);
};

View File

@ -11,10 +11,8 @@ use Rector\DowngradePhp55\Rector\Isset_\DowngradeArbitraryExpressionArgsToEmptyA
return static function (RectorConfig $rectorConfig): void {
$rectorConfig->phpVersion(PhpVersion::PHP_54);
$services = $rectorConfig->services();
$services->set(DowngradeClassConstantToStringRector::class);
$services->set(DowngradeForeachListRector::class);
$services->set(DowngradeBoolvalRector::class);
$services->set(DowngradeArbitraryExpressionArgsToEmptyAndIssetRector::class);
$rectorConfig->rule(DowngradeClassConstantToStringRector::class);
$rectorConfig->rule(DowngradeForeachListRector::class);
$rectorConfig->rule(DowngradeBoolvalRector::class);
$rectorConfig->rule(DowngradeArbitraryExpressionArgsToEmptyAndIssetRector::class);
};

View File

@ -12,11 +12,9 @@ use Rector\DowngradePhp56\Rector\Use_\DowngradeUseFunctionRector;
return static function (RectorConfig $rectorConfig): void {
$rectorConfig->phpVersion(PhpVersion::PHP_55);
$services = $rectorConfig->services();
$services->set(DowngradeArgumentUnpackingRector::class);
$services->set(DowngradeUseFunctionRector::class);
$services->set(DowngradeExponentialAssignmentOperatorRector::class);
$services->set(DowngradeExponentialOperatorRector::class);
$services->set(DowngradeArrayFilterUseConstantRector::class);
$rectorConfig->rule(DowngradeArgumentUnpackingRector::class);
$rectorConfig->rule(DowngradeUseFunctionRector::class);
$rectorConfig->rule(DowngradeExponentialAssignmentOperatorRector::class);
$rectorConfig->rule(DowngradeExponentialOperatorRector::class);
$rectorConfig->rule(DowngradeArrayFilterUseConstantRector::class);
};

View File

@ -26,25 +26,23 @@ use Rector\DowngradePhp70\Rector\TryCatch\DowngradeCatchThrowableRector;
return static function (RectorConfig $rectorConfig): void {
$rectorConfig->phpVersion(PhpVersion::PHP_56);
$services = $rectorConfig->services();
$services->set(DowngradeCatchThrowableRector::class);
$services->set(DowngradeInstanceofThrowableRector::class);
$services->set(DowngradeScalarTypeDeclarationRector::class);
$services->set(DowngradeThrowableTypeDeclarationRector::class);
$services->set(DowngradeStrictTypeDeclarationRector::class);
$services->set(DowngradeSelfTypeDeclarationRector::class);
$services->set(DowngradeAnonymousClassRector::class);
$services->set(DowngradeNullCoalesceRector::class);
$services->set(DowngradeSpaceshipRector::class);
$services->set(DowngradeDefineArrayConstantRector::class);
$services->set(DowngradeDirnameLevelsRector::class);
$services->set(DowngradeSessionStartArrayOptionsRector::class);
$services->set(DowngradeUncallableValueCallToCallUserFuncRector::class);
$services->set(SplitGroupedUseImportsRector::class);
$services->set(DowngradeClosureCallRector::class);
$services->set(DowngradeGeneratedScalarTypesRector::class);
$services->set(DowngradeParentTypeDeclarationRector::class);
$services->set(DowngradeMethodCallOnCloneRector::class);
$services->set(DowngradeUnnecessarilyParenthesizedExpressionRector::class);
$rectorConfig->rule(DowngradeCatchThrowableRector::class);
$rectorConfig->rule(DowngradeInstanceofThrowableRector::class);
$rectorConfig->rule(DowngradeScalarTypeDeclarationRector::class);
$rectorConfig->rule(DowngradeThrowableTypeDeclarationRector::class);
$rectorConfig->rule(DowngradeStrictTypeDeclarationRector::class);
$rectorConfig->rule(DowngradeSelfTypeDeclarationRector::class);
$rectorConfig->rule(DowngradeAnonymousClassRector::class);
$rectorConfig->rule(DowngradeNullCoalesceRector::class);
$rectorConfig->rule(DowngradeSpaceshipRector::class);
$rectorConfig->rule(DowngradeDefineArrayConstantRector::class);
$rectorConfig->rule(DowngradeDirnameLevelsRector::class);
$rectorConfig->rule(DowngradeSessionStartArrayOptionsRector::class);
$rectorConfig->rule(DowngradeUncallableValueCallToCallUserFuncRector::class);
$rectorConfig->rule(SplitGroupedUseImportsRector::class);
$rectorConfig->rule(DowngradeClosureCallRector::class);
$rectorConfig->rule(DowngradeGeneratedScalarTypesRector::class);
$rectorConfig->rule(DowngradeParentTypeDeclarationRector::class);
$rectorConfig->rule(DowngradeMethodCallOnCloneRector::class);
$rectorConfig->rule(DowngradeUnnecessarilyParenthesizedExpressionRector::class);
};

View File

@ -18,17 +18,15 @@ use Rector\DowngradePhp71\Rector\TryCatch\DowngradePipeToMultiCatchExceptionRect
return static function (RectorConfig $rectorConfig): void {
$rectorConfig->phpVersion(PhpVersion::PHP_70);
$services = $rectorConfig->services();
$services->set(DowngradeNullableTypeDeclarationRector::class);
$services->set(DowngradeVoidTypeDeclarationRector::class);
$services->set(DowngradeClassConstantVisibilityRector::class);
$services->set(DowngradePipeToMultiCatchExceptionRector::class);
$services->set(SymmetricArrayDestructuringToListRector::class);
$services->set(DowngradeNegativeStringOffsetToStrlenRector::class);
$services->set(DowngradeKeysInListRector::class);
$services->set(DowngradeIterablePseudoTypeDeclarationRector::class);
$services->set(DowngradeIsIterableRector::class);
$services->set(DowngradeClosureFromCallableRector::class);
$services->set(DowngradePhp71JsonConstRector::class);
$rectorConfig->rule(DowngradeNullableTypeDeclarationRector::class);
$rectorConfig->rule(DowngradeVoidTypeDeclarationRector::class);
$rectorConfig->rule(DowngradeClassConstantVisibilityRector::class);
$rectorConfig->rule(DowngradePipeToMultiCatchExceptionRector::class);
$rectorConfig->rule(SymmetricArrayDestructuringToListRector::class);
$rectorConfig->rule(DowngradeNegativeStringOffsetToStrlenRector::class);
$rectorConfig->rule(DowngradeKeysInListRector::class);
$rectorConfig->rule(DowngradeIterablePseudoTypeDeclarationRector::class);
$rectorConfig->rule(DowngradeIsIterableRector::class);
$rectorConfig->rule(DowngradeClosureFromCallableRector::class);
$rectorConfig->rule(DowngradePhp71JsonConstRector::class);
};

View File

@ -13,12 +13,10 @@ use Rector\DowngradePhp72\Rector\FunctionLike\DowngradeObjectTypeDeclarationRect
return static function (RectorConfig $rectorConfig): void {
$rectorConfig->phpVersion(PhpVersion::PHP_71);
$services = $rectorConfig->services();
$services->set(DowngradeObjectTypeDeclarationRector::class);
$services->set(DowngradeParameterTypeWideningRector::class);
$services->set(DowngradePregUnmatchedAsNullConstantRector::class);
$services->set(DowngradeStreamIsattyRector::class);
$services->set(DowngradeJsonDecodeNullAssociativeArgRector::class);
$services->set(DowngradePhp72JsonConstRector::class);
$rectorConfig->rule(DowngradeObjectTypeDeclarationRector::class);
$rectorConfig->rule(DowngradeParameterTypeWideningRector::class);
$rectorConfig->rule(DowngradePregUnmatchedAsNullConstantRector::class);
$rectorConfig->rule(DowngradeStreamIsattyRector::class);
$rectorConfig->rule(DowngradeJsonDecodeNullAssociativeArgRector::class);
$rectorConfig->rule(DowngradePhp72JsonConstRector::class);
};

View File

@ -16,15 +16,13 @@ use Rector\DowngradePhp81\Rector\Property\DowngradeReadonlyPropertyRector;
return static function (RectorConfig $rectorConfig): void {
$rectorConfig->phpVersion(PhpVersion::PHP_80);
$services = $rectorConfig->services();
$services->set(DowngradeFinalizePublicClassConstantRector::class);
$services->set(DowngradeFirstClassCallableSyntaxRector::class);
$services->set(DowngradeNeverTypeDeclarationRector::class);
$services->set(DowngradePureIntersectionTypeRector::class);
$services->set(DowngradeNewInInitializerRector::class);
$services->set(DowngradePhp81ResourceReturnToObjectRector::class);
$services->set(DowngradeReadonlyPropertyRector::class);
$services->set(DowngradeArraySpreadStringKeyRector::class);
$services->set(DowngradeArrayIsListRector::class);
$rectorConfig->rule(DowngradeFinalizePublicClassConstantRector::class);
$rectorConfig->rule(DowngradeFirstClassCallableSyntaxRector::class);
$rectorConfig->rule(DowngradeNeverTypeDeclarationRector::class);
$rectorConfig->rule(DowngradePureIntersectionTypeRector::class);
$rectorConfig->rule(DowngradeNewInInitializerRector::class);
$rectorConfig->rule(DowngradePhp81ResourceReturnToObjectRector::class);
$rectorConfig->rule(DowngradeReadonlyPropertyRector::class);
$rectorConfig->rule(DowngradeArraySpreadStringKeyRector::class);
$rectorConfig->rule(DowngradeArrayIsListRector::class);
};

View File

@ -16,16 +16,15 @@ use Rector\EarlyReturn\Rector\Return_\ReturnBinaryAndToEarlyReturnRector;
use Rector\EarlyReturn\Rector\Return_\ReturnBinaryOrToEarlyReturnRector;
return static function (RectorConfig $rectorConfig): void {
$services = $rectorConfig->services();
$services->set(ChangeNestedForeachIfsToEarlyContinueRector::class);
$services->set(ChangeAndIfToEarlyReturnRector::class);
$services->set(ChangeIfElseValueAssignToEarlyReturnRector::class);
$services->set(ChangeNestedIfsToEarlyReturnRector::class);
$services->set(RemoveAlwaysElseRector::class);
$services->set(ReturnBinaryAndToEarlyReturnRector::class);
$services->set(ChangeOrIfReturnToEarlyReturnRector::class);
$services->set(ChangeOrIfContinueToMultiContinueRector::class);
$services->set(ReturnAfterToEarlyOnBreakRector::class);
$services->set(PreparedValueToEarlyReturnRector::class);
$services->set(ReturnBinaryOrToEarlyReturnRector::class);
$rectorConfig->rule(ChangeNestedForeachIfsToEarlyContinueRector::class);
$rectorConfig->rule(ChangeAndIfToEarlyReturnRector::class);
$rectorConfig->rule(ChangeIfElseValueAssignToEarlyReturnRector::class);
$rectorConfig->rule(ChangeNestedIfsToEarlyReturnRector::class);
$rectorConfig->rule(RemoveAlwaysElseRector::class);
$rectorConfig->rule(ReturnBinaryAndToEarlyReturnRector::class);
$rectorConfig->rule(ChangeOrIfReturnToEarlyReturnRector::class);
$rectorConfig->rule(ChangeOrIfContinueToMultiContinueRector::class);
$rectorConfig->rule(ReturnAfterToEarlyOnBreakRector::class);
$rectorConfig->rule(PreparedValueToEarlyReturnRector::class);
$rectorConfig->rule(ReturnBinaryOrToEarlyReturnRector::class);
};

View File

@ -7,9 +7,8 @@ use Rector\Renaming\Rector\MethodCall\RenameMethodRector;
use Rector\Renaming\ValueObject\MethodCallRename;
return static function (RectorConfig $rectorConfig): void {
$services = $rectorConfig->services();
$services->set(RenameMethodRector::class)
->configure([
$rectorConfig
->ruleWithConfiguration(RenameMethodRector::class, [
// Rename is now move, specific for files.
new MethodCallRename('League\Flysystem\FilesystemInterface', 'rename', 'move'),

View File

@ -7,8 +7,7 @@ use Rector\Symfony\Rector\ClassMethod\RemoveServiceFromSensioRouteRector;
use Rector\Symfony\Rector\ClassMethod\ReplaceSensioRouteAnnotationWithSymfonyRector;
return static function (RectorConfig $rectorConfig): void {
$services = $rectorConfig->services();
$services->set(ReplaceSensioRouteAnnotationWithSymfonyRector::class);
$rectorConfig->rule(ReplaceSensioRouteAnnotationWithSymfonyRector::class);
$services->set(RemoveServiceFromSensioRouteRector::class);
$rectorConfig->rule(RemoveServiceFromSensioRouteRector::class);
};

View File

@ -6,6 +6,5 @@ use Rector\Config\RectorConfig;
use Rector\Symfony\Rector\ClassMethod\TemplateAnnotationToThisRenderRector;
return static function (RectorConfig $rectorConfig): void {
$services = $rectorConfig->services();
$services->set(TemplateAnnotationToThisRenderRector::class);
$rectorConfig->rule(TemplateAnnotationToThisRenderRector::class);
};

View File

@ -9,15 +9,14 @@ use Rector\Renaming\ValueObject\MethodCallRename;
# https://www.php.net/manual/en/book.gmagick.php → https://www.php.net/manual/en/book.imagick.php
return static function (RectorConfig $rectorConfig): void {
$services = $rectorConfig->services();
$services->set(RenameClassRector::class)
->configure([
$rectorConfig
->ruleWithConfiguration(RenameClassRector::class, [
'Gmagick' => 'Imagick',
'GmagickPixel' => 'ImagickPixel',
]);
$services->set(RenameMethodRector::class)
->configure([
$rectorConfig
->ruleWithConfiguration(RenameMethodRector::class, [
new MethodCallRename('Gmagick', 'addimage', 'addImage'),
new MethodCallRename('Gmagick', 'addnoiseimage', 'addNoiseImage'),
new MethodCallRename('Gmagick', 'annotateimage', 'annotateImage'),

View File

@ -11,24 +11,22 @@ use Rector\Transform\ValueObject\FuncCallToMethodCall;
use Rector\Transform\ValueObject\StaticCallToFuncCall;
return static function (RectorConfig $rectorConfig): void {
$services = $rectorConfig->services();
$configuration = [
new FuncCallToMethodCall('GuzzleHttp\json_decode', 'GuzzleHttp\Utils', 'jsonDecode'),
new FuncCallToMethodCall('GuzzleHttp\get_path', 'GuzzleHttp\Utils', 'getPath'),
];
$services->set(FuncCallToMethodCallRector::class)
->configure($configuration);
$rectorConfig
->ruleWithConfiguration(FuncCallToMethodCallRector::class, $configuration);
$services->set(StaticCallToFuncCallRector::class)
->configure([
$rectorConfig
->ruleWithConfiguration(StaticCallToFuncCallRector::class, [
new StaticCallToFuncCall('GuzzleHttp\Utils', 'setPath', 'GuzzleHttp\set_path'),
new StaticCallToFuncCall('GuzzleHttp\Pool', 'batch', 'GuzzleHttp\Pool\batch'),
]);
$services->set(RenameMethodRector::class)
->configure([
$rectorConfig
->ruleWithConfiguration(RenameMethodRector::class, [
new MethodCallRename('GuzzleHttp\Message\MessageInterface', 'getHeaderLines', 'getHeaderAsArray'),
]);
};

View File

@ -11,11 +11,10 @@ use Rector\Naming\Rector\Foreach_\RenameForeachValueVariableToMatchExprVariableR
use Rector\Naming\Rector\Foreach_\RenameForeachValueVariableToMatchMethodCallReturnTypeRector;
return static function (RectorConfig $rectorConfig): void {
$services = $rectorConfig->services();
$services->set(RenameParamToMatchTypeRector::class);
$services->set(RenamePropertyToMatchTypeRector::class);
$services->set(RenameVariableToMatchNewTypeRector::class);
$services->set(RenameVariableToMatchMethodCallReturnTypeRector::class);
$services->set(RenameForeachValueVariableToMatchMethodCallReturnTypeRector::class);
$services->set(RenameForeachValueVariableToMatchExprVariableRector::class);
$rectorConfig->rule(RenameParamToMatchTypeRector::class);
$rectorConfig->rule(RenamePropertyToMatchTypeRector::class);
$rectorConfig->rule(RenameVariableToMatchNewTypeRector::class);
$rectorConfig->rule(RenameVariableToMatchMethodCallReturnTypeRector::class);
$rectorConfig->rule(RenameForeachValueVariableToMatchMethodCallReturnTypeRector::class);
$rectorConfig->rule(RenameForeachValueVariableToMatchExprVariableRector::class);
};

View File

@ -9,12 +9,11 @@ use Rector\Removing\Rector\FuncCall\RemoveFuncCallArgRector;
use Rector\Removing\ValueObject\RemoveFuncCallArg;
return static function (RectorConfig $rectorConfig): void {
$services = $rectorConfig->services();
$services->set(VarToPublicPropertyRector::class);
$services->set(ContinueToBreakInSwitchRector::class);
$rectorConfig->rule(VarToPublicPropertyRector::class);
$rectorConfig->rule(ContinueToBreakInSwitchRector::class);
$services->set(RemoveFuncCallArgRector::class)
->configure([
$rectorConfig
->ruleWithConfiguration(RemoveFuncCallArgRector::class, [
// see https://www.php.net/manual/en/function.ldap-first-attribute.php
new RemoveFuncCallArg('ldap_first_attribute', 2),
]);

View File

@ -8,9 +8,7 @@ use Rector\Php53\Rector\Ternary\TernaryToElvisRector;
use Rector\Php53\Rector\Variable\ReplaceHttpServerVarsByServerRector;
return static function (RectorConfig $rectorConfig): void {
$services = $rectorConfig->services();
$services->set(TernaryToElvisRector::class);
$services->set(DirNameFileConstantToDirConstantRector::class);
$services->set(ReplaceHttpServerVarsByServerRector::class);
$rectorConfig->rule(TernaryToElvisRector::class);
$rectorConfig->rule(DirNameFileConstantToDirConstantRector::class);
$rectorConfig->rule(ReplaceHttpServerVarsByServerRector::class);
};

View File

@ -8,13 +8,12 @@ use Rector\Php54\Rector\FuncCall\RemoveReferenceFromCallRector;
use Rector\Renaming\Rector\FuncCall\RenameFunctionRector;
return static function (RectorConfig $rectorConfig): void {
$services = $rectorConfig->services();
$services->set(RenameFunctionRector::class)
->configure([
$rectorConfig
->ruleWithConfiguration(RenameFunctionRector::class, [
'mysqli_param_count' => 'mysqli_stmt_param_count',
]);
$services->set(RemoveReferenceFromCallRector::class);
$rectorConfig->rule(RemoveReferenceFromCallRector::class);
$services->set(RemoveZeroBreakContinueRector::class);
$rectorConfig->rule(RemoveZeroBreakContinueRector::class);
};

View File

@ -10,10 +10,9 @@ use Rector\Php55\Rector\FuncCall\PregReplaceEModifierRector;
use Rector\Php55\Rector\String_\StringClassNameToClassConstantRector;
return static function (RectorConfig $rectorConfig): void {
$services = $rectorConfig->services();
$services->set(StringClassNameToClassConstantRector::class);
$services->set(ClassConstantToSelfClassRector::class);
$services->set(PregReplaceEModifierRector::class);
$services->set(GetCalledClassToSelfClassRector::class);
$services->set(GetCalledClassToStaticClassRector::class);
$rectorConfig->rule(StringClassNameToClassConstantRector::class);
$rectorConfig->rule(ClassConstantToSelfClassRector::class);
$rectorConfig->rule(PregReplaceEModifierRector::class);
$rectorConfig->rule(GetCalledClassToSelfClassRector::class);
$rectorConfig->rule(GetCalledClassToStaticClassRector::class);
};

View File

@ -8,11 +8,10 @@ use Rector\Php56\Rector\FunctionLike\AddDefaultValueForUndefinedVariableRector;
use Rector\Renaming\Rector\FuncCall\RenameFunctionRector;
return static function (RectorConfig $rectorConfig): void {
$services = $rectorConfig->services();
$services->set(PowToExpRector::class);
$rectorConfig->rule(PowToExpRector::class);
$services->set(RenameFunctionRector::class)
->configure([
$rectorConfig
->ruleWithConfiguration(RenameFunctionRector::class, [
'mcrypt_generic_end' => 'mcrypt_generic_deinit',
'set_socket_blocking' => 'stream_set_blocking',
'ocibindbyname' => 'oci_bind_by_name',
@ -51,5 +50,5 @@ return static function (RectorConfig $rectorConfig): void {
]);
# inspired by level in psalm - https://github.com/vimeo/psalm/blob/82e0bcafac723fdf5007a31a7ae74af1736c9f6f/tests/FileManipulationTest.php#L1063
$services->set(AddDefaultValueForUndefinedVariableRector::class);
$rectorConfig->rule(AddDefaultValueForUndefinedVariableRector::class);
};

View File

@ -24,43 +24,42 @@ use Rector\Php70\Rector\Ternary\TernaryToSpaceshipRector;
use Rector\Php70\Rector\Variable\WrapVariableVariableNameInCurlyBracesRector;
return static function (RectorConfig $rectorConfig): void {
$services = $rectorConfig->services();
$services->set(Php4ConstructorRector::class);
$rectorConfig->rule(Php4ConstructorRector::class);
$services->set(TernaryToNullCoalescingRector::class);
$rectorConfig->rule(TernaryToNullCoalescingRector::class);
$services->set(RandomFunctionRector::class);
$rectorConfig->rule(RandomFunctionRector::class);
$services->set(ExceptionHandlerTypehintRector::class);
$rectorConfig->rule(ExceptionHandlerTypehintRector::class);
$services->set(MultiDirnameRector::class);
$rectorConfig->rule(MultiDirnameRector::class);
$services->set(ListSplitStringRector::class);
$rectorConfig->rule(ListSplitStringRector::class);
$services->set(EmptyListRector::class);
$rectorConfig->rule(EmptyListRector::class);
# be careful, run this just once, since it can keep swapping order back and forth
$services->set(ListSwapArrayOrderRector::class);
$rectorConfig->rule(ListSwapArrayOrderRector::class);
$services->set(CallUserMethodRector::class);
$rectorConfig->rule(CallUserMethodRector::class);
$services->set(EregToPregMatchRector::class);
$rectorConfig->rule(EregToPregMatchRector::class);
$services->set(ReduceMultipleDefaultSwitchRector::class);
$rectorConfig->rule(ReduceMultipleDefaultSwitchRector::class);
$services->set(TernaryToSpaceshipRector::class);
$rectorConfig->rule(TernaryToSpaceshipRector::class);
$services->set(WrapVariableVariableNameInCurlyBracesRector::class);
$rectorConfig->rule(WrapVariableVariableNameInCurlyBracesRector::class);
$services->set(IfToSpaceshipRector::class);
$rectorConfig->rule(IfToSpaceshipRector::class);
$services->set(StaticCallOnNonStaticToInstanceCallRector::class);
$rectorConfig->rule(StaticCallOnNonStaticToInstanceCallRector::class);
$services->set(ThisCallOnStaticMethodToStaticCallRector::class);
$rectorConfig->rule(ThisCallOnStaticMethodToStaticCallRector::class);
$services->set(BreakNotInLoopOrSwitchToReturnRector::class);
$rectorConfig->rule(BreakNotInLoopOrSwitchToReturnRector::class);
$services->set(RenameMktimeWithoutArgsToTimeRector::class);
$rectorConfig->rule(RenameMktimeWithoutArgsToTimeRector::class);
$services->set(NonVariableToVariableOnFunctionCallRector::class);
$rectorConfig->rule(NonVariableToVariableOnFunctionCallRector::class);
};

View File

@ -30,37 +30,39 @@ use Rector\Transform\Rector\StaticCall\StaticCallToFuncCallRector;
use Rector\Transform\ValueObject\StaticCallToFuncCall;
return static function (RectorConfig $rectorConfig): void {
$services = $rectorConfig->services();
$services->set(UnionTypesRector::class);
$rectorConfig->rule(UnionTypesRector::class);
$services->set(StrContainsRector::class);
$services->set(StrStartsWithRector::class);
$services->set(StrEndsWithRector::class);
$rectorConfig->rule(StrContainsRector::class);
$rectorConfig->rule(StrStartsWithRector::class);
$rectorConfig->rule(StrEndsWithRector::class);
$services->set(StaticCallToFuncCallRector::class)
->configure([
$rectorConfig
->ruleWithConfiguration(StaticCallToFuncCallRector::class, [
new StaticCallToFuncCall('Nette\Utils\Strings', 'startsWith', 'str_starts_with'),
new StaticCallToFuncCall('Nette\Utils\Strings', 'endsWith', 'str_ends_with'),
new StaticCallToFuncCall('Nette\Utils\Strings', 'contains', 'str_contains'),
]);
$services->set(StringableForToStringRector::class);
$services->set(ClassOnObjectRector::class);
$services->set(GetDebugTypeRector::class);
$services->set(TokenGetAllToObjectRector::class);
$services->set(RemoveUnusedVariableInCatchRector::class);
$services->set(ClassPropertyAssignToConstructorPromotionRector::class);
$services->set(ChangeSwitchToMatchRector::class);
$rectorConfig->rule(StringableForToStringRector::class);
$rectorConfig->rule(ClassOnObjectRector::class);
$rectorConfig->rule(GetDebugTypeRector::class);
$rectorConfig->rule(TokenGetAllToObjectRector::class);
$rectorConfig->rule(RemoveUnusedVariableInCatchRector::class);
$rectorConfig->rule(ClassPropertyAssignToConstructorPromotionRector::class);
$rectorConfig->rule(ChangeSwitchToMatchRector::class);
// nette\utils and Strings::replace()
$services->set(ArgumentAdderRector::class)
->configure([new ArgumentAdder('Nette\Utils\Strings', 'replace', 2, 'replacement', '')]);
$services->set(RemoveParentCallWithoutParentRector::class);
$services->set(SetStateToStaticRector::class);
$services->set(FinalPrivateToPrivateVisibilityRector::class);
$rectorConfig
->ruleWithConfiguration(
ArgumentAdderRector::class,
[new ArgumentAdder('Nette\Utils\Strings', 'replace', 2, 'replacement', '')]
);
$rectorConfig->rule(RemoveParentCallWithoutParentRector::class);
$rectorConfig->rule(SetStateToStaticRector::class);
$rectorConfig->rule(FinalPrivateToPrivateVisibilityRector::class);
// @see https://php.watch/versions/8.0/pgsql-aliases-deprecated
$services->set(RenameFunctionRector::class)
->configure([
$rectorConfig
->ruleWithConfiguration(RenameFunctionRector::class, [
'pg_clientencoding' => 'pg_client_encoding',
'pg_cmdtuples' => 'pg_affected_rows',
'pg_errormessage' => 'pg_last_error',
@ -86,10 +88,10 @@ return static function (RectorConfig $rectorConfig): void {
'pg_result' => 'pg_fetch_result',
'pg_setclientencoding' => 'pg_set_client_encoding',
]);
$services->set(OptionalParametersAfterRequiredRector::class);
$rectorConfig->rule(OptionalParametersAfterRequiredRector::class);
$services->set(FunctionArgumentDefaultValueReplacerRector::class)
->configure([
$rectorConfig
->ruleWithConfiguration(FunctionArgumentDefaultValueReplacerRector::class, [
new ReplaceFuncCallArgumentDefaultValue('version_compare', 2, 'gte', 'ge'),
new ReplaceFuncCallArgumentDefaultValue('version_compare', 2, 'lte', 'le'),
new ReplaceFuncCallArgumentDefaultValue('version_compare', 2, '', '!='),
@ -101,6 +103,6 @@ return static function (RectorConfig $rectorConfig): void {
new ReplaceFuncCallArgumentDefaultValue('version_compare', 2, 'n', 'ne'),
]);
$services->set(Php8ResourceReturnToObjectRector::class);
$services->set(AddParamBasedOnParentClassMethodRector::class);
$rectorConfig->rule(Php8ResourceReturnToObjectRector::class);
$rectorConfig->rule(AddParamBasedOnParentClassMethodRector::class);
};

View File

@ -15,15 +15,14 @@ use Rector\Php81\Rector\Property\ReadOnlyPropertyRector;
use Rector\TypeDeclaration\Rector\ClassMethod\ReturnNeverTypeRector;
return static function (RectorConfig $rectorConfig): void {
$services = $rectorConfig->services();
$services->set(ReturnNeverTypeRector::class);
$services->set(MyCLabsClassToEnumRector::class);
$services->set(MyCLabsMethodCallToEnumConstRector::class);
$services->set(FinalizePublicClassConstantRector::class);
$services->set(ReadOnlyPropertyRector::class);
$services->set(SpatieEnumClassToEnumRector::class);
$services->set(Php81ResourceReturnToObjectRector::class);
$services->set(NewInInitializerRector::class);
$services->set(IntersectionTypesRector::class);
$services->set(NullToStrictStringFuncCallArgRector::class);
$rectorConfig->rule(ReturnNeverTypeRector::class);
$rectorConfig->rule(MyCLabsClassToEnumRector::class);
$rectorConfig->rule(MyCLabsMethodCallToEnumConstRector::class);
$rectorConfig->rule(FinalizePublicClassConstantRector::class);
$rectorConfig->rule(ReadOnlyPropertyRector::class);
$rectorConfig->rule(SpatieEnumClassToEnumRector::class);
$rectorConfig->rule(Php81ResourceReturnToObjectRector::class);
$rectorConfig->rule(NewInInitializerRector::class);
$rectorConfig->rule(IntersectionTypesRector::class);
$rectorConfig->rule(NullToStrictStringFuncCallArgRector::class);
};

View File

@ -14,15 +14,14 @@ use Rector\Privatization\Rector\Property\ChangeReadOnlyPropertyWithDefaultValueT
use Rector\Privatization\Rector\Property\PrivatizeFinalClassPropertyRector;
return static function (RectorConfig $rectorConfig): void {
$services = $rectorConfig->services();
$services->set(FinalizeClassesWithoutChildrenRector::class);
$services->set(ChangeGlobalVariablesToPropertiesRector::class);
$services->set(ChangeReadOnlyPropertyWithDefaultValueToConstantRector::class);
$services->set(ChangeReadOnlyVariableWithDefaultValueToConstantRector::class);
$services->set(RepeatedLiteralToClassConstantRector::class);
$services->set(PrivatizeLocalGetterToPropertyRector::class);
$services->set(PrivatizeFinalClassPropertyRector::class);
$services->set(PrivatizeFinalClassMethodRector::class);
$rectorConfig->rule(FinalizeClassesWithoutChildrenRector::class);
$rectorConfig->rule(ChangeGlobalVariablesToPropertiesRector::class);
$rectorConfig->rule(ChangeReadOnlyPropertyWithDefaultValueToConstantRector::class);
$rectorConfig->rule(ChangeReadOnlyVariableWithDefaultValueToConstantRector::class);
$rectorConfig->rule(RepeatedLiteralToClassConstantRector::class);
$rectorConfig->rule(PrivatizeLocalGetterToPropertyRector::class);
$rectorConfig->rule(PrivatizeFinalClassPropertyRector::class);
$rectorConfig->rule(PrivatizeFinalClassMethodRector::class);
// buggy, requires more work
// $services->set(ChangeLocalPropertyToVariableRector::class);

View File

@ -7,7 +7,6 @@ use Rector\PSR4\Rector\FileWithoutNamespace\NormalizeNamespaceByPSR4ComposerAuto
use Rector\PSR4\Rector\Namespace_\MultipleClassFileToPsr4ClassesRector;
return static function (RectorConfig $rectorConfig): void {
$services = $rectorConfig->services();
$services->set(NormalizeNamespaceByPSR4ComposerAutoloadRector::class);
$services->set(MultipleClassFileToPsr4ClassesRector::class);
$rectorConfig->rule(NormalizeNamespaceByPSR4ComposerAutoloadRector::class);
$rectorConfig->rule(MultipleClassFileToPsr4ClassesRector::class);
};

View File

@ -0,0 +1,10 @@
<?php
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\DogFood\Rector\Closure\UpgradeRectorConfigRector;
return static function (RectorConfig $rectorConfig): void {
$rectorConfig->rule(UpgradeRectorConfigRector::class);
};

View File

@ -15,15 +15,14 @@ use Rector\TypeDeclaration\Rector\Property\TypedPropertyFromStrictConstructorRec
use Rector\TypeDeclaration\Rector\Property\TypedPropertyFromStrictGetterMethodReturnTypeRector;
return static function (RectorConfig $rectorConfig): void {
$services = $rectorConfig->services();
$services->set(AddClosureReturnTypeRector::class);
$services->set(ReturnTypeFromStrictTypedPropertyRector::class);
$services->set(TypedPropertyFromStrictConstructorRector::class);
$services->set(ParamTypeFromStrictTypedPropertyRector::class);
$services->set(ReturnTypeFromStrictTypedCallRector::class);
$services->set(AddVoidReturnTypeWhereNoReturnRector::class);
$services->set(ReturnTypeFromReturnNewRector::class);
$services->set(TypedPropertyFromStrictGetterMethodReturnTypeRector::class);
$services->set(AddMethodCallBasedStrictParamTypeRector::class);
$services->set(ArrayShapeFromConstantArrayReturnRector::class);
$rectorConfig->rule(AddClosureReturnTypeRector::class);
$rectorConfig->rule(ReturnTypeFromStrictTypedPropertyRector::class);
$rectorConfig->rule(TypedPropertyFromStrictConstructorRector::class);
$rectorConfig->rule(ParamTypeFromStrictTypedPropertyRector::class);
$rectorConfig->rule(ReturnTypeFromStrictTypedCallRector::class);
$rectorConfig->rule(AddVoidReturnTypeWhereNoReturnRector::class);
$rectorConfig->rule(ReturnTypeFromReturnNewRector::class);
$rectorConfig->rule(TypedPropertyFromStrictGetterMethodReturnTypeRector::class);
$rectorConfig->rule(AddMethodCallBasedStrictParamTypeRector::class);
$rectorConfig->rule(ArrayShapeFromConstantArrayReturnRector::class);
};

View File

@ -17,17 +17,16 @@ use Rector\TypeDeclaration\Rector\Property\TypedPropertyFromAssignsRector;
use Rector\TypeDeclaration\Rector\Property\VarAnnotationIncorrectNullableRector;
return static function (RectorConfig $rectorConfig): void {
$services = $rectorConfig->services();
$services->set(ParamTypeDeclarationRector::class);
$services->set(ReturnTypeDeclarationRector::class);
$services->set(PropertyTypeDeclarationRector::class);
$services->set(AddClosureReturnTypeRector::class);
$services->set(AddArrayParamDocTypeRector::class);
$services->set(AddArrayReturnDocTypeRector::class);
$services->set(ParamTypeByParentCallTypeRector::class);
$services->set(ParamTypeByMethodCallTypeRector::class);
$services->set(TypedPropertyFromAssignsRector::class);
$services->set(ReturnAnnotationIncorrectNullableRector::class);
$services->set(VarAnnotationIncorrectNullableRector::class);
$services->set(ParamAnnotationIncorrectNullableRector::class);
$rectorConfig->rule(ParamTypeDeclarationRector::class);
$rectorConfig->rule(ReturnTypeDeclarationRector::class);
$rectorConfig->rule(PropertyTypeDeclarationRector::class);
$rectorConfig->rule(AddClosureReturnTypeRector::class);
$rectorConfig->rule(AddArrayParamDocTypeRector::class);
$rectorConfig->rule(AddArrayReturnDocTypeRector::class);
$rectorConfig->rule(ParamTypeByParentCallTypeRector::class);
$rectorConfig->rule(ParamTypeByMethodCallTypeRector::class);
$rectorConfig->rule(TypedPropertyFromAssignsRector::class);
$rectorConfig->rule(ReturnAnnotationIncorrectNullableRector::class);
$rectorConfig->rule(VarAnnotationIncorrectNullableRector::class);
$rectorConfig->rule(ParamAnnotationIncorrectNullableRector::class);
};

View File

@ -6,6 +6,5 @@ use Rector\Config\RectorConfig;
use Rector\DeadCode\Rector\If_\UnwrapFutureCompatibleIfFunctionExistsRector;
return static function (RectorConfig $rectorConfig): void {
$services = $rectorConfig->services();
$services->set(UnwrapFutureCompatibleIfFunctionExistsRector::class);
$rectorConfig->rule(UnwrapFutureCompatibleIfFunctionExistsRector::class);
};

View File

@ -157,4 +157,9 @@ final class SetList implements SetListInterface
* @var string
*/
public const EARLY_RETURN = __DIR__ . '/../../../config/set/early-return.php';
/**
* @var string
*/
public const RECTOR_CONFIG = __DIR__ . '/../../../config/set/rector-config.php';
}

View File

@ -18,6 +18,7 @@ use Rector\Set\ValueObject\SetList;
return static function (RectorConfig $rectorConfig): void {
$rectorConfig->sets([
// SetList::RECTOR_CONFIG,
LevelSetList::UP_TO_PHP_81,
SetList::CODE_QUALITY,
SetList::DEAD_CODE,

View File

@ -49,7 +49,12 @@ final class UpgradeRectorConfigRector extends AbstractRector
/**
* @var string
*/
private const PARAMETERS = 'parameters';
private const PARAMETERS_VARIABLE = 'parameters';
/**
* @var string
*/
private const CONTAINER_CONFIGURATOR_VARIABLE = 'containerConfigurator';
public function __construct(
private readonly ContainerConfiguratorCallAnalyzer $containerConfiguratorCallAnalyzer
@ -146,7 +151,11 @@ CODE_SAMPLE
return $node;
}
if ($this->containerConfiguratorCallAnalyzer->isMethodCallNamed($node, self::PARAMETERS, 'set')) {
if ($this->containerConfiguratorCallAnalyzer->isMethodCallNamed(
$node,
self::PARAMETERS_VARIABLE,
'set'
)) {
return $this->refactorParameterName($node);
}
}
@ -162,6 +171,11 @@ CODE_SAMPLE
return $node;
}
/**
* Remove helper methods calls like:
* $services = $containerConfigurator->services();
* $parameters = $containerConfigurator->parameters();
*/
public function removeHelperAssigns(Node $node): void
{
if (! $node instanceof Assign) {
@ -170,7 +184,7 @@ CODE_SAMPLE
if ($this->containerConfiguratorCallAnalyzer->isMethodCallNamed(
$node->expr,
'containerConfigurator',
self::CONTAINER_CONFIGURATOR_VARIABLE,
'services'
)) {
$this->removeNode($node);
@ -186,8 +200,8 @@ CODE_SAMPLE
if ($this->containerConfiguratorCallAnalyzer->isMethodCallNamed(
$node->expr,
'containerConfigurator',
self::PARAMETERS
self::CONTAINER_CONFIGURATOR_VARIABLE,
self::PARAMETERS_VARIABLE
)) {
$this->removeNode($node);
}
@ -195,7 +209,7 @@ CODE_SAMPLE
if ($this->containerConfiguratorCallAnalyzer->isMethodCallNamed(
$node->expr,
self::RECTOR_CONFIG_VARIABLE,
self::PARAMETERS
self::PARAMETERS_VARIABLE
)) {
$this->removeNode($node);
}