This repository has been archived by the owner on Aug 11, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 4
/
phpinsights.php
116 lines (109 loc) · 4.59 KB
/
phpinsights.php
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
<?php declare(strict_types=1);
return [
/*
|--------------------------------------------------------------------------
| Default Preset
|--------------------------------------------------------------------------
|
| This option controls the default preset that will be used by PHP Insights
| to make your code reliable, simple, and clean. However, you can always
| adjust the `Metrics` and `Insights` below in this configuration file.
|
| Supported: "default", "laravel", "symfony", "magento2", "drupal"
|
*/
'preset' => 'symfony',
/*
|--------------------------------------------------------------------------
| IDE
|--------------------------------------------------------------------------
|
| This options allow to add hyperlinks in your terminal to quickly open
| files in your favorite IDE while browsing your PhpInsights report.
|
| Supported: "textmate", "macvim", "emacs", "sublime", "phpstorm",
| "atom", "vscode".
|
| If you have another IDE that is not in this list but which provide an
| url-handler, you could fill this config with a pattern like this:
|
| myide://open?url=file://%f&line=%l
|
*/
'ide' => 'phpstorm',
/*
|--------------------------------------------------------------------------
| Configuration
|--------------------------------------------------------------------------
|
| Here you may adjust all the various `Insights` that will be used by PHP
| Insights. You can either add, remove or configure `Insights`. Keep in
| mind, that all added `Insights` must belong to a specific `Metric`.
|
*/
'exclude' => [
'tests',
'*Entity.php',
'*Definition.php',
'Migration*.php',
'AppAction.php',
'BusinessEventEncoder.php',
'WebhookDispatcher.php',
'EntityTemplateLoader.php',
'AppLifecycle.php',
'Metadata.php',
],
'add' => [
// ExampleMetric::class => [
// ExampleInsight::class,
// ]
],
'remove' => [
\NunoMaduro\PhpInsights\Domain\Sniffs\ForbiddenSetterSniff::class,
\PHP_CodeSniffer\Standards\Generic\Sniffs\CodeAnalysis\EmptyStatementSniff::class,
\SlevomatCodingStandard\Sniffs\ControlStructures\DisallowEmptySniff::class,
\SlevomatCodingStandard\Sniffs\ControlStructures\DisallowShortTernaryOperatorSniff::class,
\PHP_CodeSniffer\Standards\Generic\Sniffs\PHP\NoSilencedErrorsSniff::class,
\NunoMaduro\PhpInsights\Domain\Insights\ForbiddenNormalClasses::class,
\SlevomatCodingStandard\Sniffs\Classes\SuperfluousInterfaceNamingSniff::class,
\SlevomatCodingStandard\Sniffs\Classes\SuperfluousExceptionNamingSniff::class,
\PhpCsFixer\Fixer\ReturnNotation\ReturnAssignmentFixer::class,
// reports on @var annotations on props if running in php7.4, can be removed once we use typed properties
\SlevomatCodingStandard\Sniffs\TypeHints\PropertyTypeHintSniff::class,
\NunoMaduro\PhpInsights\Domain\Insights\ForbiddenGlobals::class,
],
'config' => [
\NunoMaduro\PhpInsights\Domain\Insights\CyclomaticComplexityIsHigh::class => [
'maxComplexity' => 10,
],
\ObjectCalisthenics\Sniffs\Files\FunctionLengthSniff::class => [
'maxLength' => 30,
],
\PHP_CodeSniffer\Standards\Generic\Sniffs\Files\LineLengthSniff::class => [
'lineLimit' => 120,
'absoluteLineLimit' => 120,
'ignoreComments' => true,
],
\ObjectCalisthenics\Sniffs\Metrics\MaxNestingLevelSniff::class => [
'maxNestingLevel' => 3,
],
\SlevomatCodingStandard\Sniffs\TypeHints\DeclareStrictTypesSniff::class => [
'newlinesCountAfterDeclare' => 2,
'newlinesCountBetweenOpenTagAndDeclare' => 0,
],
\SlevomatCodingStandard\Sniffs\Commenting\DocCommentSpacingSniff::class => [
'linesCountBetweenAnnotationsGroups' => 1,
'linesCountBetweenDifferentAnnotationsTypes' => 0,
'annotationsGroups' => ['@psalm-suppress, @phpcsSuppress', '@method', '@param, @return'],
],
\PHP_CodeSniffer\Standards\Generic\Sniffs\Formatting\SpaceAfterNotSniff::class => [
'spacing' => 0,
],
\ObjectCalisthenics\Sniffs\NamingConventions\ElementNameMinimalLengthSniff::class => [
'allowedShortNames' => ['i', 'id', 'e', 'io'],
],
\ObjectCalisthenics\Sniffs\Files\ClassTraitAndInterfaceLengthSniff::class => [
'maxLength' => 300,
],
],
];