Skip to content

Commit f691ddf

Browse files
authored
Merge branch 'main' into php-85-Pipe
2 parents 64dfa93 + 20db305 commit f691ddf

File tree

449 files changed

+14011
-1404
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

449 files changed

+14011
-1404
lines changed

.github/workflows/e2e.yaml

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,23 +24,24 @@ jobs:
2424
matrix:
2525
php_version: ['8.2']
2626
directory:
27+
- 'e2e/applied-auto-import'
28+
- 'e2e/applied-polyfill-php80'
2729
- 'e2e/applied-rule-change-docblock'
28-
- 'e2e/applied-rule-return-array-nodes'
29-
- 'e2e/no-parallel-reflection-resolver'
30-
- 'e2e/parallel-custom-config'
31-
- 'e2e/parallel-reflection-resolver'
3230
- 'e2e/applied-rule-removed-node'
33-
- 'e2e/parallel with space'
31+
- 'e2e/applied-rule-return-array-nodes'
3432
- 'e2e/different-path-over-skip-config'
3533
- 'e2e/invalid-paths'
36-
- 'e2e/applied-polyfill-php80'
37-
- 'e2e/print-new-node'
34+
- 'e2e/no-parallel-reflection-resolver'
3835
- 'e2e/only-option'
3936
- 'e2e/only-option-quote-double-equalnone'
4037
- 'e2e/only-option-quote-single'
4138
- 'e2e/only-option-quote-single-bsdouble'
4239
- 'e2e/only-option-quote-single-equalnone'
40+
- 'e2e/parallel-custom-config'
4341
- 'e2e/parallel-kaizen-applied-rules'
42+
- 'e2e/parallel-reflection-resolver'
43+
- 'e2e/parallel with space'
44+
- 'e2e/print-new-node'
4445

4546
name: End to end test - ${{ matrix.directory }}
4647

build/build-rector-scoped.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ note "Starts"
2828

2929
# 2. scope it
3030
note "Downloading php-scoper.phar"
31-
wget https://github.com/humbug/php-scoper/releases/download/0.18.10/php-scoper.phar -N --no-verbose
31+
wget https://github.com/humbug/php-scoper/releases/download/0.18.17/php-scoper.phar -N --no-verbose
3232

3333
# avoid phpstan/phpstan dependency duplicate
3434
note "Remove PHPStan to avoid duplicating it"

build/target-repository/composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
],
1010
"require": {
1111
"php": "^7.4|^8.0",
12-
"phpstan/phpstan": "^2.1.18"
12+
"phpstan/phpstan": "^2.1.26"
1313
},
1414
"autoload": {
1515
"files": [

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
"ocramius/package-versions": "^2.10",
2525
"ondram/ci-detector": "^4.2",
2626
"phpstan/phpdoc-parser": "^2.2",
27-
"phpstan/phpstan": "^2.1.18",
27+
"phpstan/phpstan": "^2.1.26",
2828
"react/event-loop": "^1.5",
2929
"react/promise": "^3.2",
3030
"react/socket": "^1.16",

config/set/assert.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
use Rector\Assert\Rector\ClassMethod\AddAssertArrayFromClassMethodDocblockRector;
6+
use Rector\Config\RectorConfig;
7+
8+
return static function (RectorConfig $rectorConfig): void {
9+
$rectorConfig->rules([AddAssertArrayFromClassMethodDocblockRector::class]);
10+
};

config/set/php81.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
use Rector\Php81\Rector\Array_\FirstClassCallableRector;
77
use Rector\Php81\Rector\Class_\MyCLabsClassToEnumRector;
88
use Rector\Php81\Rector\Class_\SpatieEnumClassToEnumRector;
9+
use Rector\Php81\Rector\FuncCall\NullToStrictIntPregSlitFuncCallLimitArgRector;
910
use Rector\Php81\Rector\FuncCall\NullToStrictStringFuncCallArgRector;
1011
use Rector\Php81\Rector\MethodCall\MyCLabsMethodCallToEnumConstRector;
1112
use Rector\Php81\Rector\MethodCall\RemoveReflectionSetAccessibleCallsRector;
@@ -24,6 +25,7 @@
2425
SpatieEnumClassToEnumRector::class,
2526
SpatieEnumMethodCallToEnumConstRector::class,
2627
NullToStrictStringFuncCallArgRector::class,
28+
NullToStrictIntPregSlitFuncCallLimitArgRector::class,
2729
FirstClassCallableRector::class,
2830
RemoveReflectionSetAccessibleCallsRector::class,
2931
]);

config/set/php83.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
declare(strict_types=1);
44

55
use Rector\Config\RectorConfig;
6+
use Rector\Php83\Rector\BooleanAnd\JsonValidateRector;
67
use Rector\Php83\Rector\Class_\ReadOnlyAnonymousClassRector;
78
use Rector\Php83\Rector\ClassConst\AddTypeToConstRector;
89
use Rector\Php83\Rector\ClassMethod\AddOverrideAttributeToOverriddenMethodsRector;
@@ -18,5 +19,6 @@
1819
RemoveGetClassGetParentClassNoArgsRector::class,
1920
ReadOnlyAnonymousClassRector::class,
2021
DynamicClassConstFetchRector::class,
22+
JsonValidateRector::class,
2123
]);
2224
};

