xref: /plugin/bpmnio/phpcs.xml (revision 9ff8d41c7727ff9fa896ee8f49e170f6b8272716)
1<?xml version="1.0"?>
2<ruleset name="DokuWiki Plugin bpmnio">
3    <description>PHP CodeSniffer configuration for dokuwiki-plugin-bpmnio</description>
4
5    <file>./syntax</file>
6    <file>./action</file>
7    <file>./_test</file>
8
9    <arg name="extensions" value="php"/>
10    <arg name="colors"/>
11    <arg value="sp"/>
12
13    <rule ref="PSR12">
14        <!-- DokuWiki plugins use snake_case class names by convention -->
15        <exclude name="PSR1.Classes.ClassDeclaration.MissingNamespace"/>
16        <exclude name="Squiz.Classes.ValidClassName.NotCamelCaps"/>
17        <!-- PHPUnit test methods use test_snake_case naming convention -->
18        <exclude name="PSR1.Methods.CamelCapsMethodName.NotCamelCaps"/>
19    </rule>
20
21    <!-- Test files may have side effects (group annotations) -->
22    <rule ref="PSR1.Files.SideEffects.FoundWithSymbols">
23        <exclude-pattern>*/_test/*</exclude-pattern>
24    </rule>
25
26    <!-- phpcs parser struggles with PHP 7.3+ flexible heredoc in test files -->
27    <rule ref="Generic.WhiteSpace.ScopeIndent">
28        <exclude-pattern>*/_test/*</exclude-pattern>
29    </rule>
30    <rule ref="Squiz.Classes.ValidClassName.MissingBrace">
31        <exclude-pattern>*/_test/*</exclude-pattern>
32    </rule>
33    <rule ref="PSR2.Classes.ClassDeclaration.MissingBrace">
34        <exclude-pattern>*/_test/*</exclude-pattern>
35    </rule>
36    <rule ref="Generic.Files.LineLength.TooLong">
37        <exclude-pattern>*/_test/*</exclude-pattern>
38    </rule>
39</ruleset>
40