Files

145 lines
6.2 KiB
XML
Raw Permalink Normal View History

2019-03-13 12:31:37 -04:00
<?xml version="1.0"?>
<ruleset name="WordPress Coding Standards for WPGraphQL Plugins" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/squizlabs/PHP_CodeSniffer/master/phpcs.xsd">
<description>Sniffs for the WPGraphQL ecosystem - WooGraphQL</description>
2019-03-13 12:31:37 -04:00
<!-- What to scan: include any root-level PHP files, and the /src folder -->
<file>./wp-graphql-woocommerce.php</file>
<file>./access-functions.php</file>
<file>./includes/</file>
<exclude-pattern>/vendor/</exclude-pattern>
<exclude-pattern>/vendor-prefixed/</exclude-pattern>
<exclude-pattern>/node_modules/</exclude-pattern>
<exclude-pattern>/phpstan/</exclude-pattern>
<exclude-pattern>local/*</exclude-pattern>
<exclude-pattern>**/tests/**</exclude-pattern>
<exclude-pattern>/tests/_support/Helper/crud-helpers</exclude-pattern>
<!-- How to scan: include CLI args so you don't need to pass them manually -->
2019-03-13 12:31:37 -04:00
<!-- Usage instructions: https://github.com/squizlabs/PHP_CodeSniffer/wiki/Usage -->
<!-- Annotated ruleset: https://github.com/squizlabs/PHP_CodeSniffer/wiki/Annotated-ruleset.xml -->
2020-10-22 15:59:11 -04:00
<!-- Show sniff and progress -->
<arg value="sp"/>
<!-- Strip the file paths down to the relevant bit -->
<arg name="basepath" value="./"/>
<!-- Enable colors in report -->
<arg name="colors"/>
<!-- Only lint php files by default -->
<arg name="extensions" value="php"/>
<!-- Whenever possible, cache the scan results and re-use those for unchanged files on the next scan. -->
<arg name="cache" value="tests/_output/cache.json" />
<!-- Enables parallel processing when available for faster results. -->
<arg name="parallel" value="20"/>
<!-- Set severity to 1 to see everything that isn't effectively turned off. -->
<arg name="severity" value="1" />
<!-- Ruleset Config: set these to match your project constraints-->
<!--
Tests for PHP version compatibility.
https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards#Recomended-additional-rulesets
-->
<config name="testVersion" value="7.3-"/>
2019-03-13 12:31:37 -04:00
<!--
Tests for WordPress version compatibility.
https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/wiki/Customizable-sniff-properties
-->
<config name="minimum_wp_version" value="6.1"/>
<!-- Rules: WPGraphQL Coding Standards -->
<!-- https://github.com/AxeWP/WPGraphQL-Coding-Standards/WPGraphQL/ruleset.xml -->
<rule ref="WPGraphQL">
<!-- This is needed since we're not using an autoloader -->
<exclude name="WordPressVIPMinimum.Files.IncludingFile.UsingCustomFunction" />
<exclude name="WordPressVIPMinimum.Files.IncludingFile.UsingVariable" />
<!-- @todo add and remediate -->
<exclude name="Generic.CodeAnalysis.UnusedFunctionParameter.FoundAfterLastUsed" />
<exclude name="SlevomatCodingStandard.Variables.UnusedVariable.UnusedVariable" />
<exclude name="WordPress.Security.EscapeOutput.ExceptionNotEscaped" />
<!-- @todo review and allowlist -->
<exclude name="WordPress.WP.Capabilities.Undetermined" />
<exclude name="WordPressVIPMinimum.Functions.RestrictedFunctions.get_page_by_path_get_page_by_path" />
<exclude name="WordPressVIPMinimum.Performance.WPQueryParams" />
<exclude name="WordPressVIPMinimum.Variables.RestrictedVariables.user_meta__wpdb__users" />
<!-- @todo maybe add later-->
<exclude name="SlevomatCodingStandard.Functions.DisallowEmptyFunction.EmptyFunction" />
<exclude name="SlevomatCodingStandard.TypeHints" />
</rule>
<!-- Individual rule configuration -->
2019-03-13 12:31:37 -04:00
<rule ref="WordPress.NamingConventions.PrefixAllGlobals">
<exclude-pattern>/tests/</exclude-pattern>
2019-03-13 12:31:37 -04:00
<properties>
<!-- Value: replace the function, class, and variable prefixes used. Separate multiple prefixes with a comma. -->
<property name="prefixes" type="array" value="WPGraphQL\WooCommerce,woographql,WPGRAPHQL_WOOCOMMERCE,WP_GraphQL_WooCommerce,graphql_,wc_graphql_"/>
2019-03-13 12:31:37 -04:00
</properties>
</rule>
<rule ref="WordPress.WP.I18n">
<properties>
<!-- Value: replace the text domain used. -->
<property name="text_domain" type="array" value="graphql-for-ecommerce"/>
2019-03-13 12:31:37 -04:00
</properties>
</rule>
<rule ref="WordPress.WP.Capabilities">
<properties>
<!-- Add 3rd-party and custom capabilities -->
<property name="custom_capabilities" type="array" value="manage_woocommerce,edit_shop_orders" />
</properties>
</rule>
<!-- Rules to exclude for test files -->
<rule ref="PSR2.Methods.MethodDeclaration.Underscore">
<exclude-pattern>/tests/</exclude-pattern>
</rule>
<rule ref="SlevomatCodingStandard.Variables.DuplicateAssignmentToVariable">
<exclude-pattern>/tests/</exclude-pattern>
</rule>
<rule ref="Squiz.Commenting.ClassComment.Missing">
<exclude-pattern>/tests/</exclude-pattern>
</rule>
<rule ref="Squiz.Commenting.FileComment.Missing">
<exclude-pattern>/tests/</exclude-pattern>
</rule>
<rule ref="Squiz.Commenting.FileComment.MissingPackageTag">
<exclude-pattern>/tests/</exclude-pattern>
</rule>
<rule ref="Squiz.Commenting.FunctionComment.Missing">
<exclude-pattern>/tests/</exclude-pattern>
</rule>
<rule ref="Squiz.Commenting.FunctionComment.MissingParamTag">
<exclude-pattern>/tests/</exclude-pattern>
</rule>
<rule ref="Squiz.Commenting.FunctionComment.WrongStyle">
<exclude-pattern>/tests/</exclude-pattern>
</rule>
<rule ref="Squiz.Commenting.InlineComment.InvalidEndChar">
<exclude-pattern>/tests/</exclude-pattern>
</rule>
<rule ref="Squiz.Commenting.VariableComment.Missing">
<exclude-pattern>/tests/</exclude-pattern>
</rule>
<rule ref="Squiz.PHP.CommentedOutCode.Found">
<exclude-pattern>/tests/</exclude-pattern>
</rule>
<rule ref="Squiz.PHP.DisallowMultipleAssignments">
<exclude-pattern>/tests/</exclude-pattern>
</rule>
<rule ref="Universal.NamingConventions.NoReservedKeywordParameterNames">
<exclude-pattern>/tests/</exclude-pattern>
</rule>
<rule ref="WordPress.Files.FileName">
<exclude-pattern>/tests/</exclude-pattern>
</rule>
<rule ref="WordPress.NamingConventions.ValidFunctionName.MethodNameInvalid">
<exclude-pattern>/tests/</exclude-pattern>
</rule>
<rule ref="WordPress.WP.AlternativeFunctions">
<exclude-pattern>/tests/</exclude-pattern>
</rule>
<rule ref="WordPressVIPMinimum.Variables.RestrictedVariables.cache_constraints___SERVER__REMOTE_ADDR__">
<exclude-pattern>/tests/</exclude-pattern>
</rule>
2019-03-13 12:31:37 -04:00
</ruleset>