|
7 | 7 | use PHP_CodeSniffer\Standards\Generic\Sniffs\Files\LineLengthSniff;
|
8 | 8 | use PHP_CodeSniffer\Standards\Generic\Sniffs\Formatting\SpaceAfterCastSniff;
|
9 | 9 | use PHP_CodeSniffer\Standards\PSR12\Sniffs\Files\FileHeaderSniff;
|
| 10 | +use PHP_CodeSniffer\Standards\PSR2\Sniffs\Classes\PropertyDeclarationSniff; |
10 | 11 | use PHP_CodeSniffer\Standards\Squiz\Sniffs\WhiteSpace\CastSpacingSniff;
|
11 | 12 | use PHP_CodeSniffer\Standards\Squiz\Sniffs\WhiteSpace\FunctionSpacingSniff;
|
12 | 13 | use PhpCsFixer\Fixer\ArrayNotation\NoWhitespaceBeforeCommaInArrayFixer;
|
|
49 | 50 | use PhpCsFixer\Fixer\Whitespace\NoSpacesInsideParenthesisFixer;
|
50 | 51 | use PhpCsFixer\Fixer\Whitespace\NoTrailingWhitespaceFixer;
|
51 | 52 | use PhpCsFixer\Fixer\Whitespace\SingleBlankLineAtEofFixer;
|
| 53 | +use SlevomatCodingStandard\Sniffs\Arrays\DisallowImplicitArrayCreationSniff; |
52 | 54 | use SlevomatCodingStandard\Sniffs\Arrays\MultiLineArrayEndBracketPlacementSniff;
|
53 | 55 | use SlevomatCodingStandard\Sniffs\Arrays\SingleLineArrayWhitespaceSniff;
|
54 | 56 | use SlevomatCodingStandard\Sniffs\Arrays\TrailingArrayCommaSniff;
|
|
63 | 65 | use SlevomatCodingStandard\Sniffs\Classes\RequireMultiLineMethodSignatureSniff;
|
64 | 66 | use SlevomatCodingStandard\Sniffs\Classes\TraitUseDeclarationSniff;
|
65 | 67 | use SlevomatCodingStandard\Sniffs\Classes\UselessLateStaticBindingSniff;
|
| 68 | +use SlevomatCodingStandard\Sniffs\Commenting\DocCommentSpacingSniff; |
| 69 | +use SlevomatCodingStandard\Sniffs\Commenting\ForbiddenAnnotationsSniff; |
| 70 | +use SlevomatCodingStandard\Sniffs\Commenting\InlineDocCommentDeclarationSniff; |
66 | 71 | use SlevomatCodingStandard\Sniffs\ControlStructures\DisallowContinueWithoutIntegerOperandInSwitchSniff;
|
| 72 | +use SlevomatCodingStandard\Sniffs\ControlStructures\EarlyExitSniff; |
67 | 73 | use SlevomatCodingStandard\Sniffs\ControlStructures\JumpStatementsSpacingSniff;
|
68 | 74 | use SlevomatCodingStandard\Sniffs\ControlStructures\LanguageConstructWithParenthesesSniff;
|
| 75 | +use SlevomatCodingStandard\Sniffs\ControlStructures\RequireNullCoalesceEqualOperatorSniff; |
| 76 | +use SlevomatCodingStandard\Sniffs\ControlStructures\RequireNullCoalesceOperatorSniff; |
| 77 | +use SlevomatCodingStandard\Sniffs\ControlStructures\RequireNullSafeObjectOperatorSniff; |
| 78 | +use SlevomatCodingStandard\Sniffs\ControlStructures\RequireShortTernaryOperatorSniff; |
69 | 79 | use SlevomatCodingStandard\Sniffs\Exceptions\DeadCatchSniff;
|
70 | 80 | use SlevomatCodingStandard\Sniffs\Exceptions\RequireNonCapturingCatchSniff;
|
71 | 81 | use SlevomatCodingStandard\Sniffs\Functions\ArrowFunctionDeclarationSniff;
|
| 82 | +use SlevomatCodingStandard\Sniffs\Functions\RequireArrowFunctionSniff; |
72 | 83 | use SlevomatCodingStandard\Sniffs\Functions\RequireTrailingCommaInCallSniff;
|
73 | 84 | use SlevomatCodingStandard\Sniffs\Functions\RequireTrailingCommaInDeclarationSniff;
|
74 | 85 | use SlevomatCodingStandard\Sniffs\Functions\StaticClosureSniff;
|
| 86 | +use SlevomatCodingStandard\Sniffs\Functions\StrictCallSniff; |
75 | 87 | use SlevomatCodingStandard\Sniffs\Functions\UnusedInheritedVariablePassedToClosureSniff;
|
| 88 | +use SlevomatCodingStandard\Sniffs\Functions\UnusedParameterSniff; |
76 | 89 | use SlevomatCodingStandard\Sniffs\Functions\UselessParameterDefaultValueSniff;
|
77 | 90 | use SlevomatCodingStandard\Sniffs\Namespaces\DisallowGroupUseSniff;
|
| 91 | +use SlevomatCodingStandard\Sniffs\Namespaces\MultipleUsesPerLineSniff; |
78 | 92 | use SlevomatCodingStandard\Sniffs\Namespaces\NamespaceDeclarationSniff;
|
| 93 | +use SlevomatCodingStandard\Sniffs\Namespaces\NamespaceSpacingSniff; |
| 94 | +use SlevomatCodingStandard\Sniffs\Namespaces\ReferenceUsedNamesOnlySniff; |
79 | 95 | use SlevomatCodingStandard\Sniffs\Namespaces\UnusedUsesSniff;
|
80 | 96 | use SlevomatCodingStandard\Sniffs\Namespaces\UseFromSameNamespaceSniff;
|
81 | 97 | use SlevomatCodingStandard\Sniffs\Namespaces\UselessAliasSniff;
|
82 | 98 | use SlevomatCodingStandard\Sniffs\Namespaces\UseSpacingSniff;
|
83 | 99 | use SlevomatCodingStandard\Sniffs\Numbers\RequireNumericLiteralSeparatorSniff;
|
| 100 | +use SlevomatCodingStandard\Sniffs\Operators\DisallowEqualOperatorsSniff; |
| 101 | +use SlevomatCodingStandard\Sniffs\PHP\DisallowDirectMagicInvokeCallSniff; |
84 | 102 | use SlevomatCodingStandard\Sniffs\PHP\OptimizedFunctionsWithoutUnpackingSniff;
|
85 | 103 | use SlevomatCodingStandard\Sniffs\PHP\ShortListSniff;
|
| 104 | +use SlevomatCodingStandard\Sniffs\PHP\TypeCastSniff; |
| 105 | +use SlevomatCodingStandard\Sniffs\PHP\UselessParenthesesSniff; |
86 | 106 | use SlevomatCodingStandard\Sniffs\PHP\UselessSemicolonSniff;
|
| 107 | +use SlevomatCodingStandard\Sniffs\TypeHints\DisallowArrayTypeHintSyntaxSniff; |
| 108 | +use SlevomatCodingStandard\Sniffs\TypeHints\LongTypeHintsSniff; |
87 | 109 | use SlevomatCodingStandard\Sniffs\TypeHints\NullableTypeForNullDefaultValueSniff;
|
88 |
| -use SlevomatCodingStandard\Sniffs\TypeHints\PropertyTypeHintSpacingSniff; |
| 110 | +use SlevomatCodingStandard\Sniffs\TypeHints\NullTypeHintOnLastPositionSniff; |
| 111 | +use SlevomatCodingStandard\Sniffs\TypeHints\ParameterTypeHintSniff; |
| 112 | +use SlevomatCodingStandard\Sniffs\TypeHints\ParameterTypeHintSpacingSniff; |
| 113 | +use SlevomatCodingStandard\Sniffs\TypeHints\PropertyTypeHintSniff; |
| 114 | +use SlevomatCodingStandard\Sniffs\TypeHints\ReturnTypeHintSniff; |
89 | 115 | use SlevomatCodingStandard\Sniffs\TypeHints\UnionTypeHintFormatSniff;
|
90 | 116 | use SlevomatCodingStandard\Sniffs\TypeHints\UselessConstantTypeHintSniff;
|
91 | 117 | use SlevomatCodingStandard\Sniffs\Variables\DisallowSuperGlobalVariableSniff;
|
| 118 | +use SlevomatCodingStandard\Sniffs\Variables\DuplicateAssignmentToVariableSniff; |
92 | 119 | use SlevomatCodingStandard\Sniffs\Variables\UnusedVariableSniff;
|
93 | 120 | use SlevomatCodingStandard\Sniffs\Variables\UselessVariableSniff;
|
94 |
| -use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator; |
| 121 | +use Symplify\EasyCodingStandard\Config\ECSConfig; |
95 | 122 | use Symplify\EasyCodingStandard\ValueObject\Option;
|
96 | 123 |
|
97 |
| -return static function (ContainerConfigurator $containerConfigurator): void { |
| 124 | +return static function (ECSConfig $containerConfigurator): void { |
98 | 125 | $services = $containerConfigurator->services();
|
99 | 126 |
|
100 | 127 | $maxLineLength = 120;
|
|
201 | 228 | ->property('nullPosition', 'last');
|
202 | 229 | $services->set(RequireNonCapturingCatchSniff::class);
|
203 | 230 | $services->set(ClassStructureSniff::class)
|
204 |
| - ->property('enableFinalMethods', true) |
205 | 231 | ->property('groups', [
|
206 | 232 | 'uses',
|
207 | 233 |
|
| 234 | + 'enum cases', |
| 235 | + |
208 | 236 | 'public constants',
|
209 | 237 | 'protected constants',
|
210 | 238 | 'private constants',
|
|
248 | 276 | // Custom Slevomat Cleaning (Dead Code detection)
|
249 | 277 | $services->set(UnusedInheritedVariablePassedToClosureSniff::class);
|
250 | 278 | $services->set(UselessParameterDefaultValueSniff::class);
|
251 |
| - $services->set(UnusedUsesSniff::class); |
| 279 | + $services->set(ReferenceUsedNamesOnlySniff::class) |
| 280 | + ->property('searchAnnotations', true); |
| 281 | + $services->set(UnusedUsesSniff::class) |
| 282 | + ->property('searchAnnotations', true); |
252 | 283 | $services->set(UseFromSameNamespaceSniff::class);
|
253 | 284 | $services->set(UselessAliasSniff::class);
|
254 | 285 | $services->set(OptimizedFunctionsWithoutUnpackingSniff::class);
|
|
282 | 313 | $services->set(JumpStatementsSpacingSniff::class);
|
283 | 314 | $services->set(LanguageConstructWithParenthesesSniff::class);
|
284 | 315 | $services->set(ArrowFunctionDeclarationSniff::class)
|
285 |
| - ->property('allowMultiline', true); |
| 316 | + ->property('allowMultiLine', true); |
286 | 317 | $services->set(RequireTrailingCommaInCallSniff::class);
|
287 | 318 | $services->set(RequireTrailingCommaInDeclarationSniff::class);
|
288 | 319 | $services->set(NamespaceDeclarationSniff::class);
|
| 320 | + $services->set(NamespaceSpacingSniff::class); |
289 | 321 | $services->set(UseSpacingSniff::class);
|
290 | 322 | $services->set(RequireNumericLiteralSeparatorSniff::class)
|
291 | 323 | ->property('minDigitsBeforeDecimalPoint', 6);
|
292 | 324 | $services->set(ShortListSniff::class);
|
293 | 325 | $services->set(ClassConstantVisibilitySniff::class);
|
294 | 326 | $services->set(NullableTypeForNullDefaultValueSniff::class);
|
295 | 327 | $services->set(DisallowGroupUseSniff::class);
|
296 |
| - $services->set(PropertyTypeHintSpacingSniff::class); |
| 328 | + $services->set(PropertyDeclarationSniff::class); |
| 329 | + |
| 330 | + // New funtional slevomat rules |
| 331 | + $services->set(ParameterTypeHintSniff::class); |
| 332 | + $services->set(PropertyTypeHintSniff::class); |
| 333 | + $services->set(ReturnTypeHintSniff::class); |
| 334 | + $services->set(RequireNonCapturingCatchSniff::class); |
| 335 | + $services->set(DisallowImplicitArrayCreationSniff::class); |
| 336 | + $services->set(RequireNullCoalesceOperatorSniff::class); |
| 337 | + $services->set(RequireNullCoalesceEqualOperatorSniff::class); |
| 338 | + $services->set(EarlyExitSniff::class); |
| 339 | + $services->set(StrictCallSniff::class); |
| 340 | + $services->set(DisallowDirectMagicInvokeCallSniff::class); |
| 341 | + $services->set(DisallowEqualOperatorsSniff::class); |
| 342 | + |
| 343 | + // New clean slevomat rules |
| 344 | + $services->set(UnusedParameterSniff::class); |
| 345 | + $services->set(UselessParenthesesSniff::class); |
| 346 | + $services->set(DuplicateAssignmentToVariableSniff::class); |
| 347 | + |
| 348 | + // New formatting slevomat rules https://github.com/slevomat/coding-standard#formatting---rules-for-consistent-code-looks |
| 349 | + $services->set(RequireNullSafeObjectOperatorSniff::class); |
| 350 | + $services->set(RequireShortTernaryOperatorSniff::class); |
| 351 | + $services->set(RequireArrowFunctionSniff::class); |
| 352 | + $services->set(DisallowArrayTypeHintSyntaxSniff::class); |
| 353 | + $services->set(LongTypeHintsSniff::class); |
| 354 | + $services->set(NullTypeHintOnLastPositionSniff::class); |
| 355 | + $services->set(TypeCastSniff::class); |
| 356 | + $services->set(ParameterTypeHintSpacingSniff::class); |
| 357 | + // $services->set(FullyQualifiedGlobalConstantsSniff::class); |
| 358 | + // $services->set(FullyQualifiedGlobalFunctionsSniff::class); |
| 359 | + $services->set(MultipleUsesPerLineSniff::class); |
| 360 | + $services->set(ForbiddenAnnotationsSniff::class) |
| 361 | + ->property('forbiddenAnnotations', ['@author', '@created', '@version', '@package', '@copyright']); |
| 362 | + $services->set(DocCommentSpacingSniff::class) |
| 363 | + ->property('annotationsGroups', [ |
| 364 | + '@var', |
| 365 | + '@param', |
| 366 | + '@return', |
| 367 | + ]); |
| 368 | + $services->set(InlineDocCommentDeclarationSniff::class) |
| 369 | + ->property('allowDocCommentAboveReturn', true) |
| 370 | + ->property('allowAboveNonAssignment', true); |
297 | 371 |
|
298 | 372 | $containerConfigurator
|
299 | 373 | ->parameters()
|
|
0 commit comments