sets([ SetList::PSR_12, ]); $ecsConfig->paths([ __DIR__ . '/Classes', __DIR__ . '/Tests', __DIR__ . '/ecs.php', __DIR__ . '/ext_emconf.php', __DIR__ . '/ext_localconf.php', __DIR__ . '/rector.php', ]); $ecsConfig->skip([ CamelCapsMethodNameSniff::class => [ __DIR__ . '/Classes/Hooks/DataHandler.php', ], ]); // Alias $ecsConfig->rule(MbStrFunctionsFixer::class); $ecsConfig->rule(NoAliasFunctionsFixer::class); // ArrayNotation $ecsConfig->ruleWithConfiguration(ArraySyntaxFixer::class, [ 'syntax' => 'short', ]); $ecsConfig->rule(NoMultilineWhitespaceAroundDoubleArrowFixer::class); $ecsConfig->rule(NormalizeIndexBraceFixer::class); $ecsConfig->rule(NoTrailingCommaInSinglelineArrayFixer::class); $ecsConfig->rule(NoWhitespaceBeforeCommaInArrayFixer::class); $ecsConfig->rule(TrimArraySpacesFixer::class); // Basic $ecsConfig->rule(NoMultipleStatementsPerLineFixer::class); $ecsConfig->rule(NonPrintableCharacterFixer::class); // Casing $ecsConfig->rule(NativeFunctionCasingFixer::class); $ecsConfig->rule(NativeFunctionTypeDeclarationCasingFixer::class); // CastNotation $ecsConfig->rule(CastSpacesFixer::class); $ecsConfig->rule(ModernizeTypesCastingFixer::class); $ecsConfig->rule(NoUnsetCastFixer::class); // ClassNotation $ecsConfig->ruleWithConfiguration(ClassAttributesSeparationFixer::class, [ 'elements' => [ 'const' => 'one', 'method' => 'one', 'property' => 'one', 'trait_import' => 'one', ], ]); $ecsConfig->rule(NoNullPropertyInitializationFixer::class); $ecsConfig->rule(SelfAccessorFixer::class); $ecsConfig->rule(MultilineCommentOpeningClosingFixer::class); $ecsConfig->rule(NoEmptyCommentFixer::class); $ecsConfig->rule(SinglelineCommentSpacingFixer::class); $ecsConfig->rule(SingleLineCommentStyleFixer::class); // ControlStructure $ecsConfig->rule(NoSuperfluousElseifFixer::class); $ecsConfig->rule(NoTrailingCommaInListCallFixer::class); $ecsConfig->rule(NoUnneededControlParenthesesFixer::class); $ecsConfig->rule(NoUselessElseFixer::class); $ecsConfig->rule(SimplifiedIfReturnFixer::class); $ecsConfig->rule(TrailingCommaInMultilineFixer::class); $ecsConfig->rule(PSR12ControlStructureSpacingSniff::class); // FunctionNotation $ecsConfig->rule(NoTrailingCommaInSinglelineFunctionCallFixer::class); $ecsConfig->rule(NoUnreachableDefaultArgumentValueFixer::class); $ecsConfig->rule(NoUselessSprintfFixer::class); $ecsConfig->rule(NullableTypeDeclarationForDefaultNullValueFixer::class); $ecsConfig->rule(RegularCallableCallFixer::class); $ecsConfig->rule(StaticLambdaFixer::class); // Import $ecsConfig->rule(FullyQualifiedStrictTypesFixer::class); $ecsConfig->rule(GlobalNamespaceImportFixer::class); $ecsConfig->rule(NoUnneededImportAliasFixer::class); $ecsConfig->rule(NoUnusedImportsFixer::class); $ecsConfig->ruleWithConfiguration(OrderedImportsFixer::class, [ 'sort_algorithm' => 'alpha', ]); // LanguageConstruct $ecsConfig->rule(CombineConsecutiveIssetsFixer::class); $ecsConfig->rule(CombineConsecutiveUnsetsFixer::class); $ecsConfig->rule(SingleSpaceAfterConstructFixer::class); // ListNotation $ecsConfig->rule(ListSyntaxFixer::class); // NamespaceNotation $ecsConfig->rule(SingleBlankLineBeforeNamespaceFixer::class); // Naming $ecsConfig->rule(CamelCapsMethodNameSniff::class); $ecsConfig->rule(NoHomoglyphNamesFixer::class); $ecsConfig->rule(UpperCaseConstantNameSniff::class); // Operator $ecsConfig->ruleWithConfiguration(IncrementStyleFixer::class, [ 'style' => 'post', ]); $ecsConfig->ruleWithConfiguration(NewWithBracesFixer::class, [ 'anonymous_class' => false, 'named_class' => true, ]); $ecsConfig->rule(ObjectOperatorWithoutWhitespaceFixer::class); $ecsConfig->ruleWithConfiguration(OperatorLinebreakFixer::class, [ 'position' => 'beginning', ]); $ecsConfig->rule(StandardizeIncrementFixer::class); $ecsConfig->rule(TernaryToElvisOperatorFixer::class); $ecsConfig->rule(TernaryToNullCoalescingFixer::class); $ecsConfig->rule(UnaryOperatorSpacesFixer::class); // Phpdoc $ecsConfig->rule(NoBlankLinesAfterPhpdocFixer::class); $ecsConfig->rule(NoEmptyPhpdocFixer::class); $ecsConfig->ruleWithConfiguration(NoSuperfluousPhpdocTagsFixer::class, [ 'allow_mixed' => true, ]); $ecsConfig->ruleWithConfiguration(PhpdocAlignFixer::class, [ 'align' => 'left', ]); $ecsConfig->rule(PhpdocIndentFixer::class); $ecsConfig->rule(PhpdocLineSpanFixer::class); $ecsConfig->rule(PhpdocNoAccessFixer::class); $ecsConfig->ruleWithConfiguration(PhpdocOrderByValueFixer::class, [ 'annotations' => [ 'covers', 'throws', ], ]); $ecsConfig->rule(PhpdocOrderFixer::class); $ecsConfig->rule(PhpdocScalarFixer::class); $ecsConfig->rule(PhpdocSeparationFixer::class); $ecsConfig->rule(PhpdocToCommentFixer::class); $ecsConfig->rule(PhpdocTrimConsecutiveBlankLineSeparationFixer::class); $ecsConfig->rule(PhpdocTrimFixer::class); $ecsConfig->rule(PhpdocTypesFixer::class); $ecsConfig->rule(PhpdocTypesOrderFixer::class); $ecsConfig->rule(PhpdocVarAnnotationCorrectOrderFixer::class); $ecsConfig->rule(PhpdocVarWithoutNameFixer::class); // PhpUnit $ecsConfig->rule(PhpUnitConstructFixer::class); $ecsConfig->rule(PhpUnitDedicateAssertFixer::class); $ecsConfig->rule(PhpUnitDedicateAssertInternalTypeFixer::class); $ecsConfig->rule(PhpUnitFqcnAnnotationFixer::class); $ecsConfig->rule(PhpUnitMethodCasingFixer::class); $ecsConfig->rule(PhpUnitMockFixer::class); $ecsConfig->rule(PhpUnitMockShortWillReturnFixer::class); $ecsConfig->rule(PhpUnitNamespacedFixer::class); $ecsConfig->rule(PhpUnitNoExpectationAnnotationFixer::class); $ecsConfig->rule(PhpUnitSetUpTearDownVisibilityFixer::class); $ecsConfig->rule(PhpUnitStrictFixer::class); $ecsConfig->ruleWithConfiguration(PhpUnitTestAnnotationFixer::class, [ 'style' => 'annotation', ]); $ecsConfig->ruleWithConfiguration(PhpUnitTestCaseStaticMethodCallsFixer::class, [ 'call_type' => 'self', ]); $ecsConfig->rule(PhpUnitTestClassRequiresCoversFixer::class); // ReturnNotation $ecsConfig->rule(NoUselessReturnFixer::class); // Semicolon $ecsConfig->ruleWithConfiguration(MultilineWhitespaceBeforeSemicolonsFixer::class, [ 'strategy' => 'new_line_for_chained_calls', ]); $ecsConfig->rule(NoEmptyStatementFixer::class); $ecsConfig->rule(NoSinglelineWhitespaceBeforeSemicolonsFixer::class); $ecsConfig->rule(SemicolonAfterInstructionFixer::class); // StringNotation $ecsConfig->rule(NoTrailingWhitespaceInStringFixer::class); $ecsConfig->rule(SingleQuoteFixer::class); $ecsConfig->rule(StringLengthToEmptyFixer::class); // Whitespace $ecsConfig->rule(ArrayIndentationFixer::class); $ecsConfig->rule(ArrayIndentSniff::class); $ecsConfig->rule(CompactNullableTypehintFixer::class); $ecsConfig->rule(MethodChainingIndentationFixer::class); $ecsConfig->rule(NoExtraBlankLinesFixer::class); $ecsConfig->rule(NoSpacesAroundOffsetFixer::class); $ecsConfig->ruleWithConfiguration(OperatorSpacingSniff::class, [ 'ignoreSpacingBeforeAssignments' => false, 'ignoreNewlines' => true, ]); $ecsConfig->rule(StatementIndentationFixer::class); $ecsConfig->rule(TypesSpacesFixer::class); };