From 9cfe9363118234bd2412e8f5d5fd39746a2a4b88 Mon Sep 17 00:00:00 2001 From: peaklabs-dev <122374094+peaklabs-dev@users.noreply.github.com> Date: Mon, 17 Mar 2025 23:54:05 +0100 Subject: [PATCH] chore(tooling): add strict rector configuration --- rector.php | 163 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 163 insertions(+) create mode 100644 rector.php diff --git a/rector.php b/rector.php new file mode 100644 index 000000000..b4264724c --- /dev/null +++ b/rector.php @@ -0,0 +1,163 @@ +withPaths([ + __DIR__.'/app', + __DIR__.'/bootstrap', + __DIR__.'/config', + __DIR__.'/database', + __DIR__.'/public', + __DIR__.'/resources', + __DIR__.'/routes', + __DIR__.'/tests', + ]) + ->withRootFiles() + ->withSkip([ + __DIR__.'/bootstrap/cache', + AddOverrideAttributeToOverriddenMethodsRector::class, + ]) + ->withPhpSets() + ->withPreparedSets( + carbon: true, + codeQuality: true, + codingStyle: true, + deadCode: true, + earlyReturn: true, + instanceOf: true, + naming: true, + phpunitCodeQuality: true, + privatization: true, + rectorPreset: true, + strictBooleans: true, + typeDeclarations: true, + ) + ->withAttributesSets() + ->withRules([ + AbortIfRector::class, + AddExtendsAnnotationToModelFactoriesRector::class, + AddGenericReturnTypeToRelationsRector::class, + AddMockConsoleOutputFalseToConsoleTestsRector::class, + AnonymousMigrationsRector::class, + AppEnvironmentComparisonToParameterRector::class, + AssertSeeToAssertSeeHtmlRector::class, + AssertStatusToAssertMethodRector::class, + AvoidNegatedCollectionContainsOrDoesntContainRector::class, + AvoidNegatedCollectionFilterOrRejectRector::class, + CarbonSetTestNowToTravelToRector::class, + DatabaseExpressionCastsToMethodCallRector::class, + DatabaseExpressionToStringToMethodCallRector::class, + DispatchNonShouldQueueToDispatchSyncRector::class, + DispatchToHelperFunctionsRector::class, + EmptyToBlankAndFilledFuncRector::class, + EnvVariableToEnvHelperRector::class, + FactoryApplyingStatesRector::class, + FactoryDefinitionRector::class, + FactoryFuncCallToStaticCallRector::class, + HelperFuncCallToFacadeClassRector::class, + JsonCallToExplicitJsonCallRector::class, + LumenRoutesStringActionToUsesArrayRector::class, + LumenRoutesStringMiddlewareToArrayRector::class, + MigrateToSimplifiedAttributeRector::class, + NotFilledBlankFuncCallToBlankFilledFuncCallRector::class, + NowFuncWithStartOfDayMethodCallToTodayFuncRector::class, + OptionalToNullsafeOperatorRector::class, + PropertyDeferToDeferrableProviderToRector::class, + Redirect301ToPermanentRedirectRector::class, + RedirectBackToBackHelperRector::class, + RedirectRouteToToRouteHelperRector::class, + RefactorBlueprintGeometryColumnsRector::class, + RemoveDumpDataDeadCodeRector::class, + RemoveModelPropertyFromFactoriesRector::class, + RemoveRedundantValueCallsRector::class, + RemoveRedundantWithCallsRector::class, + ReplaceAssertTimesSendWithAssertSentTimesRector::class, + ReplaceExpectsMethodsInTestsRector::class, + ReplaceFakerInstanceWithHelperRector::class, + ReplaceWithoutJobsEventsAndNotificationsWithFacadeFakeRector::class, + ReportIfRector::class, + RequestStaticValidateToInjectRector::class, + RequestVariablesToRequestFacadeRector::class, + ResponseHelperCallToJsonResponseRector::class, + ReverseConditionableMethodCallRector::class, + ServerVariableToRequestFacadeRector::class, + SessionVariableToSessionFacadeRector::class, + SleepFuncToSleepStaticCallRector::class, + SubStrToStartsWithOrEndsWithStaticMethodCallRector::class, + ThrowIfRector::class, + TypeHintTappableCallRector::class, + UnaliasCollectionMethodsRector::class, + UnifyModelDatesWithCastsRector::class, + UseComponentPropertyWithinCommandsRector::class, + ValidationRuleArrayStringValueToArrayRector::class, + ]) + ->withConfiguredRule(RemoveDumpDataDeadCodeRector::class, [ + 'dd', + 'ddd', + 'dump', + 'ray', + ]) + ->withConfiguredRule(WhereToWhereLikeRector::class, [ + WhereToWhereLikeRector::USING_POSTGRES_DRIVER => true, + ]);