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,89 +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\Constants;
12
-
13
- use PHP_CodeSniffer\Files\File;
14
- use PHP_CodeSniffer\Sniffs\Sniff;
15
- use PHP_CodeSniffer\Util\Tokens;
16
-
17
- /**
18
- * Verifies that PHP native `__...__` magic constants are in uppercase when used.
19
- *
20
- * @link https://www.php.net/manual/en/language.constants.predefined.php
21
- *
22
- * @since 1.0.0
23
- */
24
- final class UppercaseMagicConstantsSniff implements Sniff
25
- {
26
-
27
- /**
28
- * Name of the metric.
29
- *
30
- * @since 1.0.0
31
- *
32
- * @var string
33
- */
34
- const METRIC_NAME = 'Magic constant case';
35
-
36
- /**
37
- * Returns an array of tokens this test wants to listen for.
38
- *
39
- * @since 1.0.0
40
- *
41
- * @return array<int|string>
42
- */
43
- public function register()
44
- {
45
- return Tokens::$magicConstants;
46
- }
47
-
48
- /**
49
- * Processes this test, when one of its tokens is encountered.
50
- *
51
- * @since 1.0.0
52
- *
53
- * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
54
- * @param int $stackPtr The position of the current token
55
- * in the stack passed in $tokens.
56
- *
57
- * @return void
58
- */
59
- public function process(File $phpcsFile, $stackPtr)
60
- {
61
- $tokens = $phpcsFile->getTokens();
62
- $content = $tokens[$stackPtr]['content'];
63
- $contentUC = \strtoupper($content);
64
- if ($contentUC === $content) {
65
- $phpcsFile->recordMetric($stackPtr, self::METRIC_NAME, 'uppercase');
66
- return;
67
- }
68
-
69
- $error = 'Magic constants should be in uppercase. Expected: %s; found: %s';
70
- $errorCode = '';
71
- $data = [
72
- $contentUC,
73
- $content,
74
- ];
75
-
76
- if (\strtolower($content) === $content) {
77
- $errorCode = 'Lowercase';
78
- $phpcsFile->recordMetric($stackPtr, self::METRIC_NAME, 'lowercase');
79
- } else {
80
- $errorCode = 'Mixedcase';
81
- $phpcsFile->recordMetric($stackPtr, self::METRIC_NAME, 'mixed case');
82
- }
83
-
84
- $fix = $phpcsFile->addFixableError($error, $stackPtr, $errorCode, $data);
85
- if ($fix === true) {
86
- $phpcsFile->fixer->replaceToken($stackPtr, $contentUC);
87
- }
88
- }
89
- }
@@ -1,216 +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\ControlStructures;
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\ControlStructures;
18
-
19
- /**
20
- * Forbid the use of the alternative syntax for control structures.
21
- *
22
- * @since 1.0.0
23
- */
24
- final class DisallowAlternativeSyntaxSniff implements Sniff
25
- {
26
-
27
- /**
28
- * Name of the metric.
29
- *
30
- * @since 1.0.0
31
- *
32
- * @var string
33
- */
34
- const METRIC_NAME = 'Control Structure Style';
35
-
36
- /**
37
- * Whether to allow the alternative syntax when it is wrapped around
38
- * inline HTML, as is often seen in views.
39
- *
40
- * Note: inline HTML within "closed scopes" - like function declarations -,
41
- * within the control structure body will not be taken into account.
42
- *
43
- * @since 1.0.0
44
- *
45
- * @var bool
46
- */
47
- public $allowWithInlineHTML = false;
48
-
49
- /**
50
- * Returns an array of tokens this test wants to listen for.
51
- *
52
- * @since 1.0.0
53
- *
54
- * @return array<int|string>
55
- */
56
- public function register()
57
- {
58
- $targets = Collections::alternativeControlStructureSyntaxes();
59
-
60
- // Don't look for elseif/else as they need to be dealt with in one go with the if.
61
- unset($targets[\T_ELSEIF], $targets[\T_ELSE]);
62
-
63
- return $targets;
64
- }
65
-
66
- /**
67
- * Processes this test, when one of its tokens is encountered.
68
- *
69
- * @since 1.0.0
70
- *
71
- * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
72
- * @param int $stackPtr The position of the current token
73
- * in the stack passed in $tokens.
74
- *
75
- * @return void
76
- */
77
- public function process(File $phpcsFile, $stackPtr)
78
- {
79
- /*
80
- * Ignore control structures without body (i.e. single line control structures).
81
- * This doesn't ignore _empty_ bodies.
82
- */
83
- if (ControlStructures::hasBody($phpcsFile, $stackPtr, true) === false) {
84
- $phpcsFile->recordMetric($stackPtr, self::METRIC_NAME, 'single line (without body)');
85
- return;
86
- }
87
-
88
- $tokens = $phpcsFile->getTokens();
89
-
90
- /*
91
- * Check if the control structure uses alternative syntax.
92
- */
93
- if (isset($tokens[$stackPtr]['scope_opener'], $tokens[$stackPtr]['scope_closer']) === false) {
94
- // No scope opener found: inline control structure or parse error.
95
- $phpcsFile->recordMetric($stackPtr, self::METRIC_NAME, 'inline');
96
- return;
97
- }
98
-
99
- $opener = $tokens[$stackPtr]['scope_opener'];
100
- $closer = $tokens[$stackPtr]['scope_closer'];
101
-
102
- if ($tokens[$opener]['code'] !== \T_COLON) {
103
- // Curly brace syntax (not our concern).
104
- $phpcsFile->recordMetric($stackPtr, self::METRIC_NAME, 'curly braces');
105
- return;
106
- }
107
-
108
- /*
109
- * As of here, we *know* the control structure must be using alternative syntax and
110
- * must have all scope openers/closers set as, in case of parse errors, PHPCS wouldn't
111
- * have set the scope opener, even for the first `if`.
112
- *
113
- * Also note that alternative syntax cannot be used with `else if`, so we don't need to take that
114
- * into account.
115
- */
116
-
117
- /*
118
- * Determine whether there is inline HTML.
119
- *
120
- * For "chained" control structures (if - elseif - else), the complete control structure
121
- * needs to be examined in one go as these cannot be changed individually, only as a complete group.
122
- */
123
- $closedScopes = Collections::closedScopes();
124
- $find = $closedScopes;
125
- $find[\T_INLINE_HTML] = \T_INLINE_HTML;
126
-
127
- $chainedIssues = [];
128
- $hasInlineHTML = false;
129
- $currentPtr = $stackPtr;
130
-
131
- do {
132
- $opener = $tokens[$currentPtr]['scope_opener'];
133
- $closer = $tokens[$currentPtr]['scope_closer'];
134
- $chainedIssues[$opener] = $closer;
135
-
136
- if ($hasInlineHTML === true) {
137
- // No need to search the contents, we already know there is inline HTML.
138
- $currentPtr = $closer;
139
- continue;
140
- }
141
-
142
- $inlineHTMLPtr = $opener;
143
-
144
- do {
145
- $inlineHTMLPtr = $phpcsFile->findNext($find, ($inlineHTMLPtr + 1), $closer);
146
- if ($tokens[$inlineHTMLPtr]['code'] === \T_INLINE_HTML) {
147
- $hasInlineHTML = true;
148
- break;
149
- }
150
-
151
- if (isset($closedScopes[$tokens[$inlineHTMLPtr]['code']], $tokens[$inlineHTMLPtr]['scope_closer'])) {
152
- $inlineHTMLPtr = $tokens[$inlineHTMLPtr]['scope_closer'];
153
- }
154
- } while ($inlineHTMLPtr !== false && $inlineHTMLPtr < $closer);
155
-
156
- $currentPtr = $closer;
157
- } while (isset(Collections::alternativeControlStructureSyntaxes()[$tokens[$closer]['code']]) === true);
158
-
159
- if ($hasInlineHTML === true) {
160
- $phpcsFile->recordMetric($stackPtr, self::METRIC_NAME, 'alternative syntax with inline HTML');
161
- } else {
162
- $phpcsFile->recordMetric($stackPtr, self::METRIC_NAME, 'alternative syntax');
163
- }
164
-
165
- if ($hasInlineHTML === true && $this->allowWithInlineHTML === true) {
166
- return;
167
- }
168
-
169
- $error = 'Using control structures with the alternative syntax is not allowed';
170
- if ($this->allowWithInlineHTML === true) {
171
- $error .= ' unless the control structure contains inline HTML';
172
- }
173
- $error .= '. Found: %1$s(): ... end%1$s;';
174
-
175
- $code = 'Found' . \ucfirst($tokens[$stackPtr]['content']);
176
- if ($hasInlineHTML === true) {
177
- $code .= 'WithInlineHTML';
178
- }
179
-
180
- $data = [$tokens[$stackPtr]['content']];
181
-
182
- foreach ($chainedIssues as $opener => $closer) {
183
- $fix = $phpcsFile->addFixableError($error, $opener, $code, $data);
184
- }
185
-
186
- if ($fix === false) {
187
- return;
188
- }
189
-
190
- /*
191
- * Fix all issues for this chain in one go to diminish the chance of conflicts.
192
- */
193
- $phpcsFile->fixer->beginChangeset();
194
-
195
- foreach ($chainedIssues as $opener => $closer) {
196
- $phpcsFile->fixer->replaceToken($opener, '{');
197
-
198
- if (isset(Collections::alternativeControlStructureSyntaxClosers()[$tokens[$closer]['code']]) === true) {
199
- $phpcsFile->fixer->replaceToken($closer, '}');
200
-
201
- $semicolon = $phpcsFile->findNext(Tokens::$emptyTokens, ($closer + 1), null, true);
202
- if ($semicolon !== false && $tokens[$semicolon]['code'] === \T_SEMICOLON) {
203
- $phpcsFile->fixer->replaceToken($semicolon, '');
204
- }
205
- } else {
206
- /*
207
- * This must be an if/else using alternative syntax.
208
- * The closer will be the next control structure keyword.
209
- */
210
- $phpcsFile->fixer->addContentBefore($closer, '} ');
211
- }
212
- }
213
-
214
- $phpcsFile->fixer->endChangeset();
215
- }
216
- }
@@ -1,348 +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\ControlStructures;
12
-
13
- use PHP_CodeSniffer\Files\File;
14
- use PHP_CodeSniffer\Sniffs\Sniff;
15
- use PHP_CodeSniffer\Util\Tokens;
16
- use PHPCSUtils\Utils\ControlStructures;
17
- use PHPCSUtils\Utils\GetTokensAsString;
18
-
19
- /**
20
- * Disallow `if` statements as the only statement in an `else` block.
21
- *
22
- * Note: This sniff will not fix the indentation of the "inner" code. It is strongly recommended to run
23
- * this sniff together with the `Generic.WhiteSpace.ScopeIndent` sniff to get the correct indentation.
24
- *
25
- * Inspired by the {@link https://eslint.org/docs/rules/no-lonely-if ESLint "no lonely if"} rule
26
- * in response to upstream {@link https://github.com/squizlabs/PHP_CodeSniffer/issues/3206 PHPCS issue 3206}.
27
- *
28
- * @since 1.0.0
29
- */
30
- final class DisallowLonelyIfSniff implements Sniff
31
- {
32
-
33
- /**
34
- * Returns an array of tokens this test wants to listen for.
35
- *
36
- * @since 1.0.0
37
- *
38
- * @return array<int|string>
39
- */
40
- public function register()
41
- {
42
- return [\T_ELSE];
43
- }
44
-
45
- /**
46
- * Processes this test, when one of its tokens is encountered.
47
- *
48
- * @since 1.0.0
49
- *
50
- * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
51
- * @param int $stackPtr The position of the current token
52
- * in the stack passed in $tokens.
53
- *
54
- * @return void
55
- */
56
- public function process(File $phpcsFile, $stackPtr)
57
- {
58
- $tokens = $phpcsFile->getTokens();
59
-
60
- /*
61
- * Deal with `else if`.
62
- */
63
- if (ControlStructures::isElseIf($phpcsFile, $stackPtr) === true) {
64
- // Ignore, not our real target.
65
- return;
66
- }
67
-
68
- if (isset($tokens[$stackPtr]['scope_opener'], $tokens[$stackPtr]['scope_closer']) === false) {
69
- // Either an else without curly braces or a parse error. Ignore.
70
- return;
71
- }
72
-
73
- $outerScopeOpener = $tokens[$stackPtr]['scope_opener'];
74
- $outerScopeCloser = $tokens[$stackPtr]['scope_closer'];
75
-
76
- $nextNonEmpty = $phpcsFile->findNext(Tokens::$emptyTokens, ($outerScopeOpener + 1), $outerScopeCloser, true);
77
- if ($nextNonEmpty === false || $tokens[$nextNonEmpty]['code'] !== \T_IF) {
78
- // Definitely not a lonely if statement.
79
- return;
80
- }
81
-
82
- if (isset($tokens[$nextNonEmpty]['scope_closer']) === false) {
83
- // Either a control structure without curly braces or a parse error. Ignore.
84
- return;
85
- }
86
-
87
- /*
88
- * Find the end of an if - else chain.
89
- */
90
-
91
- $innerIfPtr = $nextNonEmpty;
92
- $innerIfToken = $tokens[$innerIfPtr];
93
- $autoFixable = true;
94
- $innerScopeCloser = $innerIfToken['scope_closer'];
95
-
96
- // For alternative syntax fixer only.
97
- // Remember the individual inner scope opener and closers so the fixer doesn't need
98
- // to do the same walking over the if/else chain again.
99
- $innerScopes = [
100
- $innerIfToken['scope_opener'] => $innerScopeCloser,
101
- ];
102
-
103
- do {
104
- /*
105
- * Handle control structures using alternative syntax.
106
- */
107
- if ($tokens[$innerScopeCloser]['code'] !== \T_CLOSE_CURLY_BRACKET) {
108
- if ($tokens[$innerScopeCloser]['code'] === \T_ENDIF) {
109
- $nextAfter = $phpcsFile->findNext(
110
- Tokens::$emptyTokens,
111
- ($innerScopeCloser + 1),
112
- $outerScopeCloser,
113
- true
114
- );
115
-
116
- if ($tokens[$nextAfter]['code'] === \T_CLOSE_TAG) {
117
- // Not "lonely" as at the very least there must be a PHP open tag before the outer closer.
118
- return;
119
- }
120
-
121
- if ($tokens[$nextAfter]['code'] === \T_SEMICOLON) {
122
- $innerScopeCloser = $nextAfter;
123
- } else {
124
- // Missing semi-colon. Report, but don't auto-fix.
125
- $autoFixable = false;
126
- }
127
- } else {
128
- // This must be an else[if].
129
- --$innerScopeCloser;
130
- }
131
- }
132
-
133
- $innerNextNonEmpty = $phpcsFile->findNext(
134
- Tokens::$emptyTokens,
135
- ($innerScopeCloser + 1),
136
- $outerScopeCloser,
137
- true
138
- );
139
- if ($innerNextNonEmpty === false) {
140
- // This was the last closer.
141
- break;
142
- }
143
-
144
- if ($tokens[$innerNextNonEmpty]['code'] !== \T_ELSE
145
- && $tokens[$innerNextNonEmpty]['code'] !== \T_ELSEIF
146
- ) {
147
- // Found another statement after the control structure. The "if" is not lonely.
148
- return;
149
- }
150
-
151
- if (isset($tokens[$innerNextNonEmpty]['scope_closer']) === false) {
152
- // This may still be an "else if"...
153
- $nextAfter = $phpcsFile->findNext(
154
- Tokens::$emptyTokens,
155
- ($innerNextNonEmpty + 1),
156
- $outerScopeCloser,
157
- true
158
- );
159
-
160
- if ($nextAfter === false
161
- || $tokens[$nextAfter]['code'] !== \T_IF
162
- || isset($tokens[$nextAfter]['scope_closer']) === false
163
- ) {
164
- // Defense in depth. Either a control structure without curly braces or a parse error. Ignore.
165
- return;
166
- }
167
-
168
- $innerNextNonEmpty = $nextAfter;
169
- }
170
-
171
- $innerScopeCloser = $tokens[$innerNextNonEmpty]['scope_closer'];
172
- $innerScopes[$tokens[$innerNextNonEmpty]['scope_opener']] = $innerScopeCloser;
173
- } while (true);
174
-
175
- /*
176
- * As of now, we know we have an error. Check if it can be auto-fixed.
177
- */
178
- if ($phpcsFile->findNext(\T_WHITESPACE, ($innerScopeCloser + 1), $outerScopeCloser, true) !== false) {
179
- // Comment between the inner and outer closers.
180
- $autoFixable = false;
181
- }
182
-
183
- if ($tokens[$innerScopeCloser]['code'] === \T_SEMICOLON) {
184
- $hasComment = $phpcsFile->findPrevious(\T_WHITESPACE, ($innerScopeCloser - 1), null, true);
185
- if ($tokens[$hasComment]['code'] !== \T_ENDIF) {
186
- // Comment between the "endif" and the semi-colon.
187
- $autoFixable = false;
188
- }
189
- }
190
-
191
- if ($tokens[$outerScopeOpener]['line'] !== $innerIfToken['line']) {
192
- for ($startOfNextLine = ($outerScopeOpener + 1); $startOfNextLine < $innerIfPtr; $startOfNextLine++) {
193
- if ($tokens[$outerScopeOpener]['line'] !== $tokens[$startOfNextLine]['line']) {
194
- break;
195
- }
196
- }
197
-
198
- if ($phpcsFile->findNext(\T_WHITESPACE, $startOfNextLine, $innerIfPtr, true) !== false) {
199
- // Comment between the inner and outer openers.
200
- $autoFixable = false;
201
- }
202
- }
203
-
204
- if (isset($innerIfToken['parenthesis_opener'], $innerIfToken['parenthesis_closer']) === false) {
205
- // Start/end of the condition of the if unclear. Most likely a parse error.
206
- $autoFixable = false;
207
- }
208
-
209
- /*
210
- * Throw the error and potentially fix it.
211
- */
212
- $error = 'If control structure block found as the only statement within an "else" block. Use elseif instead.';
213
- $code = 'Found';
214
-
215
- if ($autoFixable === false) {
216
- $phpcsFile->addError($error, $stackPtr, $code);
217
- return;
218
- }
219
-
220
- $fix = $phpcsFile->addFixableError($error, $stackPtr, $code);
221
- if ($fix === false) {
222
- return;
223
- }
224
-
225
- /*
226
- * Fix it.
227
- */
228
- $outerInnerSameType = false;
229
- if (($tokens[$outerScopeCloser]['code'] === \T_CLOSE_CURLY_BRACKET
230
- && $tokens[$innerScopeCloser]['code'] === \T_CLOSE_CURLY_BRACKET)
231
- || ($tokens[$outerScopeCloser]['code'] === \T_ENDIF
232
- && $tokens[$innerScopeCloser]['code'] === \T_SEMICOLON)
233
- ) {
234
- $outerInnerSameType = true;
235
- }
236
-
237
- $targetIsCurly = ($tokens[$outerScopeCloser]['code'] === \T_CLOSE_CURLY_BRACKET);
238
-
239
- $innerScopeCount = \count($innerScopes);
240
-
241
- $condition = GetTokensAsString::origContent($phpcsFile, ($innerIfPtr + 1), ($innerIfToken['scope_opener'] - 1));
242
- if ($targetIsCurly === true) {
243
- $condition = \rtrim($condition) . ' ';
244
- }
245
-
246
- $phpcsFile->fixer->beginChangeset();
247
-
248
- // Remove the inner if + condition up to and including the scope opener.
249
- for ($i = $innerIfPtr; $i <= $innerIfToken['scope_opener']; $i++) {
250
- $phpcsFile->fixer->replaceToken($i, '');
251
- }
252
-
253
- // Potentially remove trailing whitespace/new line if there is no comment after the inner condition.
254
- while ($tokens[$i]['line'] === $innerIfToken['line']
255
- && $tokens[$i]['code'] === \T_WHITESPACE
256
- ) {
257
- $phpcsFile->fixer->replaceToken($i, '');
258
- ++$i;
259
- }
260
-
261
- // Remove any potential indentation whitespace for the inner if.
262
- if ($tokens[$outerScopeOpener]['line'] !== $innerIfToken['line']
263
- && $tokens[$i]['line'] !== $innerIfToken['line']
264
- ) {
265
- $i = ($nextNonEmpty - 1);
266
- while ($tokens[$i]['line'] === $innerIfToken['line']
267
- && $tokens[$i]['code'] === \T_WHITESPACE
268
- ) {
269
- $phpcsFile->fixer->replaceToken($i, '');
270
- --$i;
271
- }
272
- }
273
-
274
- // Remove the inner scope closer.
275
- $phpcsFile->fixer->replaceToken($innerScopeCloser, '');
276
- $i = ($innerScopeCloser - 1);
277
-
278
- // Handle alternative syntax for the closer.
279
- if ($tokens[$innerScopeCloser]['code'] === \T_SEMICOLON) {
280
- // Remove potential whitespace between the "endif" and the semicolon.
281
- while ($tokens[$i]['code'] === \T_WHITESPACE) {
282
- $phpcsFile->fixer->replaceToken($i, '');
283
- --$i;
284
- }
285
-
286
- // Remove the "endif".
287
- $phpcsFile->fixer->replaceToken($i, '');
288
- --$i;
289
- }
290
-
291
- // Remove superfluous whitespace before the inner scope closer.
292
- while ($tokens[$i]['code'] === \T_WHITESPACE) {
293
- $phpcsFile->fixer->replaceToken($i, '');
294
- --$i;
295
- }
296
-
297
- // Replace the else.
298
- $phpcsFile->fixer->replaceToken($stackPtr, 'elseif' . $condition);
299
-
300
- // Remove potential superfluous whitespace between the new condition and the scope opener.
301
- $i = ($stackPtr + 1);
302
- while ($tokens[$i]['line'] === $tokens[$stackPtr]['line']
303
- && $tokens[$i]['code'] === \T_WHITESPACE
304
- ) {
305
- $phpcsFile->fixer->replaceToken($i, '');
306
- ++$i;
307
- }
308
-
309
- if ($outerInnerSameType === false
310
- && $innerScopeCount > 1
311
- ) {
312
- $loop = 1;
313
- foreach ($innerScopes as $opener => $closer) {
314
- if ($targetIsCurly === true) {
315
- if ($loop !== 1) {
316
- // Only handle the opener when it's not the first of the chain as that's already handled above.
317
- $phpcsFile->fixer->replaceToken($opener, ' {');
318
- }
319
-
320
- if ($loop !== $innerScopeCount) {
321
- // Only handle the closer when it's not the last of the chain as that's already handled above.
322
- $phpcsFile->fixer->addContentBefore($closer, '} ');
323
- }
324
- } else {
325
- if ($loop !== 1) {
326
- // Only handle the opener when it's not the first of the chain as that's already handled above.
327
- $phpcsFile->fixer->replaceToken($opener, ':');
328
- }
329
-
330
- if ($loop !== $innerScopeCount) {
331
- // Only handle the closer when it's not the last of the chain as that's already handled above.
332
- $phpcsFile->fixer->replaceToken($closer, '');
333
-
334
- $j = ($closer + 1);
335
- while ($tokens[$j]['code'] === \T_WHITESPACE) {
336
- $phpcsFile->fixer->replaceToken($j, '');
337
- ++$j;
338
- }
339
- }
340
- }
341
-
342
- ++$loop;
343
- }
344
- }
345
-
346
- $phpcsFile->fixer->endChangeset();
347
- }
348
- }