sdc-build-wp 4.1.0 → 4.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (296) hide show
  1. package/composer.json +2 -3
  2. package/composer.lock +3 -313
  3. package/index.js +38 -21
  4. package/lib/blocks.js +8 -6
  5. package/lib/style.js +17 -0
  6. package/package.json +1 -1
  7. package/vendor/composer/autoload_classmap.php +0 -37
  8. package/vendor/composer/autoload_psr4.php +0 -1
  9. package/vendor/composer/autoload_real.php +2 -0
  10. package/vendor/composer/autoload_static.php +0 -53
  11. package/vendor/composer/installed.json +1 -329
  12. package/vendor/composer/installed.php +3 -39
  13. package/vendor/composer/platform_check.php +26 -0
  14. package/lib/bustCache.js +0 -14
  15. package/vendor/dealerdirect/phpcodesniffer-composer-installer/LICENSE.md +0 -22
  16. package/vendor/dealerdirect/phpcodesniffer-composer-installer/README.md +0 -285
  17. package/vendor/dealerdirect/phpcodesniffer-composer-installer/composer.json +0 -71
  18. package/vendor/dealerdirect/phpcodesniffer-composer-installer/src/Plugin.php +0 -637
  19. package/vendor/phpcsstandards/phpcsextra/CHANGELOG.md +0 -590
  20. package/vendor/phpcsstandards/phpcsextra/LICENSE +0 -165
  21. package/vendor/phpcsstandards/phpcsextra/Modernize/Docs/FunctionCalls/DirnameStandard.xml +0 -40
  22. package/vendor/phpcsstandards/phpcsextra/Modernize/Sniffs/FunctionCalls/DirnameSniff.php +0 -382
  23. package/vendor/phpcsstandards/phpcsextra/Modernize/ruleset.xml +0 -5
  24. package/vendor/phpcsstandards/phpcsextra/NormalizedArrays/Docs/Arrays/ArrayBraceSpacingStandard.xml +0 -94
  25. package/vendor/phpcsstandards/phpcsextra/NormalizedArrays/Docs/Arrays/CommaAfterLastStandard.xml +0 -43
  26. package/vendor/phpcsstandards/phpcsextra/NormalizedArrays/Sniffs/Arrays/ArrayBraceSpacingSniff.php +0 -305
  27. package/vendor/phpcsstandards/phpcsextra/NormalizedArrays/Sniffs/Arrays/CommaAfterLastSniff.php +0 -226
  28. package/vendor/phpcsstandards/phpcsextra/NormalizedArrays/ruleset.xml +0 -5
  29. package/vendor/phpcsstandards/phpcsextra/README.md +0 -573
  30. package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Arrays/DisallowShortArraySyntaxStandard.xml +0 -27
  31. package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Arrays/DuplicateArrayKeyStandard.xml +0 -44
  32. package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Arrays/MixedArrayKeyTypesStandard.xml +0 -40
  33. package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Arrays/MixedKeyedUnkeyedArrayStandard.xml +0 -31
  34. package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Classes/DisallowAnonClassParenthesesStandard.xml +0 -24
  35. package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Classes/DisallowFinalClassStandard.xml +0 -25
  36. package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Classes/ModifierKeywordOrderStandard.xml +0 -27
  37. package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Classes/RequireAnonClassParenthesesStandard.xml +0 -23
  38. package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Classes/RequireFinalClassStandard.xml +0 -25
  39. package/vendor/phpcsstandards/phpcsextra/Universal/Docs/CodeAnalysis/ConstructorDestructorReturnStandard.xml +0 -64
  40. package/vendor/phpcsstandards/phpcsextra/Universal/Docs/CodeAnalysis/ForeachUniqueAssignmentStandard.xml +0 -26
  41. package/vendor/phpcsstandards/phpcsextra/Universal/Docs/CodeAnalysis/NoDoubleNegativeStandard.xml +0 -27
  42. package/vendor/phpcsstandards/phpcsextra/Universal/Docs/CodeAnalysis/NoEchoSprintfStandard.xml +0 -25
  43. package/vendor/phpcsstandards/phpcsextra/Universal/Docs/CodeAnalysis/StaticInFinalClassStandard.xml +0 -43
  44. package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Constants/LowercaseClassResolutionKeywordStandard.xml +0 -23
  45. package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Constants/ModifierKeywordOrderStandard.xml +0 -30
  46. package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Constants/UppercaseMagicConstantsStandard.xml +0 -25
  47. package/vendor/phpcsstandards/phpcsextra/Universal/Docs/ControlStructures/DisallowAlternativeSyntaxStandard.xml +0 -35
  48. package/vendor/phpcsstandards/phpcsextra/Universal/Docs/ControlStructures/DisallowLonelyIfStandard.xml +0 -49
  49. package/vendor/phpcsstandards/phpcsextra/Universal/Docs/ControlStructures/IfElseDeclarationStandard.xml +0 -37
  50. package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Files/SeparateFunctionsFromOOStandard.xml +0 -45
  51. package/vendor/phpcsstandards/phpcsextra/Universal/Docs/FunctionDeclarations/NoLongClosuresStandard.xml +0 -42
  52. package/vendor/phpcsstandards/phpcsextra/Universal/Docs/FunctionDeclarations/RequireFinalMethodsInTraitsStandard.xml +0 -33
  53. package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Lists/DisallowLongListSyntaxStandard.xml +0 -23
  54. package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Lists/DisallowShortListSyntaxStandard.xml +0 -23
  55. package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Namespaces/DisallowCurlyBraceSyntaxStandard.xml +0 -27
  56. package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Namespaces/DisallowDeclarationWithoutNameStandard.xml +0 -25
  57. package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Namespaces/EnforceCurlyBraceSyntaxStandard.xml +0 -27
  58. package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Namespaces/OneDeclarationPerFileStandard.xml +0 -27
  59. package/vendor/phpcsstandards/phpcsextra/Universal/Docs/NamingConventions/NoReservedKeywordParameterNamesStandard.xml +0 -23
  60. package/vendor/phpcsstandards/phpcsextra/Universal/Docs/OOStructures/AlphabeticExtendsImplementsStandard.xml +0 -27
  61. package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Operators/ConcatPositionStandard.xml +0 -31
  62. package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Operators/DisallowLogicalAndOrStandard.xml +0 -30
  63. package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Operators/DisallowShortTernaryStandard.xml +0 -26
  64. package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Operators/DisallowStandalonePostIncrementDecrementStandard.xml +0 -44
  65. package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Operators/StrictComparisonsStandard.xml +0 -29
  66. package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Operators/TypeSeparatorSpacingStandard.xml +0 -33
  67. package/vendor/phpcsstandards/phpcsextra/Universal/Docs/PHP/LowercasePHPTagStandard.xml +0 -25
  68. package/vendor/phpcsstandards/phpcsextra/Universal/Docs/PHP/OneStatementInShortEchoTagStandard.xml +0 -41
  69. package/vendor/phpcsstandards/phpcsextra/Universal/Docs/UseStatements/DisallowMixedGroupUseStandard.xml +0 -39
  70. package/vendor/phpcsstandards/phpcsextra/Universal/Docs/UseStatements/DisallowUseClassStandard.xml +0 -25
  71. package/vendor/phpcsstandards/phpcsextra/Universal/Docs/UseStatements/DisallowUseConstStandard.xml +0 -25
  72. package/vendor/phpcsstandards/phpcsextra/Universal/Docs/UseStatements/DisallowUseFunctionStandard.xml +0 -25
  73. package/vendor/phpcsstandards/phpcsextra/Universal/Docs/UseStatements/KeywordSpacingStandard.xml +0 -29
  74. package/vendor/phpcsstandards/phpcsextra/Universal/Docs/UseStatements/LowercaseFunctionConstStandard.xml +0 -25
  75. package/vendor/phpcsstandards/phpcsextra/Universal/Docs/UseStatements/NoLeadingBackslashStandard.xml +0 -23
  76. package/vendor/phpcsstandards/phpcsextra/Universal/Docs/UseStatements/NoUselessAliasesStandard.xml +0 -30
  77. package/vendor/phpcsstandards/phpcsextra/Universal/Docs/WhiteSpace/AnonClassKeywordSpacingStandard.xml +0 -31
  78. package/vendor/phpcsstandards/phpcsextra/Universal/Docs/WhiteSpace/CommaSpacingStandard.xml +0 -94
  79. package/vendor/phpcsstandards/phpcsextra/Universal/Docs/WhiteSpace/DisallowInlineTabsStandard.xml +0 -25
  80. package/vendor/phpcsstandards/phpcsextra/Universal/Docs/WhiteSpace/PrecisionAlignmentStandard.xml +0 -29
  81. package/vendor/phpcsstandards/phpcsextra/Universal/Helpers/DummyTokenizer.php +0 -60
  82. package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Arrays/DisallowShortArraySyntaxSniff.php +0 -89
  83. package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Arrays/DuplicateArrayKeySniff.php +0 -297
  84. package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Arrays/MixedArrayKeyTypesSniff.php +0 -174
  85. package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Arrays/MixedKeyedUnkeyedArraySniff.php +0 -134
  86. package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Classes/DisallowAnonClassParenthesesSniff.php +0 -112
  87. package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Classes/DisallowFinalClassSniff.php +0 -116
  88. package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Classes/ModifierKeywordOrderSniff.php +0 -188
  89. package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Classes/RequireAnonClassParenthesesSniff.php +0 -81
  90. package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Classes/RequireFinalClassSniff.php +0 -102
  91. package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/CodeAnalysis/ConstructorDestructorReturnSniff.php +0 -211
  92. package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/CodeAnalysis/ForeachUniqueAssignmentSniff.php +0 -153
  93. package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/CodeAnalysis/NoDoubleNegativeSniff.php +0 -269
  94. package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/CodeAnalysis/NoEchoSprintfSniff.php +0 -131
  95. package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/CodeAnalysis/StaticInFinalClassSniff.php +0 -216
  96. package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Constants/LowercaseClassResolutionKeywordSniff.php +0 -106
  97. package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Constants/ModifierKeywordOrderSniff.php +0 -199
  98. package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Constants/UppercaseMagicConstantsSniff.php +0 -89
  99. package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/ControlStructures/DisallowAlternativeSyntaxSniff.php +0 -216
  100. package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/ControlStructures/DisallowLonelyIfSniff.php +0 -348
  101. package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/ControlStructures/IfElseDeclarationSniff.php +0 -164
  102. package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Files/SeparateFunctionsFromOOSniff.php +0 -190
  103. package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/FunctionDeclarations/NoLongClosuresSniff.php +0 -233
  104. package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/FunctionDeclarations/RequireFinalMethodsInTraitsSniff.php +0 -120
  105. package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Lists/DisallowLongListSyntaxSniff.php +0 -71
  106. package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Lists/DisallowShortListSyntaxSniff.php +0 -86
  107. package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Namespaces/DisallowCurlyBraceSyntaxSniff.php +0 -81
  108. package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Namespaces/DisallowDeclarationWithoutNameSniff.php +0 -80
  109. package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Namespaces/EnforceCurlyBraceSyntaxSniff.php +0 -81
  110. package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Namespaces/OneDeclarationPerFileSniff.php +0 -96
  111. package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/NamingConventions/NoReservedKeywordParameterNamesSniff.php +0 -190
  112. package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/OOStructures/AlphabeticExtendsImplementsSniff.php +0 -275
  113. package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Operators/ConcatPositionSniff.php +0 -204
  114. package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Operators/DisallowLogicalAndOrSniff.php +0 -112
  115. package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Operators/DisallowShortTernarySniff.php +0 -76
  116. package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Operators/DisallowStandalonePostIncrementDecrementSniff.php +0 -197
  117. package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Operators/StrictComparisonsSniff.php +0 -116
  118. package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Operators/TypeSeparatorSpacingSniff.php +0 -85
  119. package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/PHP/LowercasePHPTagSniff.php +0 -87
  120. package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/PHP/OneStatementInShortEchoTagSniff.php +0 -101
  121. package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/UseStatements/DisallowMixedGroupUseSniff.php +0 -248
  122. package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/UseStatements/DisallowUseClassSniff.php +0 -211
  123. package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/UseStatements/DisallowUseConstSniff.php +0 -211
  124. package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/UseStatements/DisallowUseFunctionSniff.php +0 -211
  125. package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/UseStatements/KeywordSpacingSniff.php +0 -207
  126. package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/UseStatements/LowercaseFunctionConstSniff.php +0 -156
  127. package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/UseStatements/NoLeadingBackslashSniff.php +0 -170
  128. package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/UseStatements/NoUselessAliasesSniff.php +0 -155
  129. package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/WhiteSpace/AnonClassKeywordSpacingSniff.php +0 -79
  130. package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/WhiteSpace/CommaSpacingSniff.php +0 -408
  131. package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/WhiteSpace/DisallowInlineTabsSniff.php +0 -173
  132. package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/WhiteSpace/PrecisionAlignmentSniff.php +0 -445
  133. package/vendor/phpcsstandards/phpcsextra/Universal/ruleset.xml +0 -5
  134. package/vendor/phpcsstandards/phpcsextra/composer.json +0 -69
  135. package/vendor/phpcsstandards/phpcsutils/.phpdoc.xml.dist +0 -36
  136. package/vendor/phpcsstandards/phpcsutils/CHANGELOG.md +0 -1106
  137. package/vendor/phpcsstandards/phpcsutils/LICENSE +0 -165
  138. package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/AbstractSniffs/AbstractArrayDeclarationSniff.php +0 -551
  139. package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/BackCompat/BCFile.php +0 -781
  140. package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/BackCompat/BCTokens.php +0 -123
  141. package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/BackCompat/Helper.php +0 -202
  142. package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Exceptions/InvalidTokenArray.php +0 -44
  143. package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Exceptions/TestFileNotFound.php +0 -47
  144. package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Exceptions/TestMarkerNotFound.php +0 -43
  145. package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Exceptions/TestTargetNotFound.php +0 -50
  146. package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Fixers/SpacesFixer.php +0 -246
  147. package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Internal/Cache.php +0 -218
  148. package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Internal/IsShortArrayOrList.php +0 -687
  149. package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Internal/IsShortArrayOrListWithCache.php +0 -269
  150. package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Internal/NoFileCache.php +0 -164
  151. package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Internal/StableCollections.php +0 -75
  152. package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/TestUtils/UtilityMethodTestCase.php +0 -459
  153. package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Tokens/Collections.php +0 -837
  154. package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Tokens/TokenHelper.php +0 -55
  155. package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Utils/Arrays.php +0 -227
  156. package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Utils/Conditions.php +0 -156
  157. package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Utils/Context.php +0 -232
  158. package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Utils/ControlStructures.php +0 -276
  159. package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Utils/FunctionDeclarations.php +0 -828
  160. package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Utils/GetTokensAsString.php +0 -262
  161. package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Utils/Lists.php +0 -359
  162. package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Utils/MessageHelper.php +0 -145
  163. package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Utils/Namespaces.php +0 -389
  164. package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Utils/NamingConventions.php +0 -116
  165. package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Utils/Numbers.php +0 -322
  166. package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Utils/ObjectDeclarations.php +0 -359
  167. package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Utils/Operators.php +0 -252
  168. package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Utils/Orthography.php +0 -120
  169. package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Utils/Parentheses.php +0 -419
  170. package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Utils/PassedParameters.php +0 -510
  171. package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Utils/Scopes.php +0 -143
  172. package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Utils/TextStrings.php +0 -331
  173. package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Utils/UseStatements.php +0 -432
  174. package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Utils/Variables.php +0 -333
  175. package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/ruleset.xml +0 -4
  176. package/vendor/phpcsstandards/phpcsutils/README.md +0 -297
  177. package/vendor/phpcsstandards/phpcsutils/composer.json +0 -92
  178. package/vendor/phpcsstandards/phpcsutils/phpcsutils-autoload.php +0 -68
  179. package/vendor/wp-coding-standards/wpcs/CHANGELOG.md +0 -1654
  180. package/vendor/wp-coding-standards/wpcs/LICENSE +0 -21
  181. package/vendor/wp-coding-standards/wpcs/README.md +0 -261
  182. package/vendor/wp-coding-standards/wpcs/WordPress/AbstractArrayAssignmentRestrictionsSniff.php +0 -261
  183. package/vendor/wp-coding-standards/wpcs/WordPress/AbstractClassRestrictionsSniff.php +0 -257
  184. package/vendor/wp-coding-standards/wpcs/WordPress/AbstractFunctionParameterSniff.php +0 -111
  185. package/vendor/wp-coding-standards/wpcs/WordPress/AbstractFunctionRestrictionsSniff.php +0 -358
  186. package/vendor/wp-coding-standards/wpcs/WordPress/Docs/Arrays/ArrayIndentationStandard.xml +0 -116
  187. package/vendor/wp-coding-standards/wpcs/WordPress/Docs/Arrays/ArrayKeySpacingRestrictionsStandard.xml +0 -31
  188. package/vendor/wp-coding-standards/wpcs/WordPress/Docs/Arrays/MultipleStatementAlignmentStandard.xml +0 -50
  189. package/vendor/wp-coding-standards/wpcs/WordPress/Docs/CodeAnalysis/EscapedNotTranslatedStandard.xml +0 -24
  190. package/vendor/wp-coding-standards/wpcs/WordPress/Docs/DateTime/CurrentTimeTimestampStandard.xml +0 -35
  191. package/vendor/wp-coding-standards/wpcs/WordPress/Docs/DateTime/RestrictedFunctionsStandard.xml +0 -54
  192. package/vendor/wp-coding-standards/wpcs/WordPress/Docs/NamingConventions/PrefixAllGlobalsStandard.xml +0 -119
  193. package/vendor/wp-coding-standards/wpcs/WordPress/Docs/NamingConventions/ValidHookNameStandard.xml +0 -35
  194. package/vendor/wp-coding-standards/wpcs/WordPress/Docs/NamingConventions/ValidPostTypeSlugStandard.xml +0 -121
  195. package/vendor/wp-coding-standards/wpcs/WordPress/Docs/PHP/IniSetStandard.xml +0 -40
  196. package/vendor/wp-coding-standards/wpcs/WordPress/Docs/PHP/StrictInArrayStandard.xml +0 -53
  197. package/vendor/wp-coding-standards/wpcs/WordPress/Docs/PHP/YodaConditionsStandard.xml +0 -27
  198. package/vendor/wp-coding-standards/wpcs/WordPress/Docs/Security/SafeRedirectStandard.xml +0 -23
  199. package/vendor/wp-coding-standards/wpcs/WordPress/Docs/WP/CapabilitiesStandard.xml +0 -69
  200. package/vendor/wp-coding-standards/wpcs/WordPress/Docs/WP/CapitalPDangitStandard.xml +0 -43
  201. package/vendor/wp-coding-standards/wpcs/WordPress/Docs/WP/ClassNameCaseStandard.xml +0 -23
  202. package/vendor/wp-coding-standards/wpcs/WordPress/Docs/WP/CronIntervalStandard.xml +0 -45
  203. package/vendor/wp-coding-standards/wpcs/WordPress/Docs/WP/DeprecatedClassesStandard.xml +0 -23
  204. package/vendor/wp-coding-standards/wpcs/WordPress/Docs/WP/DeprecatedFunctionsStandard.xml +0 -23
  205. package/vendor/wp-coding-standards/wpcs/WordPress/Docs/WP/DeprecatedParameterValuesStandard.xml +0 -23
  206. package/vendor/wp-coding-standards/wpcs/WordPress/Docs/WP/DeprecatedParametersStandard.xml +0 -40
  207. package/vendor/wp-coding-standards/wpcs/WordPress/Docs/WP/EnqueuedResourceParametersStandard.xml +0 -92
  208. package/vendor/wp-coding-standards/wpcs/WordPress/Docs/WP/EnqueuedResourcesStandard.xml +0 -57
  209. package/vendor/wp-coding-standards/wpcs/WordPress/Docs/WP/PostsPerPageStandard.xml +0 -73
  210. package/vendor/wp-coding-standards/wpcs/WordPress/Docs/WhiteSpace/CastStructureSpacingStandard.xml +0 -27
  211. package/vendor/wp-coding-standards/wpcs/WordPress/Docs/WhiteSpace/ControlStructureSpacingStandard.xml +0 -150
  212. package/vendor/wp-coding-standards/wpcs/WordPress/Docs/WhiteSpace/ObjectOperatorSpacingStandard.xml +0 -19
  213. package/vendor/wp-coding-standards/wpcs/WordPress/Docs/WhiteSpace/OperatorSpacingStandard.xml +0 -61
  214. package/vendor/wp-coding-standards/wpcs/WordPress/Helpers/ArrayWalkingFunctionsHelper.php +0 -108
  215. package/vendor/wp-coding-standards/wpcs/WordPress/Helpers/ConstantsHelper.php +0 -135
  216. package/vendor/wp-coding-standards/wpcs/WordPress/Helpers/ContextHelper.php +0 -394
  217. package/vendor/wp-coding-standards/wpcs/WordPress/Helpers/DeprecationHelper.php +0 -84
  218. package/vendor/wp-coding-standards/wpcs/WordPress/Helpers/EscapingFunctionsTrait.php +0 -256
  219. package/vendor/wp-coding-standards/wpcs/WordPress/Helpers/FormattingFunctionsHelper.php +0 -60
  220. package/vendor/wp-coding-standards/wpcs/WordPress/Helpers/IsUnitTestTrait.php +0 -238
  221. package/vendor/wp-coding-standards/wpcs/WordPress/Helpers/ListHelper.php +0 -101
  222. package/vendor/wp-coding-standards/wpcs/WordPress/Helpers/MinimumWPVersionTrait.php +0 -159
  223. package/vendor/wp-coding-standards/wpcs/WordPress/Helpers/PrintingFunctionsTrait.php +0 -122
  224. package/vendor/wp-coding-standards/wpcs/WordPress/Helpers/RulesetPropertyHelper.php +0 -73
  225. package/vendor/wp-coding-standards/wpcs/WordPress/Helpers/SanitizationHelperTrait.php +0 -418
  226. package/vendor/wp-coding-standards/wpcs/WordPress/Helpers/SnakeCaseHelper.php +0 -60
  227. package/vendor/wp-coding-standards/wpcs/WordPress/Helpers/UnslashingFunctionsHelper.php +0 -59
  228. package/vendor/wp-coding-standards/wpcs/WordPress/Helpers/ValidationHelper.php +0 -349
  229. package/vendor/wp-coding-standards/wpcs/WordPress/Helpers/VariableHelper.php +0 -262
  230. package/vendor/wp-coding-standards/wpcs/WordPress/Helpers/WPDBTrait.php +0 -115
  231. package/vendor/wp-coding-standards/wpcs/WordPress/Helpers/WPGlobalVariablesHelper.php +0 -312
  232. package/vendor/wp-coding-standards/wpcs/WordPress/Helpers/WPHookHelper.php +0 -113
  233. package/vendor/wp-coding-standards/wpcs/WordPress/Sniff.php +0 -72
  234. package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/Arrays/ArrayDeclarationSpacingSniff.php +0 -252
  235. package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/Arrays/ArrayIndentationSniff.php +0 -550
  236. package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/Arrays/ArrayKeySpacingRestrictionsSniff.php +0 -174
  237. package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/Arrays/MultipleStatementAlignmentSniff.php +0 -583
  238. package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/CodeAnalysis/AssignmentInTernaryConditionSniff.php +0 -173
  239. package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/CodeAnalysis/EscapedNotTranslatedSniff.php +0 -89
  240. package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/DB/DirectDatabaseQuerySniff.php +0 -301
  241. package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/DB/PreparedSQLPlaceholdersSniff.php +0 -761
  242. package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/DB/PreparedSQLSniff.php +0 -242
  243. package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/DB/RestrictedClassesSniff.php +0 -57
  244. package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/DB/RestrictedFunctionsSniff.php +0 -63
  245. package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/DB/SlowDBQuerySniff.php +0 -58
  246. package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/DateTime/CurrentTimeTimestampSniff.php +0 -168
  247. package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/DateTime/RestrictedFunctionsSniff.php +0 -59
  248. package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/Files/FileNameSniff.php +0 -313
  249. package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/NamingConventions/PrefixAllGlobalsSniff.php +0 -1297
  250. package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/NamingConventions/ValidFunctionNameSniff.php +0 -188
  251. package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/NamingConventions/ValidHookNameSniff.php +0 -277
  252. package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/NamingConventions/ValidPostTypeSlugSniff.php +0 -230
  253. package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/NamingConventions/ValidVariableNameSniff.php +0 -289
  254. package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/PHP/DevelopmentFunctionsSniff.php +0 -63
  255. package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/PHP/DiscouragedPHPFunctionsSniff.php +0 -100
  256. package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/PHP/DontExtractSniff.php +0 -52
  257. package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/PHP/IniSetSniff.php +0 -193
  258. package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/PHP/NoSilencedErrorsSniff.php +0 -245
  259. package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/PHP/POSIXFunctionsSniff.php +0 -73
  260. package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/PHP/PregQuoteDelimiterSniff.php +0 -70
  261. package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/PHP/RestrictedPHPFunctionsSniff.php +0 -45
  262. package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/PHP/StrictInArraySniff.php +0 -122
  263. package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/PHP/TypeCastsSniff.php +0 -90
  264. package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/PHP/YodaConditionsSniff.php +0 -124
  265. package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/Security/EscapeOutputSniff.php +0 -903
  266. package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/Security/NonceVerificationSniff.php +0 -422
  267. package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/Security/PluginMenuSlugSniff.php +0 -126
  268. package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/Security/SafeRedirectSniff.php +0 -45
  269. package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/Security/ValidatedSanitizedInputSniff.php +0 -244
  270. package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/Utils/I18nTextDomainFixerSniff.php +0 -862
  271. package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/WP/AlternativeFunctionsSniff.php +0 -371
  272. package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/WP/CapabilitiesSniff.php +0 -478
  273. package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/WP/CapitalPDangitSniff.php +0 -315
  274. package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/WP/ClassNameCaseSniff.php +0 -897
  275. package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/WP/CronIntervalSniff.php +0 -321
  276. package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/WP/DeprecatedClassesSniff.php +0 -152
  277. package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/WP/DeprecatedFunctionsSniff.php +0 -1708
  278. package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/WP/DeprecatedParameterValuesSniff.php +0 -291
  279. package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/WP/DeprecatedParametersSniff.php +0 -509
  280. package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/WP/DiscouragedConstantsSniff.php +0 -160
  281. package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/WP/DiscouragedFunctionsSniff.php +0 -54
  282. package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/WP/EnqueuedResourceParametersSniff.php +0 -241
  283. package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/WP/EnqueuedResourcesSniff.php +0 -108
  284. package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/WP/GlobalVariablesOverrideSniff.php +0 -436
  285. package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/WP/I18nSniff.php +0 -977
  286. package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/WP/PostsPerPageSniff.php +0 -102
  287. package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/WhiteSpace/CastStructureSpacingSniff.php +0 -59
  288. package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/WhiteSpace/ControlStructureSpacingSniff.php +0 -486
  289. package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/WhiteSpace/ObjectOperatorSpacingSniff.php +0 -63
  290. package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/WhiteSpace/OperatorSpacingSniff.php +0 -60
  291. package/vendor/wp-coding-standards/wpcs/WordPress/ruleset.xml +0 -13
  292. package/vendor/wp-coding-standards/wpcs/WordPress-Core/ruleset.xml +0 -948
  293. package/vendor/wp-coding-standards/wpcs/WordPress-Docs/ruleset.xml +0 -109
  294. package/vendor/wp-coding-standards/wpcs/WordPress-Extra/ruleset.xml +0 -199
  295. package/vendor/wp-coding-standards/wpcs/composer.json +0 -88
  296. package/vendor/wp-coding-standards/wpcs/phpcs.xml.dist.sample +0 -153
