Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 9956332

Browse files
committedDec 27, 2023
CI: Update ECS configuration
1 parent 1e0c0cc commit 9956332

File tree

1 file changed

+78
-88
lines changed

1 file changed

+78
-88
lines changed
 

‎ecs.php

+78-88
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
declare(strict_types=1);
66

77
use PHP_CodeSniffer\Standards\Generic\Sniffs\Arrays\DisallowLongArraySyntaxSniff;
8+
use PHP_CodeSniffer\Standards\Generic\Sniffs\CodeAnalysis\AssignmentInConditionSniff;
89
use PhpCsFixer\Fixer\Casing\ConstantCaseFixer;
910
use PhpCsFixer\Fixer\CastNotation\ModernizeTypesCastingFixer;
1011
use PhpCsFixer\Fixer\ClassNotation\ClassAttributesSeparationFixer;
@@ -14,6 +15,7 @@
1415
use PhpCsFixer\Fixer\ControlStructure\TrailingCommaInMultilineFixer;
1516
use PhpCsFixer\Fixer\ControlStructure\YodaStyleFixer;
1617
use PhpCsFixer\Fixer\DoctrineAnnotation\DoctrineAnnotationArrayAssignmentFixer;
18+
use PhpCsFixer\Fixer\FunctionNotation\FopenFlagsFixer;
1719
use PhpCsFixer\Fixer\FunctionNotation\VoidReturnFixer;
1820
use PhpCsFixer\Fixer\Import\GlobalNamespaceImportFixer;
1921
use PhpCsFixer\Fixer\Operator\ConcatSpaceFixer;
@@ -22,108 +24,96 @@
2224
use PhpCsFixer\Fixer\Phpdoc\NoEmptyPhpdocFixer;
2325
use PhpCsFixer\Fixer\Phpdoc\NoSuperfluousPhpdocTagsFixer;
2426
use PhpCsFixer\Fixer\Phpdoc\PhpdocNoPackageFixer;
27+
use PhpCsFixer\Fixer\PhpUnit\PhpUnitTestClassRequiresCoversFixer;
2528
use PhpCsFixer\Fixer\ReturnNotation\NoUselessReturnFixer;
2629
use PhpCsFixer\Fixer\Strict\DeclareStrictTypesFixer;
27-
use Rector\CodingStyle\Rector\Encapsed\WrapEncapsedVariableInCurlyBracesRector;
2830
use SlevomatCodingStandard\Sniffs\Commenting\UselessFunctionDocCommentSniff;
2931
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;
3236
use Symplify\EasyCodingStandard\ValueObject\Set\SetList;
3337

3438
// Run php vendor/bin/ecs check src
3539
// See documentation: https://github.com/symplify/easy-coding-standard
3640

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']);
4049

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,
8870
[
89-
__DIR__.'/src',
90-
__DIR__.'/tests/CoreBundle',
91-
__DIR__.'/tests/CourseBundle',
92-
//__DIR__.'/public/main/admin',
71+
'spacing' => 'none',
9372
]
9473
);
95-
96-
$parameters->set(
97-
Option::SKIP,
74+
$ecsConfig->ruleWithConfiguration(
75+
GlobalNamespaceImportFixer::class,
9876
[
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,
12780
]
12881
);
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+
]);
129119
};

0 commit comments

Comments
 (0)
Please sign in to comment.