tarlepp /
symfony-flex-backend
| 1 | <?php |
||
| 2 | declare(strict_types = 1); |
||
| 3 | /** |
||
| 4 | * /ecs.php |
||
| 5 | * |
||
| 6 | * Configuration for `EasyCodingStandard` tool. |
||
| 7 | * |
||
| 8 | * @author TLe, Tarmo Leppänen <[email protected]> |
||
| 9 | */ |
||
| 10 | |||
| 11 | use PhpCsFixer\Fixer\ArrayNotation\NoMultilineWhitespaceAroundDoubleArrowFixer; |
||
| 12 | use PhpCsFixer\Fixer\CastNotation\CastSpacesFixer; |
||
| 13 | use PhpCsFixer\Fixer\ClassNotation\ClassAttributesSeparationFixer; |
||
| 14 | use PhpCsFixer\Fixer\ControlStructure\YodaStyleFixer; |
||
| 15 | use PhpCsFixer\Fixer\FunctionNotation\NativeFunctionInvocationFixer; |
||
| 16 | use PhpCsFixer\Fixer\FunctionNotation\SingleLineThrowFixer; |
||
| 17 | use PhpCsFixer\Fixer\Import\OrderedImportsFixer; |
||
| 18 | use PhpCsFixer\Fixer\LanguageConstruct\DeclareEqualNormalizeFixer; |
||
| 19 | use PhpCsFixer\Fixer\NamespaceNotation\NoBlankLinesBeforeNamespaceFixer; |
||
| 20 | use PhpCsFixer\Fixer\Operator\BinaryOperatorSpacesFixer; |
||
| 21 | use PhpCsFixer\Fixer\Operator\ConcatSpaceFixer; |
||
| 22 | use PhpCsFixer\Fixer\Operator\IncrementStyleFixer; |
||
| 23 | use PhpCsFixer\Fixer\Operator\NotOperatorWithSuccessorSpaceFixer; |
||
| 24 | use PhpCsFixer\Fixer\Phpdoc\NoSuperfluousPhpdocTagsFixer; |
||
| 25 | use PhpCsFixer\Fixer\Phpdoc\PhpdocAlignFixer; |
||
| 26 | use PhpCsFixer\Fixer\Phpdoc\PhpdocNoPackageFixer; |
||
| 27 | use PhpCsFixer\Fixer\Phpdoc\PhpdocSeparationFixer; |
||
| 28 | use PhpCsFixer\Fixer\Phpdoc\PhpdocSummaryFixer; |
||
| 29 | use PhpCsFixer\Fixer\Phpdoc\PhpdocToCommentFixer; |
||
| 30 | use PhpCsFixer\Fixer\PhpTag\BlankLineAfterOpeningTagFixer; |
||
| 31 | use PhpCsFixer\Fixer\Whitespace\BlankLineBeforeStatementFixer; |
||
| 32 | use Symplify\EasyCodingStandard\Config\ECSConfig; |
||
| 33 | use Symplify\EasyCodingStandard\ValueObject\Set\SetList; |
||
| 34 | |||
| 35 | return static function (ECSConfig $ecsConfig): void { |
||
| 36 | $ecsConfig->paths([ |
||
| 37 | __DIR__ . '/src', |
||
| 38 | __DIR__ . '/tests', |
||
| 39 | ]); |
||
| 40 | |||
| 41 | $ecsConfig->sets([SetList::PSR_12, SetList::CLEAN_CODE, SetList::COMMON]); |
||
| 42 | |||
| 43 | $ruleConfigurations = [ |
||
| 44 | [ |
||
| 45 | IncrementStyleFixer::class, |
||
| 46 | ['style' => 'post'], |
||
| 47 | ], |
||
| 48 | [ |
||
| 49 | CastSpacesFixer::class, |
||
| 50 | ['space' => 'none'], |
||
| 51 | ], |
||
| 52 | [ |
||
| 53 | YodaStyleFixer::class, |
||
| 54 | [ |
||
| 55 | 'equal' => false, |
||
| 56 | 'identical' => false, |
||
| 57 | 'less_and_greater' => false, |
||
| 58 | ], |
||
| 59 | ], |
||
| 60 | [ |
||
| 61 | ConcatSpaceFixer::class, |
||
| 62 | ['spacing' => 'one'], |
||
| 63 | ], |
||
| 64 | [ |
||
| 65 | CastSpacesFixer::class, |
||
| 66 | ['space' => 'none'], |
||
| 67 | ], |
||
| 68 | [ |
||
| 69 | OrderedImportsFixer::class, |
||
| 70 | ['imports_order' => ['class', 'function', 'const']], |
||
| 71 | ], |
||
| 72 | [ |
||
| 73 | NoSuperfluousPhpdocTagsFixer::class, |
||
| 74 | [ |
||
| 75 | 'remove_inheritdoc' => false, |
||
| 76 | 'allow_mixed' => true, |
||
| 77 | 'allow_unused_params' => false, |
||
| 78 | ], |
||
| 79 | ], |
||
| 80 | [ |
||
| 81 | DeclareEqualNormalizeFixer::class, |
||
| 82 | ['space' => 'single'], |
||
| 83 | ], |
||
| 84 | [ |
||
| 85 | BlankLineBeforeStatementFixer::class, |
||
| 86 | ['statements' => ['continue', 'declare', 'return', 'throw', 'try']], |
||
| 87 | ], |
||
| 88 | [ |
||
| 89 | BinaryOperatorSpacesFixer::class, |
||
| 90 | ['operators' => ['&' => 'align']], |
||
| 91 | ], |
||
| 92 | ]; |
||
| 93 | |||
| 94 | array_map(static fn ($parameters) => $ecsConfig->ruleWithConfiguration(...$parameters), $ruleConfigurations); |
||
|
0 ignored issues
–
show
|
|||
| 95 | |||
| 96 | $ecsConfig->skip([ |
||
| 97 | NoMultilineWhitespaceAroundDoubleArrowFixer::class => null, |
||
| 98 | PhpdocNoPackageFixer::class => null, |
||
| 99 | PhpdocSummaryFixer::class => null, |
||
| 100 | PhpdocSeparationFixer::class => null, |
||
| 101 | BlankLineAfterOpeningTagFixer::class => null, |
||
| 102 | ClassAttributesSeparationFixer::class => null, |
||
| 103 | NoBlankLinesBeforeNamespaceFixer::class => null, |
||
| 104 | NotOperatorWithSuccessorSpaceFixer::class => null, |
||
| 105 | SingleLineThrowFixer::class => null, |
||
| 106 | PhpdocAlignFixer::class => null, |
||
| 107 | PhpdocToCommentFixer::class => null, |
||
| 108 | NativeFunctionInvocationFixer::class => null, |
||
| 109 | ]); |
||
| 110 | }; |
||
| 111 |
This check compares calls to functions or methods with their respective definitions. If the call has less arguments than are defined, it raises an issue.
If a function is defined several times with a different number of parameters, the check may pick up the wrong definition and report false positives. One codebase where this has been known to happen is Wordpress. Please note the @ignore annotation hint above.