<?xml version="1.0"?>
<ruleset name="WordPress Coding Standards">
  <description>WooCommerce extension PHP_CodeSniffer ruleset.</description>

  <!-- Exclude paths -->
  <exclude-pattern>tests/</exclude-pattern>
  <exclude-pattern>woo-includes/woo-functions.php</exclude-pattern>
  <exclude-pattern>woo-includes/class-wc-dependencies.php</exclude-pattern>
  <exclude-pattern>*/node_modules/*</exclude-pattern>
  <exclude-pattern>*/vendor/*</exclude-pattern>

  <!-- Configs -->
  <config name="minimum_supported_wp_version" value="5.8" />
  <config name="testVersion" value="7.2-" />

  <!-- Rules -->
  <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="Squiz.Commenting" />
    <exclude name="Squiz.PHP.DisallowSizeFunctionsInLoops.Found" />
    <exclude name="Squiz.WhiteSpace" />
    <exclude name="WordPress.Arrays" />
    <exclude name="WordPress.Files.FileName" />
    <exclude name="WordPress.NamingConventions" />
    <exclude name="WordPress.Security.ValidatedSanitizedInput.MissingUnslash" />
    <exclude name="WordPress.WP.I18n.NonSingularStringLiteralText" />
    <exclude name="WordPress.WhiteSpace" />
  </rule>

  <rule ref="WooCommerce-Core">
    <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>
