-
Notifications
You must be signed in to change notification settings - Fork 0
/
ecs.yml
72 lines (61 loc) · 3.33 KB
/
ecs.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
imports:
- { resource: 'vendor/symplify/easy-coding-standard/config/psr2.yml' }
- { resource: 'vendor/symplify/easy-coding-standard/config/php71.yml' }
- { resource: 'vendor/symplify/easy-coding-standard/config/clean-code.yml' }
- { resource: 'vendor/symplify/easy-coding-standard/config/symplify.yml' }
- { resource: 'vendor/symplify/easy-coding-standard/config/common.yml' }
- { resource: 'vendor/symplify/easy-coding-standard/config/psr12.yml' }
services:
Symplify\CodingStandard\Sniffs\CleanCode\CognitiveComplexitySniff:
maxCognitiveComplexity: 8
Symplify\CodingStandard\Sniffs\CleanCode\ForbiddenParentClassSniff:
forbiddenParentClasses:
- 'Symfony\Bundle\FrameworkBundle\Controller\AbstractController'
- 'Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository'
- 'Doctrine\ORM\EntityRepository'
# class should be Abstact or Final
SlamCsFixer\FinalInternalClassFixer: ~
Symplify\CodingStandard\Sniffs\DependencyInjection\NoClassInstantiationSniff:
extraAllowedClasses:
- 'OpenTraining\Provision\Data\*'
- 'App\Request\*Request'
- 'Doctrine\Common\Collections\ArrayCollection'
# object calisthenics - https://github.com/object-calisthenics/phpcs-calisthenics-rules
ObjectCalisthenics\Sniffs\ControlStructures\NoElseSniff: ~
ObjectCalisthenics\Sniffs\CodeAnalysis\OneObjectOperatorPerLineSniff: ~
ObjectCalisthenics\Sniffs\NamingConventions\ElementNameMinimalLengthSniff: ~
ObjectCalisthenics\Sniffs\Classes\ForbiddenPublicPropertySniff: ~
ObjectCalisthenics\Sniffs\Files\ClassTraitAndInterfaceLengthSniff: ~
ObjectCalisthenics\Sniffs\Metrics\PropertyPerClassLimitSniff: ~
ObjectCalisthenics\Sniffs\NamingConventions\NoSetterSniff:
allowedClasses:
- 'App\Request\*FormRequest'
- '*\Entity\*'
# automattic - https://github.com/Automattic/phpcs-neutron-standard
# see https://github.com/Automattic/phpcs-neutron-standard/blob/667af4666f68da2e007d35c7fd8c464c3e9fdb2c/tests/Sniffs/Conditions/ConditionsFixture.php#L5
NeutronStandard\Sniffs\Conditions\DisallowConditionAssignWithoutConditionalSniff:
NeutronStandard\Sniffs\Constants\DisallowDefineSniff:
NeutronStandard\Sniffs\Functions\DisallowCallUserFuncSniff:
NeutronStandard\Sniffs\Functions\VariableFunctionsSniff:
NeutronStandard\Sniffs\MagicMethods\DisallowMagicGetSniff:
NeutronStandard\Sniffs\MagicMethods\DisallowMagicSerializeSniff:
NeutronStandard\Sniffs\MagicMethods\DisallowMagicSetSniff:
NeutronStandard\Sniffs\MagicMethods\RiskyMagicMethodSniff:
parameters:
exclude_checkers:
# exclude from psr12.yml
- 'PhpCsFixer\Fixer\PhpTag\BlankLineAfterOpeningTagFixer'
- 'PhpCsFixer\Fixer\Operator\UnaryOperatorSpacesFixer'
exclude_files:
- 'src/Form/RegisterToLectureFormType.php'
- 'src/Kernel.php'
skip:
ObjectCalisthenics\Sniffs\CodeAnalysis\OneObjectOperatorPerLineSniff:
# bugged
- 'src/Repository/TrainingTermRepository.php'
ObjectCalisthenics\Sniffs\Files\ClassTraitAndInterfaceLengthSniff:
# big entity
- 'src/Entity/Training.php'
ObjectCalisthenics\Sniffs\Metrics\PropertyPerClassLimitSniff:
# big entity
- 'src/Entity/Training.php'