Skip to content

Commit

Permalink
Add new rules from v8 of Slevomat rules
Browse files Browse the repository at this point in the history
  • Loading branch information
arxeiss committed Jul 17, 2022
1 parent 5322f32 commit b645be9
Show file tree
Hide file tree
Showing 5 changed files with 46 additions and 5 deletions.
23 changes: 23 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,28 @@
# Changelog

## v0.10.x

### v0.10.0

> Requires Slevomat coding standards 8.3 or higher. Which supports PHP 7.2+, support for PHP 7.1 is removed.
**Added rules:**
- SlevomatCodingStandard.Classes.BackedEnumTypeSpacing
- SlevomatCodingStandard.Functions.RequireTrailingCommaInClosureUse


**Added strict rules:**
- SlevomatCodingStandard.Classes.ClassLength
- SlevomatCodingStandard.Files.FileLength

**Improved strict rules:**
- SlevomatCodingStandard.Classes.PropertyDeclaration - set `checkPromoted` & `enableMultipleSpacesBetweenModifiersCheck` to true

**Renamed rules:**
- SlevomatCodingStandard.TypeHints.PropertyTypeHintSpacing into SlevomatCodingStandard.Classes.PropertyDeclaration

See more changes in Slevomat changelog: https://github.com/slevomat/coding-standard/releases/tag/8.0.0

## v0.9.x

### v0.9.0
Expand Down
2 changes: 2 additions & 0 deletions Rules/Parts/phpcs-slevomat.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@

