<?xml version="1.0"?>
<ruleset name="WordPress Coding Standards">
	<description>WooCommerce extension PHP_CodeSniffer ruleset.</description>

	<exclude-pattern>tests/</exclude-pattern>
	<exclude-pattern>*/node_modules/*</exclude-pattern>
	<exclude-pattern>*/vendor/*</exclude-pattern>
	<exclude-pattern>*/seeds/*</exclude-pattern>

	<!-- <config name="minimum_supported_wp_version" value="4.7" /> -->
    <config name="minimum_supported_php_version" value="7.1" />
	<!-- Rules: Check PHP version compatibility -->
	<!-- https://github.com/PHPCompatibility/PHPCompatibility#sniffing-your-code-for-compatibility-with-specific-php-versions -->
	<config name="testVersion" value="7.1-" />
	<!-- https://github.com/PHPCompatibility/PHPCompatibilityWP -->
	<rule ref="PHPCompatibilityWP"/>

	<rule ref="WordPress-Extra">
		<exclude name="Generic.Commenting.DocComment.SpacingAfter" />
		<exclude name="Generic.Files.LineEndings.InvalidEOLChar" />
		<exclude name="Generic.Functions.FunctionCallArgumentSpacing.SpaceBeforeComma" />
		<!-- <exclude name="PEAR.Functions.FunctionCallSignature" /> -->
		<exclude name="WordPress.NamingConventions" />
		<exclude name="Squiz.Commenting" />
		<exclude name="Squiz.PHP.DisallowSizeFunctionsInLoops.Found" />
		<exclude name="Squiz.WhiteSpace" />
		<exclude name="WordPress.Files.FileName" />
		<exclude name="WordPress.Security.ValidatedSanitizedInput.MissingUnslash" />
		<exclude name="WordPress.WP.I18n.NonSingularStringLiteralText" />
	</rule>

	<rule ref="WordPress.Security.ValidatedSanitizedInput">
		<type>error</type>
	</rule>

	<rule ref="WordPress.Security.NonceVerification">
		<type>error</type>
	</rule>

	<rule ref="WordPress.PHP.StrictComparisons.LooseComparison">
		<type>error</type>
	</rule>

	<rule ref="WooCommerce-Core">
		<rule ref="Generic.Commenting.DocComment.MissingShort">
			<type>error</type>
		</rule>
		<exclude name="Core.Commenting.CommentTags.AuthorTag" />
		<exclude name="WordPress.PHP.DontExtract" />
		<exclude name="Generic.Arrays.DisallowShortArraySyntax" />
		<exclude name="Generic.WhiteSpace.ScopeIndent.Incorrect" />
	</rule>

	<rule ref="PHPCompatibility">
		<exclude-pattern>tests/</exclude-pattern>
	</rule>
</ruleset>

