forked from rectorphp/rector-src
-
Notifications
You must be signed in to change notification settings - Fork 0
/
rector.php
64 lines (57 loc) · 2.2 KB
/
rector.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
<?php
declare(strict_types=1);
use Rector\CodeQuality\Rector\FuncCall\SimplifyRegexPatternRector;
use Rector\CodingStyle\Rector\String_\UseClassKeywordForClassNameResolutionRector;
use Rector\Config\RectorConfig;
use Rector\DeadCode\Rector\ConstFetch\RemovePhpVersionIdCheckRector;
use Rector\Php55\Rector\String_\StringClassNameToClassConstantRector;
use Rector\TypeDeclaration\Rector\ClassMethod\AddMethodCallBasedStrictParamTypeRector;
use Rector\TypeDeclaration\Rector\StmtsAwareInterface\DeclareStrictTypesRector;
return RectorConfig::configure()
->withPreparedSets(
deadCode: true,
codeQuality: true,
codingStyle: true,
typeDeclarations: true,
privatization: true,
strictBooleans: true,
instanceOf: true,
earlyReturn: true,
naming: true
)
// @experimental since 0.19.7 for more smooth Rector integration to new project
->withTypeCoverageLevel(10)
->withPhpSets()
->withRules([DeclareStrictTypesRector::class])
->withPaths([
__DIR__ . '/bin',
__DIR__ . '/src',
__DIR__ . '/rules',
__DIR__ . '/rules-tests',
__DIR__ . '/tests',
__DIR__ . '/utils',
__DIR__ . '/config',
])
->withRootFiles()
->withImportNames(removeUnusedImports: true)
->withSkip([
StringClassNameToClassConstantRector::class,
__DIR__ . '/bin/validate-phpstan-version.php',
// tests
'*/Fixture/*',
'*/Fixture*',
'*/Source/*',
'*/Source*',
'*/Expected/*',
// keep configs untouched, as the classes are just strings
UseClassKeywordForClassNameResolutionRector::class => [__DIR__ . '/config', '*/config/*'],
// avoid simplifying itself
SimplifyRegexPatternRector::class => [
__DIR__ . '/rules/CodeQuality/Rector/FuncCall/SimplifyRegexPatternRector.php',
],
// race condition with stmts aware patch and PHPStan type
AddMethodCallBasedStrictParamTypeRector::class => [
__DIR__ . '/rules/DeadCode/Rector/If_/RemoveUnusedNonEmptyArrayBeforeForeachRector.php',
],
RemovePhpVersionIdCheckRector::class => [__DIR__ . '/src/Util/FileHasher.php'],
]);