Skip to content

Commit e69c70b

Browse files
committed
Refactor rector configuration and rules
`ContainerConfigurator` is deprecated from Rector `v0.12.21`. Error: ``` [WARNING] Your "/var/www/html/rector.php" config is using old syntax with "ContainerConfigurator". Please upgrade to "RectorConfig" that allows better autocomplete and future standard. ``` Check example in [README](https://github.com/remp2020/crm-rector/blob/master/README.md). remp/crm#2480
1 parent 34cad7c commit e69c70b

File tree

3 files changed

+66
-59
lines changed

3 files changed

+66
-59
lines changed

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
},
99
"require": {
1010
"php": "^7.4",
11-
"rector/rector": "^0.12.17"
11+
"rector/rector": "^0.12.23"
1212
},
1313
"license": "MIT",
1414
"autoload": {

config/sets/crm-1-0-without-nette.php

Lines changed: 61 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,13 @@
22

33
declare (strict_types=1);
44

5-
return static function (\Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator $containerConfigurator) : void {
6-
$services = $containerConfigurator->services();
7-
5+
return static function (\Rector\Config\RectorConfig $rectorConfig) : void {
86
/*
97
* Add return types to ApiHandlerInterface::params() and ApiHandlerInterface::handle() methods
108
*/
11-
$services->set(\Rector\TypeDeclaration\Rector\ClassMethod\AddReturnTypeDeclarationRector::class)
12-
->configure([
9+
$rectorConfig->ruleWithConfiguration(
10+
\Rector\TypeDeclaration\Rector\ClassMethod\AddReturnTypeDeclarationRector::class,
11+
[
1312
// https://github.com/remp2020/crm-api-module/commit/93dafe1d0e2a8bcbe723d925fbbccffa37b9a0bc
1413
new \Rector\TypeDeclaration\ValueObject\AddReturnTypeDeclaration(
1514
'Crm\\ApiModule\\Api\\ApiHandlerInterface',
@@ -28,10 +27,12 @@
2827
'idempotentHandle',
2928
new \PHPStan\Type\ObjectType('Tomaj\\NetteApi\\Response\\ResponseInterface')
3029
),
31-
]);
30+
]
31+
);
3232

33-
$services->set(\Rector\Renaming\Rector\MethodCall\RenameMethodRector::class)
34-
->configure([
33+
$rectorConfig->ruleWithConfiguration(
34+
\Rector\Renaming\Rector\MethodCall\RenameMethodRector::class,
35+
[
3536
/*
3637
* Move $paramsProcessor->isError() to $paramsProcessor->hasError()
3738
* Check Crm\ApiModule\Params\ParamsProcessor for details.
@@ -56,62 +57,70 @@
5657
'getHttpCode',
5758
'getCode'
5859
),
59-
]);
60+
]
61+
);
6062

6163
/*
6264
* Change params of ApiHandlerInterface::handle() and IdempotentHandlerInterface::idempotentHandle() methods
6365
* - https://github.com/remp2020/crm-api-module/commit/d03536184b3dbd568c23c886032df9cd87dddb46
6466
*/
65-
$services->set(\Crm\Utils\Rector\UpgradeToCrm1\ApiHandlerParametersRector::class);
67+
$rectorConfig->rule(\Crm\Utils\Rector\UpgradeToCrm1\ApiHandlerParametersRector::class);
6668

6769
/*
6870
* Change JsonResponse($result) with setHttpCode($code)/setCode($code) to new Tomaj\NetteApi\Response\JsonApiResponse($code, $result)
6971
*/
70-
$services->set(\Crm\Utils\Rector\UpgradeToCrm1\ApiHandlerJsonResponseRector::class);
72+
$rectorConfig->rule(\Crm\Utils\Rector\UpgradeToCrm1\ApiHandlerJsonResponseRector::class);
7173

72-
$services->set(\Rector\Renaming\Rector\Name\RenameClassRector::class)->configure([
73-
/*
74-
* JsonResponse is marked as deprecated by https://github.com/remp2020/crm-api-module/commit/1e1c97ac88b95346ee62f804a31120d1af08c664
75-
* - this has to be refactored after rector rule `ApiHandlerJsonResponseRector` (otherwise that rule fails)
76-
*/
77-
'Crm\\ApiModule\\Api\\JsonResponse' => 'Tomaj\\NetteApi\\Response\\JsonApiResponse',
78-
]);
74+
$rectorConfig->ruleWithConfiguration(
75+
\Rector\Renaming\Rector\Name\RenameClassRector::class,
76+
[
77+
/*
78+
* JsonResponse is marked as deprecated by https://github.com/remp2020/crm-api-module/commit/1e1c97ac88b95346ee62f804a31120d1af08c664
79+
* - this has to be refactored after rector rule `ApiHandlerJsonResponseRector` (otherwise that rule fails)
80+
*/
81+
'Crm\\ApiModule\\Api\\JsonResponse' => 'Tomaj\\NetteApi\\Response\\JsonApiResponse',
82+
]
83+
);
7984

8085
/*
8186
* Update composer packages
87+
* (to version 1.0.0; there could be some changes after it which are not handled by rector yet)
8288
*/
83-
$services->set(\Rector\Composer\Rector\ChangePackageVersionComposerRector::class)->configure([
84-
new \Rector\Composer\ValueObject\PackageAndVersion('remp/crm-admin-module', '1.0.0-beta2'),
85-
new \Rector\Composer\ValueObject\PackageAndVersion('remp/crm-api-module', '1.0.0-beta2'),
86-
new \Rector\Composer\ValueObject\PackageAndVersion('remp/crm-apple-appstore-module', '1.0.0-beta2'),
87-
new \Rector\Composer\ValueObject\PackageAndVersion('remp/crm-application-module', '1.0.0-beta2'),
88-
new \Rector\Composer\ValueObject\PackageAndVersion('remp/crm-clv-module', '1.0.0-beta2'),
89-
new \Rector\Composer\ValueObject\PackageAndVersion('remp/crm-coupon-module', '1.0.0-beta2'),
90-
new \Rector\Composer\ValueObject\PackageAndVersion('remp/crm-dashboard-module', '1.0.0-beta2'),
91-
new \Rector\Composer\ValueObject\PackageAndVersion('remp/crm-family-module', '1.0.0-beta2'),
92-
new \Rector\Composer\ValueObject\PackageAndVersion('remp/crm-gifts-module', '1.0.0-beta2'),
93-
new \Rector\Composer\ValueObject\PackageAndVersion('remp/crm-google-play-billing-module', '1.0.0-beta2'),
94-
new \Rector\Composer\ValueObject\PackageAndVersion('remp/crm-gopay-module', '1.0.0-beta2'),
95-
new \Rector\Composer\ValueObject\PackageAndVersion('remp/crm-invoices-module', '1.0.0-beta2'),
96-
new \Rector\Composer\ValueObject\PackageAndVersion('remp/crm-issues-module', '1.0.0-beta2'),
97-
new \Rector\Composer\ValueObject\PackageAndVersion('remp/crm-mobiletech-module', '1.0.0-beta2'),
98-
new \Rector\Composer\ValueObject\PackageAndVersion('remp/crm-onboarding-module', '1.0.0-beta2'),
99-
new \Rector\Composer\ValueObject\PackageAndVersion('remp/crm-payments-module', '1.0.0-beta2'),
100-
new \Rector\Composer\ValueObject\PackageAndVersion('remp/crm-print-module', '1.0.0-beta2'),
101-
new \Rector\Composer\ValueObject\PackageAndVersion('remp/crm-privatbankar-module', '1.0.0-beta2'),
102-
new \Rector\Composer\ValueObject\PackageAndVersion('remp/crm-products-module', '1.0.0-beta2'),
103-
new \Rector\Composer\ValueObject\PackageAndVersion('remp/crm-remp-campaign-module', '1.0.0-beta2'),
104-
new \Rector\Composer\ValueObject\PackageAndVersion('remp/crm-remp-mailer-module', '1.0.0-beta2'),
105-
new \Rector\Composer\ValueObject\PackageAndVersion('remp/crm-remp-pythia-module', '1.0.0-beta2'),
106-
new \Rector\Composer\ValueObject\PackageAndVersion('remp/crm-salesfunnel-module', '1.0.0-beta2'),
107-
new \Rector\Composer\ValueObject\PackageAndVersion('remp/crm-scenarios-module', '1.0.0-beta2'),
108-
new \Rector\Composer\ValueObject\PackageAndVersion('remp/crm-segment-module', '1.0.0-beta2'),
109-
new \Rector\Composer\ValueObject\PackageAndVersion('remp/crm-slsp-sporopay-module', '1.0.0-beta2'),
110-
new \Rector\Composer\ValueObject\PackageAndVersion('remp/crm-stripe-module', '1.0.0-beta2'),
111-
new \Rector\Composer\ValueObject\PackageAndVersion('remp/crm-subscriptions-module', '1.0.0-beta2'),
112-
new \Rector\Composer\ValueObject\PackageAndVersion('remp/crm-upgrades-module', '1.0.0-beta2'),
113-
new \Rector\Composer\ValueObject\PackageAndVersion('remp/crm-users-module', '1.0.0-beta2'),
114-
new \Rector\Composer\ValueObject\PackageAndVersion('remp/crm-vub-eplatby-module', '1.0.0-beta2'),
115-
new \Rector\Composer\ValueObject\PackageAndVersion('remp/crm-wordpress-module', '1.0.0-beta2'),
116-
]);
89+
$rectorConfig->ruleWithConfiguration(
90+
\Rector\Composer\Rector\ChangePackageVersionComposerRector::class,
91+
[
92+
new \Rector\Composer\ValueObject\PackageAndVersion('remp/crm-admin-module', '^1.0.0'),
93+
new \Rector\Composer\ValueObject\PackageAndVersion('remp/crm-api-module', '^1.0.0'),
94+
new \Rector\Composer\ValueObject\PackageAndVersion('remp/crm-apple-appstore-module', '^1.0.0'),
95+
new \Rector\Composer\ValueObject\PackageAndVersion('remp/crm-application-module', '^1.0.0'),
96+
new \Rector\Composer\ValueObject\PackageAndVersion('remp/crm-clv-module', '^1.0.0'),
97+
new \Rector\Composer\ValueObject\PackageAndVersion('remp/crm-coupon-module', '^1.0.0'),
98+
new \Rector\Composer\ValueObject\PackageAndVersion('remp/crm-dashboard-module', '^1.0.0'),
99+
new \Rector\Composer\ValueObject\PackageAndVersion('remp/crm-family-module', '^1.0.0'),
100+
new \Rector\Composer\ValueObject\PackageAndVersion('remp/crm-gifts-module', '^1.0.0'),
101+
new \Rector\Composer\ValueObject\PackageAndVersion('remp/crm-google-play-billing-module', '^1.0.0'),
102+
new \Rector\Composer\ValueObject\PackageAndVersion('remp/crm-gopay-module', '^1.0.0'),
103+
new \Rector\Composer\ValueObject\PackageAndVersion('remp/crm-invoices-module', '^1.0.0'),
104+
new \Rector\Composer\ValueObject\PackageAndVersion('remp/crm-issues-module', '^1.0.0'),
105+
new \Rector\Composer\ValueObject\PackageAndVersion('remp/crm-mobiletech-module', '^1.0.0'),
106+
new \Rector\Composer\ValueObject\PackageAndVersion('remp/crm-onboarding-module', '^1.0.0'),
107+
new \Rector\Composer\ValueObject\PackageAndVersion('remp/crm-payments-module', '^1.0.0'),
108+
new \Rector\Composer\ValueObject\PackageAndVersion('remp/crm-print-module', '^1.0.0'),
109+
new \Rector\Composer\ValueObject\PackageAndVersion('remp/crm-privatbankar-module', '^1.0.0'),
110+
new \Rector\Composer\ValueObject\PackageAndVersion('remp/crm-products-module', '^1.0.0'),
111+
new \Rector\Composer\ValueObject\PackageAndVersion('remp/crm-remp-campaign-module', '^1.0.0'),
112+
new \Rector\Composer\ValueObject\PackageAndVersion('remp/crm-remp-mailer-module', '^1.0.0'),
113+
new \Rector\Composer\ValueObject\PackageAndVersion('remp/crm-remp-pythia-module', '^1.0.0'),
114+
new \Rector\Composer\ValueObject\PackageAndVersion('remp/crm-salesfunnel-module', '^1.0.0'),
115+
new \Rector\Composer\ValueObject\PackageAndVersion('remp/crm-scenarios-module', '^1.0.0'),
116+
new \Rector\Composer\ValueObject\PackageAndVersion('remp/crm-segment-module', '^1.0.0'),
117+
new \Rector\Composer\ValueObject\PackageAndVersion('remp/crm-slsp-sporopay-module', '^1.0.0'),
118+
new \Rector\Composer\ValueObject\PackageAndVersion('remp/crm-stripe-module', '^1.0.0'),
119+
new \Rector\Composer\ValueObject\PackageAndVersion('remp/crm-subscriptions-module', '^1.0.0'),
120+
new \Rector\Composer\ValueObject\PackageAndVersion('remp/crm-upgrades-module', '^1.0.0'),
121+
new \Rector\Composer\ValueObject\PackageAndVersion('remp/crm-users-module', '^1.0.0'),
122+
new \Rector\Composer\ValueObject\PackageAndVersion('remp/crm-vub-eplatby-module', '^1.0.0'),
123+
new \Rector\Composer\ValueObject\PackageAndVersion('remp/crm-wordpress-module', '^1.0.0'),
124+
]
125+
);
117126
};

config/sets/crm-1-0.php

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,15 @@
22

33
declare (strict_types=1);
44

5-
return static function (\Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator $containerConfigurator) : void {
6-
$services = $containerConfigurator->services();
7-
5+
return static function (\Rector\Config\RectorConfig $rectorConfig) : void {
86
/*
97
* REMP CRM related changes
108
*/
11-
$containerConfigurator->import(\Crm\Utils\Rector\Set\CrmSetList::CRM_1_0_WITHOUT_NETTE);
9+
$rectorConfig->import(\Crm\Utils\Rector\Set\CrmSetList::CRM_1_0_WITHOUT_NETTE);
1210

1311
/*
1412
* Nette 3 rules
1513
*/
16-
$containerConfigurator->import(\Rector\Nette\Set\NetteSetList::NETTE_30);
17-
$containerConfigurator->import(\Rector\Nette\Set\NetteSetList::NETTE_31);
14+
$rectorConfig->import(\Rector\Nette\Set\NetteSetList::NETTE_30);
15+
$rectorConfig->import(\Rector\Nette\Set\NetteSetList::NETTE_31);
1816
};

0 commit comments

Comments
 (0)