-
Notifications
You must be signed in to change notification settings - Fork 40
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
3.0: start using PHPCSUtils #777
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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.
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`.
…essage This is more tested than the WPCS Sniff::addMessage().
…of extended class
jrfnl
added
Type: Enhancement
PHPCSUtils
The addition and utilisation of PHPCSUtils package
labels
Aug 24, 2023
GaryJones
approved these changes
Aug 24, 2023
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
✅
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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