Skip to content

Commit 4bd0967

Browse files
herndlmondrejmirtes
authored andcommitted
Bring CS closer to phpstan-src
1 parent 3d51653 commit 4bd0967

File tree

5 files changed

+295
-231
lines changed

5 files changed

+295
-231
lines changed

build-cs/composer.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"require-dev": {
33
"consistence-community/coding-standard": "^3.10",
44
"dealerdirect/phpcodesniffer-composer-installer": "^0.7.0",
5-
"slevomat/coding-standard": "^6.4"
5+
"slevomat/coding-standard": "^7.0"
66
},
77
"config": {
88
"allow-plugins": {

phpcs.xml

+69-25
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
<?xml version="1.0"?>
22
<ruleset name="PHPStan webmozart/assert extension">
3+
<config name="php_version" value="70100"/>
34
<arg name="colors"/>
45
<arg name="extensions" value="php"/>
56
<arg name="encoding" value="utf-8"/>
@@ -8,59 +9,102 @@
89
<arg value="sp"/>
910
<file>src</file>
1011
<file>tests</file>
12+
1113
<rule ref="build-cs/vendor/consistence-community/coding-standard/Consistence/ruleset.xml">
12-
<exclude name="Squiz.Functions.GlobalFunction.Found"/>
13-
<exclude name="SlevomatCodingStandard.Namespaces.FullyQualifiedClassNameAfterKeyword"/>
14+
<exclude name="SlevomatCodingStandard.Commenting.InlineDocCommentDeclaration.InvalidFormat"/>
15+
<exclude name="SlevomatCodingStandard.Commenting.InlineDocCommentDeclaration.MissingVariable"/>
1416
<exclude name="SlevomatCodingStandard.Namespaces.FullyQualifiedClassNameInAnnotation"/>
1517
<exclude name="SlevomatCodingStandard.Namespaces.FullyQualifiedExceptions"/>
16-
<exclude name="SlevomatCodingStandard.Namespaces.ReferenceUsedNamesOnly"/>
18+
<exclude name="Consistence.Exceptions.ExceptionDeclaration"/>
19+
<exclude name="Squiz.Commenting.FunctionComment"/>
20+
<exclude name="Squiz.PHP.Heredoc.NotAllowed"/>
21+
<exclude name="Squiz.WhiteSpace.FunctionSpacing.Before"/>
1722
</rule>
1823
<rule ref="SlevomatCodingStandard.Namespaces.AlphabeticallySortedUses">
1924
<properties>
2025
<property name="caseSensitive" value="false"/>
26+
<property name="psr12Compatible" value="true"/>
2127
</properties>
2228
</rule>
2329
<rule ref="SlevomatCodingStandard.TypeHints.DeclareStrictTypes">
2430
<properties>
25-
<property name="newlinesCountBetweenOpenTagAndDeclare" value="0"/>
31+
<property name="declareOnFirstLine" value="true"/>
2632
</properties>
2733
</rule>
2834
<rule ref="SlevomatCodingStandard.TypeHints.ParameterTypeHint">
29-
<properties>
30-
<property name="usefulAnnotations" type="array" value="
31-
@dataProvider,
32-
@requires
33-
"/>
34-
<property name="enableObjectTypeHint" value="false"/>
35-
</properties>
36-
<exclude name="SlevomatCodingStandard.TypeHints.TypeHintDeclaration.MissingTraversableParameterTypeHintSpecification"/>
37-
<exclude name="SlevomatCodingStandard.TypeHints.TypeHintDeclaration.MissingTraversableReturnTypeHintSpecification"/>
35+
<exclude name="SlevomatCodingStandard.TypeHints.ParameterTypeHint.MissingTraversableTypeHintSpecification"/>
36+
</rule>
37+
<rule ref="SlevomatCodingStandard.TypeHints.ParameterTypeHint.UselessAnnotation">
38+
<severity>10</severity>
3839
</rule>
3940
<rule ref="SlevomatCodingStandard.TypeHints.PropertyTypeHint">
40-
<properties>
41-
<property name="enableNativeTypeHint" value="false"/>
42-
</properties>
4341
<exclude name="SlevomatCodingStandard.TypeHints.PropertyTypeHint.MissingTraversableTypeHintSpecification"/>
4442
</rule>
43+
<rule ref="SlevomatCodingStandard.TypeHints.PropertyTypeHint.UselessAnnotation">
44+
<severity>10</severity>
45+
</rule>
4546
<rule ref="SlevomatCodingStandard.TypeHints.ReturnTypeHint">
46-
<properties>
47-
<property name="enableObjectTypeHint" value="false"/>
48-
</properties>
4947
<exclude name="SlevomatCodingStandard.TypeHints.ReturnTypeHint.MissingTraversableTypeHintSpecification"/>
48+
<exclude name="SlevomatCodingStandard.TypeHints.ReturnTypeHint.MissingAnyTypeHint"/>
49+
</rule>
50+
<rule ref="SlevomatCodingStandard.TypeHints.ReturnTypeHint.UselessAnnotation">
51+
<severity>10</severity>
5052
</rule>
53+
<rule ref="SlevomatCodingStandard.Functions.UnusedInheritedVariablePassedToClosure.UnusedInheritedVariable"/>
54+
<rule ref="SlevomatCodingStandard.Exceptions.ReferenceThrowableOnly.ReferencedGeneralException"/>
55+
<rule ref="SlevomatCodingStandard.Variables.UnusedVariable.UnusedVariable"/>
5156
<rule ref="SlevomatCodingStandard.ControlStructures.AssignmentInCondition"/>
52-
<rule ref="SlevomatCodingStandard.Operators.DisallowEqualOperators"/>
53-
<rule ref="SlevomatCodingStandard.ControlStructures.EarlyExit"/>
57+
<rule ref="SlevomatCodingStandard.ControlStructures.EarlyExit">
58+
<exclude name="SlevomatCodingStandard.ControlStructures.EarlyExit.UselessElseIf"/>
59+
</rule>
5460
<rule ref="SlevomatCodingStandard.Classes.SuperfluousAbstractClassNaming"/>
5561
<rule ref="SlevomatCodingStandard.Classes.SuperfluousInterfaceNaming"/>
56-
<!-- <rule ref="SlevomatCodingStandard.ControlStructures.DisallowShortTernaryOperator"/>-->
57-
<!-- <rule ref="SlevomatCodingStandard.Namespaces.RequireOneNamespaceInFile"/> -->
58-
<!-- <rule ref="SlevomatCodingStandard.PHP.ShortList"/> -->
5962
<rule ref="SlevomatCodingStandard.Files.TypeNameMatchesFileName">
6063
<properties>
61-
<property name="rootNamespaces" type="array" value="src=>PHPStan,tests=>PHPStan"/>
64+
<property name="rootNamespaces" type="array">
65+
<element key="src" value="PHPStan"/>
66+
<element key="tests" value="PHPStan"/>
67+
</property>
68+
69+
</properties>
70+
</rule>
71+
<rule ref="SlevomatCodingStandard.Classes.ModernClassNameReference"/>
72+
<rule ref="SlevomatCodingStandard.Functions.StaticClosure"/>
73+
<rule ref="SlevomatCodingStandard.Operators.DisallowEqualOperators"/>
74+
<rule ref="SlevomatCodingStandard.Operators.RequireCombinedAssignmentOperator"/>
75+
<rule ref="SlevomatCodingStandard.TypeHints.NullTypeHintOnLastPosition"/>
76+
<rule ref="SlevomatCodingStandard.Classes.TraitUseDeclaration"/>
77+
<rule ref="SlevomatCodingStandard.Classes.TraitUseSpacing"/>
78+
<rule ref="SlevomatCodingStandard.Variables.UnusedVariable"/>
79+
<rule ref="SlevomatCodingStandard.Variables.UselessVariable"/>
80+
<!--<rule ref="SlevomatCodingStandard.Functions.UnusedParameter"/>-->
81+
<rule ref="SlevomatCodingStandard.Functions.UnusedInheritedVariablePassedToClosure"/>
82+
<rule ref="SlevomatCodingStandard.Namespaces.ReferenceUsedNamesOnly">
83+
<properties>
84+
<property name="searchAnnotations" value="true"/>
85+
<property name="namespacesRequiredToUse" value=""/>
86+
<property name="allowPartialUses" value="true"/>
87+
<property name="allowFallbackGlobalFunctions" value="false"/>
88+
<property name="allowFallbackGlobalConstants" value="false"/>
89+
<property name="allowFullyQualifiedExceptions" value="false"/>
90+
<property name="allowFullyQualifiedNameForCollidingClasses" value="true"/>
91+
<property name="allowFullyQualifiedNameForCollidingFunctions" value="true"/>
92+
<property name="allowFullyQualifiedNameForCollidingConstants" value="true"/>
93+
</properties>
94+
</rule>
95+
<rule ref="SlevomatCodingStandard.Namespaces.UselessAlias"/>
96+
<rule ref="SlevomatCodingStandard.Namespaces.UseSpacing"/>
97+
<rule ref="SlevomatCodingStandard.PHP.UselessSemicolon"/>
98+
<rule ref="SlevomatCodingStandard.PHP.UselessParentheses"/>
99+
<rule ref="Squiz.WhiteSpace.FunctionSpacing">
100+
<properties>
101+
<property name="spacing" value="1" />
102+
<property name="spacingBeforeFirst" value="1"/>
103+
<property name="spacingAfterLast" value="1"/>
62104
</properties>
63105
</rule>
106+
<rule ref="PSR1.Methods.CamelCapsMethodName.NotCamelCaps"/>
107+
<rule ref="Consistence.NamingConventions.ValidVariableName.NotCamelCaps"/>
64108
<exclude-pattern>tests/tmp</exclude-pattern>
65109
<exclude-pattern>tests/*/data</exclude-pattern>
66110
</ruleset>

0 commit comments

Comments
 (0)