mirror of
https://github.com/rectorphp/rector.git
synced 2024-05-28 23:10:51 +00:00
Bump PHPStan, ECS and Symplify to 10.2 + make use of brand new ECSConfig (#2076)
This commit is contained in:
parent
86647cc3ad
commit
d7590ea66c
|
@ -7,7 +7,7 @@
|
|||
],
|
||||
"require": {
|
||||
"php": "^7.2|^8.0",
|
||||
"phpstan/phpstan": "^1.5"
|
||||
"phpstan/phpstan": "^1.5.5"
|
||||
},
|
||||
"autoload": {
|
||||
"files": [
|
||||
|
|
|
@ -22,8 +22,8 @@
|
|||
"nette/utils": "^3.2.7",
|
||||
"nikic/php-parser": "^4.13.2",
|
||||
"ondram/ci-detector": "^4.1",
|
||||
"phpstan/phpdoc-parser": "^1.2",
|
||||
"phpstan/phpstan": "^1.5",
|
||||
"phpstan/phpdoc-parser": "^1.4.4",
|
||||
"phpstan/phpstan": "^1.5.5",
|
||||
"phpstan/phpstan-phpunit": "^1.0",
|
||||
"psr/log": "^2.0",
|
||||
"react/child-process": "^0.6.4",
|
||||
|
@ -47,16 +47,16 @@
|
|||
"symfony/process": "^6.0",
|
||||
"symfony/string": "^6.0",
|
||||
"symfony/yaml": "^6.0",
|
||||
"symplify/astral": "^10.1",
|
||||
"symplify/autowire-array-parameter": "^10.1",
|
||||
"symplify/composer-json-manipulator": "^10.1",
|
||||
"symplify/easy-parallel": "^10.1",
|
||||
"symplify/package-builder": "^10.1",
|
||||
"symplify/rule-doc-generator-contracts": "^10.1",
|
||||
"symplify/skipper": "^10.1",
|
||||
"symplify/smart-file-system": "^10.1",
|
||||
"symplify/symplify-kernel": "^10.1",
|
||||
"symplify/vendor-patches": "^10.1",
|
||||
"symplify/astral": "^10.2",
|
||||
"symplify/autowire-array-parameter": "^10.2",
|
||||
"symplify/composer-json-manipulator": "^10.2",
|
||||
"symplify/easy-parallel": "^10.2",
|
||||
"symplify/package-builder": "^10.2",
|
||||
"symplify/rule-doc-generator-contracts": "^10.2",
|
||||
"symplify/skipper": "^10.2",
|
||||
"symplify/smart-file-system": "^10.2",
|
||||
"symplify/symplify-kernel": "^10.2",
|
||||
"symplify/vendor-patches": "^10.2",
|
||||
"tracy/tracy": "^2.9",
|
||||
"webmozart/assert": "^1.10"
|
||||
},
|
||||
|
@ -72,14 +72,14 @@
|
|||
"phpunit/phpunit": "^9.5",
|
||||
"rector/phpstan-rules": "^0.4.21",
|
||||
"spatie/enum": "^3.12",
|
||||
"symplify/coding-standard": "^10.1",
|
||||
"symplify/easy-ci": "^10.1",
|
||||
"symplify/easy-coding-standard": "^10.1",
|
||||
"symplify/easy-testing": "^10.1",
|
||||
"symplify/monorepo-builder": "^10.1",
|
||||
"symplify/phpstan-extensions": "^10.1",
|
||||
"symplify/phpstan-rules": "^10.1",
|
||||
"symplify/rule-doc-generator": "^10.1",
|
||||
"symplify/coding-standard": "^10.2",
|
||||
"symplify/easy-ci": "^10.2",
|
||||
"symplify/easy-coding-standard": "^10.2",
|
||||
"symplify/easy-testing": "^10.2",
|
||||
"symplify/monorepo-builder": "^10.2",
|
||||
"symplify/phpstan-extensions": "^10.2",
|
||||
"symplify/phpstan-rules": "^10.2",
|
||||
"symplify/rule-doc-generator": "^10.2",
|
||||
"timeweb/phpstan-enum": "dev-22-upgrade-phpstan-to-1.0"
|
||||
},
|
||||
"replace": {
|
||||
|
@ -138,7 +138,7 @@
|
|||
"vendor/bin/ecs check --fix --ansi",
|
||||
"vendor/bin/ecs check-markdown README.md --fix --ansi"
|
||||
],
|
||||
"phpstan": "php -dmemory_limit=1G vendor/bin/phpstan analyse --ansi --error-format symplify",
|
||||
"phpstan": "vendor/bin/phpstan analyse --ansi --error-format symplify --memory-limit 2G",
|
||||
"phpstan-config": "vendor/bin/phpstan analyse config --ansi --error-format symplify",
|
||||
"docs": [
|
||||
"vendor/bin/rule-doc-generator generate packages rules --output-file build/rector_rules_overview.md --ansi --categorize --configure-method",
|
||||
|
|
63
ecs.php
63
ecs.php
|
@ -2,42 +2,20 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
use PHP_CodeSniffer\Standards\Generic\Sniffs\CodeAnalysis\AssignmentInConditionSniff;
|
||||
use PhpCsFixer\Fixer\FunctionNotation\FunctionTypehintSpaceFixer;
|
||||
use PhpCsFixer\Fixer\Phpdoc\GeneralPhpdocAnnotationRemoveFixer;
|
||||
use PhpCsFixer\Fixer\Phpdoc\NoSuperfluousPhpdocTagsFixer;
|
||||
use PhpCsFixer\Fixer\Phpdoc\PhpdocTypesFixer;
|
||||
use PhpCsFixer\Fixer\PhpUnit\PhpUnitStrictFixer;
|
||||
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
|
||||
use Symplify\CodingStandard\Fixer\LineLength\DocBlockLineLengthFixer;
|
||||
use Symplify\EasyCodingStandard\ValueObject\Option;
|
||||
use Symplify\EasyCodingStandard\Config\ECSConfig;
|
||||
use Symplify\EasyCodingStandard\ValueObject\Set\SetList;
|
||||
|
||||
return static function (ContainerConfigurator $containerConfigurator): void {
|
||||
$services = $containerConfigurator->services();
|
||||
return static function (ECSConfig $ecsConfig): void {
|
||||
$ecsConfig->sets([SetList::PSR_12, SetList::SYMPLIFY, SetList::COMMON, SetList::CLEAN_CODE]);
|
||||
|
||||
$services->set(NoSuperfluousPhpdocTagsFixer::class)
|
||||
->call('configure', [[
|
||||
'allow_mixed' => true,
|
||||
]]);
|
||||
|
||||
$services->set(GeneralPhpdocAnnotationRemoveFixer::class)
|
||||
->call('configure', [[
|
||||
'annotations' => [
|
||||
'throw',
|
||||
'throws',
|
||||
'author',
|
||||
'authors',
|
||||
'package',
|
||||
'group',
|
||||
'required',
|
||||
'phpstan-ignore-line',
|
||||
'phpstan-ignore-next-line',
|
||||
],
|
||||
]]);
|
||||
|
||||
$parameters = $containerConfigurator->parameters();
|
||||
|
||||
$parameters->set(Option::PATHS, [
|
||||
$ecsConfig->paths([
|
||||
__DIR__ . '/bin',
|
||||
__DIR__ . '/src',
|
||||
__DIR__ . '/packages',
|
||||
|
@ -53,7 +31,25 @@ return static function (ContainerConfigurator $containerConfigurator): void {
|
|||
__DIR__ . '/scoper.php',
|
||||
]);
|
||||
|
||||
$parameters->set(Option::SKIP, [
|
||||
$ecsConfig->ruleWithConfiguration(NoSuperfluousPhpdocTagsFixer::class, [
|
||||
'allow_mixed' => true,
|
||||
]);
|
||||
|
||||
$ecsConfig->ruleWithConfiguration(GeneralPhpdocAnnotationRemoveFixer::class, [
|
||||
'annotations' => [
|
||||
'throw',
|
||||
'throws',
|
||||
'author',
|
||||
'authors',
|
||||
'package',
|
||||
'group',
|
||||
'required',
|
||||
'phpstan-ignore-line',
|
||||
'phpstan-ignore-next-line',
|
||||
],
|
||||
]);
|
||||
|
||||
$ecsConfig->skip([
|
||||
'*/Source/*',
|
||||
'*/Fixture/*',
|
||||
'*/Expected/*',
|
||||
|
@ -73,14 +69,7 @@ return static function (ContainerConfigurator $containerConfigurator): void {
|
|||
__DIR__ . '/src/DependencyInjection/Loader/Configurator/RectorServiceConfigurator.php',
|
||||
__DIR__ . '/rules/Php70/EregToPcreTransformer.php',
|
||||
],
|
||||
|
||||
AssignmentInConditionSniff::class . '.FoundInWhileCondition',
|
||||
]);
|
||||
|
||||
// import SetList here in the end of ecs. is on purpose
|
||||
// to avoid overridden by existing Skip Option in current config
|
||||
$containerConfigurator->import(SetList::PSR_12);
|
||||
$containerConfigurator->import(SetList::SYMPLIFY);
|
||||
$containerConfigurator->import(SetList::COMMON);
|
||||
$containerConfigurator->import(SetList::CLEAN_CODE);
|
||||
|
||||
$parameters->set(Option::LINE_ENDING, "\n");
|
||||
};
|
||||
|
|
|
@ -5,11 +5,8 @@ declare(strict_types=1);
|
|||
namespace Rector\Tests\CodingStyle\Rector\Property\InlineSimplePropertyAnnotationRector;
|
||||
|
||||
use Rector\CodingStyle\Rector\Property\InlineSimplePropertyAnnotationRector;
|
||||
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
|
||||
use Rector\Config\RectorConfig;
|
||||
|
||||
return static function (ContainerConfigurator $containerConfigurator): void {
|
||||
$services = $containerConfigurator->services();
|
||||
$rectorServiceConfigurator = $services->set(InlineSimplePropertyAnnotationRector::class);
|
||||
/** @phpstan-ignore-next-line */
|
||||
$rectorServiceConfigurator->configure(['custom-var']);
|
||||
return static function (RectorConfig $rectorConfig): void {
|
||||
$rectorConfig->ruleWithConfiguration(InlineSimplePropertyAnnotationRector::class, ['custom-var']);
|
||||
};
|
||||
|
|
|
@ -5,9 +5,8 @@ declare(strict_types=1);
|
|||
namespace Rector\Tests\CodingStyle\Rector\Property\InlineSimplePropertyAnnotationRector;
|
||||
|
||||
use Rector\CodingStyle\Rector\Property\InlineSimplePropertyAnnotationRector;
|
||||
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
|
||||
use Rector\Config\RectorConfig;
|
||||
|
||||
return static function (ContainerConfigurator $containerConfigurator): void {
|
||||
$services = $containerConfigurator->services();
|
||||
$services->set(InlineSimplePropertyAnnotationRector::class);
|
||||
return static function (RectorConfig $rectorConfig): void {
|
||||
$rectorConfig->rule(InlineSimplePropertyAnnotationRector::class);
|
||||
};
|
||||
|
|
|
@ -4,10 +4,9 @@ declare(strict_types=1);
|
|||
|
||||
namespace Rector\Tests\TypeDeclaration\Rector\ClassMethod\ParamAnnotationIncorrectNullableRector;
|
||||
|
||||
use Rector\Config\RectorConfig;
|
||||
use Rector\TypeDeclaration\Rector\ClassMethod\ParamAnnotationIncorrectNullableRector;
|
||||
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
|
||||
|
||||
return static function (ContainerConfigurator $containerConfigurator): void {
|
||||
$services = $containerConfigurator->services();
|
||||
$services->set(ParamAnnotationIncorrectNullableRector::class);
|
||||
return static function (RectorConfig $rectorConfig): void {
|
||||
$rectorConfig->rule(ParamAnnotationIncorrectNullableRector::class);
|
||||
};
|
||||
|
|
|
@ -2,18 +2,14 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
use Rector\Core\Configuration\Option;
|
||||
use Rector\Config\RectorConfig;
|
||||
use Rector\Core\ValueObject\PhpVersionFeature;
|
||||
use Rector\TypeDeclaration\Rector\Property\TypedPropertyFromAssignsRector;
|
||||
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
|
||||
|
||||
return static function (ContainerConfigurator $containerConfigurator): void {
|
||||
$services = $containerConfigurator->services();
|
||||
$services->set(TypedPropertyFromAssignsRector::class)
|
||||
->configure([
|
||||
TypedPropertyFromAssignsRector::INLINE_PUBLIC => true,
|
||||
]);
|
||||
return static function (RectorConfig $rectorConfig): void {
|
||||
$rectorConfig->ruleWithConfiguration(TypedPropertyFromAssignsRector::class, [
|
||||
TypedPropertyFromAssignsRector::INLINE_PUBLIC => true,
|
||||
]);
|
||||
|
||||
$parameters = $containerConfigurator->parameters();
|
||||
$parameters->set(Option::PHP_VERSION_FEATURES, PhpVersionFeature::INTERSECTION_TYPES);
|
||||
$rectorConfig->phpVersion(PhpVersionFeature::INTERSECTION_TYPES);
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue
Block a user