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

YoastCS: more namespace/import use rules #363

Merged
merged 6 commits into from
Dec 14, 2023

Conversation

jrfnl
Copy link
Collaborator

@jrfnl jrfnl commented Dec 14, 2023

YoastCS rules: enforce import use statements for all used classes

.. in namespaced files and don't allow the use of fully qualified inline names for non-namespaced files.

Note: this sniff does not/cannot flag missing import use statements for the use of unqualified classes inline or in docblocks as it cannot know whether that is a class within the same namespace (no use statement needed) or from another namespace.
This is a known limitation of sniffs no matter what.

Related to #303

Fixes #201

Impact on Yoast packages:

Plugin/Tool Errors/Warnings
PHPUnit Polyfills --
WP Test Utils --
YoastCS --
WHIP 1
Yoast Test Helper 1
Duplicate Post 1
Yst ACF --
Yst WooCommerce 53
Yst News 24
Yst Local 59
Yst Video 37
Yst Premium 128
Yst Free 250

Note: this rule was previously already largely "silently" enforced via clean-up sweeps.

YoastCS rules: enforce alphabetically ordered import use statements

Related to #303

Fixes #213

Impact on Yoast packages:

Plugin/Tool Errors/Warnings
PHPUnit Polyfills --
WP Test Utils --
YoastCS --
WHIP --
Yoast Test Helper --
Duplicate Post --
Yst ACF --
Yst WooCommerce --
Yst News --
Yst Local --
Yst Video 1
Yst Premium 3
Yst Free 15

Note: this rule was previously already "silently" enforced via clean-up sweeps.

YoastCS rules: disallow unused import use statements

Impact on Yoast packages:

Plugin/Tool Errors/Warnings
PHPUnit Polyfills 4 (due to backport from the 2.x branch to 1.x)
WP Test Utils --
YoastCS --
WHIP --
Yoast Test Helper --
Duplicate Post --
Yst ACF --
Yst WooCommerce --
Yst News --
Yst Local --
Yst Video --
Yst Premium 2
Yst Free 5

Note: this rule was previously already "silently" enforced via clean-up sweeps.

YoastCS rules: disallow import use statements for the same namespace

Impact on Yoast packages:

Plugin/Tool Errors/Warnings
PHPUnit Polyfills --
WP Test Utils --
YoastCS --
WHIP --
Yoast Test Helper --
Duplicate Post --
Yst ACF --
Yst WooCommerce --
Yst News --
Yst Local --
Yst Video 1
Yst Premium --
Yst Free 2

Note: this rule was previously already "silently" enforced via clean-up sweeps.

YoastCS rules: disallow use function/const in favour of importing the namespace

Related to #214, #215, #303

Impact on Yoast packages:

Plugin/Tool Errors/Warnings
PHPUnit Polyfills --
WP Test Utils --
YoastCS --
WHIP --
Yoast Test Helper --
Duplicate Post --
Yst ACF --
Yst WooCommerce --
Yst News --
Yst Local --
Yst Video --
Yst Premium 1
Yst Free --

Note: this rule was previously already "silently" enforced via clean-up sweeps.

YoastCS rules: enforce fully qualified global functions and constants

Impact on Yoast packages:

Plugin/Tool Errors/Warnings
PHPUnit Polyfills --
WP Test Utils --
YoastCS --
WHIP --
Yoast Test Helper --
Duplicate Post --
Yst ACF --
Yst WooCommerce 1
Yst News 2
Yst Local --
Yst Video --
Yst Premium 18
Yst Free 46

Note: this rule was previously already "silently" enforced via clean-up sweeps.

.. in namespaced files and don't allow the use of fully qualified inline names for non-namespaced files.

Note: this sniff does not/cannot flag missing import `use` statements for the use of _unqualified_ classes inline or in docblocks as it cannot know whether that is a class within the same namespace (no `use` statement needed) or from another namespace.
This is a known limitation of sniffs no matter what.

Related to 303

Fixes 201

