Skip to content

Replace rector/type-perfect with tomasvotruba/type-coverage - #384

Merged
TomasVotruba merged 1 commit into
mainfrom
remove-type-perfect
Jul 30, 2026
Merged

Replace rector/type-perfect with tomasvotruba/type-coverage#384
TomasVotruba merged 1 commit into
mainfrom
remove-type-perfect

Conversation

@TomasVotruba

Copy link
Copy Markdown
Member

The type-perfect rules have moved into tomasvotruba/type-coverage 2.3.0, which now ships them as a bundled package:

"extra": {
    "phpstan": {
        "includes": [
            "config/extension.neon",
            "packages/type-perfect/config/extension.neon"
        ]
    }
}

So rector/type-perfect is dropped and tomasvotruba/type-coverage added in its place.

 "require-dev": {
-    "rector/type-perfect": "^2.1",
+    "tomasvotruba/type-coverage": "^2.3",
 }

The type_perfect config key is unchanged, so phpstan.neon keeps its existing settings as-is - only the doc link is updated:

-    # see https://github.com/rectorphp/type-perfect/
+    # see https://github.com/TomasVotruba/type-coverage
     type_perfect:
         no_mixed: true
         null_over_false: true
         narrow_param: true
         narrow_return: true

Note: tomasvotruba/type-coverage 2.3 requires PHP ^8.4, one step above this package's "php": ">=8.3" runtime constraint. It is a require-dev only, and every CI job here already runs on 8.4 or 8.5, same as the existing tomasvotruba/unused-public dev dependency.

The type_coverage rules that come along in the same package report nothing here - the codebase is already above their default 99% thresholds.

Type-perfect rules moved into tomasvotruba/type-coverage 2.3.0.
The type_perfect config key is unchanged, so phpstan.neon keeps
its existing settings.
@TomasVotruba
TomasVotruba merged commit aad70d7 into main Jul 30, 2026
9 checks passed
@TomasVotruba
TomasVotruba deleted the remove-type-perfect branch July 30, 2026 09:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant