-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathphpcs.xml
More file actions
90 lines (79 loc) · 3.52 KB
/
phpcs.xml
File metadata and controls
90 lines (79 loc) · 3.52 KB
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
<?xml version="1.0"?>
<ruleset name="TaskShunt">
<description>TaskShunt WordPress Plugin coding standards.</description>
<!-- What to scan -->
<file>.</file>
<exclude-pattern>vendor/*</exclude-pattern>
<exclude-pattern>node_modules/*</exclude-pattern>
<exclude-pattern>assets/dist/*</exclude-pattern>
<exclude-pattern>tests/bootstrap.php</exclude-pattern>
<!-- How to scan -->
<arg value="s"/>
<arg name="basepath" value="."/>
<arg name="parallel" value="8"/>
<arg name="extensions" value="php"/>
<!-- Rules -->
<rule ref="WordPress"/>
<rule ref="WordPress-Docs"/>
<rule ref="WordPress-Extra"/>
<!-- Set text domain -->
<rule ref="WordPress.WP.I18n">
<properties>
<property name="text_domain" type="array">
<element value="taskshunt"/>
</property>
</properties>
</rule>
<!-- PSR-4 class file names are fine -->
<rule ref="WordPress.Files.FileName">
<properties>
<property name="strict_class_file_names" value="false"/>
</properties>
<exclude name="WordPress.Files.FileName.NotHyphenatedLowercase"/>
</rule>
<rule ref="SlevomatCodingStandard.Functions.FunctionLength">
<properties>
<property name="maxLinesLength" value="30" />
</properties>
</rule>
<rule ref="WordPressVIPMinimum">
<exclude name="Generic.PHP.NoSilencedErrors.Forbidden" />
<exclude name="WordPressVIPMinimum.Functions.RestrictedFunctions.chmod_chmod" />
<exclude name="WordPressVIPMinimum.Files.IncludingFile.NotAbsolutePath" />
<exclude name="WordPressVIPMinimum.Functions.RestrictedFunctions.flush_rewrite_rules_flush_rewrite_rules" />
<exclude name="WordPressVIPMinimum.Performance.RemoteRequestTimeout.timeout_timeout" />
<exclude name="WordPressVIPMinimum.Functions.RestrictedFunctions.term_exists_term_exists" />
<exclude name="WordPressVIPMinimum.Variables.ServerVariables.UserControlledHeaders" />
<exclude name="WordPressVIPMinimum.Functions.RestrictedFunctions.wp_is_mobile_wp_is_mobile" />
<exclude name="WordPressVIPMinimum.UserExperience.AdminBarRemoval.HidingDetected" />
<exclude name="WordPressVIPMinimum.Functions.RestrictedFunctions.file_ops_fputs" />
<exclude name="WordPressVIPMinimum.Functions.RestrictedFunctions.file_ops_fwrite" />
<!-- Exclude deprecated JS sniffs to prevent output corruption in editors -->
<exclude name="WordPressVIPMinimum.JS.Window" />
<exclude name="WordPressVIPMinimum.JS.DangerouslySetInnerHTML" />
<exclude name="WordPressVIPMinimum.JS.InnerHTML" />
<exclude name="WordPressVIPMinimum.JS.StrippingTags" />
<exclude name="WordPressVIPMinimum.JS.StringConcat" />
<exclude name="WordPressVIPMinimum.JS.HTMLExecutingFunctions" />
</rule>
<!--
Repository classes make intentional direct queries against custom tables.
DirectQuery / NoCaching / NotPrepared are expected and correct there.
InterpolatedNotPrepared is still active — table names from $wpdb->prefix
are suppressed per-line with an explanatory comment.
-->
<rule ref="WordPress.DB.DirectDatabaseQuery.DirectQuery">
<exclude-pattern>includes/Repository/*</exclude-pattern>
</rule>
<rule ref="WordPress.DB.DirectDatabaseQuery.NoCaching">
<exclude-pattern>includes/Repository/*</exclude-pattern>
</rule>
<rule ref="WordPress.DB.PreparedSQL.NotPrepared">
<exclude-pattern>includes/Repository/*</exclude-pattern>
</rule>
<rule ref="SlevomatCodingStandard.Files.LineLength">
<properties>
<property name="lineLengthLimit" value="1000" />
</properties>
</rule>
</ruleset>