Fix code quality tools configuration and workflow

- Fix PHP CodeSniffer configuration to use WordPress coding standards
- Add WordPress stubs to PHPStan configuration
- Fix Codacy Analysis action by removing unsupported parameter
- Update SonarCloud action to use recommended sonarqube-scan-action
- Add comprehensive documentation for code quality tools
- Update composer scripts to use vendor binaries
This commit is contained in:
2025-04-21 14:45:27 +01:00
parent 3048e91a78
commit 19ec65326b
6 changed files with 237 additions and 68 deletions

View File

@@ -5,61 +5,62 @@
<!-- Check all PHP files in directory tree by default. -->
<file>.</file>
<exclude-pattern>*/vendor/*</exclude-pattern>
<exclude-pattern>*/bin/*</exclude-pattern>
<exclude-pattern>*/.github/*</exclude-pattern>
<exclude-pattern>*/tests/*</exclude-pattern>
<exclude-pattern>libs/</exclude-pattern>
<exclude-pattern>*/vendor/*</exclude-pattern>
<exclude-pattern>*/node_modules/*</exclude-pattern>
<exclude-pattern>*/bin/*</exclude-pattern>
<exclude-pattern>*/.github/*</exclude-pattern>
<exclude-pattern>*/tests/*</exclude-pattern>
<exclude-pattern>libs/</exclude-pattern>
<arg value="sp" />
<arg name="extensions" value="php" />
<arg name="basepath" value="." />
<arg name="parallel" value="8" />
<arg name="extensions" value="php" />
<arg name="basepath" value="." />
<arg name="parallel" value="8" />
<!-- Configs -->
<config name="minimum_supported_wp_version" value="5.2" />
<!-- Configs -->
<config name="minimum_supported_wp_version" value="5.2" />
<!-- Rules -->
<rule ref="WordPress">
<exclude name="WordPress.NamingConventions.ValidVariableName" />
<exclude name="WordPress.CodeAnalysis.AssignmentInCondition.FoundInWhileCondition" />
<!-- Rules -->
<rule ref="WordPress">
<exclude name="WordPress.NamingConventions.ValidVariableName" />
<exclude name="WordPress.CodeAnalysis.AssignmentInCondition.FoundInWhileCondition" />
<!-- Disable Strict comparison in array check. Not applicable in the mojority of cases. -->
<exclude name="WordPress.PHP.StrictInArray" />
<!-- Disable Strict comparison in array check. Not applicable in the majority of cases. -->
<exclude name="WordPress.PHP.StrictInArray" />
<exclude name="WordPress.WP.I18n" />
<exclude name="WordPress.WP.I18n" />
<exclude name="WordPress.Files.FileName.InvalidClassFileName" />
<exclude name="WordPress.DB.DirectDatabaseQuery.NoCaching" />
<exclude name="WordPress.Files.FileName.InvalidClassFileName" />
<exclude name="WordPress.DB.DirectDatabaseQuery.NoCaching" />
<exclude name="Universal.ControlStructures.DisallowAlternativeSyntax.FoundIfWithInlineHTML" />
<exclude name="Universal.ControlStructures.DisallowAlternativeSyntax.FoundForeachWithInlineHTML" />
<exclude name="Universal.ControlStructures.DisallowAlternativeSyntax.FoundIf" />
<exclude name="Universal.ControlStructures.IfElseDeclaration.NoNewLine" />
<exclude name="Universal.Classes.RequireFinalClass.NonFinalClassFound" />
<exclude name="Universal.Namespaces.EnforceCurlyBraceSyntax.Forbidden" />
<exclude name="Universal.ControlStructures.DisallowAlternativeSyntax.FoundIfWithInlineHTML" />
<exclude name="Universal.ControlStructures.DisallowAlternativeSyntax.FoundForeachWithInlineHTML" />
<exclude name="Universal.ControlStructures.DisallowAlternativeSyntax.FoundIf" />
<exclude name="Universal.ControlStructures.IfElseDeclaration.NoNewLine" />
<exclude name="Universal.Classes.RequireFinalClass.NonFinalClassFound" />
<exclude name="Universal.Namespaces.EnforceCurlyBraceSyntax.Forbidden" />
<exclude name="Generic.Commenting.Todo" />
<exclude name="Generic.CodeAnalysis.AssignmentInCondition.FoundInWhileCondition" />
<exclude name="Generic.CodeAnalysis.EmptyStatement.DetectedCatch" />
<exclude name="Generic.WhiteSpace.DisallowSpaceIndent" />
<exclude name="WordPress.WP.CapitalPDangit.Misspelled" />
</rule>
<exclude name="Generic.Commenting.Todo" />
<exclude name="Generic.CodeAnalysis.AssignmentInCondition.FoundInWhileCondition" />
<exclude name="Generic.CodeAnalysis.EmptyStatement.DetectedCatch" />
<exclude name="Generic.WhiteSpace.DisallowSpaceIndent" />
<exclude name="WordPress.WP.CapitalPDangit.Misspelled" />
</rule>
<rule ref="Generic.WhiteSpace.ScopeIndent">
<properties>
<property name="indent" value="4"/>
<property name="tabIndent" value="false"/>
</properties>
</rule>
<rule ref="Generic.WhiteSpace.ScopeIndent">
<properties>
<property name="indent" value="4"/>
<property name="tabIndent" value="false"/>
</properties>
</rule>
<rule ref="Generic.WhiteSpace.DisallowTabIndent" />
<rule ref="Generic.WhiteSpace.DisallowTabIndent" />
<rule ref="Generic.Formatting.MultipleStatementAlignment">
<properties>
<property name="maxPadding" value="1" />
<property name="error" value="false" />
</properties>
</rule>
<rule ref="Generic.Formatting.MultipleStatementAlignment">
<properties>
<property name="maxPadding" value="1" />
<property name="error" value="false" />
</properties>
</rule>
</ruleset>