From 0c07e36e619d988e65be3411816a665a3bb2a2c7 Mon Sep 17 00:00:00 2001 From: Tomas Votruba Date: Tue, 29 Sep 2026 11:07:18 +0200 Subject: [PATCH] Skip deprecated rules in list-unused-rules script --- scripts/list-unused-rules.php | 12 ++++++++++++ 1 file changed, 12 insertions(+) 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();