Skip to content
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 13 commits into from
Aug 24, 2023
Merged

Conversation

jrfnl
Copy link
Collaborator

@jrfnl jrfnl commented Aug 24, 2023

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 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

Supersedes #734

Closes #734
Fixes #474

jrfnl and others added 13 commits August 24, 2023 17:16
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().
@jrfnl jrfnl added Type: Enhancement PHPCSUtils The addition and utilisation of PHPCSUtils package labels Aug 24, 2023
@jrfnl jrfnl added this to the 3.0.0 milestone Aug 24, 2023
@jrfnl jrfnl requested a review from a team as a code owner August 24, 2023 15:18
Copy link
Contributor

@GaryJones GaryJones left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@GaryJones GaryJones merged commit b1018cb into develop Aug 24, 2023
@GaryJones GaryJones deleted the 3.0/feature/start-using-phpcsutils branch August 24, 2023 15:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
PHPCSUtils The addition and utilisation of PHPCSUtils package Type: Enhancement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

PHPCSUtils: Add dependency
2 participants