<?xml version="1.0"?>
<ruleset name="WordPress.GPLVault">
  <description>GPLVault Coding Standard</description>

  <arg name="extensions" value="php"/>
  <file>.</file>

  <!-- Show progress, show the error codes for each message (source). -->
  <arg value="ps" />

  <!-- Strip the filepaths in reports down to the relevant bit. -->
  <arg name="basepath" value="./" />

  <!-- Check up to 8 files simultaneously. -->
  <arg name="parallel" value="8" />

  <!-- Configs -->
  <config name="minimum_supported_wp_version" value="5.2" />
  <config name="testVersion" value="7.0-" />

  <!-- Excluded Directory and Files patterns -->
  <exclude-pattern>*/vendor/*</exclude-pattern>
  <exclude-pattern>build/</exclude-pattern>
  <exclude-pattern>languages/</exclude-pattern>
  <exclude-pattern>node_modules/</exclude-pattern>
  <exclude-pattern>static/images/</exclude-pattern>
  <exclude-pattern>static/scripts/</exclude-pattern>
  <exclude-pattern>static/styles/</exclude-pattern>
  <exclude-pattern>tests/*.php</exclude-pattern>
  <exclude-pattern>*.html</exclude-pattern>

  <!-- Rule -->
  <rule ref="WordPress-Extra">
    <exclude name="PSR2.Methods.MethodDeclaration.Underscore" />
    <exclude name="WordPress.WP.I18n.MissingTranslatorsComment" />
    <exclude name="WordPress.WP.I18n.NonSingularStringLiteralSingle" />
    <exclude name="WordPress.WP.I18n.NonSingularStringLiteralPlural" />
    <exclude name="WordPress.Files.FileName.InvalidClassFileName" />
    <exclude name="WordPress.Files.FileName.NotHyphenatedLowercase" />
<!--    <exclude name="WordPress.Security.EscapeOutput.OutputNotEscaped" />-->
    <exclude name="WordPress.NamingConventions.ValidVariableName.PropertyNotSnakeCase" />
    <exclude name="WordPress.NamingConventions.ValidVariableName.UsedPropertyNotSnakeCase" />
    <exclude name="WordPress.NamingConventions.ValidFunctionName.MethodNameInvalid" />
  </rule>

  <rule ref="WordPress.NamingConventions.ValidHookName">
    <properties>
      <property name="additionalWordDelimiters" value="/-." />
    </properties>
  </rule>

  <rule ref="WordPress.WP.I18n">
    <properties>
      <property name="text_domain" type="array" value="gplvault" />
    </properties>
  </rule>

  <rule ref="WordPress.Files.FileName">
    <properties>
      <property name="strict_class_file_names" value="false" />
    </properties>
  </rule>

</ruleset>