diff --git a/scripts/list-unused-rules.php b/scripts/list-unused-rules.php index 7d75890964c..55bfee76e10 100644 --- a/scripts/list-unused-rules.php +++ b/scripts/list-unused-rules.php @@ -2,6 +2,7 @@ declare(strict_types=1); +use Rector\Configuration\Deprecation\Contract\DeprecatedInterface; use Rector\Contract\Rector\ConfigurableRectorInterface; use Rector\Scripts\Finder\RectorClassFinder; use Rector\Scripts\Finder\RectorSetFilesFinder; @@ -54,6 +55,14 @@ $unusedRectorRules = array_diff($unusedRectorRules, $configurableRectorRules); +// deprecated rules are intentionally kept out of sets +$deprecatedRectorRules = array_filter( + $unusedRectorRules, + static fn (string $rectorClass): bool => is_a($rectorClass, DeprecatedInterface::class, true) +); + +$unusedRectorRules = array_diff($unusedRectorRules, $deprecatedRectorRules); + $symfonyStyle->newLine(); $symfonyStyle->listing($unusedRectorRules); @@ -63,4 +72,7 @@ $symfonyStyle->writeln( sprintf('Skipped %d configurable Rector rules', count($configurableRectorRules)) ); +$symfonyStyle->writeln( + sprintf('Skipped %d deprecated Rector rules', count($deprecatedRectorRules)) +); $symfonyStyle->newLine();