<?xml version="1.0"?>
<ruleset name="AffiliateX WordPress Coding Standards">
	<description>WordPress Coding Standards for AffiliateX Plugin</description>

	<file>.</file>
	<exclude-pattern>/vendor/</exclude-pattern>
	<exclude-pattern>/node_modules/</exclude-pattern>
	<exclude-pattern>/build/</exclude-pattern>
	<exclude-pattern>/pro/build/</exclude-pattern>
	<exclude-pattern>/assets/</exclude-pattern>
	<exclude-pattern>/pro/assets/</exclude-pattern>
	<exclude-pattern>/languages/</exclude-pattern>
	<exclude-pattern>/pro/languages/</exclude-pattern>
	<exclude-pattern>/tests/</exclude-pattern>
	<exclude-pattern>/pro/tests/</exclude-pattern>
	<exclude-pattern>/bin/</exclude-pattern>
	<exclude-pattern>/pro/bin/</exclude-pattern>
	<exclude-pattern>/scripts/</exclude-pattern>
	<exclude-pattern>*.min.js</exclude-pattern>
	<exclude-pattern>*.min.css</exclude-pattern>
	<exclude-pattern>/src/</exclude-pattern>
	<exclude-pattern>/pro/src/</exclude-pattern>
	<exclude-pattern>/webpack.config.js</exclude-pattern>

	<arg value="sp"/> 
	<arg name="basepath" value="./"/>
	<arg name="colors"/>
	<arg name="extensions" value="php"/>
	<arg name="parallel" value="8"/>

	<config name="minimum_supported_wp_version" value="5.8"/>
	<config name="text_domain" value="affiliatex,affiliatex-pro"/>

	<rule ref="WordPress">
		<exclude name="WordPress.Files.FileName"/>
		<exclude name="WordPress.NamingConventions.ValidVariableName.VariableNotSnakeCase"/>
		<exclude name="WordPress.NamingConventions.ValidVariableName.InterpolatedVariableNotSnakeCase"/>
		<exclude name="Squiz.Commenting.FileComment.Missing"/>
		<exclude name="WordPress.PHP.YodaConditions.NotYoda"/>
		<exclude name="WordPress.PHP.DontExtract.extract_extract"/>
		<exclude name="PEAR.NamingConventions.ValidClassName.Invalid"/>
		<exclude name="Universal.NamingConventions.NoReservedKeywordParameterNames"/>
		<exclude name="WordPress.WP.I18n.MissingTranslatorsComment"/>
		<exclude name="Generic.Files.LineEndings.InvalidEOLChar"/>
	</rule>

	<rule ref="WordPress-Extra"/>

	<rule ref="WordPress-Docs">
		<exclude name="Squiz.Commenting.FunctionComment.MissingParamTag"/>
		<exclude name="Squiz.Commenting.FunctionComment.ParamCommentFullStop"/>
		<exclude name="Squiz.Commenting.FunctionComment.SpacingAfterParamType"/>
		<exclude name="Squiz.Commenting.FunctionComment.SpacingAfterParamName"/>
		<exclude name="Squiz.Commenting.FunctionComment.MissingParamComment"/>
		<exclude name="Squiz.Commenting.FunctionComment.Missing"/>
		<exclude name="Squiz.Commenting.InlineComment.InvalidEndChar"/>
		<exclude name="Squiz.Commenting.ClassComment.SpacingAfter"/>
	</rule>

	<rule ref="Generic.Functions.OpeningFunctionBraceKernighanRitchie"/>
	<rule ref="Generic.Classes.OpeningBraceSameLine"/>
	<rule ref="WordPress.Security.EscapeOutput"/>
</ruleset>