Impact on Yoast packages:

| Plugin/Tool       | Errors/Warnings |
|-------------------|-----------------|
| PHPUnit Polyfills | --
| WP Test Utils     | --
| YoastCS           | --
| WHIP              | 1
| Yoast Test Helper | 1
| Duplicate Post    | 1
| Yst ACF           | --
| Yst WooCommerce   | 53
| Yst News          | 24
| Yst Local         | 59
| Yst Video         | 37
| Yst Premium       | 128
| Yst Free          | 250

Note: this rule was previously already largely "silently" enforced via clean-up sweeps.
Related to 303

Fixes 213

Impact on Yoast packages:

| Plugin/Tool       | Errors/Warnings |
|-------------------|-----------------|
| PHPUnit Polyfills | --
| WP Test Utils     | --
| YoastCS           | --
| WHIP              | --
| Yoast Test Helper | --
| Duplicate Post    | --
| Yst ACF           | --
| Yst WooCommerce   | --
| Yst News          | --
| Yst Local         | --
| Yst Video         | 1
| Yst Premium       | 3
| Yst Free          | 15

Note: this rule was previously already "silently" enforced via clean-up sweeps.
Related to 303

Impact on Yoast packages:

| Plugin/Tool       | Errors/Warnings |
|-------------------|-----------------|
| PHPUnit Polyfills | 4 (due to backport from the 2.x branch to 1.x)
| WP Test Utils     | --
| YoastCS           | --
| WHIP              | --
| Yoast Test Helper | --
| Duplicate Post    | --
| Yst ACF           | --
| Yst WooCommerce   | --
| Yst News          | --
| Yst Local         | --
| Yst Video         | --
| Yst Premium       | 2
| Yst Free          | 5

Note: this rule was previously already "silently" enforced via clean-up sweeps.
Related to 303

Impact on Yoast packages:

| Plugin/Tool       | Errors/Warnings |
|-------------------|-----------------|
| PHPUnit Polyfills | --
| WP Test Utils     | --
| YoastCS           | --
| WHIP              | --
| Yoast Test Helper | --
| Duplicate Post    | --
| Yst ACF           | --
| Yst WooCommerce   | --
| Yst News          | --
| Yst Local         | --
| Yst Video         | 1
| Yst Premium       | --
| Yst Free          | 2

Note: this rule was previously already "silently" enforced via clean-up sweeps.
…he namespace

Related to 214, 215, 303

Impact on Yoast packages:

| Plugin/Tool       | Errors/Warnings |
|-------------------|-----------------|
| PHPUnit Polyfills | --
| WP Test Utils     | --
| YoastCS           | --
| WHIP              | --
| Yoast Test Helper | --
| Duplicate Post    | --
| Yst ACF           | --
| Yst WooCommerce   | --
| Yst News          | --
| Yst Local         | --
| Yst Video         | --
| Yst Premium       | 1
| Yst Free          | --

Note: this rule was previously already "silently" enforced via clean-up sweeps.
Related to 303

Impact on Yoast packages:

| Plugin/Tool       | Errors/Warnings |
|-------------------|-----------------|
| PHPUnit Polyfills | --
| WP Test Utils     | --
| YoastCS           | --
| WHIP              | --
| Yoast Test Helper | --
| Duplicate Post    | --
| Yst ACF           | --
| Yst WooCommerce   | 1
| Yst News          | 2
| Yst Local         | --
| Yst Video         | --
| Yst Premium       | 18
| Yst Free          | 46

Note: this rule was previously already "silently" enforced via clean-up sweeps.
@coveralls
Copy link

Coverage Status

coverage: 99.411%. remained the same
when pulling 2de2688 on JRF/yoastcs-more-namespace-import-use-rules
into 39e325a on develop.

@jrfnl jrfnl merged commit 89ffdf4 into develop Dec 14, 2023
28 checks passed
@jrfnl jrfnl deleted the JRF/yoastcs-more-namespace-import-use-rules branch December 14, 2023 02:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants