<?php declare(strict_types=1); use PhpStaticAnalysis\RectorRule\AnnotationsToAttributesRector; use Rector\Config\RectorConfig; use Rector\Doctrine\Set\DoctrineSetList; use Rector\Php80\Rector\Class_\AnnotationToAttributeRector; use Rector\PHPUnit\AnnotationsToAttributes\Rector\Class_\AnnotationWithValueToAttributeRector; use Rector\PHPUnit\CodeQuality\Rector\Class_\PreferPHPUnitThisCallRector; use Rector\PHPUnit\Rector\Class_\PreferPHPUnitSelfCallRector; use Rector\PHPUnit\Set\PHPUnitSetList; use Rector\Removing\Rector\FuncCall\RemoveFuncCallRector; use Rector\Symfony\Set\SensiolabsSetList; use Rector\Symfony\Set\SymfonySetList; use Rector\TypeDeclaration\Rector\ClassMethod\AddVoidReturnTypeWhereNoReturnRector; $rectorConfig = RectorConfig::configure(); $rectorConfig->withParallel(30); $rectorConfig->withPreparedSets( deadCode: true, codeQuality: true ); $rectorConfig->withPaths([ __DIR__ . '/bin', __DIR__ . '/src', __DIR__ . '/tests', ]); // uncomment to reach your current PHP version $rectorConfig->withPhpSets(); $rectorConfig->withSets([ PHPUnitSetList::PHPUNIT_80, PHPUnitSetList::PHPUNIT_90, PHPUnitSetList::PHPUNIT_100, PHPUnitSetList::PHPUNIT_CODE_QUALITY, PHPUnitSetList::ANNOTATIONS_TO_ATTRIBUTES, // PhpStaticAnalysisSetList::ANNOTATIONS_TO_ATTRIBUTES,// Implied by PHPUNIT_100 DoctrineSetList::ANNOTATIONS_TO_ATTRIBUTES, SymfonySetList::ANNOTATIONS_TO_ATTRIBUTES, SensiolabsSetList::ANNOTATIONS_TO_ATTRIBUTES, __DIR__ . '/vendor/fakerphp/faker/rector-migrate.php', ]); $rectorConfig->withConfiguredRule(RemoveFuncCallRector::class, [ 'var_dump', ]); $rectorConfig->withRules([ AddVoidReturnTypeWhereNoReturnRector::class, AnnotationToAttributeRector::class, AnnotationWithValueToAttributeRector::class, AnnotationsToAttributesRector::class, ]); // Prefer self::assert* over $this->assert* in PHPUnit tests $rectorConfig->withSkip([ PreferPHPUnitThisCallRector::class, ]); $rectorConfig->withRules([ PreferPHPUnitSelfCallRector::class, ]); return $rectorConfig;