mirror of
https://github.com/WordPress/WordPress-Coding-Standards.git
synced 2026-07-27 10:37:02 +08:00
The `WordPress-Docs` ruleset excludes `Squiz.Commenting.VariableComment.TagNotAllowed` to allow tags such tags in class variable docblocks, as used by the WordPress documentation standards. PHPCS 4.0 replaced this single generic error code with a per-tag `[TagName]TagNotAllowed` error code (https://github.com/PHPCSStandards/PHP_CodeSniffer/pull/1039), so the existing exclusion no longer suppresses these warnings when running on PHPCS 4.x. This commit adds exclusions for the new per-tag error codes (`SinceTagNotAllowed`, `LinkTagNotAllowed` and `DeprecatedTagNotAllowed`), while keeping the existing `TagNotAllowed` exclusion for compatibility with PHPCS 3.x.
116 lines
6.1 KiB
XML
116 lines
6.1 KiB
XML
<?xml version="1.0"?>
|
|
<ruleset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="WordPress-Docs" xsi:noNamespaceSchemaLocation="https://schema.phpcodesniffer.com/phpcs.xsd">
|
|
|
|
<description>WordPress Coding Standards for Inline Documentation and Comments</description>
|
|
|
|
<!--
|
|
Handbook: PHP Documentation Standards
|
|
Ref: https://developer.wordpress.org/coding-standards/inline-documentation-standards/php/
|
|
-->
|
|
|
|
<rule ref="Squiz.Commenting">
|
|
<!-- Excluded to allow /* translators: ... */ comments -->
|
|
<exclude name="Squiz.Commenting.BlockComment.SingleLine"/>
|
|
<!-- Sniff seems to require indenting with spaces -->
|
|
<exclude name="Squiz.Commenting.BlockComment.FirstLineIndent"/>
|
|
<!-- Sniff seems to require indenting with spaces -->
|
|
<exclude name="Squiz.Commenting.BlockComment.LineIndent"/>
|
|
<!-- Sniff seems to require indenting with spaces -->
|
|
<exclude name="Squiz.Commenting.BlockComment.LastLineIndent"/>
|
|
<!-- WP requires /** for require() et al. See https://github.com/squizlabs/PHP_CodeSniffer/pull/581 -->
|
|
<exclude name="Squiz.Commenting.BlockComment.WrongStart"/>
|
|
<!-- WP handbook doesn't clarify one way or another, so ignore -->
|
|
<exclude name="Squiz.Commenting.BlockComment.NoEmptyLineAfter"/>
|
|
|
|
<!-- WP prefers indicating @since, @package, @subpackage etc in class comments -->
|
|
<exclude name="Squiz.Commenting.ClassComment.TagNotAllowed"/>
|
|
|
|
<!-- WP doesn't require //end ... for classes and functions -->
|
|
<exclude name="Squiz.Commenting.ClosingDeclarationComment.Missing"/>
|
|
|
|
<!-- Excluded to allow param documentation for arrays -->
|
|
<exclude name="Squiz.Commenting.DocCommentAlignment.SpaceAfterStar"/>
|
|
|
|
<!-- WP doesn't require a @author value for Squiz -->
|
|
<exclude name="Squiz.Commenting.FileComment.IncorrectAuthor"/>
|
|
<!-- WP doesn't require a @copyright value for Squiz -->
|
|
<exclude name="Squiz.Commenting.FileComment.IncorrectCopyright"/>
|
|
<!-- WP doesn't require @author tags -->
|
|
<exclude name="Squiz.Commenting.FileComment.MissingAuthorTag"/>
|
|
<!-- WP doesn't require @subpackage tags -->
|
|
<exclude name="Squiz.Commenting.FileComment.MissingSubpackageTag"/>
|
|
<!-- WP doesn't require @copyright tags -->
|
|
<exclude name="Squiz.Commenting.FileComment.MissingCopyrightTag"/>
|
|
<!-- WP has a different preferred order of tags -->
|
|
<exclude name="Squiz.Commenting.FileComment.PackageTagOrder"/>
|
|
<!-- WP has a different preferred order of tags -->
|
|
<exclude name="Squiz.Commenting.FileComment.SubpackageTagOrder"/>
|
|
<!-- WP has a different preferred order of tags -->
|
|
<exclude name="Squiz.Commenting.FileComment.AuthorTagOrder"/>
|
|
<!-- WP has a different preferred order of tags -->
|
|
<exclude name="Squiz.Commenting.FileComment.CopyrightTagOrder"/>
|
|
|
|
<!-- WP prefers int and bool instead of integer and boolean -->
|
|
<exclude name="Squiz.Commenting.FunctionComment.IncorrectParamVarName"/>
|
|
<!-- WP prefers int and bool instead of integer and boolean -->
|
|
<exclude name="Squiz.Commenting.FunctionComment.InvalidReturn"/>
|
|
<!-- WP prefers indicating a @return null for early returns -->
|
|
<exclude name="Squiz.Commenting.FunctionComment.InvalidReturnNotVoid"/>
|
|
<!-- WP states not all functions require @return -->
|
|
<exclude name="Squiz.Commenting.FunctionComment.MissingReturn"/>
|
|
<!-- Excluded to allow param documentation for arrays -->
|
|
<exclude name="Squiz.Commenting.FunctionComment.ParamCommentNotCapital"/>
|
|
<!-- Excluded to allow param documentation for arrays -->
|
|
<exclude name="Squiz.Commenting.FunctionComment.SpacingAfterParamName"/>
|
|
<!-- It is too early for PHP7 features to be required -->
|
|
<exclude name="Squiz.Commenting.FunctionComment.ScalarTypeHintMissing"/>
|
|
<!-- WP doesn't require type hints -->
|
|
<exclude name="Squiz.Commenting.FunctionComment.TypeHintMissing"/>
|
|
|
|
<!-- Exclude to allow duplicate hooks to be documented -->
|
|
<exclude name="Squiz.Commenting.InlineComment.DocBlock"/>
|
|
<!-- Excluded to allow /* translators: ... */ comments -->
|
|
<exclude name="Squiz.Commenting.InlineComment.NotCapital"/>
|
|
<!-- WP handbook doesn't clarify one way or another, so ignore -->
|
|
<exclude name="Squiz.Commenting.InlineComment.SpacingAfter"/>
|
|
|
|
<!-- Not in Inline Docs standard, and a code smell -->
|
|
<exclude name="Squiz.Commenting.LongConditionClosingComment"/>
|
|
|
|
<!-- Not in Inline Docs standard, and needed to bypass WPCS checks -->
|
|
<exclude name="Squiz.Commenting.PostStatementComment"/>
|
|
|
|
<!-- WP prefers int and bool instead of integer and boolean -->
|
|
<exclude name="Squiz.Commenting.VariableComment.IncorrectVarType"/>
|
|
|
|
<!-- WP demands a @since tag for class variables -->
|
|
<!-- PHPCS 3.x uses a single genereci TagNotAllowed error code. -->
|
|
<exclude name="Squiz.Commenting.VariableComment.TagNotAllowed"/>
|
|
<!-- PHPCS 4.x split the generic TagNotAllowed error code into per-tag [TagName]TagNotAllowed codes. -->
|
|
<exclude name="Squiz.Commenting.VariableComment.SinceTagNotAllowed"/>
|
|
|
|
<exclude name="Squiz.Commenting.VariableComment.LinkTagNotAllowed"/>
|
|
<exclude name="Squiz.Commenting.VariableComment.DeprecatedTagNotAllowed"/>
|
|
<!-- WP prefers @since first -->
|
|
<exclude name="Squiz.Commenting.VariableComment.VarOrder"/>
|
|
</rule>
|
|
|
|
<rule ref="Generic.Commenting.DocComment">
|
|
<!-- WP has different alignment of tag values -->
|
|
<exclude name="Generic.Commenting.DocComment.TagValueIndent"/>
|
|
<!-- WP has a different preferred order of tags -->
|
|
<exclude name="Generic.Commenting.DocComment.ParamNotFirst"/>
|
|
<!-- Excluded to allow param documentation for arrays -->
|
|
<exclude name="Generic.Commenting.DocComment.ParamGroup"/>
|
|
<!-- WP prefers no empty line between @param tags and @return -->
|
|
<exclude name="Generic.Commenting.DocComment.NonParamGroup"/>
|
|
<!-- Excluded to allow param documentation for arrays -->
|
|
<exclude name="Generic.Commenting.DocComment.TagsNotGrouped"/>
|
|
<!-- Exclude to allow duplicate hooks to be documented -->
|
|
<exclude name="Generic.Commenting.DocComment.ContentAfterOpen"/>
|
|
<!-- Exclude to allow duplicate hooks to be documented -->
|
|
<exclude name="Generic.Commenting.DocComment.SpacingBeforeShort"/>
|
|
<!-- Exclude to allow duplicate hooks to be documented -->
|
|
<exclude name="Generic.Commenting.DocComment.ContentBeforeClose"/>
|
|
</rule>
|
|
</ruleset>
|