|
1 | 1 | <?php
|
2 | 2 |
|
| 3 | +use Rector\Config\RectorConfig; |
3 | 4 | use Rector\CodeQuality\Rector\BooleanAnd\SimplifyEmptyArrayCheckRector;
|
4 | 5 | use Rector\CodeQuality\Rector\Expression\InlineIfToExplicitIfRector;
|
5 | 6 | use Rector\CodeQuality\Rector\For_\ForToForeachRector;
|
|
17 | 18 | use Rector\CodingStyle\Rector\ClassMethod\FuncGetArgsToVariadicParamRector;
|
18 | 19 | use Rector\CodingStyle\Rector\ClassMethod\MakeInheritedMethodVisibilitySameAsParentRector;
|
19 | 20 | use Rector\CodingStyle\Rector\FuncCall\CountArrayToEmptyArrayComparisonRector;
|
20 |
| -use Rector\Core\Configuration\Option; |
21 | 21 | use Rector\Core\ValueObject\PhpVersion;
|
22 | 22 | use Rector\DeadCode\Rector\ClassMethod\RemoveUnusedPromotedPropertyRector;
|
23 | 23 | use Rector\DeadCode\Rector\MethodCall\RemoveEmptyMethodCallRector;
|
|
34 | 34 | use Rector\PSR4\Rector\FileWithoutNamespace\NormalizeNamespaceByPSR4ComposerAutoloadRector;
|
35 | 35 | use Rector\Set\ValueObject\LevelSetList;
|
36 | 36 | use Rector\Set\ValueObject\SetList;
|
37 |
| -use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator; |
38 | 37 |
|
39 |
| -return static function (ContainerConfigurator $containerConfigurator): void { |
40 |
| - // Rule sets to apply |
41 |
| - $containerConfigurator->import(SetList::DEAD_CODE); |
42 |
| - $containerConfigurator->import(LevelSetList::UP_TO_PHP_74); |
43 |
| - $containerConfigurator->import(PHPUnitSetList::PHPUNIT_SPECIFIC_METHOD); |
44 |
| - $containerConfigurator->import(PHPUnitSetList::PHPUNIT_80); |
45 |
| - |
46 |
| - $parameters = $containerConfigurator->parameters(); |
47 |
| - |
48 |
| - $parameters->set(Option::PARALLEL, true); |
| 38 | +return static function (RectorConfig $rectorConfig): void { |
| 39 | + $rectorConfig->sets([SetList::DEAD_CODE, LevelSetList::UP_TO_PHP_74, PHPUnitSetList::PHPUNIT_SPECIFIC_METHOD, PHPUnitSetList::PHPUNIT_80]); |
| 40 | + $rectorConfig->parallel(); |
49 | 41 | // The paths to refactor (can also be supplied with CLI arguments)
|
50 |
| - $parameters->set(Option::PATHS, [ |
| 42 | + $rectorConfig->paths([ |
51 | 43 | __DIR__ . '/app/',
|
52 | 44 | __DIR__ . '/tests/',
|
53 | 45 | ]);
|
54 | 46 |
|
55 | 47 | // Include Composer's autoload - required for global execution, remove if running locally
|
56 |
| - $parameters->set(Option::AUTOLOAD_PATHS, [ |
| 48 | + $rectorConfig->autoloadPaths([ |
57 | 49 | __DIR__ . '/vendor/autoload.php',
|
58 | 50 | ]);
|
59 | 51 |
|
60 | 52 | // Do you need to include constants, class aliases, or a custom autoloader?
|
61 |
| - $parameters->set(Option::BOOTSTRAP_FILES, [ |
| 53 | + $rectorConfig->bootstrapFiles([ |
62 | 54 | realpath(getcwd()) . '/vendor/codeigniter4/framework/system/Test/bootstrap.php',
|
63 | 55 | ]);
|
64 | 56 |
|
65 | 57 | if (is_file(__DIR__ . '/phpstan.neon.dist')) {
|
66 |
| - $parameters->set(Option::PHPSTAN_FOR_RECTOR_PATH, __DIR__ . '/phpstan.neon.dist'); |
| 58 | + $rectorConfig->phpstanConfig(__DIR__ . '/phpstan.neon.dist'); |
67 | 59 | }
|
68 | 60 |
|
69 | 61 | // Set the target version for refactoring
|
70 |
| - $parameters->set(Option::PHP_VERSION_FEATURES, PhpVersion::PHP_74); |
| 62 | + $rectorConfig->phpVersion(PhpVersion::PHP_74); |
71 | 63 |
|
72 | 64 | // Auto-import fully qualified class names
|
73 |
| - $parameters->set(Option::AUTO_IMPORT_NAMES, true); |
| 65 | + $rectorConfig->importNames(); |
74 | 66 |
|
75 | 67 | // Are there files or rules you need to skip?
|
76 |
| - $parameters->set(Option::SKIP, [ |
| 68 | + $rectorConfig->skip([ |
77 | 69 | __DIR__ . '/app/Views',
|
78 | 70 |
|
79 | 71 | JsonThrowOnErrorRector::class,
|
|
98 | 90 | // May be uninitialized on purpose
|
99 | 91 | AddDefaultValueForUndefinedVariableRector::class,
|
100 | 92 | ]);
|
101 |
| - |
102 |
| - // Additional rules to apply |
103 |
| - $services = $containerConfigurator->services(); |
104 |
| - $services->set(SimplifyUselessVariableRector::class); |
105 |
| - $services->set(RemoveAlwaysElseRector::class); |
106 |
| - $services->set(CountArrayToEmptyArrayComparisonRector::class); |
107 |
| - $services->set(ForToForeachRector::class); |
108 |
| - $services->set(ChangeNestedForeachIfsToEarlyContinueRector::class); |
109 |
| - $services->set(ChangeIfElseValueAssignToEarlyReturnRector::class); |
110 |
| - $services->set(SimplifyStrposLowerRector::class); |
111 |
| - $services->set(CombineIfRector::class); |
112 |
| - $services->set(SimplifyIfReturnBoolRector::class); |
113 |
| - $services->set(InlineIfToExplicitIfRector::class); |
114 |
| - $services->set(PreparedValueToEarlyReturnRector::class); |
115 |
| - $services->set(ShortenElseIfRector::class); |
116 |
| - $services->set(SimplifyIfElseToTernaryRector::class); |
117 |
| - $services->set(UnusedForeachValueToArrayKeysRector::class); |
118 |
| - $services->set(ChangeArrayPushToArrayAssignRector::class); |
119 |
| - $services->set(UnnecessaryTernaryExpressionRector::class); |
120 |
| - $services->set(AddPregQuoteDelimiterRector::class); |
121 |
| - $services->set(SimplifyRegexPatternRector::class); |
122 |
| - $services->set(FuncGetArgsToVariadicParamRector::class); |
123 |
| - $services->set(MakeInheritedMethodVisibilitySameAsParentRector::class); |
124 |
| - $services->set(SimplifyEmptyArrayCheckRector::class); |
125 |
| - $services->set(NormalizeNamespaceByPSR4ComposerAutoloadRector::class); |
126 |
| - $services->set(TypedPropertyRector::class) |
127 |
| - ->configure([ |
| 93 | + $rectorConfig->rule(SimplifyUselessVariableRector::class); |
| 94 | + $rectorConfig->rule(RemoveAlwaysElseRector::class); |
| 95 | + $rectorConfig->rule(CountArrayToEmptyArrayComparisonRector::class); |
| 96 | + $rectorConfig->rule(ForToForeachRector::class); |
| 97 | + $rectorConfig->rule(ChangeNestedForeachIfsToEarlyContinueRector::class); |
| 98 | + $rectorConfig->rule(ChangeIfElseValueAssignToEarlyReturnRector::class); |
| 99 | + $rectorConfig->rule(SimplifyStrposLowerRector::class); |
| 100 | + $rectorConfig->rule(CombineIfRector::class); |
| 101 | + $rectorConfig->rule(SimplifyIfReturnBoolRector::class); |
| 102 | + $rectorConfig->rule(InlineIfToExplicitIfRector::class); |
| 103 | + $rectorConfig->rule(PreparedValueToEarlyReturnRector::class); |
| 104 | + $rectorConfig->rule(ShortenElseIfRector::class); |
| 105 | + $rectorConfig->rule(SimplifyIfElseToTernaryRector::class); |
| 106 | + $rectorConfig->rule(UnusedForeachValueToArrayKeysRector::class); |
| 107 | + $rectorConfig->rule(ChangeArrayPushToArrayAssignRector::class); |
| 108 | + $rectorConfig->rule(UnnecessaryTernaryExpressionRector::class); |
| 109 | + $rectorConfig->rule(AddPregQuoteDelimiterRector::class); |
| 110 | + $rectorConfig->rule(SimplifyRegexPatternRector::class); |
| 111 | + $rectorConfig->rule(FuncGetArgsToVariadicParamRector::class); |
| 112 | + $rectorConfig->rule(MakeInheritedMethodVisibilitySameAsParentRector::class); |
| 113 | + $rectorConfig->rule(SimplifyEmptyArrayCheckRector::class); |
| 114 | + $rectorConfig->rule(NormalizeNamespaceByPSR4ComposerAutoloadRector::class); |
| 115 | + $rectorConfig |
| 116 | + ->ruleWithConfiguration(TypedPropertyRector::class, [ |
128 | 117 | TypedPropertyRector::INLINE_PUBLIC => true,
|
129 | 118 | ]);
|
130 | 119 | };
|
0 commit comments