|
8 | 8 | use PhpCsFixer\Fixer\ArrayNotation\NoWhitespaceBeforeCommaInArrayFixer; |
9 | 9 | use PhpCsFixer\Fixer\ArrayNotation\WhitespaceAfterCommaInArrayFixer; |
10 | 10 | use PhpCsFixer\Fixer\Basic\BracesFixer; |
11 | | -use PhpCsFixer\Fixer\Basic\Psr0Fixer; |
12 | | -use PhpCsFixer\Fixer\Basic\Psr4Fixer; |
13 | 11 | use PhpCsFixer\Fixer\CastNotation\LowercaseCastFixer; |
14 | 12 | use PhpCsFixer\Fixer\CastNotation\ShortScalarCastFixer; |
| 13 | +use PhpCsFixer\Fixer\ClassNotation\ClassAttributesSeparationFixer; |
15 | 14 | use PhpCsFixer\Fixer\ClassNotation\FinalInternalClassFixer; |
16 | 15 | use PhpCsFixer\Fixer\ClassNotation\NoBlankLinesAfterClassOpeningFixer; |
17 | 16 | use PhpCsFixer\Fixer\ClassNotation\OrderedClassElementsFixer; |
|
39 | 38 | use PhpCsFixer\Fixer\PhpUnit\PhpUnitMethodCasingFixer; |
40 | 39 | use PhpCsFixer\Fixer\Semicolon\NoSinglelineWhitespaceBeforeSemicolonsFixer; |
41 | 40 | use PhpCsFixer\Fixer\Whitespace\NoTrailingWhitespaceFixer; |
42 | | -use SlevomatCodingStandard\Sniffs\ControlStructures\DisallowYodaComparisonSniff; |
43 | 41 | use Symplify\CodingStandard\Fixer\ArrayNotation\ArrayListItemNewlineFixer; |
44 | 42 | use Symplify\CodingStandard\Fixer\ArrayNotation\ArrayOpenerAndCloserNewlineFixer; |
45 | 43 | use Symplify\CodingStandard\Fixer\ArrayNotation\StandaloneLineInMultilineArrayFixer; |
46 | | -use Symplify\CodingStandard\Fixer\Commenting\RemoveSuperfluousDocBlockWhitespaceFixer; |
| 44 | +use Symplify\CodingStandard\Fixer\Commenting\RemoveUselessDefaultCommentFixer; |
47 | 45 | use Symplify\CodingStandard\Fixer\Strict\BlankLineAfterStrictTypesFixer; |
48 | 46 | use Symplify\EasyCodingStandard\Config\ECSConfig; |
49 | 47 |
|
50 | | -// Suppress `Notice:`s in ECS 8.x This is probably fixed in the 9.x versions, |
51 | | -// but we can't update to that version, because it's PHP > 7.3 only. |
52 | | -// See: https://github.com/bolt/core/issues/2519 |
53 | | -error_reporting(error_reporting() & ~E_NOTICE); |
54 | | - |
55 | | -return static function (ECSConfig $ecsConfig): void { |
56 | | - $parameters = $ecsConfig->parameters(); |
57 | | - |
58 | | - $parameters->set('sets', ['clean-code', 'common', 'php70', 'php71', 'psr12', 'symfony', 'symfony-risky']); |
59 | | - |
60 | | - $parameters->set('paths', [ |
| 48 | +return ECSConfig::configure() |
| 49 | + ->withPaths([ |
61 | 50 | __DIR__ . '/src', |
62 | 51 | __DIR__ . '/ecs.php', |
63 | | - ]); |
64 | | - |
65 | | - $parameters->set('cache_directory', 'var/cache/ecs'); |
66 | | - |
67 | | - $parameters->set('skip', [ |
| 52 | + ]) |
| 53 | + ->withCache('var/cache/ecs') |
| 54 | + ->withPreparedSets(psr12: true, common: true, cleanCode: true) |
| 55 | + ->withSkip([ |
68 | 56 | OrderedClassElementsFixer::class => null, |
69 | 57 | YodaStyleFixer::class => null, |
70 | 58 | IncrementStyleFixer::class => null, |
|
76 | 64 | UnaryOperatorSpacesFixer::class => null, |
77 | 65 | ArrayOpenerAndCloserNewlineFixer::class => null, |
78 | 66 | ArrayListItemNewlineFixer::class => null, |
79 | | - ]); |
80 | | - |
81 | | - $services = $ecsConfig->services(); |
82 | | - |
83 | | - $services->set(StandaloneLineInMultilineArrayFixer::class); |
84 | | - |
85 | | - $services->set(BlankLineAfterStrictTypesFixer::class); |
86 | | - |
87 | | - $services->set(ConcatSpaceFixer::class) |
88 | | - ->call('configure', [['spacing' => 'one']]); |
89 | | - |
90 | | - $services->set(RemoveSuperfluousDocBlockWhitespaceFixer::class); |
91 | | - |
92 | | - $services->set(PhpUnitMethodCasingFixer::class); |
93 | | - |
94 | | - $services->set(FinalInternalClassFixer::class); |
95 | | - |
96 | | - $services->set(MbStrFunctionsFixer::class); |
97 | | - |
98 | | - $services->set(Psr0Fixer::class); |
99 | | - |
100 | | - $services->set(Psr4Fixer::class); |
101 | | - |
102 | | - $services->set(LowercaseCastFixer::class); |
103 | | - |
104 | | - $services->set(ShortScalarCastFixer::class); |
105 | | - |
106 | | - $services->set(BlankLineAfterOpeningTagFixer::class); |
107 | | - |
108 | | - $services->set(NoLeadingImportSlashFixer::class); |
109 | | - |
110 | | - $services->set(OrderedImportsFixer::class) |
111 | | - ->call('configure', [[ |
| 67 | + ]) |
| 68 | + ->withRules([ |
| 69 | + StandaloneLineInMultilineArrayFixer::class, |
| 70 | + BlankLineAfterStrictTypesFixer::class, |
| 71 | + RemoveUselessDefaultCommentFixer::class, |
| 72 | + PhpUnitMethodCasingFixer::class, |
| 73 | + FinalInternalClassFixer::class, |
| 74 | + MbStrFunctionsFixer::class, |
| 75 | + LowercaseCastFixer::class, |
| 76 | + ShortScalarCastFixer::class, |
| 77 | + BlankLineAfterOpeningTagFixer::class, |
| 78 | + NoLeadingImportSlashFixer::class, |
| 79 | + NewWithBracesFixer::class, |
| 80 | + NoBlankLinesAfterClassOpeningFixer::class, |
| 81 | + TernaryOperatorSpacesFixer::class, |
| 82 | + ReturnTypeDeclarationFixer::class, |
| 83 | + NoTrailingWhitespaceFixer::class, |
| 84 | + NoSinglelineWhitespaceBeforeSemicolonsFixer::class, |
| 85 | + NoWhitespaceBeforeCommaInArrayFixer::class, |
| 86 | + WhitespaceAfterCommaInArrayFixer::class, |
| 87 | + FullyQualifiedStrictTypesFixer::class, |
| 88 | + ]) |
| 89 | + ->withConfiguredRule(PhpdocToReturnTypeFixer::class, ['union_types' => false]) |
| 90 | + ->withConfiguredRule(NoSuperfluousPhpdocTagsFixer::class, ['remove_inheritdoc' => false]) |
| 91 | + ->withConfiguredRule( |
| 92 | + ConcatSpaceFixer::class, |
| 93 | + ['spacing' => 'one'] |
| 94 | + ) |
| 95 | + ->withConfiguredRule( |
| 96 | + OrderedImportsFixer::class, |
| 97 | + [ |
112 | 98 | 'imports_order' => ['class', 'const', 'function'], |
113 | | - ]]); |
114 | | - |
115 | | - $services->set(DeclareEqualNormalizeFixer::class) |
116 | | - ->call('configure', [['space' => 'none']]); |
117 | | - |
118 | | - $services->set(NewWithBracesFixer::class); |
119 | | - |
120 | | - $services->set(BracesFixer::class) |
121 | | - ->call('configure', [[ |
| 99 | + ] |
| 100 | + ) |
| 101 | + ->withConfiguredRule( |
| 102 | + DeclareEqualNormalizeFixer::class, |
| 103 | + ['space' => 'none'] |
| 104 | + ) |
| 105 | + ->withConfiguredRule( |
| 106 | + BracesFixer::class, |
| 107 | + [ |
122 | 108 | 'allow_single_line_closure' => false, |
123 | 109 | 'position_after_functions_and_oop_constructs' => 'next', |
124 | 110 | 'position_after_control_structures' => 'same', |
125 | 111 | 'position_after_anonymous_constructs' => 'same', |
126 | | - ]]); |
127 | | - |
128 | | - $services->set(NoBlankLinesAfterClassOpeningFixer::class); |
129 | | - |
130 | | - $services->set(VisibilityRequiredFixer::class) |
131 | | - ->call('configure', [[ |
| 112 | + ] |
| 113 | + ) |
| 114 | + ->withConfiguredRule( |
| 115 | + VisibilityRequiredFixer::class, |
| 116 | + [ |
132 | 117 | 'elements' => ['const', 'method', 'property'], |
133 | | - ]]); |
134 | | - |
135 | | - $services->set(TernaryOperatorSpacesFixer::class); |
136 | | - |
137 | | - $services->set(ReturnTypeDeclarationFixer::class); |
138 | | - |
139 | | - $services->set(NoTrailingWhitespaceFixer::class); |
140 | | - |
141 | | - $services->set(NoSinglelineWhitespaceBeforeSemicolonsFixer::class); |
142 | | - |
143 | | - $services->set(NoWhitespaceBeforeCommaInArrayFixer::class); |
144 | | - |
145 | | - $services->set(WhitespaceAfterCommaInArrayFixer::class); |
146 | | - |
147 | | - $services->set(PhpdocToReturnTypeFixer::class); |
148 | | - |
149 | | - $services->set(FullyQualifiedStrictTypesFixer::class); |
150 | | - |
151 | | - $services->set(NoSuperfluousPhpdocTagsFixer::class); |
152 | | - |
153 | | - $services->set(PhpdocLineSpanFixer::class) |
154 | | - ->call('configure', [['property' => 'single']]); |
155 | | - |
156 | | - $services->set(DisallowYodaComparisonSniff::class); |
157 | | -}; |
| 118 | + ] |
| 119 | + ) |
| 120 | + ->withConfiguredRule( |
| 121 | + PhpdocLineSpanFixer::class, |
| 122 | + ['property' => 'single'] |
| 123 | + ) |
| 124 | + ->withConfiguredRule( |
| 125 | + ClassAttributesSeparationFixer::class, |
| 126 | + ['elements' => ['property' => 'none', 'method' => 'one', 'const' => 'none']] |
| 127 | + ); |
0 commit comments