Files
typo3-13/rector.php
T
frommeandClaude Opus 5.5 f4556ee75c refactor: remove dead code via Rector
rector.php gets the deadCode set: @param/@return/@var tags that only
repeat native types, === true comparisons, three unused constructor
dependencies (DateService, ProductDataService, AjaxWatchlistController),
the unused reseller lookup in ContextProcessor and an always-false check
in AbstractMappedFinisher (trimExplode with removeEmpty never yields an
empty remote name).

Checked locally: frontend crawl (~1,900 URLs) and the backchannel APIs
render the same as before.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-26 11:10:20 +01:00

50 lines
2.1 KiB
PHP

<?php
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Php84\Rector\Param\ExplicitNullableParamTypeRector;
use Rector\ValueObject\PhpVersion;
use Ssch\TYPO3Rector\CodeQuality\General\ConvertImplicitVariablesToExplicitGlobalsRector;
use Ssch\TYPO3Rector\CodeQuality\General\ExtEmConfRector;
use Ssch\TYPO3Rector\CodeQuality\General\RemoveTypo3VersionChecksRector;
use Ssch\TYPO3Rector\Configuration\Typo3Option;
use Ssch\TYPO3Rector\Set\Typo3LevelSetList;
use Ssch\TYPO3Rector\Set\Typo3SetList;
use Ssch\TYPO3Rector\TYPO313\v4\MigratePluginContentElementAndPluginSubtypesRector;
use Ssch\TYPO3Rector\TYPO313\v4\MigratePluginContentElementAndPluginSubtypesSwapArgsRector;
use Ssch\TYPO3Rector\TYPO313\v4\MigratePluginContentElementAndPluginSubtypesTCARector;
return RectorConfig::configure()
->withPaths([
__DIR__ . '/packages',
])
->withSkip([
__DIR__ . '/packages/*/Resources/Private/Assets/*',
// Plugins stay list_type plugins until the TYPO3 14 step, which migrates tt_content
MigratePluginContentElementAndPluginSubtypesRector::class,
MigratePluginContentElementAndPluginSubtypesSwapArgsRector::class,
MigratePluginContentElementAndPluginSubtypesTCARector::class,
])
->withPhpVersion(PhpVersion::PHP_85)
->withPhpSets(php85: true)
->withPreparedSets(deadCode: true)
->withSets([
Typo3SetList::GENERAL,
Typo3LevelSetList::UP_TO_TYPO3_13,
])
->withPHPStanConfigs([Typo3Option::PHPSTAN_FOR_RECTOR_PATH])
->withImportNames(true, true, false, true)
->withRules([
ConvertImplicitVariablesToExplicitGlobalsRector::class,
ExplicitNullableParamTypeRector::class,
])
->withConfiguredRule(ExtEmConfRector::class, [
ExtEmConfRector::PHP_VERSION_CONSTRAINT => '8.5.0-8.5.99',
ExtEmConfRector::TYPO3_VERSION_CONSTRAINT => '13.4.0-13.4.99',
ExtEmConfRector::ADDITIONAL_VALUES_TO_BE_REMOVED => [],
])
->withConfiguredRule(RemoveTypo3VersionChecksRector::class, [
RemoveTypo3VersionChecksRector::TARGET_VERSION => 13,
]);