By starting to use PHPCSUtils, we make VIPCS less dependent on WordPressCS. It has brings added benefits of more stable, thoroughly tested utility methods, which all support modern PHP.
This adds the dependency and updates relevant documentation.
Note: I've not changed the GH Actions workflows to add PHPCSUtils to the matrix (yet). Changes to the workflows will be done in a separate commit.
VIPMinimum ruleset: add PHPCSUtils requirement
PHPCSUtils does not contain any sniffs, so adding this rule isn't strictly necessary, but by having the rule in the ruleset anyway, if PHPCSUtils is missing, the user will get a descriptive error message during the loading of the ruleset instead of a fatal "class not found" error once the sniffs start running.
Adding this only in the WordPressVIPMinimum ruleset is sufficient as the WordPress-VIP-Go ruleset includes WordPressVIPMinimum.
AbstractVariableRestrictionsSniff: use PHPCSUtils MessageHelper::addMessage
This is more tested than the WPCS Sniff::addMessage().
Sniff::find_array_open_close(): PHPCSUtils version
Sniff::get_function_call_parameter(): PHPCSUtils
Sniff::strip_quotes(): use PHPCSUtils version
Classes/DeclarationCompatibility: use PHPCSUtils to retrieve class/method names
Classes/DeclarationCompatibility: use PHPCSUtils to retrieve function parameters
Hooks/AlwaysReturnInFilter: use PHPCSUtils to retrieve function declaration info
UserExperience/AdminBarRemoval: use PHPCSUtils for retrieving tokens as string
AbstractVariableRestrictions: use PHPCSUtils for retrieving tokens as string
Use PHPCSUtils BackCompat for find[Start|End]ofStatement()
Classes/DeclarationCompatibility: use PHPCSUtils for retrieving name of extended class
Composer: require PHPCSUtils
By starting to use PHPCSUtils, we make VIPCS less dependent on WordPressCS. It has brings added benefits of more stable, thoroughly tested utility methods, which all support modern PHP.
This adds the dependency and updates relevant documentation.
Note: I've not changed the GH Actions workflows to add PHPCSUtils to the matrix (yet). Changes to the workflows will be done in a separate commit.
VIPMinimum ruleset: add PHPCSUtils requirement
PHPCSUtils does not contain any sniffs, so adding this rule isn't strictly necessary, but by having the rule in the ruleset anyway, if PHPCSUtils is missing, the user will get a descriptive error message during the loading of the ruleset instead of a fatal "class not found" error once the sniffs start running.
Adding this only in the
WordPressVIPMinimum
ruleset is sufficient as theWordPress-VIP-Go
ruleset includesWordPressVIPMinimum
.AbstractVariableRestrictionsSniff: use PHPCSUtils MessageHelper::addMessage
This is more tested than the WPCS Sniff::addMessage().
Sniff::find_array_open_close(): PHPCSUtils version
Sniff::get_function_call_parameter(): PHPCSUtils
Sniff::strip_quotes(): use PHPCSUtils version
Classes/DeclarationCompatibility: use PHPCSUtils to retrieve class/method names
Classes/DeclarationCompatibility: use PHPCSUtils to retrieve function parameters
Hooks/AlwaysReturnInFilter: use PHPCSUtils to retrieve function declaration info
UserExperience/AdminBarRemoval: use PHPCSUtils for retrieving tokens as string
AbstractVariableRestrictions: use PHPCSUtils for retrieving tokens as string
Use PHPCSUtils BackCompat for find[Start|End]ofStatement()
Classes/DeclarationCompatibility: use PHPCSUtils for retrieving name of extended class
Supersedes #734
Closes #734 Fixes #474