@@ -1,211 +0,0 @@
1
- <?php
2
- /**
3
- * PHPCSExtra, a collection of sniffs and standards for use with PHP_CodeSniffer.
4
- *
5
- * @package PHPCSExtra
6
- * @copyright 2020 PHPCSExtra Contributors
7
- * @license https://opensource.org/licenses/LGPL-3.0 LGPL3
8
- * @link https://github.com/PHPCSStandards/PHPCSExtra
9
- */
10
-
11
- namespace PHPCSExtra\Universal\Sniffs\CodeAnalysis;
12
-
13
- use PHP_CodeSniffer\Files\File;
14
- use PHP_CodeSniffer\Sniffs\Sniff;
15
- use PHP_CodeSniffer\Util\Tokens;
16
- use PHPCSUtils\BackCompat\BCFile;
17
- use PHPCSUtils\BackCompat\Helper;
18
- use PHPCSUtils\Tokens\Collections;
19
- use PHPCSUtils\Utils\FunctionDeclarations;
20
- use PHPCSUtils\Utils\GetTokensAsString;
21
- use PHPCSUtils\Utils\Namespaces;
22
- use PHPCSUtils\Utils\NamingConventions;
23
- use PHPCSUtils\Utils\ObjectDeclarations;
24
- use PHPCSUtils\Utils\Scopes;
25
-
26
- /**
27
- * Verify that a class constructor/destructor does not return anything, nor has a
28
- * return type declaration (fatal error).
29
- *
30
- * @since 1.0.0
31
- */
32
- final class ConstructorDestructorReturnSniff implements Sniff
33
- {
34
-
35
- /**
36
- * PHP version as configured or 0 if unknown.
37
- *
38
- * @since 1.1.0
39
- *
40
- * @var int
41
- */
42
- private $phpVersion;
43
-
44
- /**
45
- * Registers the tokens that this sniff wants to listen for.
46
- *
47
- * @since 1.0.0
48
- *
49
- * @return array<int|string>
50
- */
51
- public function register()
52
- {
53
- return [\T_FUNCTION];
54
- }
55
-
56
- /**
57
- * Processes this test, when one of its tokens is encountered.
58
- *
59
- * @since 1.0.0
60
- *
61
- * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
62
- * @param int $stackPtr The position of the current token
63
- * in the stack passed in $tokens.
64
- *
65
- * @return void
66
- */
67
- public function process(File $phpcsFile, $stackPtr)
68
- {
69
- if (isset($this->phpVersion) === false || \defined('PHP_CODESNIFFER_IN_TESTS')) {
70
- // Set default value to prevent this code from running every time the sniff is triggered.
71
- $this->phpVersion = 0;
72
-
73
- $phpVersion = Helper::getConfigData('php_version');
74
- if ($phpVersion !== null) {
75
- $this->phpVersion = (int) $phpVersion;
76
- }
77
- }
78
-
79
- $scopePtr = Scopes::validDirectScope($phpcsFile, $stackPtr, Tokens::$ooScopeTokens);
80
- if ($scopePtr === false) {
81
- // Not an OO method.
82
- return;
83
- }
84
-
85
- $functionName = FunctionDeclarations::getName($phpcsFile, $stackPtr);
86
- $functionNameLC = \strtolower($functionName);
87
-
88
- if ($functionNameLC === '__construct' || $functionNameLC === '__destruct') {
89
- $functionType = \sprintf('A "%s()" magic method', $functionNameLC);
90
- } else {
91
- // If the PHP version is explicitly set to PHP 8.0 or higher, ignore PHP 4-style constructors.
92
- if ($this->phpVersion >= 80000) {
93
- return;
94
- }
95
-
96
- // This may be a PHP 4-style constructor which should be handled.
97
- $OOName = ObjectDeclarations::getName($phpcsFile, $scopePtr);
98
-
99
- if (empty($OOName) === true) {
100
- // Anonymous class or parse error. The function can't be a PHP 4-style constructor.
101
- return;
102
- }
103
-
104
- if (NamingConventions::isEqual($functionName, $OOName) === false) {
105
- // Class and function name not the same, so not a PHP 4-style constructor.
106
- return;
107
- }
108
-
109
- if (Namespaces::determineNamespace($phpcsFile, $stackPtr) !== '') {
110
- /*
111
- * Namespaced methods with the same name as the class are treated as
112
- * regular methods, so we can bow out if we're in a namespace.
113
- *
114
- * Note: the exception to this is PHP 5.3.0-5.3.2. This is currently
115
- * not dealt with.
116
- */
117
- return;
118
- }
119
-
120
- $functionType = 'A PHP 4-style constructor';
121
- }
122
-
123
- /*
124
- * OK, so now we know for sure that this is a constructor/destructor method.
125
- */
126
-
127
- // Check for a return type.
128
- $tokens = $phpcsFile->getTokens();
129
- $properties = FunctionDeclarations::getProperties($phpcsFile, $stackPtr);
130
- if ($properties['return_type'] !== '' && $properties['return_type_token'] !== false) {
131
- $data = [
132
- $functionType,
133
- $properties['return_type'],
134
- ];
135
-
136
- $fix = $phpcsFile->addFixableError(
137
- '%s can not declare a return type. Found: %s',
138
- $properties['return_type_token'],
139
- 'ReturnTypeFound',
140
- $data
141
- );
142
-
143
- if ($fix === true) {
144
- $phpcsFile->fixer->beginChangeset();
145
-
146
- $parensCloser = $tokens[$stackPtr]['parenthesis_closer'];
147
- for ($i = ($parensCloser + 1); $i <= $properties['return_type_end_token']; $i++) {
148
- if (isset(Tokens::$commentTokens[$tokens[$i]['code']])) {
149
- // Ignore comments and leave them be.
150
- continue;
151
- }
152
-
153
- $phpcsFile->fixer->replaceToken($i, '');
154
- }
155
-
156
- $phpcsFile->fixer->endChangeset();
157
- }
158
- }
159
-
160
- if (isset($tokens[$stackPtr]['scope_opener'], $tokens[$stackPtr]['scope_closer']) === false) {
161
- // Abstract/interface method, live coding or parse error.
162
- return;
163
- }
164
-
165
- // Check for a value being returned.
166
- $current = $tokens[$stackPtr]['scope_opener'];
167
- $end = $tokens[$stackPtr]['scope_closer'];
168
-
169
- // Not searching for arrow functions as those have an implicit return, so no
170
- $search = Collections::functionDeclarationTokens();
171
- $search[\T_RETURN] = \T_RETURN;
172
-
173
- do {
174
- $current = $phpcsFile->findNext($search, ($current + 1), $end);
175
- if ($current === false) {
176
- break;
177
- }
178
-
179
- if (isset(Collections::functionDeclarationTokens()[$tokens[$current]['code']])
180
- && isset($tokens[$current]['scope_closer'])
181
- ) {
182
- // Skip over nested function/closure declarations.
183
- $current = $tokens[$current]['scope_closer'];
184
- continue;
185
- }
186
-
187
- $next = $phpcsFile->findNext(Tokens::$emptyTokens, ($current + 1), $end, true);
188
- if ($next === false
189
- || $tokens[$next]['code'] === \T_SEMICOLON
190
- || $tokens[$next]['code'] === \T_CLOSE_TAG
191
- ) {
192
- // Return statement without value.
193
- continue;
194
- }
195
-
196
- $endOfStatement = BCFile::findEndOfStatement($phpcsFile, $next);
197
-
198
- $data = [
199
- $functionType,
200
- GetTokensAsString::compact($phpcsFile, $current, $endOfStatement, true),
201
- ];
202
-
203
- $phpcsFile->addWarning(
204
- '%s can not return a value. Found: "%s"',
205
- $current,
206
- 'ReturnValueFound',
207
- $data
208
- );
209
- } while ($current < $end);
210
- }
211
- }
@@ -1,153 +0,0 @@
1
- <?php
2
- /**
3
- * PHPCSExtra, a collection of sniffs and standards for use with PHP_CodeSniffer.
4
- *
5
- * @package PHPCSExtra
6
- * @copyright 2020 PHPCSExtra Contributors
7
- * @license https://opensource.org/licenses/LGPL-3.0 LGPL3
8
- * @link https://github.com/PHPCSStandards/PHPCSExtra
9
- */
10
-
11
- namespace PHPCSExtra\Universal\Sniffs\CodeAnalysis;
12
-
13
- use PHP_CodeSniffer\Files\File;
14
- use PHP_CodeSniffer\Sniffs\Sniff;
15
- use PHP_CodeSniffer\Util\Tokens;
16
- use PHPCSUtils\Tokens\Collections;
17
- use PHPCSUtils\Utils\GetTokensAsString;
18
- use PHPCSUtils\Utils\Lists;
19
-
20
- /**
21
- * Detects using the same variable for both the key as well as the value in a foreach assignment.
22
- *
23
- * @link https://twitter.com/exakat/status/1509103728934203397
24
- * @link https://3v4l.org/DdddX
25
- *
26
- * @since 1.0.0
27
- */
28
- final class ForeachUniqueAssignmentSniff implements Sniff
29
- {
30
-
31
- /**
32
- * Returns an array of tokens this test wants to listen for.
33
- *
34
- * @since 1.0.0
35
- *
36
- * @return array<int|string>
37
- */
38
- public function register()
39
- {
40
- return [\T_FOREACH];
41
- }
42
-
43
- /**
44
- * Processes this test, when one of its tokens is encountered.
45
- *
46
- * @since 1.0.0
47
- *
48
- * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
49
- * @param int $stackPtr The position of the current token
50
- * in the stack passed in $tokens.
51
- *
52
- * @return void
53
- */
54
- public function process(File $phpcsFile, $stackPtr)
55
- {
56
- $tokens = $phpcsFile->getTokens();
57
-
58
- if (isset($tokens[$stackPtr]['parenthesis_opener'], $tokens[$stackPtr]['parenthesis_closer']) === false) {
59
- // Parse error or live coding, not our concern.
60
- return;
61
- }
62
-
63
- $opener = $tokens[$stackPtr]['parenthesis_opener'];
64
- $closer = $tokens[$stackPtr]['parenthesis_closer'];
65
-
66
- $asPtr = $phpcsFile->findNext(\T_AS, ($opener + 1), $closer);
67
- if ($asPtr === false) {
68
- // Parse error or live coding, not our concern.
69
- return;
70
- }
71
-
72
- // Real target.
73
- $find = [\T_DOUBLE_ARROW];
74
- // Prevent matching on double arrows within a list assignment.
75
- $find += Collections::listTokens();
76
-
77
- $doubleArrowPtr = $phpcsFile->findNext($find, ($asPtr + 1), $closer);
78
- if ($doubleArrowPtr === false
79
- || $tokens[$doubleArrowPtr]['code'] !== \T_DOUBLE_ARROW
80
- ) {
81
- // No key assignment.
82
- return;
83
- }
84
-
85
- $isListAssignment = $phpcsFile->findNext(Tokens::$emptyTokens, ($doubleArrowPtr + 1), $closer, true);
86
- if ($isListAssignment === false) {
87
- // Parse error or live coding, not our concern.
88
- }
89
-
90
- $keyAsString = \ltrim(GetTokensAsString::noEmpties($phpcsFile, ($asPtr + 1), ($doubleArrowPtr - 1)), '&');
91
- $valueAssignments = [];
92
- if (isset(Collections::listTokens()[$tokens[$isListAssignment]['code']]) === false) {
93
- // Single value assignment.
94
- $valueAssignments[] = GetTokensAsString::noEmpties($phpcsFile, ($doubleArrowPtr + 1), ($closer - 1));
95
- } else {
96
- // List assignment.
97
- $assignments = Lists::getAssignments($phpcsFile, $isListAssignment);
98
- foreach ($assignments as $listItem) {
99
- if ($listItem['assignment'] === '') {
100
- // Ignore empty list assignments.
101
- continue;
102
- }
103
-
104
- // Note: this doesn't take nested lists into account (yet).
105
- $valueAssignments[] = $listItem['assignment'];
106
- }
107
- }
108
-
109
- if (empty($valueAssignments)) {
110
- // No assignments found.
111
- return;
112
- }
113
-
114
- foreach ($valueAssignments as $valueAsString) {
115
- $valueAsString = \ltrim($valueAsString, '&');
116
-
117
- if ($keyAsString !== $valueAsString) {
118
- // Key and value not the same.
119
- continue;
120
- }
121
-
122
- $error = 'The variables used for the key and the value in a foreach assignment should be unique.';
123
- $error .= 'Both the key and the value will currently be assigned to: "%s"';
124
-
125
- $fix = $phpcsFile->addFixableError($error, $doubleArrowPtr, 'NotUnique', [$valueAsString]);
126
- if ($fix === true) {
127
- $phpcsFile->fixer->beginChangeset();
128
-
129
- // Remove the key.
130
- for ($i = ($asPtr + 1); $i < ($doubleArrowPtr + 1); $i++) {
131
- if ($tokens[$i]['code'] === \T_WHITESPACE
132
- && isset(Tokens::$commentTokens[$tokens[($i + 1)]['code']])
133
- ) {
134
- // Don't remove whitespace when followed directly by a comment.
135
- continue;
136
- }
137
-
138
- if (isset(Tokens::$commentTokens[$tokens[$i]['code']])) {
139
- // Don't remove comments.
140
- continue;
141
- }
142
-
143
- // Remove everything else.
144
- $phpcsFile->fixer->replaceToken($i, '');
145
- }
146
-
147
- $phpcsFile->fixer->endChangeset();
148
- }
149
-
150
- break;
151
- }
152
- }
153
- }
@@ -1,269 +0,0 @@
1
- <?php
2
- /**
3
- * PHPCSExtra, a collection of sniffs and standards for use with PHP_CodeSniffer.
4
- *
5
- * @package PHPCSExtra
6
- * @copyright 2023 PHPCSExtra Contributors
7
- * @license https://opensource.org/licenses/LGPL-3.0 LGPL3
8
- * @link https://github.com/PHPCSStandards/PHPCSExtra
9
- */
10
-
11
- namespace PHPCSExtra\Universal\Sniffs\CodeAnalysis;
12
-
13
- use PHP_CodeSniffer\Files\File;
14
- use PHP_CodeSniffer\Sniffs\Sniff;
15
- use PHP_CodeSniffer\Util\Tokens;
16
- use PHPCSUtils\BackCompat\BCFile;
17
- use PHPCSUtils\Utils\GetTokensAsString;
18
- use PHPCSUtils\Utils\Parentheses;
19
-
20
- /**
21
- * Detects double negation in code, which is effectively the same as a boolean cast,
22
- * but with a much higher cognitive load.
23
- *
24
- * The sniff will only autofix if the precedence change from boolean not to boolean cast
25
- * will not cause a behavioural change (as it would with instanceof).
26
- *
27
- * @since 1.2.0
28
- */
29
- final class NoDoubleNegativeSniff implements Sniff
30
- {
31
-
32
- /**
33
- * Operators with lower precedence than the not-operator.
34
- *
35
- * Used to determine when to stop searching for `instanceof`.
36
- *
37
- * @since 1.2.0
38
- *
39
- * @var array<int|string, int|string>
40
- */
41
- private $operatorsWithLowerPrecedence;
42
-
43
- /**
44
- * Returns an array of tokens this test wants to listen for.
45
- *
46
- * @since 1.2.0
47
- *
48
- * @return array<int|string>
49
- */
50
- public function register()
51
- {
52
- // Collect all the operators only once.
53
- $this->operatorsWithLowerPrecedence = Tokens::$assignmentTokens;
54
- $this->operatorsWithLowerPrecedence += Tokens::$booleanOperators;
55
- $this->operatorsWithLowerPrecedence += Tokens::$comparisonTokens;
56
- $this->operatorsWithLowerPrecedence += Tokens::$operators;
57
- $this->operatorsWithLowerPrecedence[\T_INLINE_THEN] = \T_INLINE_THEN;
58
- $this->operatorsWithLowerPrecedence[\T_INLINE_ELSE] = \T_INLINE_ELSE;
59
-
60
- return [\T_BOOLEAN_NOT];
61
- }
62
-
63
- /**
64
- * Processes this test, when one of its tokens is encountered.
65
- *
66
- * @since 1.2.0
67
- *
68
- * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
69
- * @param int $stackPtr The position of the current token
70
- * in the stack passed in $tokens.
71
- *
72
- * @return int|void Integer stack pointer to skip forward or void to continue
73
- * normal file processing.
74
- */
75
- public function process(File $phpcsFile, $stackPtr)
76
- {
77
- $tokens = $phpcsFile->getTokens();
78
-
79
- $notCount = 1;
80
- $lastNot = $stackPtr;
81
- for ($afterNot = ($stackPtr + 1); $afterNot < $phpcsFile->numTokens; $afterNot++) {
82
- if (isset(Tokens::$emptyTokens[$tokens[$afterNot]['code']])) {
83
- continue;
84
- }
85
-
86
- if ($tokens[$afterNot]['code'] === \T_BOOLEAN_NOT) {
87
- $lastNot = $afterNot;
88
- ++$notCount;
89
- continue;
90
- }
91
-
92
- break;
93
- }
94
-
95
- if ($notCount === 1) {
96
- // Singular unary not-operator. Nothing to do.
97
- return;
98
- }
99
-
100
- $found = \trim(GetTokensAsString::compact($phpcsFile, $stackPtr, $lastNot));
101
- $data = [$found];
102
-
103
- if (($notCount % 2) === 1) {
104
- /*
105
- * Oh dear... silly code time, found a triple negative (or other uneven number),
106
- * this should just be a singular not-operator.
107
- */
108
- $fix = $phpcsFile->addFixableError(
109
- 'Triple negative (or more) detected. Use a singular not (!) operator instead. Found: %s',
110
- $stackPtr,
111
- 'FoundTriple',
112
- $data
113
- );
114
-
115
- if ($fix === true) {
116
- $phpcsFile->fixer->beginChangeset();
117
-
118
- $this->removeNotAndTrailingSpaces($phpcsFile, $stackPtr, $lastNot);
119
-
120
- $phpcsFile->fixer->endChangeset();
121
- }
122
-
123
- // Only throw one error, even if there are more than two not-operators.
124
- return $lastNot;
125
- }
126
-
127
- /*
128
- * Found a double negative, which should be a boolean cast.
129
- */
130
-
131
- $fixable = true;
132
-
133
- /*
134
- * If whatever is being "cast" is within parentheses, we're good.
135
- * If not, we need to prevent creating a change in behaviour
136
- * when what follows is an `$x instanceof ...` expression, as
137
- * the "instanceof" operator is right between a boolean cast
138
- * and the ! operator precedence-wise.
139
- *
140
- * Note: this only applies to double negative, not triple negative.
141
- *
142
- * @link https://www.php.net/language.operators.precedence
143
- */
144
- if ($tokens[$afterNot]['code'] !== \T_OPEN_PARENTHESIS) {
145
- $end = Parentheses::getLastCloser($phpcsFile, $stackPtr);
146
- if ($end === false) {
147
- $end = BCFile::findEndOfStatement($phpcsFile, $stackPtr);
148
- }
149
-
150
- for ($nextRelevant = $afterNot; $nextRelevant < $end; $nextRelevant++) {
151
- if (isset(Tokens::$emptyTokens[$tokens[$nextRelevant]['code']])) {
152
- continue;
153
- }
154
-
155
- if ($tokens[$nextRelevant]['code'] === \T_INSTANCEOF) {
156
- $fixable = false;
157
- break;
158
- }
159
-
160
- if (isset($this->operatorsWithLowerPrecedence[$tokens[$nextRelevant]['code']])) {
161
- // The expression the `!` belongs to has ended.
162
- break;
163
- }
164
-
165
- // Skip over anything within some form of brackets.
166
- if (isset($tokens[$nextRelevant]['scope_closer'])
167
- && ($nextRelevant === $tokens[$nextRelevant]['scope_opener']
168
- || $nextRelevant === $tokens[$nextRelevant]['scope_condition'])
169
- ) {
170
- $nextRelevant = $tokens[$nextRelevant]['scope_closer'];
171
- continue;
172
- }
173
-
174
- if (isset($tokens[$nextRelevant]['bracket_opener'], $tokens[$nextRelevant]['bracket_closer'])
175
- && $nextRelevant === $tokens[$nextRelevant]['bracket_opener']
176
- ) {
177
- $nextRelevant = $tokens[$nextRelevant]['bracket_closer'];
178
- continue;
179
- }
180
-
181
- if ($tokens[$nextRelevant]['code'] === \T_OPEN_PARENTHESIS
182
- && isset($tokens[$nextRelevant]['parenthesis_closer'])
183
- ) {
184
- $nextRelevant = $tokens[$nextRelevant]['parenthesis_closer'];
185
- continue;
186
- }
187
-
188
- // Skip over attributes (just in case).
189
- if ($tokens[$nextRelevant]['code'] === \T_ATTRIBUTE
190
- && isset($tokens[$nextRelevant]['attribute_closer'])
191
- ) {
192
- $nextRelevant = $tokens[$nextRelevant]['attribute_closer'];
193
- continue;
194
- }
195
- }
196
- }
197
-
198
- $error = 'Double negative detected. Use a (bool) cast %s instead. Found: %s';
199
- $code = 'FoundDouble';
200
- $data = [
201
- '',
202
- $found,
203
- ];
204
-
205
- if ($fixable === false) {
206
- $code = 'FoundDoubleWithInstanceof';
207
- $data[0] = 'and parentheses around the instanceof expression';
208
-
209
- // Don't auto-fix in combination with instanceof.
210
- $phpcsFile->addError($error, $stackPtr, $code, $data);
211
-
212
- // Only throw one error, even if there are more than two not-operators.
213
- return $lastNot;
214
- }
215
-
216
- $fix = $phpcsFile->addFixableError($error, $stackPtr, $code, $data);
217
-
218
- if ($fix === true) {
219
- $phpcsFile->fixer->beginChangeset();
220
-
221
- $this->removeNotAndTrailingSpaces($phpcsFile, $stackPtr, $lastNot);
222
-
223
- $phpcsFile->fixer->replaceToken($lastNot, '(bool)');
224
-
225
- $phpcsFile->fixer->endChangeset();
226
- }
227
-
228
- // Only throw one error, even if there are more than two not-operators.
229
- return $lastNot;
230
- }
231
-
232
- /**
233
- * Remove boolean not-operators and trailing whitespace after those,
234
- * but don't remove comments or trailing whitespace after comments.
235
- *
236
- * @since 1.2.0
237
- *
238
- * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
239
- * @param int $stackPtr The position of the current token
240
- * in the stack passed in $tokens.
241
- * @param int $lastNot The position of the last boolean not token
242
- * in the chain.
243
- *
244
- * @return void
245
- */
246
- private function removeNotAndTrailingSpaces(File $phpcsFile, $stackPtr, $lastNot)
247
- {
248
- $tokens = $phpcsFile->getTokens();
249
- $ignore = false;
250
-
251
- for ($i = $stackPtr; $i < $lastNot; $i++) {
252
- if (isset(Tokens::$commentTokens[$tokens[$i]['code']])) {
253
- // Ignore comments and whitespace after comments.
254
- $ignore = true;
255
- continue;
256
- }
257
-
258
- if ($tokens[$i]['code'] === \T_WHITESPACE && $ignore === false) {
259
- $phpcsFile->fixer->replaceToken($i, '');
260
- continue;
261
- }
262
-
263
- if ($tokens[$i]['code'] === \T_BOOLEAN_NOT) {
264
- $ignore = false;
265
- $phpcsFile->fixer->replaceToken($i, '');
266
- }
267
- }
268
- }
269
- }