<rule ref="SlevomatCodingStandard.Arrays.TrailingArrayComma"/> <!-- Multiline array must have trailing comma -->
<rule ref="SlevomatCodingStandard.Arrays.MultiLineArrayEndBracketPlacement"/>
<rule ref="SlevomatCodingStandard.Classes.BackedEnumTypeSpacing" /> <!-- Checks spacing for type hints for Enums -->
<rule ref="SlevomatCodingStandard.Classes.ClassConstantVisibility" /> <!-- Constants must have visibility operator -->
<rule ref="SlevomatCodingStandard.Classes.ConstantSpacing"> <!-- Proper spacing for constants with and without docblock -->
<properties>
Expand Down Expand Up @@ -63,6 +64,7 @@
<rule ref="SlevomatCodingStandard.Functions.DisallowEmptyFunction"/> <!-- Empty function must have a comment why is empty -->
<rule ref="SlevomatCodingStandard.Functions.RequireMultiLineCall"/> <!-- Can fix when max line length of function call is exceeded -->
<rule ref="SlevomatCodingStandard.Functions.RequireTrailingCommaInCall"/> <!-- PHP 7.3+ add trailing comma in multiline function call -->
<rule ref="SlevomatCodingStandard.Functions.RequireTrailingCommaInClosureUse"/> <!-- PHP 8.0+ add trailing comma in multiline closure use declaration -->
<rule ref="SlevomatCodingStandard.Functions.RequireTrailingCommaInDeclaration"/> <!-- PHP 8.0+ add trailing comma in multiline function declaration -->
<rule ref="SlevomatCodingStandard.Functions.StaticClosure"/> <!-- Use static closure if not using $this -->
<rule ref="SlevomatCodingStandard.Functions.UnusedInheritedVariablePassedToClosure"/> <!-- Check unused variable in use() for closure -->
Expand Down
9 changes: 8 additions & 1 deletion Rules/phpcs-strict.xml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,13 @@
<!-- Slevomat -->
<rule ref="SlevomatCodingStandard.Arrays.DisallowImplicitArrayCreation"/> <!-- Check using of $a[] without specifying $a is array -->
<rule ref="SlevomatCodingStandard.Arrays.SingleLineArrayWhitespace"/> <!-- Check no empty spaces in array defining in the beginning and end -->
<rule ref="SlevomatCodingStandard.Classes.ClassLength"/> <!-- Check maximum length of class -->
<rule ref="SlevomatCodingStandard.Classes.PropertyDeclaration"> <!-- Correct spacing for property type hints -->
<properties>
<property name="checkPromoted" value="true"></property>
<property name="enableMultipleSpacesBetweenModifiersCheck" value="true"></property>
</properties>
</rule>
<rule ref="SlevomatCodingStandard.Commenting.ForbiddenAnnotations"> <!-- Disable listed annotations -->
<properties>
<property name="forbiddenAnnotations" type="array">
Expand Down Expand Up @@ -55,6 +62,7 @@
</properties>
</rule>
<rule ref="SlevomatCodingStandard.ControlStructures.UselessTernaryOperator"/> <!-- Check when ternary operator can be shortened -->
<rule ref="SlevomatCodingStandard.Files.FileLength"/> <!-- Check maximum length of file -->
<rule ref="SlevomatCodingStandard.Functions.RequireSingleLineCall"/> <!-- If function call can be placed on single line, it will force it -->
<rule ref="SlevomatCodingStandard.Operators.DisallowEqualOperators"/> <!-- Disallow use == or != and must use === and !== -->
<rule ref="SlevomatCodingStandard.Operators.DisallowIncrementAndDecrementOperators"/> <!-- Disable use of $i++ must use $i += 1 etc.. -->
Expand All @@ -77,7 +85,6 @@
<rule ref="SlevomatCodingStandard.TypeHints.PropertyTypeHint.UselessAnnotation">
<severity>0</severity>
</rule>
<rule ref="SlevomatCodingStandard.TypeHints.PropertyTypeHintSpacing"/> <!-- Correct spacing for property type hints -->
<rule ref="SlevomatCodingStandard.TypeHints.ReturnTypeHint"/> <!-- Correct return type hint -->
<rule ref="SlevomatCodingStandard.TypeHints.ReturnTypeHint.UselessAnnotation">
<severity>0</severity>
Expand Down
8 changes: 6 additions & 2 deletions SniffsList.md
Original file line number Diff line number Diff line change
Expand Up @@ -95,14 +95,17 @@
- SlevomatCodingStandard.Arrays.MultiLineArrayEndBracketPlacement
- SlevomatCodingStandard.Arrays.SingleLineArrayWhitespace
- SlevomatCodingStandard.Arrays.TrailingArrayComma
- SlevomatCodingStandard.Classes.BackedEnumTypeSpacing
- SlevomatCodingStandard.Classes.ClassConstantVisibility
- SlevomatCodingStandard.Classes.ClassLength
- SlevomatCodingStandard.Classes.ConstantSpacing
- SlevomatCodingStandard.Classes.DisallowLateStaticBindingForConstants
- SlevomatCodingStandard.Classes.DisallowMultiConstantDefinition
- SlevomatCodingStandard.Classes.DisallowMultiPropertyDefinition
- SlevomatCodingStandard.Classes.EmptyLinesAroundClassBraces
- SlevomatCodingStandard.Classes.ModernClassNameReference
- SlevomatCodingStandard.Classes.ParentCallSpacing
- SlevomatCodingStandard.Classes.PropertyDeclaration
- SlevomatCodingStandard.Classes.PropertySpacing
- SlevomatCodingStandard.Classes.RequireMultiLineMethodSignature
- SlevomatCodingStandard.Classes.RequireSingleLineMethodSignature
Expand Down Expand Up @@ -131,13 +134,15 @@
- SlevomatCodingStandard.Exceptions.DeadCatch
- SlevomatCodingStandard.Exceptions.ReferenceThrowableOnly
- SlevomatCodingStandard.Exceptions.RequireNonCapturingCatch
- SlevomatCodingStandard.Files.FileLength
- SlevomatCodingStandard.Functions.ArrowFunctionDeclaration
- SlevomatCodingStandard.Functions.DisallowEmptyFunction
- SlevomatCodingStandard.Functions.RequireMultiLineCall
- SlevomatCodingStandard.Functions.RequireSingleLineCall
- SlevomatCodingStandard.Functions.RequireTrailingCommaInCall
- SlevomatCodingStandard.Functions.RequireTrailingCommaInClosureUse
- SlevomatCodingStandard.Functions.RequireTrailingCommaInDeclaration
- SlevomatCodingStandard.Functions.StaticClosure
- SlevomatCodingStandard.Functions.RequireTrailingCommaInCall
- SlevomatCodingStandard.Functions.UnusedInheritedVariablePassedToClosure
- SlevomatCodingStandard.Functions.UselessParameterDefaultValue
- SlevomatCodingStandard.Namespaces.AlphabeticallySortedUses
Expand Down Expand Up @@ -173,7 +178,6 @@
- SlevomatCodingStandard.TypeHints.ParameterTypeHint
- SlevomatCodingStandard.TypeHints.ParameterTypeHintSpacing
- SlevomatCodingStandard.TypeHints.PropertyTypeHint
- SlevomatCodingStandard.TypeHints.PropertyTypeHintSpacing
- SlevomatCodingStandard.TypeHints.ReturnTypeHint
- SlevomatCodingStandard.TypeHints.UnionTypeHintFormat
- SlevomatCodingStandard.TypeHints.UselessConstantTypeHint
Expand Down
9 changes: 7 additions & 2 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,12 @@
}
],
"require": {
"php": "^7.1 || ^8.0",
"slevomat/coding-standard": "^7.0"
"php": "^7.2 || ^8.0",
"slevomat/coding-standard": "^8.3.0"
},
"config": {
"allow-plugins": {
"dealerdirect/phpcodesniffer-composer-installer": true
}
}
}

0 comments on commit b645be9

Please # to comment.