config/set/php85.php

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,20 @@
88
use PhpParser\Node\Expr\Cast\String_;
99
use Rector\Config\RectorConfig;
1010
use Rector\Php85\Rector\ArrayDimFetch\ArrayFirstLastRector;
11+
use Rector\Php85\Rector\Class_\SleepToSerializeRector;
12+
use Rector\Php85\Rector\Class_\WakeupToUnserializeRector;
1113
use Rector\Php85\Rector\ClassMethod\NullDebugInfoReturnRector;
1214
use Rector\Php85\Rector\Const_\DeprecatedAnnotationToDeprecatedAttributeRector;
1315
use Rector\Php85\Rector\FuncCall\ArrayKeyExistsNullToEmptyStringRector;
16+
use Rector\Php85\Rector\FuncCall\ChrArgModuloRector;
17+
use Rector\Php85\Rector\FuncCall\OrdSingleByteRector;
1418
use Rector\Php85\Rector\FuncCall\RemoveFinfoBufferContextArgRector;
1519
use Rector\Php85\Rector\Switch_\ColonAfterSwitchCaseRector;
1620
use Rector\Removing\Rector\FuncCall\RemoveFuncCallArgRector;
1721
use Rector\Removing\ValueObject\RemoveFuncCallArg;
1822
use Rector\Renaming\Rector\Cast\RenameCastRector;
1923
use Rector\Renaming\Rector\ClassConstFetch\RenameClassConstFetchRector;
24+
use Rector\Renaming\Rector\ConstFetch\RenameConstantRector;
2025
use Rector\Renaming\Rector\FuncCall\RenameFunctionRector;
2126
use Rector\Renaming\Rector\MethodCall\RenameMethodRector;
2227
use Rector\Renaming\ValueObject\MethodCallRename;
@@ -34,6 +39,10 @@
3439
DeprecatedAnnotationToDeprecatedAttributeRector::class,
3540
ColonAfterSwitchCaseRector::class,
3641
ArrayKeyExistsNullToEmptyStringRector::class,
42+
ChrArgModuloRector::class,
43+
SleepToSerializeRector::class,
44+
OrdSingleByteRector::class,
45+
WakeupToUnserializeRector::class,
3746
]
3847
);
3948

@@ -198,4 +207,9 @@
198207
new WrapFuncCallWithPhpVersionIdChecker('xml_parser_free', 80500),
199208
]
200209
);
210+
211+
// https://wiki.php.net/rfc/deprecations_php_8_5#deprecate_filter_default_constant
212+
$rectorConfig->ruleWithConfiguration(RenameConstantRector::class, [
213+
'FILTER_DEFAULT' => 'FILTER_UNSAFE_RAW',
214+
]);
201215
};
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
use Rector\Config\RectorConfig;
6+
use Rector\TypeDeclaration\Rector\ClassMethod\AddReturnArrayDocblockBasedOnArrayMapRector;
7+
use Rector\TypeDeclaration\Rector\ClassMethod\AddReturnDocblockForScalarArrayFromAssignsRector;
8+
use Rector\TypeDeclarationDocblocks\Rector\Class_\AddReturnDocblockDataProviderRector;
9+
use Rector\TypeDeclarationDocblocks\Rector\Class_\ClassMethodArrayDocblockParamFromLocalCallsRector;
10+
use Rector\TypeDeclarationDocblocks\Rector\Class_\DocblockVarArrayFromGetterReturnRector;
11+
use Rector\TypeDeclarationDocblocks\Rector\Class_\DocblockVarArrayFromPropertyDefaultsRector;
12+
use Rector\TypeDeclarationDocblocks\Rector\Class_\DocblockVarFromParamDocblockInConstructorRector;
13+
use Rector\TypeDeclarationDocblocks\Rector\ClassMethod\AddParamArrayDocblockFromDataProviderRector;
14+
use Rector\TypeDeclarationDocblocks\Rector\ClassMethod\AddParamArrayDocblockFromDimFetchAccessRector;
15+
use Rector\TypeDeclarationDocblocks\Rector\ClassMethod\AddReturnDocblockForArrayDimAssignedObjectRector;
16+
use Rector\TypeDeclarationDocblocks\Rector\ClassMethod\AddReturnDocblockForCommonObjectDenominatorRector;
17+
use Rector\TypeDeclarationDocblocks\Rector\ClassMethod\AddReturnDocblockForJsonArrayRector;
18+
use Rector\TypeDeclarationDocblocks\Rector\ClassMethod\DocblockGetterReturnArrayFromPropertyDocblockVarRector;
19+
use Rector\TypeDeclarationDocblocks\Rector\ClassMethod\DocblockReturnArrayFromDirectArrayInstanceRector;
20+
21+
/**
22+
* @experimental * 2025-09, experimental hidden set for type declaration in docblocks
23+
*/
24+
return static function (RectorConfig $rectorConfig): void {
25+
$rectorConfig->rules([
26+
// property var
27+
DocblockVarFromParamDocblockInConstructorRector::class,
28+
DocblockVarArrayFromPropertyDefaultsRector::class,
29+
DocblockVarArrayFromGetterReturnRector::class,
30+
31+
// param
32+
AddParamArrayDocblockFromDimFetchAccessRector::class,
33+
ClassMethodArrayDocblockParamFromLocalCallsRector::class,
34+
35+
// return
36+
DocblockGetterReturnArrayFromPropertyDocblockVarRector::class,
37+
AddReturnDocblockForCommonObjectDenominatorRector::class,
38+
AddReturnArrayDocblockBasedOnArrayMapRector::class,
39+
AddReturnDocblockForScalarArrayFromAssignsRector::class,
40+
DocblockReturnArrayFromDirectArrayInstanceRector::class,
41+
AddReturnDocblockForArrayDimAssignedObjectRector::class,
42+
AddReturnDocblockForJsonArrayRector::class,
43+
44+
// tests
45+
AddParamArrayDocblockFromDataProviderRector::class,
46+
AddReturnDocblockDataProviderRector::class,
47+
]);
48+
};

e2e/applied-auto-import/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/vendor

0 commit comments

Comments
 (0)