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.
- package/composer.json +2 -3
- package/composer.lock +3 -313
- package/index.js +38 -21
- package/lib/blocks.js +8 -6
- package/lib/style.js +17 -0
- package/package.json +1 -1
- package/vendor/composer/autoload_classmap.php +0 -37
- package/vendor/composer/autoload_psr4.php +0 -1
- package/vendor/composer/autoload_real.php +2 -0
- package/vendor/composer/autoload_static.php +0 -53
- package/vendor/composer/installed.json +1 -329
- package/vendor/composer/installed.php +3 -39
- package/vendor/composer/platform_check.php +26 -0
- package/lib/bustCache.js +0 -14
- package/vendor/dealerdirect/phpcodesniffer-composer-installer/LICENSE.md +0 -22
- package/vendor/dealerdirect/phpcodesniffer-composer-installer/README.md +0 -285
- package/vendor/dealerdirect/phpcodesniffer-composer-installer/composer.json +0 -71
- package/vendor/dealerdirect/phpcodesniffer-composer-installer/src/Plugin.php +0 -637
- package/vendor/phpcsstandards/phpcsextra/CHANGELOG.md +0 -590
- package/vendor/phpcsstandards/phpcsextra/LICENSE +0 -165
- package/vendor/phpcsstandards/phpcsextra/Modernize/Docs/FunctionCalls/DirnameStandard.xml +0 -40
- package/vendor/phpcsstandards/phpcsextra/Modernize/Sniffs/FunctionCalls/DirnameSniff.php +0 -382
- package/vendor/phpcsstandards/phpcsextra/Modernize/ruleset.xml +0 -5
- package/vendor/phpcsstandards/phpcsextra/NormalizedArrays/Docs/Arrays/ArrayBraceSpacingStandard.xml +0 -94
- package/vendor/phpcsstandards/phpcsextra/NormalizedArrays/Docs/Arrays/CommaAfterLastStandard.xml +0 -43
- package/vendor/phpcsstandards/phpcsextra/NormalizedArrays/Sniffs/Arrays/ArrayBraceSpacingSniff.php +0 -305
- package/vendor/phpcsstandards/phpcsextra/NormalizedArrays/Sniffs/Arrays/CommaAfterLastSniff.php +0 -226
- package/vendor/phpcsstandards/phpcsextra/NormalizedArrays/ruleset.xml +0 -5
- package/vendor/phpcsstandards/phpcsextra/README.md +0 -573
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Arrays/DisallowShortArraySyntaxStandard.xml +0 -27
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Arrays/DuplicateArrayKeyStandard.xml +0 -44
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Arrays/MixedArrayKeyTypesStandard.xml +0 -40
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Arrays/MixedKeyedUnkeyedArrayStandard.xml +0 -31
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Classes/DisallowAnonClassParenthesesStandard.xml +0 -24
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Classes/DisallowFinalClassStandard.xml +0 -25
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Classes/ModifierKeywordOrderStandard.xml +0 -27
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Classes/RequireAnonClassParenthesesStandard.xml +0 -23
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Classes/RequireFinalClassStandard.xml +0 -25
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/CodeAnalysis/ConstructorDestructorReturnStandard.xml +0 -64
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/CodeAnalysis/ForeachUniqueAssignmentStandard.xml +0 -26
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/CodeAnalysis/NoDoubleNegativeStandard.xml +0 -27
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/CodeAnalysis/NoEchoSprintfStandard.xml +0 -25
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/CodeAnalysis/StaticInFinalClassStandard.xml +0 -43
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Constants/LowercaseClassResolutionKeywordStandard.xml +0 -23
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Constants/ModifierKeywordOrderStandard.xml +0 -30
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Constants/UppercaseMagicConstantsStandard.xml +0 -25
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/ControlStructures/DisallowAlternativeSyntaxStandard.xml +0 -35
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/ControlStructures/DisallowLonelyIfStandard.xml +0 -49
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/ControlStructures/IfElseDeclarationStandard.xml +0 -37
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Files/SeparateFunctionsFromOOStandard.xml +0 -45
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/FunctionDeclarations/NoLongClosuresStandard.xml +0 -42
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/FunctionDeclarations/RequireFinalMethodsInTraitsStandard.xml +0 -33
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Lists/DisallowLongListSyntaxStandard.xml +0 -23
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Lists/DisallowShortListSyntaxStandard.xml +0 -23
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Namespaces/DisallowCurlyBraceSyntaxStandard.xml +0 -27
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Namespaces/DisallowDeclarationWithoutNameStandard.xml +0 -25
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Namespaces/EnforceCurlyBraceSyntaxStandard.xml +0 -27
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Namespaces/OneDeclarationPerFileStandard.xml +0 -27
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/NamingConventions/NoReservedKeywordParameterNamesStandard.xml +0 -23
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/OOStructures/AlphabeticExtendsImplementsStandard.xml +0 -27
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Operators/ConcatPositionStandard.xml +0 -31
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Operators/DisallowLogicalAndOrStandard.xml +0 -30
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Operators/DisallowShortTernaryStandard.xml +0 -26
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Operators/DisallowStandalonePostIncrementDecrementStandard.xml +0 -44
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Operators/StrictComparisonsStandard.xml +0 -29
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Operators/TypeSeparatorSpacingStandard.xml +0 -33
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/PHP/LowercasePHPTagStandard.xml +0 -25
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/PHP/OneStatementInShortEchoTagStandard.xml +0 -41
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/UseStatements/DisallowMixedGroupUseStandard.xml +0 -39
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/UseStatements/DisallowUseClassStandard.xml +0 -25
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/UseStatements/DisallowUseConstStandard.xml +0 -25
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/UseStatements/DisallowUseFunctionStandard.xml +0 -25
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/UseStatements/KeywordSpacingStandard.xml +0 -29
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/UseStatements/LowercaseFunctionConstStandard.xml +0 -25
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/UseStatements/NoLeadingBackslashStandard.xml +0 -23
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/UseStatements/NoUselessAliasesStandard.xml +0 -30
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/WhiteSpace/AnonClassKeywordSpacingStandard.xml +0 -31
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/WhiteSpace/CommaSpacingStandard.xml +0 -94
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/WhiteSpace/DisallowInlineTabsStandard.xml +0 -25
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/WhiteSpace/PrecisionAlignmentStandard.xml +0 -29
- package/vendor/phpcsstandards/phpcsextra/Universal/Helpers/DummyTokenizer.php +0 -60
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Arrays/DisallowShortArraySyntaxSniff.php +0 -89
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Arrays/DuplicateArrayKeySniff.php +0 -297
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Arrays/MixedArrayKeyTypesSniff.php +0 -174
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Arrays/MixedKeyedUnkeyedArraySniff.php +0 -134
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Classes/DisallowAnonClassParenthesesSniff.php +0 -112
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Classes/DisallowFinalClassSniff.php +0 -116
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Classes/ModifierKeywordOrderSniff.php +0 -188
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Classes/RequireAnonClassParenthesesSniff.php +0 -81
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Classes/RequireFinalClassSniff.php +0 -102
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/CodeAnalysis/ConstructorDestructorReturnSniff.php +0 -211
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/CodeAnalysis/ForeachUniqueAssignmentSniff.php +0 -153
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/CodeAnalysis/NoDoubleNegativeSniff.php +0 -269
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/CodeAnalysis/NoEchoSprintfSniff.php +0 -131
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/CodeAnalysis/StaticInFinalClassSniff.php +0 -216
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Constants/LowercaseClassResolutionKeywordSniff.php +0 -106
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Constants/ModifierKeywordOrderSniff.php +0 -199
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Constants/UppercaseMagicConstantsSniff.php +0 -89
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/ControlStructures/DisallowAlternativeSyntaxSniff.php +0 -216
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/ControlStructures/DisallowLonelyIfSniff.php +0 -348
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/ControlStructures/IfElseDeclarationSniff.php +0 -164
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Files/SeparateFunctionsFromOOSniff.php +0 -190
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/FunctionDeclarations/NoLongClosuresSniff.php +0 -233
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/FunctionDeclarations/RequireFinalMethodsInTraitsSniff.php +0 -120
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Lists/DisallowLongListSyntaxSniff.php +0 -71
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Lists/DisallowShortListSyntaxSniff.php +0 -86
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Namespaces/DisallowCurlyBraceSyntaxSniff.php +0 -81
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Namespaces/DisallowDeclarationWithoutNameSniff.php +0 -80
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Namespaces/EnforceCurlyBraceSyntaxSniff.php +0 -81
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Namespaces/OneDeclarationPerFileSniff.php +0 -96
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/NamingConventions/NoReservedKeywordParameterNamesSniff.php +0 -190
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/OOStructures/AlphabeticExtendsImplementsSniff.php +0 -275
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Operators/ConcatPositionSniff.php +0 -204
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Operators/DisallowLogicalAndOrSniff.php +0 -112
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Operators/DisallowShortTernarySniff.php +0 -76
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Operators/DisallowStandalonePostIncrementDecrementSniff.php +0 -197
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Operators/StrictComparisonsSniff.php +0 -116
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Operators/TypeSeparatorSpacingSniff.php +0 -85
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/PHP/LowercasePHPTagSniff.php +0 -87
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/PHP/OneStatementInShortEchoTagSniff.php +0 -101
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/UseStatements/DisallowMixedGroupUseSniff.php +0 -248
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/UseStatements/DisallowUseClassSniff.php +0 -211
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/UseStatements/DisallowUseConstSniff.php +0 -211
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/UseStatements/DisallowUseFunctionSniff.php +0 -211
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/UseStatements/KeywordSpacingSniff.php +0 -207
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/UseStatements/LowercaseFunctionConstSniff.php +0 -156
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/UseStatements/NoLeadingBackslashSniff.php +0 -170
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/UseStatements/NoUselessAliasesSniff.php +0 -155
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/WhiteSpace/AnonClassKeywordSpacingSniff.php +0 -79
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/WhiteSpace/CommaSpacingSniff.php +0 -408
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/WhiteSpace/DisallowInlineTabsSniff.php +0 -173
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/WhiteSpace/PrecisionAlignmentSniff.php +0 -445
- package/vendor/phpcsstandards/phpcsextra/Universal/ruleset.xml +0 -5
- package/vendor/phpcsstandards/phpcsextra/composer.json +0 -69
- package/vendor/phpcsstandards/phpcsutils/.phpdoc.xml.dist +0 -36
- package/vendor/phpcsstandards/phpcsutils/CHANGELOG.md +0 -1106
- package/vendor/phpcsstandards/phpcsutils/LICENSE +0 -165
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/AbstractSniffs/AbstractArrayDeclarationSniff.php +0 -551
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/BackCompat/BCFile.php +0 -781
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/BackCompat/BCTokens.php +0 -123
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/BackCompat/Helper.php +0 -202
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Exceptions/InvalidTokenArray.php +0 -44
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Exceptions/TestFileNotFound.php +0 -47
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Exceptions/TestMarkerNotFound.php +0 -43
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Exceptions/TestTargetNotFound.php +0 -50
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Fixers/SpacesFixer.php +0 -246
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Internal/Cache.php +0 -218
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Internal/IsShortArrayOrList.php +0 -687
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Internal/IsShortArrayOrListWithCache.php +0 -269
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Internal/NoFileCache.php +0 -164
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Internal/StableCollections.php +0 -75
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/TestUtils/UtilityMethodTestCase.php +0 -459
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Tokens/Collections.php +0 -837
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Tokens/TokenHelper.php +0 -55
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Utils/Arrays.php +0 -227
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Utils/Conditions.php +0 -156
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Utils/Context.php +0 -232
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Utils/ControlStructures.php +0 -276
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Utils/FunctionDeclarations.php +0 -828
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Utils/GetTokensAsString.php +0 -262
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Utils/Lists.php +0 -359
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Utils/MessageHelper.php +0 -145
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Utils/Namespaces.php +0 -389
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Utils/NamingConventions.php +0 -116
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Utils/Numbers.php +0 -322
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Utils/ObjectDeclarations.php +0 -359
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Utils/Operators.php +0 -252
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Utils/Orthography.php +0 -120
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Utils/Parentheses.php +0 -419
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Utils/PassedParameters.php +0 -510
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Utils/Scopes.php +0 -143
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Utils/TextStrings.php +0 -331
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Utils/UseStatements.php +0 -432
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Utils/Variables.php +0 -333
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/ruleset.xml +0 -4
- package/vendor/phpcsstandards/phpcsutils/README.md +0 -297
- package/vendor/phpcsstandards/phpcsutils/composer.json +0 -92
- package/vendor/phpcsstandards/phpcsutils/phpcsutils-autoload.php +0 -68
- package/vendor/wp-coding-standards/wpcs/CHANGELOG.md +0 -1654
- package/vendor/wp-coding-standards/wpcs/LICENSE +0 -21
- package/vendor/wp-coding-standards/wpcs/README.md +0 -261
- package/vendor/wp-coding-standards/wpcs/WordPress/AbstractArrayAssignmentRestrictionsSniff.php +0 -261
- package/vendor/wp-coding-standards/wpcs/WordPress/AbstractClassRestrictionsSniff.php +0 -257
- package/vendor/wp-coding-standards/wpcs/WordPress/AbstractFunctionParameterSniff.php +0 -111
- package/vendor/wp-coding-standards/wpcs/WordPress/AbstractFunctionRestrictionsSniff.php +0 -358
- package/vendor/wp-coding-standards/wpcs/WordPress/Docs/Arrays/ArrayIndentationStandard.xml +0 -116
- package/vendor/wp-coding-standards/wpcs/WordPress/Docs/Arrays/ArrayKeySpacingRestrictionsStandard.xml +0 -31
- package/vendor/wp-coding-standards/wpcs/WordPress/Docs/Arrays/MultipleStatementAlignmentStandard.xml +0 -50
- package/vendor/wp-coding-standards/wpcs/WordPress/Docs/CodeAnalysis/EscapedNotTranslatedStandard.xml +0 -24
- package/vendor/wp-coding-standards/wpcs/WordPress/Docs/DateTime/CurrentTimeTimestampStandard.xml +0 -35
- package/vendor/wp-coding-standards/wpcs/WordPress/Docs/DateTime/RestrictedFunctionsStandard.xml +0 -54
- package/vendor/wp-coding-standards/wpcs/WordPress/Docs/NamingConventions/PrefixAllGlobalsStandard.xml +0 -119
- package/vendor/wp-coding-standards/wpcs/WordPress/Docs/NamingConventions/ValidHookNameStandard.xml +0 -35
- package/vendor/wp-coding-standards/wpcs/WordPress/Docs/NamingConventions/ValidPostTypeSlugStandard.xml +0 -121
- package/vendor/wp-coding-standards/wpcs/WordPress/Docs/PHP/IniSetStandard.xml +0 -40
- package/vendor/wp-coding-standards/wpcs/WordPress/Docs/PHP/StrictInArrayStandard.xml +0 -53
- package/vendor/wp-coding-standards/wpcs/WordPress/Docs/PHP/YodaConditionsStandard.xml +0 -27
- package/vendor/wp-coding-standards/wpcs/WordPress/Docs/Security/SafeRedirectStandard.xml +0 -23
- package/vendor/wp-coding-standards/wpcs/WordPress/Docs/WP/CapabilitiesStandard.xml +0 -69
- package/vendor/wp-coding-standards/wpcs/WordPress/Docs/WP/CapitalPDangitStandard.xml +0 -43
- package/vendor/wp-coding-standards/wpcs/WordPress/Docs/WP/ClassNameCaseStandard.xml +0 -23
- package/vendor/wp-coding-standards/wpcs/WordPress/Docs/WP/CronIntervalStandard.xml +0 -45
- package/vendor/wp-coding-standards/wpcs/WordPress/Docs/WP/DeprecatedClassesStandard.xml +0 -23
- package/vendor/wp-coding-standards/wpcs/WordPress/Docs/WP/DeprecatedFunctionsStandard.xml +0 -23
- package/vendor/wp-coding-standards/wpcs/WordPress/Docs/WP/DeprecatedParameterValuesStandard.xml +0 -23
- package/vendor/wp-coding-standards/wpcs/WordPress/Docs/WP/DeprecatedParametersStandard.xml +0 -40
- package/vendor/wp-coding-standards/wpcs/WordPress/Docs/WP/EnqueuedResourceParametersStandard.xml +0 -92
- package/vendor/wp-coding-standards/wpcs/WordPress/Docs/WP/EnqueuedResourcesStandard.xml +0 -57
- package/vendor/wp-coding-standards/wpcs/WordPress/Docs/WP/PostsPerPageStandard.xml +0 -73
- package/vendor/wp-coding-standards/wpcs/WordPress/Docs/WhiteSpace/CastStructureSpacingStandard.xml +0 -27
- package/vendor/wp-coding-standards/wpcs/WordPress/Docs/WhiteSpace/ControlStructureSpacingStandard.xml +0 -150
- package/vendor/wp-coding-standards/wpcs/WordPress/Docs/WhiteSpace/ObjectOperatorSpacingStandard.xml +0 -19
- package/vendor/wp-coding-standards/wpcs/WordPress/Docs/WhiteSpace/OperatorSpacingStandard.xml +0 -61
- package/vendor/wp-coding-standards/wpcs/WordPress/Helpers/ArrayWalkingFunctionsHelper.php +0 -108
- package/vendor/wp-coding-standards/wpcs/WordPress/Helpers/ConstantsHelper.php +0 -135
- package/vendor/wp-coding-standards/wpcs/WordPress/Helpers/ContextHelper.php +0 -394
- package/vendor/wp-coding-standards/wpcs/WordPress/Helpers/DeprecationHelper.php +0 -84
- package/vendor/wp-coding-standards/wpcs/WordPress/Helpers/EscapingFunctionsTrait.php +0 -256
- package/vendor/wp-coding-standards/wpcs/WordPress/Helpers/FormattingFunctionsHelper.php +0 -60
- package/vendor/wp-coding-standards/wpcs/WordPress/Helpers/IsUnitTestTrait.php +0 -238
- package/vendor/wp-coding-standards/wpcs/WordPress/Helpers/ListHelper.php +0 -101
- package/vendor/wp-coding-standards/wpcs/WordPress/Helpers/MinimumWPVersionTrait.php +0 -159
- package/vendor/wp-coding-standards/wpcs/WordPress/Helpers/PrintingFunctionsTrait.php +0 -122
- package/vendor/wp-coding-standards/wpcs/WordPress/Helpers/RulesetPropertyHelper.php +0 -73
- package/vendor/wp-coding-standards/wpcs/WordPress/Helpers/SanitizationHelperTrait.php +0 -418
- package/vendor/wp-coding-standards/wpcs/WordPress/Helpers/SnakeCaseHelper.php +0 -60
- package/vendor/wp-coding-standards/wpcs/WordPress/Helpers/UnslashingFunctionsHelper.php +0 -59
- package/vendor/wp-coding-standards/wpcs/WordPress/Helpers/ValidationHelper.php +0 -349
- package/vendor/wp-coding-standards/wpcs/WordPress/Helpers/VariableHelper.php +0 -262
- package/vendor/wp-coding-standards/wpcs/WordPress/Helpers/WPDBTrait.php +0 -115
- package/vendor/wp-coding-standards/wpcs/WordPress/Helpers/WPGlobalVariablesHelper.php +0 -312
- package/vendor/wp-coding-standards/wpcs/WordPress/Helpers/WPHookHelper.php +0 -113
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniff.php +0 -72
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/Arrays/ArrayDeclarationSpacingSniff.php +0 -252
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/Arrays/ArrayIndentationSniff.php +0 -550
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/Arrays/ArrayKeySpacingRestrictionsSniff.php +0 -174
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/Arrays/MultipleStatementAlignmentSniff.php +0 -583
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/CodeAnalysis/AssignmentInTernaryConditionSniff.php +0 -173
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/CodeAnalysis/EscapedNotTranslatedSniff.php +0 -89
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/DB/DirectDatabaseQuerySniff.php +0 -301
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/DB/PreparedSQLPlaceholdersSniff.php +0 -761
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/DB/PreparedSQLSniff.php +0 -242
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/DB/RestrictedClassesSniff.php +0 -57
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/DB/RestrictedFunctionsSniff.php +0 -63
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/DB/SlowDBQuerySniff.php +0 -58
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/DateTime/CurrentTimeTimestampSniff.php +0 -168
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/DateTime/RestrictedFunctionsSniff.php +0 -59
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/Files/FileNameSniff.php +0 -313
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/NamingConventions/PrefixAllGlobalsSniff.php +0 -1297
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/NamingConventions/ValidFunctionNameSniff.php +0 -188
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/NamingConventions/ValidHookNameSniff.php +0 -277
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/NamingConventions/ValidPostTypeSlugSniff.php +0 -230
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/NamingConventions/ValidVariableNameSniff.php +0 -289
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/PHP/DevelopmentFunctionsSniff.php +0 -63
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/PHP/DiscouragedPHPFunctionsSniff.php +0 -100
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/PHP/DontExtractSniff.php +0 -52
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/PHP/IniSetSniff.php +0 -193
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/PHP/NoSilencedErrorsSniff.php +0 -245
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/PHP/POSIXFunctionsSniff.php +0 -73
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/PHP/PregQuoteDelimiterSniff.php +0 -70
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/PHP/RestrictedPHPFunctionsSniff.php +0 -45
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/PHP/StrictInArraySniff.php +0 -122
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/PHP/TypeCastsSniff.php +0 -90
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/PHP/YodaConditionsSniff.php +0 -124
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/Security/EscapeOutputSniff.php +0 -903
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/Security/NonceVerificationSniff.php +0 -422
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/Security/PluginMenuSlugSniff.php +0 -126
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/Security/SafeRedirectSniff.php +0 -45
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/Security/ValidatedSanitizedInputSniff.php +0 -244
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/Utils/I18nTextDomainFixerSniff.php +0 -862
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/WP/AlternativeFunctionsSniff.php +0 -371
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/WP/CapabilitiesSniff.php +0 -478
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/WP/CapitalPDangitSniff.php +0 -315
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/WP/ClassNameCaseSniff.php +0 -897
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/WP/CronIntervalSniff.php +0 -321
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/WP/DeprecatedClassesSniff.php +0 -152
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/WP/DeprecatedFunctionsSniff.php +0 -1708
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/WP/DeprecatedParameterValuesSniff.php +0 -291
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/WP/DeprecatedParametersSniff.php +0 -509
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/WP/DiscouragedConstantsSniff.php +0 -160
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/WP/DiscouragedFunctionsSniff.php +0 -54
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/WP/EnqueuedResourceParametersSniff.php +0 -241
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/WP/EnqueuedResourcesSniff.php +0 -108
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/WP/GlobalVariablesOverrideSniff.php +0 -436
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/WP/I18nSniff.php +0 -977
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/WP/PostsPerPageSniff.php +0 -102
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/WhiteSpace/CastStructureSpacingSniff.php +0 -59
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/WhiteSpace/ControlStructureSpacingSniff.php +0 -486
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/WhiteSpace/ObjectOperatorSpacingSniff.php +0 -63
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/WhiteSpace/OperatorSpacingSniff.php +0 -60
- package/vendor/wp-coding-standards/wpcs/WordPress/ruleset.xml +0 -13
- package/vendor/wp-coding-standards/wpcs/WordPress-Core/ruleset.xml +0 -948
- package/vendor/wp-coding-standards/wpcs/WordPress-Docs/ruleset.xml +0 -109
- package/vendor/wp-coding-standards/wpcs/WordPress-Extra/ruleset.xml +0 -199
- package/vendor/wp-coding-standards/wpcs/composer.json +0 -88
- 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
|
-
}
|
package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/CodeAnalysis/NoDoubleNegativeSniff.php
DELETED
|
@@ -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
|
-
}
|