|
5 | 5 | declare(strict_types=1);
|
6 | 6 |
|
7 | 7 | use PHP_CodeSniffer\Standards\Generic\Sniffs\Arrays\DisallowLongArraySyntaxSniff;
|
| 8 | +use PHP_CodeSniffer\Standards\Generic\Sniffs\CodeAnalysis\AssignmentInConditionSniff; |
8 | 9 | use PhpCsFixer\Fixer\Casing\ConstantCaseFixer;
|
9 | 10 | use PhpCsFixer\Fixer\CastNotation\ModernizeTypesCastingFixer;
|
10 | 11 | use PhpCsFixer\Fixer\ClassNotation\ClassAttributesSeparationFixer;
|
|
14 | 15 | use PhpCsFixer\Fixer\ControlStructure\TrailingCommaInMultilineFixer;
|
15 | 16 | use PhpCsFixer\Fixer\ControlStructure\YodaStyleFixer;
|
16 | 17 | use PhpCsFixer\Fixer\DoctrineAnnotation\DoctrineAnnotationArrayAssignmentFixer;
|
| 18 | +use PhpCsFixer\Fixer\FunctionNotation\FopenFlagsFixer; |
17 | 19 | use PhpCsFixer\Fixer\FunctionNotation\VoidReturnFixer;
|
18 | 20 | use PhpCsFixer\Fixer\Import\GlobalNamespaceImportFixer;
|
19 | 21 | use PhpCsFixer\Fixer\Operator\ConcatSpaceFixer;
|
|
22 | 24 | use PhpCsFixer\Fixer\Phpdoc\NoEmptyPhpdocFixer;
|
23 | 25 | use PhpCsFixer\Fixer\Phpdoc\NoSuperfluousPhpdocTagsFixer;
|
24 | 26 | use PhpCsFixer\Fixer\Phpdoc\PhpdocNoPackageFixer;
|
| 27 | +use PhpCsFixer\Fixer\PhpUnit\PhpUnitTestClassRequiresCoversFixer; |
25 | 28 | use PhpCsFixer\Fixer\ReturnNotation\NoUselessReturnFixer;
|
26 | 29 | use PhpCsFixer\Fixer\Strict\DeclareStrictTypesFixer;
|
27 |
| -use Rector\CodingStyle\Rector\Encapsed\WrapEncapsedVariableInCurlyBracesRector; |
28 | 30 | use SlevomatCodingStandard\Sniffs\Commenting\UselessFunctionDocCommentSniff;
|
29 | 31 | use SlevomatCodingStandard\Sniffs\TypeHints\PropertyTypeHintSniff;
|
30 |
| -use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator; |
31 |
| -use Symplify\EasyCodingStandard\ValueObject\Option; |
| 32 | +use Symplify\CodingStandard\Fixer\ArrayNotation\ArrayListItemNewlineFixer; |
| 33 | +use Symplify\CodingStandard\Fixer\ArrayNotation\ArrayOpenerAndCloserNewlineFixer; |
| 34 | +use Symplify\CodingStandard\Fixer\ArrayNotation\StandaloneLineInMultilineArrayFixer; |
| 35 | +use Symplify\EasyCodingStandard\Config\ECSConfig; |
32 | 36 | use Symplify\EasyCodingStandard\ValueObject\Set\SetList;
|
33 | 37 |
|
34 | 38 | // Run php vendor/bin/ecs check src
|
35 | 39 | // See documentation: https://github.com/symplify/easy-coding-standard
|
36 | 40 |
|
37 |
| -return static function (ContainerConfigurator $containerConfigurator): void { |
38 |
| - $services = $containerConfigurator->services(); |
39 |
| - $parameters = $containerConfigurator->parameters(); |
| 41 | +return static function (ECSConfig $ecsConfig): void { |
| 42 | + $ecsConfig->import(SetList::COMMON); |
| 43 | + $ecsConfig->import(SetList::CLEAN_CODE); |
| 44 | + $ecsConfig->dynamicSets(['@Symfony']); |
| 45 | + $ecsConfig->import(SetList::PSR_12); |
| 46 | + $ecsConfig->dynamicSets(['@PhpCsFixer']); |
| 47 | + $ecsConfig->import(SetList::DOCTRINE_ANNOTATIONS); |
| 48 | + $ecsConfig->dynamicSets(['@Symfony:risky']); |
40 | 49 |
|
41 |
| - $containerConfigurator->import(SetList::COMMON); |
42 |
| - $containerConfigurator->import(SetList::CLEAN_CODE); |
43 |
| - $containerConfigurator->import(SetList::SYMFONY); |
44 |
| - $containerConfigurator->import(SetList::PSR_12); |
45 |
| - $containerConfigurator->import(SetList::PHP_CS_FIXER); |
46 |
| - $containerConfigurator->import(SetList::DOCTRINE_ANNOTATIONS); |
47 |
| - $containerConfigurator->import(SetList::SYMFONY_RISKY); |
48 |
| - |
49 |
| - $services->set(DisallowLongArraySyntaxSniff::class); |
50 |
| - $services->set(TrailingCommaInMultilineFixer::class); |
51 |
| - $services->set(PhpdocNoPackageFixer::class); |
52 |
| - $services->set(UselessFunctionDocCommentSniff::class); |
53 |
| - $services->set(PropertyTypeHintSniff::class); |
54 |
| - //$services->set(\SlevomatCodingStandard\Sniffs\Namespaces\FullyQualifiedClassNameAfterKeywordSniff::class); |
55 |
| - $services->set(YodaStyleFixer::class); |
56 |
| - $services->set(NoSuperfluousPhpdocTagsFixer::class); |
57 |
| - $services->set(VoidReturnFixer::class); |
58 |
| - $services->set(DeclareStrictTypesFixer::class); |
59 |
| - $services->set(NoEmptyPhpdocFixer::class); |
60 |
| - $services->set(NoUselessElseFixer::class); |
61 |
| - $services->set(NoUselessReturnFixer::class); |
62 |
| - $services->set(ModernizeTypesCastingFixer::class); |
63 |
| - $services->set(ConstantCaseFixer::class); |
64 |
| - $services->set(OrderedClassElementsFixer::class); |
65 |
| - $services->set(ConcatSpaceFixer::class) |
66 |
| - ->call( |
67 |
| - 'configure', |
68 |
| - [ |
69 |
| - [ |
70 |
| - 'spacing' => 'none', |
71 |
| - ], |
72 |
| - ] |
73 |
| - ); |
74 |
| - $services->set(GlobalNamespaceImportFixer::class) |
75 |
| - ->call( |
76 |
| - 'configure', |
77 |
| - [ |
78 |
| - [ |
79 |
| - 'import_classes' => true, |
80 |
| - 'import_constants' => true, |
81 |
| - 'import_functions' => false, |
82 |
| - ], |
83 |
| - ] |
84 |
| - ); |
85 |
| - |
86 |
| - $parameters->set( |
87 |
| - Option::PATHS, |
| 50 | + $ecsConfig->rule(DisallowLongArraySyntaxSniff::class); |
| 51 | + $ecsConfig->rule(TrailingCommaInMultilineFixer::class); |
| 52 | + $ecsConfig->rule(PhpdocNoPackageFixer::class); |
| 53 | + $ecsConfig->rule(UselessFunctionDocCommentSniff::class); |
| 54 | + $ecsConfig->rule(PropertyTypeHintSniff::class); |
| 55 | + $ecsConfig->ruleWithConfiguration( |
| 56 | + YodaStyleFixer::class, |
| 57 | + ['equal' => true, 'identical' => true, 'less_and_greater' => false] |
| 58 | + ); |
| 59 | + $ecsConfig->rule(NoSuperfluousPhpdocTagsFixer::class); |
| 60 | + $ecsConfig->rule(VoidReturnFixer::class); |
| 61 | + $ecsConfig->rule(DeclareStrictTypesFixer::class); |
| 62 | + $ecsConfig->rule(NoEmptyPhpdocFixer::class); |
| 63 | + $ecsConfig->rule(NoUselessElseFixer::class); |
| 64 | + $ecsConfig->rule(NoUselessReturnFixer::class); |
| 65 | + $ecsConfig->rule(ModernizeTypesCastingFixer::class); |
| 66 | + $ecsConfig->rule(ConstantCaseFixer::class); |
| 67 | + $ecsConfig->rule(OrderedClassElementsFixer::class); |
| 68 | + $ecsConfig->ruleWithConfiguration( |
| 69 | + ConcatSpaceFixer::class, |
88 | 70 | [
|
89 |
| - __DIR__.'/src', |
90 |
| - __DIR__.'/tests/CoreBundle', |
91 |
| - __DIR__.'/tests/CourseBundle', |
92 |
| - //__DIR__.'/public/main/admin', |
| 71 | + 'spacing' => 'none', |
93 | 72 | ]
|
94 | 73 | );
|
95 |
| - |
96 |
| - $parameters->set( |
97 |
| - Option::SKIP, |
| 74 | + $ecsConfig->ruleWithConfiguration( |
| 75 | + GlobalNamespaceImportFixer::class, |
98 | 76 | [
|
99 |
| - __DIR__.'/src/CoreBundle/Hook/*', |
100 |
| - __DIR__.'/src/CoreBundle/Component/HTMLPurifier/Filter/AllowIframes.php', |
101 |
| - __DIR__.'/src/CoreBundle/Traits/Repository/*', |
102 |
| - __DIR__.'/src/CourseBundle/Component/*', |
103 |
| - __DIR__.'/src/DataFixtures/*', |
104 |
| - __DIR__.'/src/CoreBundle/Entity/ResourceInterface.php', |
105 |
| - IncrementStyleFixer::class => 'post', |
106 |
| - PropertyTypeHintSniff::class.'.'.PropertyTypeHintSniff::CODE_MISSING_TRAVERSABLE_TYPE_HINT_SPECIFICATION, |
107 |
| - PropertyTypeHintSniff::class.'.'.PropertyTypeHintSniff::CODE_MISSING_NATIVE_TYPE_HINT, |
108 |
| - PhpCsFixer\Fixer\PhpUnit\PhpUnitInternalClassFixer::class, |
109 |
| - DoctrineAnnotationArrayAssignmentFixer::class, |
110 |
| - SingleLineCommentStyleFixer::class, |
111 |
| - NotOperatorWithSuccessorSpaceFixer::class, |
112 |
| - //\PhpCsFixer\Fixer\Phpdoc\PhpdocOrderFixer::class, |
113 |
| - PhpCsFixer\Fixer\Phpdoc\PhpdocTypesOrderFixer::class, |
114 |
| - PhpCsFixer\Fixer\DoctrineAnnotation\DoctrineAnnotationSpacesFixer::class, |
115 |
| - PhpCsFixer\Fixer\StringNotation\ExplicitStringVariableFixer::class, |
116 |
| - //WrapEncapsedVariableInCurlyBracesRector::class, |
117 |
| - ClassAttributesSeparationFixer::class, |
118 |
| - \PhpCsFixer\Fixer\FunctionNotation\FopenFlagsFixer::class, |
119 |
| - \Symplify\CodingStandard\Fixer\ArrayNotation\ArrayOpenerAndCloserNewlineFixer::class, |
120 |
| - \Symplify\CodingStandard\Fixer\ArrayNotation\ArrayListItemNewlineFixer::class, |
121 |
| - \Symplify\CodingStandard\Fixer\ArrayNotation\StandaloneLineInMultilineArrayFixer::class, |
122 |
| - //UnusedVariableSniff::class . '.ignoreUnusedValuesWhenOnlyKeysAreUsedInForeach' => true, |
123 |
| - //UnusedVariableSniff::class => 'ignoreUnusedValuesWhenOnlyKeysAreUsedInForeach', |
124 |
| - \PHP_CodeSniffer\Standards\Generic\Sniffs\CodeAnalysis\AssignmentInConditionSniff::class.'.FoundInWhileCondition', |
125 |
| - \PHP_CodeSniffer\Standards\Generic\Sniffs\CodeAnalysis\AssignmentInConditionSniff::class.'.Found', |
126 |
| - \PhpCsFixer\Fixer\PhpUnit\PhpUnitTestClassRequiresCoversFixer::class, |
| 77 | + 'import_classes' => true, |
| 78 | + 'import_constants' => true, |
| 79 | + 'import_functions' => false, |
127 | 80 | ]
|
128 | 81 | );
|
| 82 | + |
| 83 | + $ecsConfig->paths([ |
| 84 | + __DIR__.'/src', |
| 85 | + __DIR__.'/tests/CoreBundle', |
| 86 | + __DIR__.'/tests/CourseBundle', |
| 87 | + //__DIR__.'/public/main/admin', |
| 88 | + ]); |
| 89 | + |
| 90 | + $ecsConfig->skip([ |
| 91 | + __DIR__.'/src/CoreBundle/Hook/*', |
| 92 | + __DIR__.'/src/CoreBundle/Component/HTMLPurifier/Filter/AllowIframes.php', |
| 93 | + __DIR__.'/src/CoreBundle/Traits/Repository/*', |
| 94 | + __DIR__.'/src/CourseBundle/Component/*', |
| 95 | + __DIR__.'/src/DataFixtures/*', |
| 96 | + __DIR__.'/src/CoreBundle/Entity/ResourceInterface.php', |
| 97 | + IncrementStyleFixer::class => 'post', |
| 98 | + PropertyTypeHintSniff::class.'.'.PropertyTypeHintSniff::CODE_MISSING_TRAVERSABLE_TYPE_HINT_SPECIFICATION, |
| 99 | + PropertyTypeHintSniff::class.'.'.PropertyTypeHintSniff::CODE_MISSING_NATIVE_TYPE_HINT, |
| 100 | + PhpCsFixer\Fixer\PhpUnit\PhpUnitInternalClassFixer::class, |
| 101 | + DoctrineAnnotationArrayAssignmentFixer::class, |
| 102 | + SingleLineCommentStyleFixer::class, |
| 103 | + NotOperatorWithSuccessorSpaceFixer::class, |
| 104 | + //\PhpCsFixer\Fixer\Phpdoc\PhpdocOrderFixer::class, |
| 105 | + PhpCsFixer\Fixer\Phpdoc\PhpdocTypesOrderFixer::class, |
| 106 | + PhpCsFixer\Fixer\DoctrineAnnotation\DoctrineAnnotationSpacesFixer::class, |
| 107 | + PhpCsFixer\Fixer\StringNotation\ExplicitStringVariableFixer::class, |
| 108 | + ClassAttributesSeparationFixer::class, |
| 109 | + FopenFlagsFixer::class, |
| 110 | + ArrayOpenerAndCloserNewlineFixer::class, |
| 111 | + ArrayListItemNewlineFixer::class, |
| 112 | + StandaloneLineInMultilineArrayFixer::class, |
| 113 | + //UnusedVariableSniff::class . '.ignoreUnusedValuesWhenOnlyKeysAreUsedInForeach' => true, |
| 114 | + //UnusedVariableSniff::class => 'ignoreUnusedValuesWhenOnlyKeysAreUsedInForeach', |
| 115 | + AssignmentInConditionSniff::class.'.FoundInWhileCondition', |
| 116 | + AssignmentInConditionSniff::class.'.Found', |
| 117 | + PhpUnitTestClassRequiresCoversFixer::class, |
| 118 | + ]); |
129 | 119 | };
|
0 commit comments