mirror of
https://github.com/rectorphp/rector.git
synced 2025-01-19 06:18:07 +01:00
Updated Rector to commit 478cf1456091c3c095870588ebf2cd7a94672264
478cf14560
pin phpstan/phpstan-phpunit to 1.1.3 (#3018)
This commit is contained in:
parent
ccac2c982e
commit
37117895cd
@ -17,12 +17,12 @@ final class VersionResolver
|
||||
* @api
|
||||
* @var string
|
||||
*/
|
||||
public const PACKAGE_VERSION = 'b46d5f50092e61888943960a5320e77822e047c3';
|
||||
public const PACKAGE_VERSION = '478cf1456091c3c095870588ebf2cd7a94672264';
|
||||
/**
|
||||
* @api
|
||||
* @var string
|
||||
*/
|
||||
public const RELEASE_DATE = '2022-10-26 10:55:40';
|
||||
public const RELEASE_DATE = '2022-10-27 14:51:18';
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
|
2
vendor/autoload.php
vendored
2
vendor/autoload.php
vendored
@ -22,4 +22,4 @@ if (PHP_VERSION_ID < 50600) {
|
||||
|
||||
require_once __DIR__ . '/composer/autoload_real.php';
|
||||
|
||||
return ComposerAutoloaderInit6a43ec02ad822ac8b59c5b0beffef4e2::getLoader();
|
||||
return ComposerAutoloaderInit63a05dd74929123e8e5c24eb32e8fb87::getLoader();
|
||||
|
12
vendor/composer/autoload_classmap.php
vendored
12
vendor/composer/autoload_classmap.php
vendored
@ -1578,7 +1578,6 @@ return array(
|
||||
'Rector\\Doctrine\\NodeAnalyzer\\MethodCallNameOnTypeResolver' => $vendorDir . '/rector/rector-doctrine/src/NodeAnalyzer/MethodCallNameOnTypeResolver.php',
|
||||
'Rector\\Doctrine\\NodeAnalyzer\\SetterClassMethodAnalyzer' => $vendorDir . '/rector/rector-doctrine/src/NodeAnalyzer/SetterClassMethodAnalyzer.php',
|
||||
'Rector\\Doctrine\\NodeAnalyzer\\TargetEntityResolver' => $vendorDir . '/rector/rector-doctrine/src/NodeAnalyzer/TargetEntityResolver.php',
|
||||
'Rector\\Doctrine\\NodeAnalyzer\\TranslatablePropertyCollectorAndRemover' => $vendorDir . '/rector/rector-doctrine/src/NodeAnalyzer/TranslatablePropertyCollectorAndRemover.php',
|
||||
'Rector\\Doctrine\\NodeFactory\\ArrayCollectionAssignFactory' => $vendorDir . '/rector/rector-doctrine/src/NodeFactory/ArrayCollectionAssignFactory.php',
|
||||
'Rector\\Doctrine\\NodeFactory\\ConstructClassMethodFactory' => $vendorDir . '/rector/rector-doctrine/src/NodeFactory/ConstructClassMethodFactory.php',
|
||||
'Rector\\Doctrine\\NodeFactory\\ConstructorClassMethodAssignFactory' => $vendorDir . '/rector/rector-doctrine/src/NodeFactory/ConstructorClassMethodAssignFactory.php',
|
||||
@ -1586,8 +1585,6 @@ return array(
|
||||
'Rector\\Doctrine\\NodeFactory\\ParamFactory' => $vendorDir . '/rector/rector-doctrine/src/NodeFactory/ParamFactory.php',
|
||||
'Rector\\Doctrine\\NodeFactory\\RepositoryAssignFactory' => $vendorDir . '/rector/rector-doctrine/src/NodeFactory/RepositoryAssignFactory.php',
|
||||
'Rector\\Doctrine\\NodeFactory\\RepositoryNodeFactory' => $vendorDir . '/rector/rector-doctrine/src/NodeFactory/RepositoryNodeFactory.php',
|
||||
'Rector\\Doctrine\\NodeFactory\\SluggableClassMethodFactory' => $vendorDir . '/rector/rector-doctrine/src/NodeFactory/SluggableClassMethodFactory.php',
|
||||
'Rector\\Doctrine\\NodeFactory\\TranslationClassNodeFactory' => $vendorDir . '/rector/rector-doctrine/src/NodeFactory/TranslationClassNodeFactory.php',
|
||||
'Rector\\Doctrine\\NodeFactory\\ValueAssignFactory' => $vendorDir . '/rector/rector-doctrine/src/NodeFactory/ValueAssignFactory.php',
|
||||
'Rector\\Doctrine\\NodeManipulator\\ColumnPropertyTypeResolver' => $vendorDir . '/rector/rector-doctrine/src/NodeManipulator/ColumnPropertyTypeResolver.php',
|
||||
'Rector\\Doctrine\\NodeManipulator\\ConstructorManipulator' => $vendorDir . '/rector/rector-doctrine/src/NodeManipulator/ConstructorManipulator.php',
|
||||
@ -1604,20 +1601,13 @@ return array(
|
||||
'Rector\\Doctrine\\Rector\\ClassMethod\\MakeEntitySetterNullabilityInSyncWithPropertyRector' => $vendorDir . '/rector/rector-doctrine/src/Rector/ClassMethod/MakeEntitySetterNullabilityInSyncWithPropertyRector.php',
|
||||
'Rector\\Doctrine\\Rector\\ClassMethod\\ServiceEntityRepositoryParentCallToDIRector' => $vendorDir . '/rector/rector-doctrine/src/Rector/ClassMethod/ServiceEntityRepositoryParentCallToDIRector.php',
|
||||
'Rector\\Doctrine\\Rector\\Class_\\AddEntityIdByConditionRector' => $vendorDir . '/rector/rector-doctrine/src/Rector/Class_/AddEntityIdByConditionRector.php',
|
||||
'Rector\\Doctrine\\Rector\\Class_\\BlameableBehaviorRector' => $vendorDir . '/rector/rector-doctrine/src/Rector/Class_/BlameableBehaviorRector.php',
|
||||
'Rector\\Doctrine\\Rector\\Class_\\ClassAnnotationToNamedArgumentConstructorRector' => $vendorDir . '/rector/rector-doctrine/src/Rector/Class_/ClassAnnotationToNamedArgumentConstructorRector.php',
|
||||
'Rector\\Doctrine\\Rector\\Class_\\InitializeDefaultEntityCollectionRector' => $vendorDir . '/rector/rector-doctrine/src/Rector/Class_/InitializeDefaultEntityCollectionRector.php',
|
||||
'Rector\\Doctrine\\Rector\\Class_\\LoggableBehaviorRector' => $vendorDir . '/rector/rector-doctrine/src/Rector/Class_/LoggableBehaviorRector.php',
|
||||
'Rector\\Doctrine\\Rector\\Class_\\ManagerRegistryGetManagerToEntityManagerRector' => $vendorDir . '/rector/rector-doctrine/src/Rector/Class_/ManagerRegistryGetManagerToEntityManagerRector.php',
|
||||
'Rector\\Doctrine\\Rector\\Class_\\MoveCurrentDateTimeDefaultInEntityToConstructorRector' => $vendorDir . '/rector/rector-doctrine/src/Rector/Class_/MoveCurrentDateTimeDefaultInEntityToConstructorRector.php',
|
||||
'Rector\\Doctrine\\Rector\\Class_\\MoveRepositoryFromParentToConstructorRector' => $vendorDir . '/rector/rector-doctrine/src/Rector/Class_/MoveRepositoryFromParentToConstructorRector.php',
|
||||
'Rector\\Doctrine\\Rector\\Class_\\RemoveRedundantDefaultClassAnnotationValuesRector' => $vendorDir . '/rector/rector-doctrine/src/Rector/Class_/RemoveRedundantDefaultClassAnnotationValuesRector.php',
|
||||
'Rector\\Doctrine\\Rector\\Class_\\RemoveRepositoryFromEntityAnnotationRector' => $vendorDir . '/rector/rector-doctrine/src/Rector/Class_/RemoveRepositoryFromEntityAnnotationRector.php',
|
||||
'Rector\\Doctrine\\Rector\\Class_\\SluggableBehaviorRector' => $vendorDir . '/rector/rector-doctrine/src/Rector/Class_/SluggableBehaviorRector.php',
|
||||
'Rector\\Doctrine\\Rector\\Class_\\SoftDeletableBehaviorRector' => $vendorDir . '/rector/rector-doctrine/src/Rector/Class_/SoftDeletableBehaviorRector.php',
|
||||
'Rector\\Doctrine\\Rector\\Class_\\TimestampableBehaviorRector' => $vendorDir . '/rector/rector-doctrine/src/Rector/Class_/TimestampableBehaviorRector.php',
|
||||
'Rector\\Doctrine\\Rector\\Class_\\TranslationBehaviorRector' => $vendorDir . '/rector/rector-doctrine/src/Rector/Class_/TranslationBehaviorRector.php',
|
||||
'Rector\\Doctrine\\Rector\\Class_\\TreeBehaviorRector' => $vendorDir . '/rector/rector-doctrine/src/Rector/Class_/TreeBehaviorRector.php',
|
||||
'Rector\\Doctrine\\Rector\\MethodCall\\ChangeSetParametersArrayToArrayCollectionRector' => $vendorDir . '/rector/rector-doctrine/src/Rector/MethodCall/ChangeSetParametersArrayToArrayCollectionRector.php',
|
||||
'Rector\\Doctrine\\Rector\\MethodCall\\EntityAliasToClassConstantReferenceRector' => $vendorDir . '/rector/rector-doctrine/src/Rector/MethodCall/EntityAliasToClassConstantReferenceRector.php',
|
||||
'Rector\\Doctrine\\Rector\\MethodCall\\ReplaceParentRepositoryCallsByRepositoryPropertyRector' => $vendorDir . '/rector/rector-doctrine/src/Rector/MethodCall/ReplaceParentRepositoryCallsByRepositoryPropertyRector.php',
|
||||
@ -1641,8 +1631,6 @@ return array(
|
||||
'Rector\\Doctrine\\ValueObject\\ArgName' => $vendorDir . '/rector/rector-doctrine/src/ValueObject/ArgName.php',
|
||||
'Rector\\Doctrine\\ValueObject\\AssignToPropertyFetch' => $vendorDir . '/rector/rector-doctrine/src/ValueObject/AssignToPropertyFetch.php',
|
||||
'Rector\\Doctrine\\ValueObject\\DefaultAnnotationArgValue' => $vendorDir . '/rector/rector-doctrine/src/ValueObject/DefaultAnnotationArgValue.php',
|
||||
'Rector\\Doctrine\\ValueObject\\PropertyNameAndPhpDocInfo' => $vendorDir . '/rector/rector-doctrine/src/ValueObject/PropertyNameAndPhpDocInfo.php',
|
||||
'Rector\\Doctrine\\ValueObject\\PropertyNamesAndPhpDocInfos' => $vendorDir . '/rector/rector-doctrine/src/ValueObject/PropertyNamesAndPhpDocInfos.php',
|
||||
'Rector\\DowngradePhp53\\Rector\\Dir\\DirConstToFileConstRector' => $vendorDir . '/rector/rector-downgrade-php/rules/DowngradePhp53/Rector/Dir/DirConstToFileConstRector.php',
|
||||
'Rector\\DowngradePhp54\\Rector\\Array_\\ShortArrayToLongArrayRector' => $vendorDir . '/rector/rector-downgrade-php/rules/DowngradePhp54/Rector/Array_/ShortArrayToLongArrayRector.php',
|
||||
'Rector\\DowngradePhp54\\Rector\\Closure\\DowngradeStaticClosureRector' => $vendorDir . '/rector/rector-downgrade-php/rules/DowngradePhp54/Rector/Closure/DowngradeStaticClosureRector.php',
|
||||
|
14
vendor/composer/autoload_real.php
vendored
14
vendor/composer/autoload_real.php
vendored
@ -2,7 +2,7 @@
|
||||
|
||||
// autoload_real.php @generated by Composer
|
||||
|
||||
class ComposerAutoloaderInit6a43ec02ad822ac8b59c5b0beffef4e2
|
||||
class ComposerAutoloaderInit63a05dd74929123e8e5c24eb32e8fb87
|
||||
{
|
||||
private static $loader;
|
||||
|
||||
@ -22,19 +22,19 @@ class ComposerAutoloaderInit6a43ec02ad822ac8b59c5b0beffef4e2
|
||||
return self::$loader;
|
||||
}
|
||||
|
||||
spl_autoload_register(array('ComposerAutoloaderInit6a43ec02ad822ac8b59c5b0beffef4e2', 'loadClassLoader'), true, true);
|
||||
spl_autoload_register(array('ComposerAutoloaderInit63a05dd74929123e8e5c24eb32e8fb87', 'loadClassLoader'), true, true);
|
||||
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
|
||||
spl_autoload_unregister(array('ComposerAutoloaderInit6a43ec02ad822ac8b59c5b0beffef4e2', 'loadClassLoader'));
|
||||
spl_autoload_unregister(array('ComposerAutoloaderInit63a05dd74929123e8e5c24eb32e8fb87', 'loadClassLoader'));
|
||||
|
||||
require __DIR__ . '/autoload_static.php';
|
||||
call_user_func(\Composer\Autoload\ComposerStaticInit6a43ec02ad822ac8b59c5b0beffef4e2::getInitializer($loader));
|
||||
call_user_func(\Composer\Autoload\ComposerStaticInit63a05dd74929123e8e5c24eb32e8fb87::getInitializer($loader));
|
||||
|
||||
$loader->setClassMapAuthoritative(true);
|
||||
$loader->register(true);
|
||||
|
||||
$includeFiles = \Composer\Autoload\ComposerStaticInit6a43ec02ad822ac8b59c5b0beffef4e2::$files;
|
||||
$includeFiles = \Composer\Autoload\ComposerStaticInit63a05dd74929123e8e5c24eb32e8fb87::$files;
|
||||
foreach ($includeFiles as $fileIdentifier => $file) {
|
||||
composerRequire6a43ec02ad822ac8b59c5b0beffef4e2($fileIdentifier, $file);
|
||||
composerRequire63a05dd74929123e8e5c24eb32e8fb87($fileIdentifier, $file);
|
||||
}
|
||||
|
||||
return $loader;
|
||||
@ -46,7 +46,7 @@ class ComposerAutoloaderInit6a43ec02ad822ac8b59c5b0beffef4e2
|
||||
* @param string $file
|
||||
* @return void
|
||||
*/
|
||||
function composerRequire6a43ec02ad822ac8b59c5b0beffef4e2($fileIdentifier, $file)
|
||||
function composerRequire63a05dd74929123e8e5c24eb32e8fb87($fileIdentifier, $file)
|
||||
{
|
||||
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
|
||||
$GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
|
||||
|
20
vendor/composer/autoload_static.php
vendored
20
vendor/composer/autoload_static.php
vendored
@ -4,7 +4,7 @@
|
||||
|
||||
namespace Composer\Autoload;
|
||||
|
||||
class ComposerStaticInit6a43ec02ad822ac8b59c5b0beffef4e2
|
||||
class ComposerStaticInit63a05dd74929123e8e5c24eb32e8fb87
|
||||
{
|
||||
public static $files = array (
|
||||
'ad155f8f1cf0d418fe49e248db8c661b' => __DIR__ . '/..' . '/react/promise/src/functions_include.php',
|
||||
@ -1833,7 +1833,6 @@ class ComposerStaticInit6a43ec02ad822ac8b59c5b0beffef4e2
|
||||
'Rector\\Doctrine\\NodeAnalyzer\\MethodCallNameOnTypeResolver' => __DIR__ . '/..' . '/rector/rector-doctrine/src/NodeAnalyzer/MethodCallNameOnTypeResolver.php',
|
||||
'Rector\\Doctrine\\NodeAnalyzer\\SetterClassMethodAnalyzer' => __DIR__ . '/..' . '/rector/rector-doctrine/src/NodeAnalyzer/SetterClassMethodAnalyzer.php',
|
||||
'Rector\\Doctrine\\NodeAnalyzer\\TargetEntityResolver' => __DIR__ . '/..' . '/rector/rector-doctrine/src/NodeAnalyzer/TargetEntityResolver.php',
|
||||
'Rector\\Doctrine\\NodeAnalyzer\\TranslatablePropertyCollectorAndRemover' => __DIR__ . '/..' . '/rector/rector-doctrine/src/NodeAnalyzer/TranslatablePropertyCollectorAndRemover.php',
|
||||
'Rector\\Doctrine\\NodeFactory\\ArrayCollectionAssignFactory' => __DIR__ . '/..' . '/rector/rector-doctrine/src/NodeFactory/ArrayCollectionAssignFactory.php',
|
||||
'Rector\\Doctrine\\NodeFactory\\ConstructClassMethodFactory' => __DIR__ . '/..' . '/rector/rector-doctrine/src/NodeFactory/ConstructClassMethodFactory.php',
|
||||
'Rector\\Doctrine\\NodeFactory\\ConstructorClassMethodAssignFactory' => __DIR__ . '/..' . '/rector/rector-doctrine/src/NodeFactory/ConstructorClassMethodAssignFactory.php',
|
||||
@ -1841,8 +1840,6 @@ class ComposerStaticInit6a43ec02ad822ac8b59c5b0beffef4e2
|
||||
'Rector\\Doctrine\\NodeFactory\\ParamFactory' => __DIR__ . '/..' . '/rector/rector-doctrine/src/NodeFactory/ParamFactory.php',
|
||||
'Rector\\Doctrine\\NodeFactory\\RepositoryAssignFactory' => __DIR__ . '/..' . '/rector/rector-doctrine/src/NodeFactory/RepositoryAssignFactory.php',
|
||||
'Rector\\Doctrine\\NodeFactory\\RepositoryNodeFactory' => __DIR__ . '/..' . '/rector/rector-doctrine/src/NodeFactory/RepositoryNodeFactory.php',
|
||||
'Rector\\Doctrine\\NodeFactory\\SluggableClassMethodFactory' => __DIR__ . '/..' . '/rector/rector-doctrine/src/NodeFactory/SluggableClassMethodFactory.php',
|
||||
'Rector\\Doctrine\\NodeFactory\\TranslationClassNodeFactory' => __DIR__ . '/..' . '/rector/rector-doctrine/src/NodeFactory/TranslationClassNodeFactory.php',
|
||||
'Rector\\Doctrine\\NodeFactory\\ValueAssignFactory' => __DIR__ . '/..' . '/rector/rector-doctrine/src/NodeFactory/ValueAssignFactory.php',
|
||||
'Rector\\Doctrine\\NodeManipulator\\ColumnPropertyTypeResolver' => __DIR__ . '/..' . '/rector/rector-doctrine/src/NodeManipulator/ColumnPropertyTypeResolver.php',
|
||||
'Rector\\Doctrine\\NodeManipulator\\ConstructorManipulator' => __DIR__ . '/..' . '/rector/rector-doctrine/src/NodeManipulator/ConstructorManipulator.php',
|
||||
@ -1859,20 +1856,13 @@ class ComposerStaticInit6a43ec02ad822ac8b59c5b0beffef4e2
|
||||
'Rector\\Doctrine\\Rector\\ClassMethod\\MakeEntitySetterNullabilityInSyncWithPropertyRector' => __DIR__ . '/..' . '/rector/rector-doctrine/src/Rector/ClassMethod/MakeEntitySetterNullabilityInSyncWithPropertyRector.php',
|
||||
'Rector\\Doctrine\\Rector\\ClassMethod\\ServiceEntityRepositoryParentCallToDIRector' => __DIR__ . '/..' . '/rector/rector-doctrine/src/Rector/ClassMethod/ServiceEntityRepositoryParentCallToDIRector.php',
|
||||
'Rector\\Doctrine\\Rector\\Class_\\AddEntityIdByConditionRector' => __DIR__ . '/..' . '/rector/rector-doctrine/src/Rector/Class_/AddEntityIdByConditionRector.php',
|
||||
'Rector\\Doctrine\\Rector\\Class_\\BlameableBehaviorRector' => __DIR__ . '/..' . '/rector/rector-doctrine/src/Rector/Class_/BlameableBehaviorRector.php',
|
||||
'Rector\\Doctrine\\Rector\\Class_\\ClassAnnotationToNamedArgumentConstructorRector' => __DIR__ . '/..' . '/rector/rector-doctrine/src/Rector/Class_/ClassAnnotationToNamedArgumentConstructorRector.php',
|
||||
'Rector\\Doctrine\\Rector\\Class_\\InitializeDefaultEntityCollectionRector' => __DIR__ . '/..' . '/rector/rector-doctrine/src/Rector/Class_/InitializeDefaultEntityCollectionRector.php',
|
||||
'Rector\\Doctrine\\Rector\\Class_\\LoggableBehaviorRector' => __DIR__ . '/..' . '/rector/rector-doctrine/src/Rector/Class_/LoggableBehaviorRector.php',
|
||||
'Rector\\Doctrine\\Rector\\Class_\\ManagerRegistryGetManagerToEntityManagerRector' => __DIR__ . '/..' . '/rector/rector-doctrine/src/Rector/Class_/ManagerRegistryGetManagerToEntityManagerRector.php',
|
||||
'Rector\\Doctrine\\Rector\\Class_\\MoveCurrentDateTimeDefaultInEntityToConstructorRector' => __DIR__ . '/..' . '/rector/rector-doctrine/src/Rector/Class_/MoveCurrentDateTimeDefaultInEntityToConstructorRector.php',
|
||||
'Rector\\Doctrine\\Rector\\Class_\\MoveRepositoryFromParentToConstructorRector' => __DIR__ . '/..' . '/rector/rector-doctrine/src/Rector/Class_/MoveRepositoryFromParentToConstructorRector.php',
|
||||
'Rector\\Doctrine\\Rector\\Class_\\RemoveRedundantDefaultClassAnnotationValuesRector' => __DIR__ . '/..' . '/rector/rector-doctrine/src/Rector/Class_/RemoveRedundantDefaultClassAnnotationValuesRector.php',
|
||||
'Rector\\Doctrine\\Rector\\Class_\\RemoveRepositoryFromEntityAnnotationRector' => __DIR__ . '/..' . '/rector/rector-doctrine/src/Rector/Class_/RemoveRepositoryFromEntityAnnotationRector.php',
|
||||
'Rector\\Doctrine\\Rector\\Class_\\SluggableBehaviorRector' => __DIR__ . '/..' . '/rector/rector-doctrine/src/Rector/Class_/SluggableBehaviorRector.php',
|
||||
'Rector\\Doctrine\\Rector\\Class_\\SoftDeletableBehaviorRector' => __DIR__ . '/..' . '/rector/rector-doctrine/src/Rector/Class_/SoftDeletableBehaviorRector.php',
|
||||
'Rector\\Doctrine\\Rector\\Class_\\TimestampableBehaviorRector' => __DIR__ . '/..' . '/rector/rector-doctrine/src/Rector/Class_/TimestampableBehaviorRector.php',
|
||||
'Rector\\Doctrine\\Rector\\Class_\\TranslationBehaviorRector' => __DIR__ . '/..' . '/rector/rector-doctrine/src/Rector/Class_/TranslationBehaviorRector.php',
|
||||
'Rector\\Doctrine\\Rector\\Class_\\TreeBehaviorRector' => __DIR__ . '/..' . '/rector/rector-doctrine/src/Rector/Class_/TreeBehaviorRector.php',
|
||||
'Rector\\Doctrine\\Rector\\MethodCall\\ChangeSetParametersArrayToArrayCollectionRector' => __DIR__ . '/..' . '/rector/rector-doctrine/src/Rector/MethodCall/ChangeSetParametersArrayToArrayCollectionRector.php',
|
||||
'Rector\\Doctrine\\Rector\\MethodCall\\EntityAliasToClassConstantReferenceRector' => __DIR__ . '/..' . '/rector/rector-doctrine/src/Rector/MethodCall/EntityAliasToClassConstantReferenceRector.php',
|
||||
'Rector\\Doctrine\\Rector\\MethodCall\\ReplaceParentRepositoryCallsByRepositoryPropertyRector' => __DIR__ . '/..' . '/rector/rector-doctrine/src/Rector/MethodCall/ReplaceParentRepositoryCallsByRepositoryPropertyRector.php',
|
||||
@ -1896,8 +1886,6 @@ class ComposerStaticInit6a43ec02ad822ac8b59c5b0beffef4e2
|
||||
'Rector\\Doctrine\\ValueObject\\ArgName' => __DIR__ . '/..' . '/rector/rector-doctrine/src/ValueObject/ArgName.php',
|
||||
'Rector\\Doctrine\\ValueObject\\AssignToPropertyFetch' => __DIR__ . '/..' . '/rector/rector-doctrine/src/ValueObject/AssignToPropertyFetch.php',
|
||||
'Rector\\Doctrine\\ValueObject\\DefaultAnnotationArgValue' => __DIR__ . '/..' . '/rector/rector-doctrine/src/ValueObject/DefaultAnnotationArgValue.php',
|
||||
'Rector\\Doctrine\\ValueObject\\PropertyNameAndPhpDocInfo' => __DIR__ . '/..' . '/rector/rector-doctrine/src/ValueObject/PropertyNameAndPhpDocInfo.php',
|
||||
'Rector\\Doctrine\\ValueObject\\PropertyNamesAndPhpDocInfos' => __DIR__ . '/..' . '/rector/rector-doctrine/src/ValueObject/PropertyNamesAndPhpDocInfos.php',
|
||||
'Rector\\DowngradePhp53\\Rector\\Dir\\DirConstToFileConstRector' => __DIR__ . '/..' . '/rector/rector-downgrade-php/rules/DowngradePhp53/Rector/Dir/DirConstToFileConstRector.php',
|
||||
'Rector\\DowngradePhp54\\Rector\\Array_\\ShortArrayToLongArrayRector' => __DIR__ . '/..' . '/rector/rector-downgrade-php/rules/DowngradePhp54/Rector/Array_/ShortArrayToLongArrayRector.php',
|
||||
'Rector\\DowngradePhp54\\Rector\\Closure\\DowngradeStaticClosureRector' => __DIR__ . '/..' . '/rector/rector-downgrade-php/rules/DowngradePhp54/Rector/Closure/DowngradeStaticClosureRector.php',
|
||||
@ -3093,9 +3081,9 @@ class ComposerStaticInit6a43ec02ad822ac8b59c5b0beffef4e2
|
||||
public static function getInitializer(ClassLoader $loader)
|
||||
{
|
||||
return \Closure::bind(function () use ($loader) {
|
||||
$loader->prefixLengthsPsr4 = ComposerStaticInit6a43ec02ad822ac8b59c5b0beffef4e2::$prefixLengthsPsr4;
|
||||
$loader->prefixDirsPsr4 = ComposerStaticInit6a43ec02ad822ac8b59c5b0beffef4e2::$prefixDirsPsr4;
|
||||
$loader->classMap = ComposerStaticInit6a43ec02ad822ac8b59c5b0beffef4e2::$classMap;
|
||||
$loader->prefixLengthsPsr4 = ComposerStaticInit63a05dd74929123e8e5c24eb32e8fb87::$prefixLengthsPsr4;
|
||||
$loader->prefixDirsPsr4 = ComposerStaticInit63a05dd74929123e8e5c24eb32e8fb87::$prefixDirsPsr4;
|
||||
$loader->classMap = ComposerStaticInit63a05dd74929123e8e5c24eb32e8fb87::$classMap;
|
||||
|
||||
}, null, ClassLoader::class);
|
||||
}
|
||||
|
174
vendor/composer/installed.json
vendored
174
vendor/composer/installed.json
vendored
@ -1784,12 +1784,12 @@
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https:\/\/github.com\/rectorphp\/rector-doctrine.git",
|
||||
"reference": "3b465ad98d1018dfd389b41a709fe69d5276d562"
|
||||
"reference": "17bdb82a53af4f58dfb4c00634e8942e653bfaef"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https:\/\/api.github.com\/repos\/rectorphp\/rector-doctrine\/zipball\/3b465ad98d1018dfd389b41a709fe69d5276d562",
|
||||
"reference": "3b465ad98d1018dfd389b41a709fe69d5276d562",
|
||||
"url": "https:\/\/api.github.com\/repos\/rectorphp\/rector-doctrine\/zipball\/17bdb82a53af4f58dfb4c00634e8942e653bfaef",
|
||||
"reference": "17bdb82a53af4f58dfb4c00634e8942e653bfaef",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -1815,7 +1815,7 @@
|
||||
"symplify\/rule-doc-generator": "^11.1",
|
||||
"symplify\/vendor-patches": "^11.1"
|
||||
},
|
||||
"time": "2022-10-25T09:00:56+00:00",
|
||||
"time": "2022-10-26T10:28:39+00:00",
|
||||
"default-branch": true,
|
||||
"type": "rector-extension",
|
||||
"extra": {
|
||||
@ -1853,12 +1853,12 @@
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https:\/\/github.com\/rectorphp\/rector-downgrade-php.git",
|
||||
"reference": "d75c674779ffbbb96e2b02074b1e2877dc37781d"
|
||||
"reference": "da1013feacd1f27dbd414734fd2768d9258a5f7b"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https:\/\/api.github.com\/repos\/rectorphp\/rector-downgrade-php\/zipball\/d75c674779ffbbb96e2b02074b1e2877dc37781d",
|
||||
"reference": "d75c674779ffbbb96e2b02074b1e2877dc37781d",
|
||||
"url": "https:\/\/api.github.com\/repos\/rectorphp\/rector-downgrade-php\/zipball\/da1013feacd1f27dbd414734fd2768d9258a5f7b",
|
||||
"reference": "da1013feacd1f27dbd414734fd2768d9258a5f7b",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -1883,7 +1883,7 @@
|
||||
"symplify\/rule-doc-generator": "^11.1",
|
||||
"symplify\/vendor-patches": "^11.1"
|
||||
},
|
||||
"time": "2022-09-06T11:58:38+00:00",
|
||||
"time": "2022-10-26T11:10:13+00:00",
|
||||
"default-branch": true,
|
||||
"type": "rector-extension",
|
||||
"extra": {
|
||||
@ -1913,7 +1913,7 @@
|
||||
"description": "Rector downgrade PHP rules",
|
||||
"support": {
|
||||
"issues": "https:\/\/github.com\/rectorphp\/rector-downgrade-php\/issues",
|
||||
"source": "https:\/\/github.com\/rectorphp\/rector-downgrade-php\/tree\/main"
|
||||
"source": "https:\/\/github.com\/rectorphp\/rector-downgrade-php\/tree\/0.14.0"
|
||||
},
|
||||
"install-path": "..\/rector\/rector-downgrade-php"
|
||||
},
|
||||
@ -3107,17 +3107,17 @@
|
||||
},
|
||||
{
|
||||
"name": "symplify\/autowire-array-parameter",
|
||||
"version": "11.1.12",
|
||||
"version_normalized": "11.1.12.0",
|
||||
"version": "11.1.16",
|
||||
"version_normalized": "11.1.16.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https:\/\/github.com\/symplify\/autowire-array-parameter.git",
|
||||
"reference": "7bd60ae72303e1e127b842d3d76486b698ac6ef8"
|
||||
"reference": "d9dafca176d8676e9e102e0efb6f1ea8c634f898"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https:\/\/api.github.com\/repos\/symplify\/autowire-array-parameter\/zipball\/7bd60ae72303e1e127b842d3d76486b698ac6ef8",
|
||||
"reference": "7bd60ae72303e1e127b842d3d76486b698ac6ef8",
|
||||
"url": "https:\/\/api.github.com\/repos\/symplify\/autowire-array-parameter\/zipball\/d9dafca176d8676e9e102e0efb6f1ea8c634f898",
|
||||
"reference": "d9dafca176d8676e9e102e0efb6f1ea8c634f898",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -3126,31 +3126,31 @@
|
||||
"symfony\/dependency-injection": "^6.1"
|
||||
},
|
||||
"conflict": {
|
||||
"symplify\/coding-standard": "<11.1.12",
|
||||
"symplify\/composer-json-manipulator": "<11.1.12",
|
||||
"symplify\/config-transformer": "<11.1.12",
|
||||
"symplify\/easy-ci": "<11.1.12",
|
||||
"symplify\/easy-coding-standard": "<11.1.12",
|
||||
"symplify\/easy-parallel": "<11.1.12",
|
||||
"symplify\/easy-testing": "<11.1.12",
|
||||
"symplify\/monorepo-builder": "<11.1.12",
|
||||
"symplify\/package-builder": "<11.1.12",
|
||||
"symplify\/php-config-printer": "<11.1.12",
|
||||
"symplify\/phpstan-extensions": "<11.1.12",
|
||||
"symplify\/phpstan-rules": "<11.1.12",
|
||||
"symplify\/rule-doc-generator": "<11.1.12",
|
||||
"symplify\/rule-doc-generator-contracts": "<11.1.12",
|
||||
"symplify\/smart-file-system": "<11.1.12",
|
||||
"symplify\/symfony-static-dumper": "<11.1.12",
|
||||
"symplify\/symplify-kernel": "<11.1.12",
|
||||
"symplify\/vendor-patches": "<11.1.12"
|
||||
"symplify\/coding-standard": "<11.1.16",
|
||||
"symplify\/composer-json-manipulator": "<11.1.16",
|
||||
"symplify\/config-transformer": "<11.1.16",
|
||||
"symplify\/easy-ci": "<11.1.16",
|
||||
"symplify\/easy-coding-standard": "<11.1.16",
|
||||
"symplify\/easy-parallel": "<11.1.16",
|
||||
"symplify\/easy-testing": "<11.1.16",
|
||||
"symplify\/monorepo-builder": "<11.1.16",
|
||||
"symplify\/package-builder": "<11.1.16",
|
||||
"symplify\/php-config-printer": "<11.1.16",
|
||||
"symplify\/phpstan-extensions": "<11.1.16",
|
||||
"symplify\/phpstan-rules": "<11.1.16",
|
||||
"symplify\/rule-doc-generator": "<11.1.16",
|
||||
"symplify\/rule-doc-generator-contracts": "<11.1.16",
|
||||
"symplify\/smart-file-system": "<11.1.16",
|
||||
"symplify\/symfony-static-dumper": "<11.1.16",
|
||||
"symplify\/symplify-kernel": "<11.1.16",
|
||||
"symplify\/vendor-patches": "<11.1.16"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit\/phpunit": "^9.5.23",
|
||||
"symplify\/package-builder": "^11.1.12",
|
||||
"symplify\/symplify-kernel": "^11.1.12"
|
||||
"symplify\/package-builder": "^11.1.16",
|
||||
"symplify\/symplify-kernel": "^11.1.16"
|
||||
},
|
||||
"time": "2022-10-24T19:26:43+00:00",
|
||||
"time": "2022-10-27T10:44:33+00:00",
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
@ -3169,7 +3169,7 @@
|
||||
],
|
||||
"description": "Autowire array parameters for your Symfony applications",
|
||||
"support": {
|
||||
"source": "https:\/\/github.com\/symplify\/autowire-array-parameter\/tree\/11.1.12"
|
||||
"source": "https:\/\/github.com\/symplify\/autowire-array-parameter\/tree\/11.1.16"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -3185,17 +3185,17 @@
|
||||
},
|
||||
{
|
||||
"name": "symplify\/easy-parallel",
|
||||
"version": "11.1.12",
|
||||
"version_normalized": "11.1.12.0",
|
||||
"version": "11.1.16",
|
||||
"version_normalized": "11.1.16.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https:\/\/github.com\/symplify\/easy-parallel.git",
|
||||
"reference": "25547e46897963a299ade9e6ef04441a56b01b71"
|
||||
"reference": "d60b7d6975b44ecf34b8bb39c48872c0995acce1"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https:\/\/api.github.com\/repos\/symplify\/easy-parallel\/zipball\/25547e46897963a299ade9e6ef04441a56b01b71",
|
||||
"reference": "25547e46897963a299ade9e6ef04441a56b01b71",
|
||||
"url": "https:\/\/api.github.com\/repos\/symplify\/easy-parallel\/zipball\/d60b7d6975b44ecf34b8bb39c48872c0995acce1",
|
||||
"reference": "d60b7d6975b44ecf34b8bb39c48872c0995acce1",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -3207,30 +3207,30 @@
|
||||
"symfony\/console": "^6.1"
|
||||
},
|
||||
"conflict": {
|
||||
"symplify\/autowire-array-parameter": "<11.1.12",
|
||||
"symplify\/coding-standard": "<11.1.12",
|
||||
"symplify\/composer-json-manipulator": "<11.1.12",
|
||||
"symplify\/config-transformer": "<11.1.12",
|
||||
"symplify\/easy-ci": "<11.1.12",
|
||||
"symplify\/easy-coding-standard": "<11.1.12",
|
||||
"symplify\/easy-testing": "<11.1.12",
|
||||
"symplify\/monorepo-builder": "<11.1.12",
|
||||
"symplify\/package-builder": "<11.1.12",
|
||||
"symplify\/php-config-printer": "<11.1.12",
|
||||
"symplify\/phpstan-extensions": "<11.1.12",
|
||||
"symplify\/phpstan-rules": "<11.1.12",
|
||||
"symplify\/rule-doc-generator": "<11.1.12",
|
||||
"symplify\/rule-doc-generator-contracts": "<11.1.12",
|
||||
"symplify\/smart-file-system": "<11.1.12",
|
||||
"symplify\/symfony-static-dumper": "<11.1.12",
|
||||
"symplify\/symplify-kernel": "<11.1.12",
|
||||
"symplify\/vendor-patches": "<11.1.12"
|
||||
"symplify\/autowire-array-parameter": "<11.1.16",
|
||||
"symplify\/coding-standard": "<11.1.16",
|
||||
"symplify\/composer-json-manipulator": "<11.1.16",
|
||||
"symplify\/config-transformer": "<11.1.16",
|
||||
"symplify\/easy-ci": "<11.1.16",
|
||||
"symplify\/easy-coding-standard": "<11.1.16",
|
||||
"symplify\/easy-testing": "<11.1.16",
|
||||
"symplify\/monorepo-builder": "<11.1.16",
|
||||
"symplify\/package-builder": "<11.1.16",
|
||||
"symplify\/php-config-printer": "<11.1.16",
|
||||
"symplify\/phpstan-extensions": "<11.1.16",
|
||||
"symplify\/phpstan-rules": "<11.1.16",
|
||||
"symplify\/rule-doc-generator": "<11.1.16",
|
||||
"symplify\/rule-doc-generator-contracts": "<11.1.16",
|
||||
"symplify\/smart-file-system": "<11.1.16",
|
||||
"symplify\/symfony-static-dumper": "<11.1.16",
|
||||
"symplify\/symplify-kernel": "<11.1.16",
|
||||
"symplify\/vendor-patches": "<11.1.16"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit\/phpunit": "^9.5.23",
|
||||
"symplify\/package-builder": "^11.1.12"
|
||||
"symplify\/package-builder": "^11.1.16"
|
||||
},
|
||||
"time": "2022-10-24T19:27:28+00:00",
|
||||
"time": "2022-10-27T10:44:47+00:00",
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
@ -3250,23 +3250,23 @@
|
||||
"description": "Helper package for easier CLI project parallelization",
|
||||
"support": {
|
||||
"issues": "https:\/\/github.com\/symplify\/easy-parallel\/issues",
|
||||
"source": "https:\/\/github.com\/symplify\/easy-parallel\/tree\/11.1.12"
|
||||
"source": "https:\/\/github.com\/symplify\/easy-parallel\/tree\/11.1.16"
|
||||
},
|
||||
"install-path": "..\/symplify\/easy-parallel"
|
||||
},
|
||||
{
|
||||
"name": "symplify\/rule-doc-generator-contracts",
|
||||
"version": "11.1.12",
|
||||
"version_normalized": "11.1.12.0",
|
||||
"version": "11.1.16",
|
||||
"version_normalized": "11.1.16.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https:\/\/github.com\/symplify\/rule-doc-generator-contracts.git",
|
||||
"reference": "398f989ff4024bd84bb4e3fc898a25127c16331c"
|
||||
"reference": "ccb4e3f30e61e7ebd8cabb6d8917347debee0c0c"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https:\/\/api.github.com\/repos\/symplify\/rule-doc-generator-contracts\/zipball\/398f989ff4024bd84bb4e3fc898a25127c16331c",
|
||||
"reference": "398f989ff4024bd84bb4e3fc898a25127c16331c",
|
||||
"url": "https:\/\/api.github.com\/repos\/symplify\/rule-doc-generator-contracts\/zipball\/ccb4e3f30e61e7ebd8cabb6d8917347debee0c0c",
|
||||
"reference": "ccb4e3f30e61e7ebd8cabb6d8917347debee0c0c",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -3274,26 +3274,26 @@
|
||||
"php": ">=8.1"
|
||||
},
|
||||
"conflict": {
|
||||
"symplify\/autowire-array-parameter": "<11.1.12",
|
||||
"symplify\/coding-standard": "<11.1.12",
|
||||
"symplify\/composer-json-manipulator": "<11.1.12",
|
||||
"symplify\/config-transformer": "<11.1.12",
|
||||
"symplify\/easy-ci": "<11.1.12",
|
||||
"symplify\/easy-coding-standard": "<11.1.12",
|
||||
"symplify\/easy-parallel": "<11.1.12",
|
||||
"symplify\/easy-testing": "<11.1.12",
|
||||
"symplify\/monorepo-builder": "<11.1.12",
|
||||
"symplify\/package-builder": "<11.1.12",
|
||||
"symplify\/php-config-printer": "<11.1.12",
|
||||
"symplify\/phpstan-extensions": "<11.1.12",
|
||||
"symplify\/phpstan-rules": "<11.1.12",
|
||||
"symplify\/rule-doc-generator": "<11.1.12",
|
||||
"symplify\/smart-file-system": "<11.1.12",
|
||||
"symplify\/symfony-static-dumper": "<11.1.12",
|
||||
"symplify\/symplify-kernel": "<11.1.12",
|
||||
"symplify\/vendor-patches": "<11.1.12"
|
||||
"symplify\/autowire-array-parameter": "<11.1.16",
|
||||
"symplify\/coding-standard": "<11.1.16",
|
||||
"symplify\/composer-json-manipulator": "<11.1.16",
|
||||
"symplify\/config-transformer": "<11.1.16",
|
||||
"symplify\/easy-ci": "<11.1.16",
|
||||
"symplify\/easy-coding-standard": "<11.1.16",
|
||||
"symplify\/easy-parallel": "<11.1.16",
|
||||
"symplify\/easy-testing": "<11.1.16",
|
||||
"symplify\/monorepo-builder": "<11.1.16",
|
||||
"symplify\/package-builder": "<11.1.16",
|
||||
"symplify\/php-config-printer": "<11.1.16",
|
||||
"symplify\/phpstan-extensions": "<11.1.16",
|
||||
"symplify\/phpstan-rules": "<11.1.16",
|
||||
"symplify\/rule-doc-generator": "<11.1.16",
|
||||
"symplify\/smart-file-system": "<11.1.16",
|
||||
"symplify\/symfony-static-dumper": "<11.1.16",
|
||||
"symplify\/symplify-kernel": "<11.1.16",
|
||||
"symplify\/vendor-patches": "<11.1.16"
|
||||
},
|
||||
"time": "2022-10-24T19:28:13+00:00",
|
||||
"time": "2022-10-27T10:45:09+00:00",
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
@ -3312,7 +3312,7 @@
|
||||
],
|
||||
"description": "Contracts for production code of RuleDocGenerator",
|
||||
"support": {
|
||||
"source": "https:\/\/github.com\/symplify\/rule-doc-generator-contracts\/tree\/11.1.12"
|
||||
"source": "https:\/\/github.com\/symplify\/rule-doc-generator-contracts\/tree\/11.1.16"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
|
2
vendor/composer/installed.php
vendored
2
vendor/composer/installed.php
vendored
File diff suppressed because one or more lines are too long
@ -9,7 +9,7 @@ namespace Rector\RectorInstaller;
|
||||
*/
|
||||
final class GeneratedConfig
|
||||
{
|
||||
public const EXTENSIONS = array('rector/rector-doctrine' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-doctrine', 'relative_install_path' => '../../rector-doctrine', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => 'dev-main 3b465ad'), 'rector/rector-downgrade-php' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-downgrade-php', 'relative_install_path' => '../../rector-downgrade-php', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => 'dev-main d75c674'), 'rector/rector-laravel' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-laravel', 'relative_install_path' => '../../rector-laravel', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => 'dev-main 2decdcf'), 'rector/rector-php-parser' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-php-parser', 'relative_install_path' => '../../rector-php-parser', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => 'dev-main 9c21f5f'), 'rector/rector-phpoffice' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-phpoffice', 'relative_install_path' => '../../rector-phpoffice', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => 'dev-main 294de0c'), 'rector/rector-phpunit' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-phpunit', 'relative_install_path' => '../../rector-phpunit', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => 'dev-main 6fc267c'), 'rector/rector-symfony' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-symfony', 'relative_install_path' => '../../rector-symfony', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => 'dev-main 644c5a4'));
|
||||
public const EXTENSIONS = array('rector/rector-doctrine' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-doctrine', 'relative_install_path' => '../../rector-doctrine', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => 'dev-main 17bdb82'), 'rector/rector-downgrade-php' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-downgrade-php', 'relative_install_path' => '../../rector-downgrade-php', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => 'dev-main da1013f'), 'rector/rector-laravel' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-laravel', 'relative_install_path' => '../../rector-laravel', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => 'dev-main 2decdcf'), 'rector/rector-php-parser' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-php-parser', 'relative_install_path' => '../../rector-php-parser', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => 'dev-main 9c21f5f'), 'rector/rector-phpoffice' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-phpoffice', 'relative_install_path' => '../../rector-phpoffice', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => 'dev-main 294de0c'), 'rector/rector-phpunit' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-phpunit', 'relative_install_path' => '../../rector-phpunit', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => 'dev-main 6fc267c'), 'rector/rector-symfony' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-symfony', 'relative_install_path' => '../../rector-symfony', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => 'dev-main 644c5a4'));
|
||||
private function __construct()
|
||||
{
|
||||
}
|
||||
|
@ -1,23 +0,0 @@
|
||||
<?php
|
||||
|
||||
declare (strict_types=1);
|
||||
namespace RectorPrefix202210;
|
||||
|
||||
use Rector\Config\RectorConfig;
|
||||
use Rector\Doctrine\Rector\Class_\BlameableBehaviorRector;
|
||||
use Rector\Doctrine\Rector\Class_\LoggableBehaviorRector;
|
||||
use Rector\Doctrine\Rector\Class_\SluggableBehaviorRector;
|
||||
use Rector\Doctrine\Rector\Class_\SoftDeletableBehaviorRector;
|
||||
use Rector\Doctrine\Rector\Class_\TimestampableBehaviorRector;
|
||||
use Rector\Doctrine\Rector\Class_\TranslationBehaviorRector;
|
||||
use Rector\Doctrine\Rector\Class_\TreeBehaviorRector;
|
||||
# version gedmo/doctrine-extensions 2.x to knplabs/doctrine-behaviors 2.0
|
||||
return static function (RectorConfig $rectorConfig) : void {
|
||||
$rectorConfig->rule(TimestampableBehaviorRector::class);
|
||||
$rectorConfig->rule(SluggableBehaviorRector::class);
|
||||
$rectorConfig->rule(TreeBehaviorRector::class);
|
||||
$rectorConfig->rule(TranslationBehaviorRector::class);
|
||||
$rectorConfig->rule(SoftDeletableBehaviorRector::class);
|
||||
$rectorConfig->rule(BlameableBehaviorRector::class);
|
||||
$rectorConfig->rule(LoggableBehaviorRector::class);
|
||||
};
|
@ -1,63 +0,0 @@
|
||||
<?php
|
||||
|
||||
declare (strict_types=1);
|
||||
namespace Rector\Doctrine\NodeAnalyzer;
|
||||
|
||||
use PhpParser\Node\Stmt\Class_;
|
||||
use Rector\BetterPhpDocParser\PhpDoc\DoctrineAnnotationTagValueNode;
|
||||
use Rector\BetterPhpDocParser\PhpDocInfo\PhpDocInfoFactory;
|
||||
use Rector\BetterPhpDocParser\PhpDocManipulator\PhpDocTagRemover;
|
||||
use Rector\Doctrine\ValueObject\PropertyNameAndPhpDocInfo;
|
||||
use Rector\Doctrine\ValueObject\PropertyNamesAndPhpDocInfos;
|
||||
use Rector\NodeNameResolver\NodeNameResolver;
|
||||
use Rector\NodeRemoval\NodeRemover;
|
||||
final class TranslatablePropertyCollectorAndRemover
|
||||
{
|
||||
/**
|
||||
* @readonly
|
||||
* @var \Rector\BetterPhpDocParser\PhpDocManipulator\PhpDocTagRemover
|
||||
*/
|
||||
private $phpDocTagRemover;
|
||||
/**
|
||||
* @readonly
|
||||
* @var \Rector\BetterPhpDocParser\PhpDocInfo\PhpDocInfoFactory
|
||||
*/
|
||||
private $phpDocInfoFactory;
|
||||
/**
|
||||
* @readonly
|
||||
* @var \Rector\NodeRemoval\NodeRemover
|
||||
*/
|
||||
private $nodeRemover;
|
||||
/**
|
||||
* @readonly
|
||||
* @var \Rector\NodeNameResolver\NodeNameResolver
|
||||
*/
|
||||
private $nodeNameResolver;
|
||||
public function __construct(PhpDocTagRemover $phpDocTagRemover, PhpDocInfoFactory $phpDocInfoFactory, NodeRemover $nodeRemover, NodeNameResolver $nodeNameResolver)
|
||||
{
|
||||
$this->phpDocTagRemover = $phpDocTagRemover;
|
||||
$this->phpDocInfoFactory = $phpDocInfoFactory;
|
||||
$this->nodeRemover = $nodeRemover;
|
||||
$this->nodeNameResolver = $nodeNameResolver;
|
||||
}
|
||||
public function processClass(Class_ $class) : PropertyNamesAndPhpDocInfos
|
||||
{
|
||||
$propertyNameAndPhpDocInfos = [];
|
||||
foreach ($class->getProperties() as $property) {
|
||||
$phpDocInfo = $this->phpDocInfoFactory->createFromNodeOrEmpty($property);
|
||||
if ($phpDocInfo->hasByAnnotationClass('Gedmo\\Mapping\\Annotation\\Locale')) {
|
||||
$this->nodeRemover->removeNode($property);
|
||||
continue;
|
||||
}
|
||||
$doctrineAnnotationTagValueNode = $phpDocInfo->getByAnnotationClass('Gedmo\\Mapping\\Annotation\\Translatable');
|
||||
if (!$doctrineAnnotationTagValueNode instanceof DoctrineAnnotationTagValueNode) {
|
||||
continue;
|
||||
}
|
||||
$this->phpDocTagRemover->removeTagValueFromNode($phpDocInfo, $doctrineAnnotationTagValueNode);
|
||||
$propertyName = $this->nodeNameResolver->getName($property);
|
||||
$propertyNameAndPhpDocInfos[] = new PropertyNameAndPhpDocInfo($propertyName, $phpDocInfo);
|
||||
$this->nodeRemover->removeNode($property);
|
||||
}
|
||||
return new PropertyNamesAndPhpDocInfos($propertyNameAndPhpDocInfos);
|
||||
}
|
||||
}
|
@ -1,55 +0,0 @@
|
||||
<?php
|
||||
|
||||
declare (strict_types=1);
|
||||
namespace Rector\Doctrine\NodeFactory;
|
||||
|
||||
use PhpParser\Builder\Method;
|
||||
use PhpParser\Node\Expr;
|
||||
use PhpParser\Node\Identifier;
|
||||
use PhpParser\Node\Stmt\ClassMethod;
|
||||
use PhpParser\Node\Stmt\Return_;
|
||||
use PHPStan\Type\ArrayType;
|
||||
use PHPStan\Type\MixedType;
|
||||
use PHPStan\Type\StringType;
|
||||
use Rector\BetterPhpDocParser\PhpDoc\ArrayItemNode;
|
||||
use Rector\BetterPhpDocParser\PhpDocInfo\PhpDocInfoFactory;
|
||||
use Rector\BetterPhpDocParser\PhpDocManipulator\PhpDocTypeChanger;
|
||||
use Rector\PhpAttribute\AnnotationToAttributeMapper;
|
||||
final class SluggableClassMethodFactory
|
||||
{
|
||||
/**
|
||||
* @readonly
|
||||
* @var \Rector\BetterPhpDocParser\PhpDocInfo\PhpDocInfoFactory
|
||||
*/
|
||||
private $phpDocInfoFactory;
|
||||
/**
|
||||
* @readonly
|
||||
* @var \Rector\BetterPhpDocParser\PhpDocManipulator\PhpDocTypeChanger
|
||||
*/
|
||||
private $phpDocTypeChanger;
|
||||
/**
|
||||
* @readonly
|
||||
* @var \Rector\PhpAttribute\AnnotationToAttributeMapper
|
||||
*/
|
||||
private $annotationToAttributeMapper;
|
||||
public function __construct(PhpDocInfoFactory $phpDocInfoFactory, PhpDocTypeChanger $phpDocTypeChanger, AnnotationToAttributeMapper $annotationToAttributeMapper)
|
||||
{
|
||||
$this->phpDocInfoFactory = $phpDocInfoFactory;
|
||||
$this->phpDocTypeChanger = $phpDocTypeChanger;
|
||||
$this->annotationToAttributeMapper = $annotationToAttributeMapper;
|
||||
}
|
||||
public function createGetSluggableFields(ArrayItemNode $arrayItemNode) : ClassMethod
|
||||
{
|
||||
$builderClassMethod = new Method('getSluggableFields');
|
||||
$builderClassMethod->makePublic();
|
||||
$builderClassMethod->setReturnType(new Identifier('array'));
|
||||
/** @var Expr $slugFieldsExprs */
|
||||
$slugFieldsExprs = $this->annotationToAttributeMapper->map($arrayItemNode->value);
|
||||
$builderClassMethod->addStmt(new Return_($slugFieldsExprs));
|
||||
$classMethod = $builderClassMethod->getNode();
|
||||
$returnArrayType = new ArrayType(new MixedType(), new StringType());
|
||||
$phpDocInfo = $this->phpDocInfoFactory->createFromNodeOrEmpty($classMethod);
|
||||
$this->phpDocTypeChanger->changeReturnType($phpDocInfo, $returnArrayType);
|
||||
return $classMethod;
|
||||
}
|
||||
}
|
@ -1,47 +0,0 @@
|
||||
<?php
|
||||
|
||||
declare (strict_types=1);
|
||||
namespace Rector\Doctrine\NodeFactory;
|
||||
|
||||
use PhpParser\Node\Name\FullyQualified;
|
||||
use PhpParser\Node\Stmt\Class_;
|
||||
use PhpParser\NodeTraverser;
|
||||
use PhpParser\NodeVisitor\NameResolver;
|
||||
use PHPStan\PhpDocParser\Ast\Type\IdentifierTypeNode;
|
||||
use Rector\BetterPhpDocParser\PhpDoc\DoctrineAnnotationTagValueNode;
|
||||
use Rector\BetterPhpDocParser\PhpDoc\SpacelessPhpDocTagNode;
|
||||
use Rector\BetterPhpDocParser\PhpDocInfo\PhpDocInfoFactory;
|
||||
use Rector\Core\NodeManipulator\ClassInsertManipulator;
|
||||
final class TranslationClassNodeFactory
|
||||
{
|
||||
/**
|
||||
* @readonly
|
||||
* @var \Rector\BetterPhpDocParser\PhpDocInfo\PhpDocInfoFactory
|
||||
*/
|
||||
private $phpDocInfoFactory;
|
||||
/**
|
||||
* @readonly
|
||||
* @var \Rector\Core\NodeManipulator\ClassInsertManipulator
|
||||
*/
|
||||
private $classInsertManipulator;
|
||||
public function __construct(PhpDocInfoFactory $phpDocInfoFactory, ClassInsertManipulator $classInsertManipulator)
|
||||
{
|
||||
$this->phpDocInfoFactory = $phpDocInfoFactory;
|
||||
$this->classInsertManipulator = $classInsertManipulator;
|
||||
}
|
||||
public function create(string $classShortName) : Class_
|
||||
{
|
||||
$class = new Class_($classShortName);
|
||||
$class->implements[] = new FullyQualified('Knp\\DoctrineBehaviors\\Contract\\Entity\\TranslationInterface');
|
||||
$this->classInsertManipulator->addAsFirstTrait($class, 'Knp\\DoctrineBehaviors\\Model\\Translatable\\TranslationTrait');
|
||||
$phpDocInfo = $this->phpDocInfoFactory->createFromNodeOrEmpty($class);
|
||||
$spacelessPhpDocTagNode = new SpacelessPhpDocTagNode('@ORM\\Entity', new DoctrineAnnotationTagValueNode(new IdentifierTypeNode('Doctrine\\ORM\\Mapping\\Entity'), null, []));
|
||||
$phpDocInfo->addPhpDocTagNode($spacelessPhpDocTagNode);
|
||||
// traverse with node name resolver, to to comply with PHPStan default parser
|
||||
$nameResolver = new NameResolver(null, ['replaceNodes' => \false, 'preserveOriginalNames' => \true]);
|
||||
$nodeTraverser = new NodeTraverser();
|
||||
$nodeTraverser->addVisitor($nameResolver);
|
||||
$nodeTraverser->traverse([$class]);
|
||||
return $class;
|
||||
}
|
||||
}
|
@ -121,10 +121,7 @@ final class ColumnPropertyTypeResolver
|
||||
}
|
||||
return $this->createPHPStanTypeFromDoctrineStringType($typeArrayItemNode->value, $isNullable);
|
||||
}
|
||||
/**
|
||||
* @return \PHPStan\Type\MixedType|\PHPStan\Type\Type
|
||||
*/
|
||||
private function createPHPStanTypeFromDoctrineStringType(string $type, bool $isNullable)
|
||||
private function createPHPStanTypeFromDoctrineStringType(string $type, bool $isNullable) : Type
|
||||
{
|
||||
$scalarType = $this->doctrineTypeToScalarType[$type] ?? null;
|
||||
if (!$scalarType instanceof Type) {
|
||||
|
@ -1,149 +0,0 @@
|
||||
<?php
|
||||
|
||||
declare (strict_types=1);
|
||||
namespace Rector\Doctrine\Rector\Class_;
|
||||
|
||||
use PhpParser\Node;
|
||||
use PhpParser\Node\Name\FullyQualified;
|
||||
use PhpParser\Node\Stmt\Class_;
|
||||
use Rector\Core\NodeManipulator\ClassInsertManipulator;
|
||||
use Rector\Core\Rector\AbstractRector;
|
||||
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
|
||||
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
|
||||
/**
|
||||
* @see https://github.com/Atlantic18/DoctrineExtensions/blob/v2.4.x/doc/blameable.md
|
||||
* @see https://github.com/KnpLabs/DoctrineBehaviors/blob/2cf2585710a9f23d0c8362a7b52f45bf89dc0d3a/docs/blameable.md
|
||||
*
|
||||
* @see \Rector\Doctrine\Tests\Rector\Class_\BlameableBehaviorRector\BlameableBehaviorRectorTest
|
||||
*/
|
||||
final class BlameableBehaviorRector extends AbstractRector
|
||||
{
|
||||
/**
|
||||
* @readonly
|
||||
* @var \Rector\Core\NodeManipulator\ClassInsertManipulator
|
||||
*/
|
||||
private $classInsertManipulator;
|
||||
public function __construct(ClassInsertManipulator $classInsertManipulator)
|
||||
{
|
||||
$this->classInsertManipulator = $classInsertManipulator;
|
||||
}
|
||||
public function getRuleDefinition() : RuleDefinition
|
||||
{
|
||||
return new RuleDefinition('Change Blameable from gedmo/doctrine-extensions to knplabs/doctrine-behaviors', [new CodeSample(<<<'CODE_SAMPLE'
|
||||
use Gedmo\Mapping\Annotation as Gedmo;
|
||||
use Doctrine\ORM\Mapping as ORM;
|
||||
|
||||
/**
|
||||
* @ORM\Entity
|
||||
*/
|
||||
class SomeClass
|
||||
{
|
||||
/**
|
||||
* @Gedmo\Blameable(on="create")
|
||||
*/
|
||||
private $createdBy;
|
||||
|
||||
/**
|
||||
* @Gedmo\Blameable(on="update")
|
||||
*/
|
||||
private $updatedBy;
|
||||
|
||||
/**
|
||||
* @Gedmo\Blameable(on="change", field={"title", "body"})
|
||||
*/
|
||||
private $contentChangedBy;
|
||||
|
||||
public function getCreatedBy()
|
||||
{
|
||||
return $this->createdBy;
|
||||
}
|
||||
|
||||
public function getUpdatedBy()
|
||||
{
|
||||
return $this->updatedBy;
|
||||
}
|
||||
|
||||
public function getContentChangedBy()
|
||||
{
|
||||
return $this->contentChangedBy;
|
||||
}
|
||||
}
|
||||
CODE_SAMPLE
|
||||
, <<<'CODE_SAMPLE'
|
||||
use Doctrine\ORM\Mapping as ORM;
|
||||
use Knp\DoctrineBehaviors\Contract\Entity\BlameableInterface;
|
||||
use Knp\DoctrineBehaviors\Model\Blameable\BlameableTrait;
|
||||
|
||||
/**
|
||||
* @ORM\Entity
|
||||
*/
|
||||
class SomeClass implements BlameableInterface
|
||||
{
|
||||
use BlameableTrait;
|
||||
}
|
||||
CODE_SAMPLE
|
||||
)]);
|
||||
}
|
||||
/**
|
||||
* @return array<class-string<Node>>
|
||||
*/
|
||||
public function getNodeTypes() : array
|
||||
{
|
||||
return [Class_::class];
|
||||
}
|
||||
/**
|
||||
* @param Class_ $node
|
||||
*/
|
||||
public function refactor(Node $node) : ?Node
|
||||
{
|
||||
if (!$this->isGedmoBlameableClass($node)) {
|
||||
return null;
|
||||
}
|
||||
$this->removeBlameablePropertiesAndMethods($node);
|
||||
$this->classInsertManipulator->addAsFirstTrait($node, 'Knp\\DoctrineBehaviors\\Model\\Blameable\\BlameableTrait');
|
||||
$node->implements[] = new FullyQualified('Knp\\DoctrineBehaviors\\Contract\\Entity\\BlameableInterface');
|
||||
return $node;
|
||||
}
|
||||
private function isGedmoBlameableClass(Class_ $class) : bool
|
||||
{
|
||||
foreach ($class->getProperties() as $property) {
|
||||
$phpDocInfo = $this->phpDocInfoFactory->createFromNodeOrEmpty($property);
|
||||
if ($phpDocInfo->hasByAnnotationClass('Gedmo\\Mapping\\Annotation\\Blameable')) {
|
||||
return \true;
|
||||
}
|
||||
}
|
||||
return \false;
|
||||
}
|
||||
private function removeBlameablePropertiesAndMethods(Class_ $class) : void
|
||||
{
|
||||
$removedPropertyNames = [];
|
||||
foreach ($class->getProperties() as $property) {
|
||||
$phpDocInfo = $this->phpDocInfoFactory->createFromNodeOrEmpty($property);
|
||||
if (!$phpDocInfo->hasByAnnotationClass('Gedmo\\Mapping\\Annotation\\Blameable')) {
|
||||
continue;
|
||||
}
|
||||
/** @var string $propertyName */
|
||||
$propertyName = $this->getName($property);
|
||||
$removedPropertyNames[] = $propertyName;
|
||||
$this->removeNode($property);
|
||||
}
|
||||
$this->removeSetterAndGetterByPropertyNames($class, $removedPropertyNames);
|
||||
}
|
||||
/**
|
||||
* @param string[] $removedPropertyNames
|
||||
*/
|
||||
private function removeSetterAndGetterByPropertyNames(Class_ $class, array $removedPropertyNames) : void
|
||||
{
|
||||
foreach ($class->getMethods() as $classMethod) {
|
||||
foreach ($removedPropertyNames as $removedPropertyName) {
|
||||
// remove methods
|
||||
$setMethodName = 'set' . \ucfirst($removedPropertyName);
|
||||
$getMethodName = 'get' . \ucfirst($removedPropertyName);
|
||||
if ($this->isNames($classMethod, [$setMethodName, $getMethodName])) {
|
||||
continue;
|
||||
}
|
||||
$this->removeNode($classMethod);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -1,144 +0,0 @@
|
||||
<?php
|
||||
|
||||
declare (strict_types=1);
|
||||
namespace Rector\Doctrine\Rector\Class_;
|
||||
|
||||
use PhpParser\Node;
|
||||
use PhpParser\Node\Name\FullyQualified;
|
||||
use PhpParser\Node\Stmt\Class_;
|
||||
use PhpParser\Node\Stmt\Property;
|
||||
use Rector\BetterPhpDocParser\PhpDoc\DoctrineAnnotationTagValueNode;
|
||||
use Rector\BetterPhpDocParser\PhpDoc\SpacelessPhpDocTagNode;
|
||||
use Rector\Core\NodeManipulator\ClassInsertManipulator;
|
||||
use Rector\Core\Rector\AbstractRector;
|
||||
use Rector\PhpDocParser\PhpDocParser\PhpDocNodeTraverser;
|
||||
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
|
||||
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
|
||||
/**
|
||||
* @see https://github.com/Atlantic18/DoctrineExtensions/blob/v2.4.x/doc/loggable.md
|
||||
* @see https://github.com/KnpLabs/DoctrineBehaviors/blob/4e0677379dd4adf84178f662d08454a9627781a8/docs/loggable.md
|
||||
*
|
||||
* @see \Rector\Doctrine\Tests\Rector\Class_\LoggableBehaviorRector\LoggableBehaviorRectorTest
|
||||
*/
|
||||
final class LoggableBehaviorRector extends AbstractRector
|
||||
{
|
||||
/**
|
||||
* @readonly
|
||||
* @var \Rector\Core\NodeManipulator\ClassInsertManipulator
|
||||
*/
|
||||
private $classInsertManipulator;
|
||||
public function __construct(ClassInsertManipulator $classInsertManipulator)
|
||||
{
|
||||
$this->classInsertManipulator = $classInsertManipulator;
|
||||
}
|
||||
public function getRuleDefinition() : RuleDefinition
|
||||
{
|
||||
return new RuleDefinition('Change Loggable from gedmo/doctrine-extensions to knplabs/doctrine-behaviors', [new CodeSample(<<<'CODE_SAMPLE'
|
||||
use Gedmo\Mapping\Annotation as Gedmo;
|
||||
use Doctrine\ORM\Mapping as ORM;
|
||||
|
||||
/**
|
||||
* @ORM\Entity
|
||||
* @Gedmo\Loggable
|
||||
*/
|
||||
class SomeClass
|
||||
{
|
||||
/**
|
||||
* @Gedmo\Versioned
|
||||
* @ORM\Column(name="title", type="string", length=8)
|
||||
*/
|
||||
private $title;
|
||||
}
|
||||
CODE_SAMPLE
|
||||
, <<<'CODE_SAMPLE'
|
||||
use Doctrine\ORM\Mapping as ORM;
|
||||
use Knp\DoctrineBehaviors\Model\Loggable\LoggableTrait;
|
||||
use Knp\DoctrineBehaviors\Contract\Entity\LoggableInterface;
|
||||
|
||||
/**
|
||||
* @ORM\Entity
|
||||
*/
|
||||
class SomeClass implements LoggableInterface
|
||||
{
|
||||
use LoggableTrait;
|
||||
|
||||
/**
|
||||
* @ORM\Column(name="title", type="string", length=8)
|
||||
*/
|
||||
private $title;
|
||||
}
|
||||
CODE_SAMPLE
|
||||
)]);
|
||||
}
|
||||
/**
|
||||
* @return array<class-string<Node>>
|
||||
*/
|
||||
public function getNodeTypes() : array
|
||||
{
|
||||
return [Class_::class, Property::class];
|
||||
}
|
||||
/**
|
||||
* @param Class_|Property $node
|
||||
*/
|
||||
public function refactor(Node $node) : ?Node
|
||||
{
|
||||
if ($node instanceof Class_) {
|
||||
return $this->refactorClass($node);
|
||||
}
|
||||
return $this->refactorProperty($node);
|
||||
}
|
||||
private function refactorClass(Class_ $class) : ?\PhpParser\Node\Stmt\Class_
|
||||
{
|
||||
// change the node
|
||||
$classPhpDocInfo = $this->phpDocInfoFactory->createFromNodeOrEmpty($class);
|
||||
$hasLoggableAnnotation = \false;
|
||||
$phpDocNodeTraverser = new PhpDocNodeTraverser();
|
||||
$phpDocNodeTraverser->traverseWithCallable($classPhpDocInfo->getPhpDocNode(), '', function ($node) use(&$hasLoggableAnnotation) : ?int {
|
||||
if (!$node instanceof SpacelessPhpDocTagNode) {
|
||||
return null;
|
||||
}
|
||||
if (!$node->value instanceof DoctrineAnnotationTagValueNode) {
|
||||
return null;
|
||||
}
|
||||
$doctrineAnnotationTagValueNode = $node->value;
|
||||
if (!$doctrineAnnotationTagValueNode->hasClassName('Gedmo\\Mapping\\Annotation\\Loggable')) {
|
||||
return null;
|
||||
}
|
||||
$hasLoggableAnnotation = \true;
|
||||
return PhpDocNodeTraverser::NODE_REMOVE;
|
||||
});
|
||||
if (!$hasLoggableAnnotation) {
|
||||
return null;
|
||||
}
|
||||
// invoke phpdoc re-print as annotation was removed
|
||||
$classPhpDocInfo->markAsChanged();
|
||||
$this->classInsertManipulator->addAsFirstTrait($class, 'Knp\\DoctrineBehaviors\\Model\\Loggable\\LoggableTrait');
|
||||
$class->implements[] = new FullyQualified('Knp\\DoctrineBehaviors\\Contract\\Entity\\LoggableInterface');
|
||||
return $class;
|
||||
}
|
||||
private function refactorProperty(Property $property) : ?Property
|
||||
{
|
||||
// remove tag from properties
|
||||
$phpDocInfo = $this->phpDocInfoFactory->createFromNodeOrEmpty($property);
|
||||
$hasChanged = \false;
|
||||
$phpDocNodeTraverser = new PhpDocNodeTraverser();
|
||||
$phpDocNodeTraverser->traverseWithCallable($phpDocInfo->getPhpDocNode(), '', function ($node) use($phpDocInfo, &$hasChanged) : ?int {
|
||||
if (!$node instanceof SpacelessPhpDocTagNode) {
|
||||
return null;
|
||||
}
|
||||
if (!$node->value instanceof DoctrineAnnotationTagValueNode) {
|
||||
return null;
|
||||
}
|
||||
if (!$node->value->hasClassName('Gedmo\\Mapping\\Annotation\\Versioned')) {
|
||||
return null;
|
||||
}
|
||||
$phpDocInfo->markAsChanged();
|
||||
$hasChanged = \true;
|
||||
return PhpDocNodeTraverser::NODE_REMOVE;
|
||||
});
|
||||
if (!$hasChanged) {
|
||||
return null;
|
||||
}
|
||||
return $property;
|
||||
}
|
||||
}
|
@ -1,125 +0,0 @@
|
||||
<?php
|
||||
|
||||
declare (strict_types=1);
|
||||
namespace Rector\Doctrine\Rector\Class_;
|
||||
|
||||
use PhpParser\Node;
|
||||
use PhpParser\Node\Name\FullyQualified;
|
||||
use PhpParser\Node\Stmt\Class_;
|
||||
use Rector\BetterPhpDocParser\PhpDoc\ArrayItemNode;
|
||||
use Rector\BetterPhpDocParser\PhpDoc\DoctrineAnnotationTagValueNode;
|
||||
use Rector\Core\NodeManipulator\ClassInsertManipulator;
|
||||
use Rector\Core\Rector\AbstractRector;
|
||||
use Rector\Doctrine\NodeFactory\SluggableClassMethodFactory;
|
||||
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
|
||||
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
|
||||
/**
|
||||
* @see https://github.com/Atlantic18/DoctrineExtensions/blob/v2.4.x/doc/sluggable.md
|
||||
* @see https://github.com/KnpLabs/DoctrineBehaviors/blob/4e0677379dd4adf84178f662d08454a9627781a8/docs/sluggable.md
|
||||
*
|
||||
* @see \Rector\Doctrine\Tests\Rector\Class_\SluggableBehaviorRector\SluggableBehaviorRectorTest
|
||||
*/
|
||||
final class SluggableBehaviorRector extends AbstractRector
|
||||
{
|
||||
/**
|
||||
* @readonly
|
||||
* @var \Rector\Core\NodeManipulator\ClassInsertManipulator
|
||||
*/
|
||||
private $classInsertManipulator;
|
||||
/**
|
||||
* @readonly
|
||||
* @var \Rector\Doctrine\NodeFactory\SluggableClassMethodFactory
|
||||
*/
|
||||
private $sluggableClassMethodFactory;
|
||||
public function __construct(ClassInsertManipulator $classInsertManipulator, SluggableClassMethodFactory $sluggableClassMethodFactory)
|
||||
{
|
||||
$this->classInsertManipulator = $classInsertManipulator;
|
||||
$this->sluggableClassMethodFactory = $sluggableClassMethodFactory;
|
||||
}
|
||||
public function getRuleDefinition() : RuleDefinition
|
||||
{
|
||||
return new RuleDefinition('Change Sluggable from gedmo/doctrine-extensions to knplabs/doctrine-behaviors', [new CodeSample(<<<'CODE_SAMPLE'
|
||||
use Gedmo\Mapping\Annotation as Gedmo;
|
||||
|
||||
class SomeClass
|
||||
{
|
||||
/**
|
||||
* @Gedmo\Slug(fields={"name"})
|
||||
*/
|
||||
private $slug;
|
||||
|
||||
public function getSlug(): ?string
|
||||
{
|
||||
return $this->slug;
|
||||
}
|
||||
|
||||
public function setSlug(?string $slug): void
|
||||
{
|
||||
$this->slug = $slug;
|
||||
}
|
||||
}
|
||||
CODE_SAMPLE
|
||||
, <<<'CODE_SAMPLE'
|
||||
use Gedmo\Mapping\Annotation as Gedmo;
|
||||
use Knp\DoctrineBehaviors\Model\Sluggable\SluggableTrait;
|
||||
use Knp\DoctrineBehaviors\Contract\Entity\SluggableInterface;
|
||||
|
||||
class SomeClass implements SluggableInterface
|
||||
{
|
||||
use SluggableTrait;
|
||||
|
||||
/**
|
||||
* @return string[]
|
||||
*/
|
||||
public function getSluggableFields(): array
|
||||
{
|
||||
return ['name'];
|
||||
}
|
||||
}
|
||||
CODE_SAMPLE
|
||||
)]);
|
||||
}
|
||||
/**
|
||||
* @return array<class-string<Node>>
|
||||
*/
|
||||
public function getNodeTypes() : array
|
||||
{
|
||||
return [Class_::class];
|
||||
}
|
||||
/**
|
||||
* @param Class_ $node
|
||||
*/
|
||||
public function refactor(Node $node) : ?Node
|
||||
{
|
||||
$slugFieldsArrayItemNode = [];
|
||||
$matchedProperty = null;
|
||||
foreach ($node->getProperties() as $property) {
|
||||
$propertyPhpDocInfo = $this->phpDocInfoFactory->createFromNodeOrEmpty($property);
|
||||
$doctrineAnnotationTagValueNode = $propertyPhpDocInfo->getByAnnotationClass('Gedmo\\Mapping\\Annotation\\Slug');
|
||||
if (!$doctrineAnnotationTagValueNode instanceof DoctrineAnnotationTagValueNode) {
|
||||
continue;
|
||||
}
|
||||
$slugFieldsArrayItemNode = $doctrineAnnotationTagValueNode->getValue('fields');
|
||||
$this->removeNode($property);
|
||||
$matchedProperty = $property;
|
||||
}
|
||||
if ($matchedProperty === null) {
|
||||
return null;
|
||||
}
|
||||
// remove property setter/getter
|
||||
foreach ($node->getMethods() as $classMethod) {
|
||||
if (!$this->isNames($classMethod, ['getSlug', 'setSlug'])) {
|
||||
continue;
|
||||
}
|
||||
$this->removeNode($classMethod);
|
||||
}
|
||||
$this->classInsertManipulator->addAsFirstTrait($node, 'Knp\\DoctrineBehaviors\\Model\\Sluggable\\SluggableTrait');
|
||||
$node->implements[] = new FullyQualified('Knp\\DoctrineBehaviors\\Contract\\Entity\\SluggableInterface');
|
||||
if (!$slugFieldsArrayItemNode instanceof ArrayItemNode) {
|
||||
return null;
|
||||
}
|
||||
$getSluggableClassMethod = $this->sluggableClassMethodFactory->createGetSluggableFields($slugFieldsArrayItemNode);
|
||||
$this->classInsertManipulator->addAsFirstMethod($node, $getSluggableClassMethod);
|
||||
return $node;
|
||||
}
|
||||
}
|
@ -1,125 +0,0 @@
|
||||
<?php
|
||||
|
||||
declare (strict_types=1);
|
||||
namespace Rector\Doctrine\Rector\Class_;
|
||||
|
||||
use PhpParser\Node;
|
||||
use PhpParser\Node\Name\FullyQualified;
|
||||
use PhpParser\Node\Stmt\Class_;
|
||||
use Rector\BetterPhpDocParser\PhpDoc\ArrayItemNode;
|
||||
use Rector\BetterPhpDocParser\PhpDoc\DoctrineAnnotationTagValueNode;
|
||||
use Rector\BetterPhpDocParser\PhpDocManipulator\PhpDocTagRemover;
|
||||
use Rector\Core\NodeManipulator\ClassInsertManipulator;
|
||||
use Rector\Core\Rector\AbstractRector;
|
||||
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
|
||||
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
|
||||
/**
|
||||
* @see https://github.com/Atlantic18/DoctrineExtensions/blob/v2.4.x/doc/softdeleteable.md
|
||||
* @see https://github.com/KnpLabs/DoctrineBehaviors/blob/4e0677379dd4adf84178f662d08454a9627781a8/docs/soft-deletable.md
|
||||
*
|
||||
* @see \Rector\Doctrine\Tests\Rector\Class_\SoftDeletableBehaviorRector\SoftDeletableBehaviorRectorTest
|
||||
*/
|
||||
final class SoftDeletableBehaviorRector extends AbstractRector
|
||||
{
|
||||
/**
|
||||
* @readonly
|
||||
* @var \Rector\Core\NodeManipulator\ClassInsertManipulator
|
||||
*/
|
||||
private $classInsertManipulator;
|
||||
/**
|
||||
* @readonly
|
||||
* @var \Rector\BetterPhpDocParser\PhpDocManipulator\PhpDocTagRemover
|
||||
*/
|
||||
private $phpDocTagRemover;
|
||||
public function __construct(ClassInsertManipulator $classInsertManipulator, PhpDocTagRemover $phpDocTagRemover)
|
||||
{
|
||||
$this->classInsertManipulator = $classInsertManipulator;
|
||||
$this->phpDocTagRemover = $phpDocTagRemover;
|
||||
}
|
||||
public function getRuleDefinition() : RuleDefinition
|
||||
{
|
||||
return new RuleDefinition('Change SoftDeletable from gedmo/doctrine-extensions to knplabs/doctrine-behaviors', [new CodeSample(<<<'CODE_SAMPLE'
|
||||
use Gedmo\Mapping\Annotation as Gedmo;
|
||||
|
||||
/**
|
||||
* @Gedmo\SoftDeleteable(fieldName="deletedAt", timeAware=false, hardDelete=true)
|
||||
*/
|
||||
class SomeClass
|
||||
{
|
||||
/**
|
||||
* @ORM\Column(name="deletedAt", type="datetime", nullable=true)
|
||||
*/
|
||||
private $deletedAt;
|
||||
|
||||
public function getDeletedAt()
|
||||
{
|
||||
return $this->deletedAt;
|
||||
}
|
||||
|
||||
public function setDeletedAt($deletedAt)
|
||||
{
|
||||
$this->deletedAt = $deletedAt;
|
||||
}
|
||||
}
|
||||
CODE_SAMPLE
|
||||
, <<<'CODE_SAMPLE'
|
||||
use Knp\DoctrineBehaviors\Contract\Entity\SoftDeletableInterface;
|
||||
use Knp\DoctrineBehaviors\Model\SoftDeletable\SoftDeletableTrait;
|
||||
|
||||
class SomeClass implements SoftDeletableInterface
|
||||
{
|
||||
use SoftDeletableTrait;
|
||||
}
|
||||
CODE_SAMPLE
|
||||
)]);
|
||||
}
|
||||
/**
|
||||
* @return array<class-string<Node>>
|
||||
*/
|
||||
public function getNodeTypes() : array
|
||||
{
|
||||
return [Class_::class];
|
||||
}
|
||||
/**
|
||||
* @param Class_ $node
|
||||
*/
|
||||
public function refactor(Node $node) : ?Node
|
||||
{
|
||||
$phpDocInfo = $this->phpDocInfoFactory->createFromNodeOrEmpty($node);
|
||||
$doctrineAnnotationTagValueNode = $phpDocInfo->getByAnnotationClass('Gedmo\\Mapping\\Annotation\\SoftDeleteable');
|
||||
if (!$doctrineAnnotationTagValueNode instanceof DoctrineAnnotationTagValueNode) {
|
||||
return null;
|
||||
}
|
||||
$fieldNameArrayItemNode = $doctrineAnnotationTagValueNode->getValue('fieldName');
|
||||
if (!$fieldNameArrayItemNode instanceof ArrayItemNode) {
|
||||
return null;
|
||||
}
|
||||
if (!\is_string($fieldNameArrayItemNode->value)) {
|
||||
return null;
|
||||
}
|
||||
$this->removePropertyAndClassMethods($node, $fieldNameArrayItemNode->value);
|
||||
$this->classInsertManipulator->addAsFirstTrait($node, 'Knp\\DoctrineBehaviors\\Model\\SoftDeletable\\SoftDeletableTrait');
|
||||
$node->implements[] = new FullyQualified('Knp\\DoctrineBehaviors\\Contract\\Entity\\SoftDeletableInterface');
|
||||
$this->phpDocTagRemover->removeTagValueFromNode($phpDocInfo, $doctrineAnnotationTagValueNode);
|
||||
return $node;
|
||||
}
|
||||
private function removePropertyAndClassMethods(Class_ $class, string $fieldName) : void
|
||||
{
|
||||
// remove property
|
||||
foreach ($class->getProperties() as $property) {
|
||||
if (!$this->isName($property, $fieldName)) {
|
||||
continue;
|
||||
}
|
||||
$this->removeNode($property);
|
||||
}
|
||||
// remove methods
|
||||
$setMethodName = 'set' . \ucfirst($fieldName);
|
||||
$getMethodName = 'get' . \ucfirst($fieldName);
|
||||
foreach ($class->getMethods() as $classMethod) {
|
||||
if (!$this->isNames($classMethod, [$setMethodName, $getMethodName])) {
|
||||
continue;
|
||||
}
|
||||
$this->removeNode($classMethod);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,70 +0,0 @@
|
||||
<?php
|
||||
|
||||
declare (strict_types=1);
|
||||
namespace Rector\Doctrine\Rector\Class_;
|
||||
|
||||
use PhpParser\Node;
|
||||
use PhpParser\Node\Name\FullyQualified;
|
||||
use PhpParser\Node\Stmt\Class_;
|
||||
use Rector\Core\NodeManipulator\ClassManipulator;
|
||||
use Rector\Core\Rector\AbstractRector;
|
||||
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
|
||||
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
|
||||
/**
|
||||
* @see https://github.com/Atlantic18/DoctrineExtensions/blob/v2.4.x/doc/timestampable.md
|
||||
* @see https://github.com/KnpLabs/DoctrineBehaviors/blob/4e0677379dd4adf84178f662d08454a9627781a8/docs/timestampable.md
|
||||
*
|
||||
* @see \Rector\Doctrine\Tests\Rector\Class_\TimestampableBehaviorRector\TimestampableBehaviorRectorTest
|
||||
*/
|
||||
final class TimestampableBehaviorRector extends AbstractRector
|
||||
{
|
||||
/**
|
||||
* @readonly
|
||||
* @var \Rector\Core\NodeManipulator\ClassManipulator
|
||||
*/
|
||||
private $classManipulator;
|
||||
public function __construct(ClassManipulator $classManipulator)
|
||||
{
|
||||
$this->classManipulator = $classManipulator;
|
||||
}
|
||||
public function getRuleDefinition() : RuleDefinition
|
||||
{
|
||||
return new RuleDefinition('Change Timestampable from gedmo/doctrine-extensions to knplabs/doctrine-behaviors', [new CodeSample(<<<'CODE_SAMPLE'
|
||||
use Gedmo\Timestampable\Traits\TimestampableEntity;
|
||||
|
||||
class SomeClass
|
||||
{
|
||||
use TimestampableEntity;
|
||||
}
|
||||
CODE_SAMPLE
|
||||
, <<<'CODE_SAMPLE'
|
||||
use Knp\DoctrineBehaviors\Model\Timestampable\TimestampableTrait;
|
||||
use Knp\DoctrineBehaviors\Contract\Entity\TimestampableInterface;
|
||||
|
||||
class SomeClass implements TimestampableInterface
|
||||
{
|
||||
use TimestampableTrait;
|
||||
}
|
||||
CODE_SAMPLE
|
||||
)]);
|
||||
}
|
||||
/**
|
||||
* @return array<class-string<Node>>
|
||||
*/
|
||||
public function getNodeTypes() : array
|
||||
{
|
||||
return [Class_::class];
|
||||
}
|
||||
/**
|
||||
* @param Class_ $node
|
||||
*/
|
||||
public function refactor(Node $node) : ?Node
|
||||
{
|
||||
if (!$this->classManipulator->hasTrait($node, 'Gedmo\\Timestampable\\Traits\\TimestampableEntity')) {
|
||||
return null;
|
||||
}
|
||||
$this->classManipulator->replaceTrait($node, 'Gedmo\\Timestampable\\Traits\\TimestampableEntity', 'Knp\\DoctrineBehaviors\\Model\\Timestampable\\TimestampableTrait');
|
||||
$node->implements[] = new FullyQualified('Knp\\DoctrineBehaviors\\Contract\\Entity\\TimestampableInterface');
|
||||
return $node;
|
||||
}
|
||||
}
|
@ -1,208 +0,0 @@
|
||||
<?php
|
||||
|
||||
declare (strict_types=1);
|
||||
namespace Rector\Doctrine\Rector\Class_;
|
||||
|
||||
use PhpParser\Node;
|
||||
use PhpParser\Node\Name\FullyQualified;
|
||||
use PhpParser\Node\Stmt\Class_;
|
||||
use PhpParser\Node\Stmt\Namespace_;
|
||||
use PHPStan\Type\ObjectType;
|
||||
use Rector\Core\Application\FileSystem\RemovedAndAddedFilesCollector;
|
||||
use Rector\Core\Exception\ShouldNotHappenException;
|
||||
use Rector\Core\NodeManipulator\ClassInsertManipulator;
|
||||
use Rector\Core\Rector\AbstractRector;
|
||||
use Rector\Doctrine\NodeAnalyzer\TranslatablePropertyCollectorAndRemover;
|
||||
use Rector\Doctrine\NodeFactory\TranslationClassNodeFactory;
|
||||
use Rector\Doctrine\ValueObject\PropertyNamesAndPhpDocInfos;
|
||||
use Rector\FileSystemRector\ValueObject\AddedFileWithNodes;
|
||||
use Rector\NodeTypeResolver\Node\AttributeKey;
|
||||
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
|
||||
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
|
||||
/**
|
||||
* @see https://github.com/Atlantic18/DoctrineExtensions/blob/v2.4.x/doc/translatable.md
|
||||
* @see https://github.com/KnpLabs/DoctrineBehaviors/blob/4e0677379dd4adf84178f662d08454a9627781a8/docs/translatable.md
|
||||
*
|
||||
* @see https://lab.axioma.lv/symfony2/pagebundle/commit/062f9f87add5740ea89072e376dd703f3188d2ce
|
||||
*
|
||||
* @see \Rector\Doctrine\Tests\Rector\Class_\TranslationBehaviorRector\TranslationBehaviorRectorTest
|
||||
*/
|
||||
final class TranslationBehaviorRector extends AbstractRector
|
||||
{
|
||||
/**
|
||||
* @readonly
|
||||
* @var \Rector\Core\NodeManipulator\ClassInsertManipulator
|
||||
*/
|
||||
private $classInsertManipulator;
|
||||
/**
|
||||
* @readonly
|
||||
* @var \Rector\Doctrine\NodeFactory\TranslationClassNodeFactory
|
||||
*/
|
||||
private $translationClassNodeFactory;
|
||||
/**
|
||||
* @readonly
|
||||
* @var \Rector\Doctrine\NodeAnalyzer\TranslatablePropertyCollectorAndRemover
|
||||
*/
|
||||
private $translatablePropertyCollectorAndRemover;
|
||||
/**
|
||||
* @readonly
|
||||
* @var \Rector\Core\Application\FileSystem\RemovedAndAddedFilesCollector
|
||||
*/
|
||||
private $removedAndAddedFilesCollector;
|
||||
public function __construct(ClassInsertManipulator $classInsertManipulator, TranslationClassNodeFactory $translationClassNodeFactory, TranslatablePropertyCollectorAndRemover $translatablePropertyCollectorAndRemover, RemovedAndAddedFilesCollector $removedAndAddedFilesCollector)
|
||||
{
|
||||
$this->classInsertManipulator = $classInsertManipulator;
|
||||
$this->translationClassNodeFactory = $translationClassNodeFactory;
|
||||
$this->translatablePropertyCollectorAndRemover = $translatablePropertyCollectorAndRemover;
|
||||
$this->removedAndAddedFilesCollector = $removedAndAddedFilesCollector;
|
||||
}
|
||||
public function getRuleDefinition() : RuleDefinition
|
||||
{
|
||||
return new RuleDefinition('Change Translation from gedmo/doctrine-extensions to knplabs/doctrine-behaviors', [new CodeSample(<<<'CODE_SAMPLE'
|
||||
use Gedmo\Mapping\Annotation as Gedmo;
|
||||
use Doctrine\ORM\Mapping as ORM;
|
||||
use Gedmo\Translatable\Translatable;
|
||||
|
||||
/**
|
||||
* @ORM\Table
|
||||
*/
|
||||
class Article implements Translatable
|
||||
{
|
||||
/**
|
||||
* @Gedmo\Translatable
|
||||
* @ORM\Column(length=128)
|
||||
*/
|
||||
private $title;
|
||||
|
||||
/**
|
||||
* @Gedmo\Locale
|
||||
*/
|
||||
private $locale;
|
||||
|
||||
public function setTitle($title)
|
||||
{
|
||||
$this->title = $title;
|
||||
}
|
||||
|
||||
public function getTitle()
|
||||
{
|
||||
return $this->title;
|
||||
}
|
||||
|
||||
public function setTranslatableLocale($locale)
|
||||
{
|
||||
$this->locale = $locale;
|
||||
}
|
||||
}
|
||||
CODE_SAMPLE
|
||||
, <<<'CODE_SAMPLE'
|
||||
use Knp\DoctrineBehaviors\Model\Translatable\TranslatableTrait;
|
||||
use Knp\DoctrineBehaviors\Contract\Entity\TranslatableInterface;
|
||||
|
||||
class SomeClass implements TranslatableInterface
|
||||
{
|
||||
use TranslatableTrait;
|
||||
}
|
||||
|
||||
|
||||
use Knp\DoctrineBehaviors\Contract\Entity\TranslationInterface;
|
||||
use Knp\DoctrineBehaviors\Model\Translatable\TranslationTrait;
|
||||
|
||||
class SomeClassTranslation implements TranslationInterface
|
||||
{
|
||||
use TranslationTrait;
|
||||
|
||||
/**
|
||||
* @ORM\Column(length=128)
|
||||
*/
|
||||
private $title;
|
||||
}
|
||||
CODE_SAMPLE
|
||||
)]);
|
||||
}
|
||||
/**
|
||||
* @return array<class-string<Node>>
|
||||
*/
|
||||
public function getNodeTypes() : array
|
||||
{
|
||||
return [Class_::class];
|
||||
}
|
||||
/**
|
||||
* @param Class_ $node
|
||||
*/
|
||||
public function refactor(Node $node) : ?Node
|
||||
{
|
||||
$classType = $this->nodeTypeResolver->getType($node);
|
||||
$translatableObjectType = new ObjectType('Gedmo\\Translatable\\Translatable');
|
||||
if (!$translatableObjectType->isSuperTypeOf($classType)->yes()) {
|
||||
return null;
|
||||
}
|
||||
if (!$this->hasImplements($node)) {
|
||||
return null;
|
||||
}
|
||||
$this->removeClassInterface($node);
|
||||
$this->classInsertManipulator->addAsFirstTrait($node, 'Knp\\DoctrineBehaviors\\Model\\Translatable\\TranslatableTrait');
|
||||
$node->implements[] = new FullyQualified('Knp\\DoctrineBehaviors\\Contract\\Entity\\TranslatableInterface');
|
||||
$propertyNamesAndPhpDocInfos = $this->translatablePropertyCollectorAndRemover->processClass($node);
|
||||
$this->removeSetAndGetMethods($node, $propertyNamesAndPhpDocInfos->getPropertyNames());
|
||||
$this->dumpEntityTranslation($node, $propertyNamesAndPhpDocInfos);
|
||||
return $node;
|
||||
}
|
||||
/**
|
||||
* @param string[] $removedPropertyNames
|
||||
*/
|
||||
private function removeSetAndGetMethods(Class_ $class, array $removedPropertyNames) : void
|
||||
{
|
||||
foreach ($removedPropertyNames as $removedPropertyName) {
|
||||
foreach ($class->getMethods() as $classMethod) {
|
||||
if ($this->isName($classMethod, 'set' . \ucfirst($removedPropertyName))) {
|
||||
$this->removeNode($classMethod);
|
||||
}
|
||||
if ($this->isName($classMethod, 'get' . \ucfirst($removedPropertyName))) {
|
||||
$this->removeNode($classMethod);
|
||||
}
|
||||
if ($this->isName($classMethod, 'setTranslatableLocale')) {
|
||||
$this->removeNode($classMethod);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
private function dumpEntityTranslation(Class_ $class, PropertyNamesAndPhpDocInfos $propertyNamesAndPhpDocInfos) : void
|
||||
{
|
||||
$filePath = $this->file->getFilePath();
|
||||
$classShortName = $class->name . 'Translation';
|
||||
$destinationFilePath = \dirname($filePath) . \DIRECTORY_SEPARATOR . $classShortName . '.php';
|
||||
$parentNode = $class->getAttribute(AttributeKey::PARENT_NODE);
|
||||
if (!$parentNode instanceof Namespace_) {
|
||||
throw new ShouldNotHappenException();
|
||||
}
|
||||
$namespace = new Namespace_($parentNode->name);
|
||||
$class = $this->translationClassNodeFactory->create($classShortName);
|
||||
foreach ($propertyNamesAndPhpDocInfos->all() as $propertyNameAndPhpDocInfo) {
|
||||
$property = $this->nodeFactory->createPrivateProperty($propertyNameAndPhpDocInfo->getPropertyName());
|
||||
$property->setAttribute(AttributeKey::PHP_DOC_INFO, $propertyNameAndPhpDocInfo->getPhpDocInfo());
|
||||
$class->stmts[] = $property;
|
||||
}
|
||||
$namespace->stmts[] = $class;
|
||||
$addedFileWithNodes = new AddedFileWithNodes($destinationFilePath, [$namespace]);
|
||||
$this->removedAndAddedFilesCollector->addAddedFile($addedFileWithNodes);
|
||||
}
|
||||
private function hasImplements(Class_ $class) : bool
|
||||
{
|
||||
foreach ($class->implements as $implement) {
|
||||
if ($this->isName($implement, 'Gedmo\\Translatable\\Translatable')) {
|
||||
return \true;
|
||||
}
|
||||
}
|
||||
return \false;
|
||||
}
|
||||
private function removeClassInterface(Class_ $class) : void
|
||||
{
|
||||
foreach ($class->implements as $key => $implement) {
|
||||
if (!$this->isName($implement, 'Gedmo\\Translatable\\Translatable')) {
|
||||
continue;
|
||||
}
|
||||
unset($class->implements[$key]);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,176 +0,0 @@
|
||||
<?php
|
||||
|
||||
declare (strict_types=1);
|
||||
namespace Rector\Doctrine\Rector\Class_;
|
||||
|
||||
use PhpParser\Node;
|
||||
use PhpParser\Node\Name\FullyQualified;
|
||||
use PhpParser\Node\Stmt\Class_;
|
||||
use PhpParser\Node\Stmt\Property;
|
||||
use Rector\BetterPhpDocParser\PhpDoc\DoctrineAnnotationTagValueNode;
|
||||
use Rector\BetterPhpDocParser\PhpDocManipulator\PhpDocTagRemover;
|
||||
use Rector\Core\NodeManipulator\ClassInsertManipulator;
|
||||
use Rector\Core\Rector\AbstractRector;
|
||||
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
|
||||
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
|
||||
/**
|
||||
* @see https://github.com/Atlantic18/DoctrineExtensions/blob/v2.4.x/doc/tree.md
|
||||
* @see https://github.com/KnpLabs/DoctrineBehaviors/blob/4e0677379dd4adf84178f662d08454a9627781a8/docs/tree.md
|
||||
*
|
||||
* @see \Rector\Doctrine\Tests\Rector\Class_\TreeBehaviorRector\TreeBehaviorRectorTest
|
||||
*/
|
||||
final class TreeBehaviorRector extends AbstractRector
|
||||
{
|
||||
/**
|
||||
* @readonly
|
||||
* @var \Rector\Core\NodeManipulator\ClassInsertManipulator
|
||||
*/
|
||||
private $classInsertManipulator;
|
||||
/**
|
||||
* @readonly
|
||||
* @var \Rector\BetterPhpDocParser\PhpDocManipulator\PhpDocTagRemover
|
||||
*/
|
||||
private $phpDocTagRemover;
|
||||
public function __construct(ClassInsertManipulator $classInsertManipulator, PhpDocTagRemover $phpDocTagRemover)
|
||||
{
|
||||
$this->classInsertManipulator = $classInsertManipulator;
|
||||
$this->phpDocTagRemover = $phpDocTagRemover;
|
||||
}
|
||||
public function getRuleDefinition() : RuleDefinition
|
||||
{
|
||||
return new RuleDefinition('Change Tree from gedmo/doctrine-extensions to knplabs/doctrine-behaviors', [new CodeSample(<<<'CODE_SAMPLE'
|
||||
use Doctrine\Common\Collections\Collection;
|
||||
use Gedmo\Mapping\Annotation as Gedmo;
|
||||
|
||||
/**
|
||||
* @Gedmo\Tree(type="nested")
|
||||
*/
|
||||
class SomeClass
|
||||
{
|
||||
/**
|
||||
* @Gedmo\TreeLeft
|
||||
* @ORM\Column(name="lft", type="integer")
|
||||
* @var int
|
||||
*/
|
||||
private $lft;
|
||||
|
||||
/**
|
||||
* @Gedmo\TreeRight
|
||||
* @ORM\Column(name="rgt", type="integer")
|
||||
* @var int
|
||||
*/
|
||||
private $rgt;
|
||||
|
||||
/**
|
||||
* @Gedmo\TreeLevel
|
||||
* @ORM\Column(name="lvl", type="integer")
|
||||
* @var int
|
||||
*/
|
||||
private $lvl;
|
||||
|
||||
/**
|
||||
* @Gedmo\TreeRoot
|
||||
* @ORM\ManyToOne(targetEntity="Category")
|
||||
* @ORM\JoinColumn(name="tree_root", referencedColumnName="id", onDelete="CASCADE")
|
||||
* @var Category
|
||||
*/
|
||||
private $root;
|
||||
|
||||
/**
|
||||
* @Gedmo\TreeParent
|
||||
* @ORM\ManyToOne(targetEntity="Category", inversedBy="children")
|
||||
* @ORM\JoinColumn(name="parent_id", referencedColumnName="id", onDelete="CASCADE")
|
||||
* @var Category
|
||||
*/
|
||||
private $parent;
|
||||
|
||||
/**
|
||||
* @ORM\OneToMany(targetEntity="Category", mappedBy="parent")
|
||||
* @var Category[]|Collection
|
||||
*/
|
||||
private $children;
|
||||
|
||||
public function getRoot(): self
|
||||
{
|
||||
return $this->root;
|
||||
}
|
||||
|
||||
public function setParent(self $category): void
|
||||
{
|
||||
$this->parent = $category;
|
||||
}
|
||||
|
||||
public function getParent(): self
|
||||
{
|
||||
return $this->parent;
|
||||
}
|
||||
}
|
||||
CODE_SAMPLE
|
||||
, <<<'CODE_SAMPLE'
|
||||
use Knp\DoctrineBehaviors\Contract\Entity\TreeNodeInterface;
|
||||
use Knp\DoctrineBehaviors\Model\Tree\TreeNodeTrait;
|
||||
|
||||
class SomeClass implements TreeNodeInterface
|
||||
{
|
||||
use TreeNodeTrait;
|
||||
}
|
||||
CODE_SAMPLE
|
||||
)]);
|
||||
}
|
||||
/**
|
||||
* @return array<class-string<Node>>
|
||||
*/
|
||||
public function getNodeTypes() : array
|
||||
{
|
||||
return [Class_::class];
|
||||
}
|
||||
/**
|
||||
* @param Class_ $node
|
||||
*/
|
||||
public function refactor(Node $node) : ?Node
|
||||
{
|
||||
$propertyPhpDocInfo = $this->phpDocInfoFactory->createFromNodeOrEmpty($node);
|
||||
$doctrineAnnotationTagValueNode = $propertyPhpDocInfo->getByAnnotationClass('Gedmo\\Mapping\\Annotation\\Tree');
|
||||
if (!$doctrineAnnotationTagValueNode instanceof DoctrineAnnotationTagValueNode) {
|
||||
return null;
|
||||
}
|
||||
// we're in a tree entity
|
||||
$this->phpDocTagRemover->removeTagValueFromNode($propertyPhpDocInfo, $doctrineAnnotationTagValueNode);
|
||||
$node->implements[] = new FullyQualified('Knp\\DoctrineBehaviors\\Contract\\Entity\\TreeNodeInterface');
|
||||
$this->classInsertManipulator->addAsFirstTrait($node, 'Knp\\DoctrineBehaviors\\Model\\Tree\\TreeNodeTrait');
|
||||
// remove all tree-related properties and their getters and setters - it's handled by behavior trait
|
||||
$removedPropertyNames = [];
|
||||
foreach ($node->getProperties() as $property) {
|
||||
if (!$this->shouldRemoveProperty($property)) {
|
||||
continue;
|
||||
}
|
||||
/** @var string $propertyName */
|
||||
$propertyName = $this->getName($property);
|
||||
$removedPropertyNames[] = $propertyName;
|
||||
$this->removeNode($property);
|
||||
}
|
||||
$this->removeClassMethodsForProperties($node, $removedPropertyNames);
|
||||
return $node;
|
||||
}
|
||||
private function shouldRemoveProperty(Property $property) : bool
|
||||
{
|
||||
$phpDocInfo = $this->phpDocInfoFactory->createFromNodeOrEmpty($property);
|
||||
return $phpDocInfo->hasByAnnotationClasses(['Gedmo\\Mapping\\Annotation\\TreeLeft', 'Gedmo\\Mapping\\Annotation\\TreeRight', 'Gedmo\\Mapping\\Annotation\\TreeRoot', 'Gedmo\\Mapping\\Annotation\\TreeParent', 'Gedmo\\Mapping\\Annotation\\TreeLevel']);
|
||||
}
|
||||
/**
|
||||
* @param string[] $removedPropertyNames
|
||||
*/
|
||||
private function removeClassMethodsForProperties(Class_ $class, array $removedPropertyNames) : void
|
||||
{
|
||||
foreach ($removedPropertyNames as $removedPropertyName) {
|
||||
foreach ($class->getMethods() as $classMethod) {
|
||||
if ($this->isName($classMethod, 'get' . \ucfirst($removedPropertyName))) {
|
||||
$this->removeNode($classMethod);
|
||||
}
|
||||
if ($this->isName($classMethod, 'set' . \ucfirst($removedPropertyName))) {
|
||||
$this->removeNode($classMethod);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -37,10 +37,6 @@ final class DoctrineSetList implements SetListInterface
|
||||
* @var string
|
||||
*/
|
||||
public const DOCTRINE_DBAL_30 = __DIR__ . '/../../config/sets/doctrine-dbal-30.php';
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
public const DOCTRINE_GEDMO_TO_KNPLABS = __DIR__ . '/../../config/sets/doctrine-gedmo-to-knplabs.php';
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
|
@ -1,32 +0,0 @@
|
||||
<?php
|
||||
|
||||
declare (strict_types=1);
|
||||
namespace Rector\Doctrine\ValueObject;
|
||||
|
||||
use Rector\BetterPhpDocParser\PhpDocInfo\PhpDocInfo;
|
||||
final class PropertyNameAndPhpDocInfo
|
||||
{
|
||||
/**
|
||||
* @readonly
|
||||
* @var string
|
||||
*/
|
||||
private $propertyName;
|
||||
/**
|
||||
* @readonly
|
||||
* @var \Rector\BetterPhpDocParser\PhpDocInfo\PhpDocInfo
|
||||
*/
|
||||
private $phpDocInfo;
|
||||
public function __construct(string $propertyName, PhpDocInfo $phpDocInfo)
|
||||
{
|
||||
$this->propertyName = $propertyName;
|
||||
$this->phpDocInfo = $phpDocInfo;
|
||||
}
|
||||
public function getPropertyName() : string
|
||||
{
|
||||
return $this->propertyName;
|
||||
}
|
||||
public function getPhpDocInfo() : PhpDocInfo
|
||||
{
|
||||
return $this->phpDocInfo;
|
||||
}
|
||||
}
|
@ -1,38 +0,0 @@
|
||||
<?php
|
||||
|
||||
declare (strict_types=1);
|
||||
namespace Rector\Doctrine\ValueObject;
|
||||
|
||||
final class PropertyNamesAndPhpDocInfos
|
||||
{
|
||||
/**
|
||||
* @var PropertyNameAndPhpDocInfo[]
|
||||
* @readonly
|
||||
*/
|
||||
private $propertyNameAndPhpDocInfos;
|
||||
/**
|
||||
* @param PropertyNameAndPhpDocInfo[] $propertyNameAndPhpDocInfos
|
||||
*/
|
||||
public function __construct(array $propertyNameAndPhpDocInfos)
|
||||
{
|
||||
$this->propertyNameAndPhpDocInfos = $propertyNameAndPhpDocInfos;
|
||||
}
|
||||
/**
|
||||
* @return string[]
|
||||
*/
|
||||
public function getPropertyNames() : array
|
||||
{
|
||||
$propertyNames = [];
|
||||
foreach ($this->propertyNameAndPhpDocInfos as $propertyNameAndPhpDocInfo) {
|
||||
$propertyNames[] = $propertyNameAndPhpDocInfo->getPropertyName();
|
||||
}
|
||||
return $propertyNames;
|
||||
}
|
||||
/**
|
||||
* @return PropertyNameAndPhpDocInfo[]
|
||||
*/
|
||||
public function all() : array
|
||||
{
|
||||
return $this->propertyNameAndPhpDocInfos;
|
||||
}
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
# 111 Rules Overview
|
||||
# 112 Rules Overview
|
||||
|
||||
## ArrowFunctionToAnonymousFunctionRector
|
||||
|
||||
@ -599,6 +599,26 @@ Replace the 2nd argument of `dirname()`
|
||||
|
||||
<br>
|
||||
|
||||
## DowngradeEnumExistsRector
|
||||
|
||||
Replace `enum_exists()` function
|
||||
|
||||
-
|
||||
class: [`Rector\DowngradePhp81\Rector\FuncCall\DowngradeEnumExistsRector`](../rules/DowngradePhp81/Rector/FuncCall/DowngradeEnumExistsRector.php)
|
||||
|
||||
```diff
|
||||
-enum_exists('SomeEnum', true);
|
||||
+$enumExists = function (string $enum, bool $autoload = true) : bool {
|
||||
+ if (function_exists('enum_exists')) {
|
||||
+ return enum_exists($enum, $autoload);
|
||||
+ }
|
||||
+ return $autoload && class_exists($enum) && false;
|
||||
+};
|
||||
+$enumExists('SomeEnum', true);
|
||||
```
|
||||
|
||||
<br>
|
||||
|
||||
## DowngradeEnumToConstantListClassRector
|
||||
|
||||
Downgrade enum to constant list class
|
||||
|
@ -34,7 +34,7 @@ final class EnumAnalyzer
|
||||
}
|
||||
public function resolveType(ClassReflection $classReflection) : ?Identifier
|
||||
{
|
||||
$class = $this->astResolver->resolveClassFromClassReflection($classReflection, $classReflection->getName());
|
||||
$class = $this->astResolver->resolveClassFromClassReflection($classReflection);
|
||||
if (!$class instanceof Enum_) {
|
||||
throw new ShouldNotHappenException();
|
||||
}
|
||||
|
@ -9,8 +9,8 @@
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit\/phpunit": "^9.5.23",
|
||||
"symplify\/package-builder": "^11.1.12",
|
||||
"symplify\/symplify-kernel": "^11.1.12"
|
||||
"symplify\/package-builder": "^11.1.16",
|
||||
"symplify\/symplify-kernel": "^11.1.16"
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
@ -28,24 +28,24 @@
|
||||
}
|
||||
},
|
||||
"conflict": {
|
||||
"symplify\/composer-json-manipulator": "<11.1.12",
|
||||
"symplify\/easy-coding-standard": "<11.1.12",
|
||||
"symplify\/phpstan-rules": "<11.1.12",
|
||||
"symplify\/easy-testing": "<11.1.12",
|
||||
"symplify\/rule-doc-generator-contracts": "<11.1.12",
|
||||
"symplify\/php-config-printer": "<11.1.12",
|
||||
"symplify\/phpstan-extensions": "<11.1.12",
|
||||
"symplify\/rule-doc-generator": "<11.1.12",
|
||||
"symplify\/vendor-patches": "<11.1.12",
|
||||
"symplify\/smart-file-system": "<11.1.12",
|
||||
"symplify\/symfony-static-dumper": "<11.1.12",
|
||||
"symplify\/symplify-kernel": "<11.1.12",
|
||||
"symplify\/monorepo-builder": "<11.1.12",
|
||||
"symplify\/config-transformer": "<11.1.12",
|
||||
"symplify\/easy-ci": "<11.1.12",
|
||||
"symplify\/coding-standard": "<11.1.12",
|
||||
"symplify\/easy-parallel": "<11.1.12",
|
||||
"symplify\/package-builder": "<11.1.12"
|
||||
"symplify\/composer-json-manipulator": "<11.1.16",
|
||||
"symplify\/easy-coding-standard": "<11.1.16",
|
||||
"symplify\/phpstan-rules": "<11.1.16",
|
||||
"symplify\/easy-testing": "<11.1.16",
|
||||
"symplify\/rule-doc-generator-contracts": "<11.1.16",
|
||||
"symplify\/php-config-printer": "<11.1.16",
|
||||
"symplify\/phpstan-extensions": "<11.1.16",
|
||||
"symplify\/rule-doc-generator": "<11.1.16",
|
||||
"symplify\/vendor-patches": "<11.1.16",
|
||||
"symplify\/smart-file-system": "<11.1.16",
|
||||
"symplify\/symfony-static-dumper": "<11.1.16",
|
||||
"symplify\/symplify-kernel": "<11.1.16",
|
||||
"symplify\/monorepo-builder": "<11.1.16",
|
||||
"symplify\/config-transformer": "<11.1.16",
|
||||
"symplify\/easy-ci": "<11.1.16",
|
||||
"symplify\/coding-standard": "<11.1.16",
|
||||
"symplify\/easy-parallel": "<11.1.16",
|
||||
"symplify\/package-builder": "<11.1.16"
|
||||
},
|
||||
"minimum-stability": "dev",
|
||||
"prefer-stable": true
|
||||
|
@ -30,7 +30,8 @@ final class AutowireArrayParameterCompilerPass implements CompilerPassInterface
|
||||
* Classes that create circular dependencies
|
||||
*
|
||||
* @var string[]
|
||||
* @noRector
|
||||
* @noRector \Rector\Privatization\Rector\Property\ChangeReadOnlyPropertyWithDefaultValueToConstantRector
|
||||
* @noRector \Rector\Php55\Rector\String_\StringClassNameToClassConstantRector
|
||||
*/
|
||||
private $excludedFatalClasses = ['RectorPrefix202210\\Symfony\\Component\\Form\\FormExtensionInterface', 'RectorPrefix202210\\Symfony\\Component\\Asset\\PackageInterface', 'RectorPrefix202210\\Symfony\\Component\\Config\\Loader\\LoaderInterface', 'RectorPrefix202210\\Symfony\\Component\\VarDumper\\Dumper\\ContextProvider\\ContextProviderInterface', 'RectorPrefix202210\\EasyCorp\\Bundle\\EasyAdminBundle\\Form\\Type\\Configurator\\TypeConfiguratorInterface', 'RectorPrefix202210\\Sonata\\CoreBundle\\Model\\Adapter\\AdapterInterface', 'RectorPrefix202210\\Sonata\\Doctrine\\Adapter\\AdapterChain', 'RectorPrefix202210\\Sonata\\Twig\\Extension\\TemplateExtension', 'RectorPrefix202210\\Symfony\\Component\\HttpKernel\\KernelInterface'];
|
||||
/**
|
||||
|
38
vendor/symplify/easy-parallel/composer.json
vendored
38
vendor/symplify/easy-parallel/composer.json
vendored
@ -11,7 +11,7 @@
|
||||
"symfony\/console": "^6.1"
|
||||
},
|
||||
"require-dev": {
|
||||
"symplify\/package-builder": "^11.1.12",
|
||||
"symplify\/package-builder": "^11.1.16",
|
||||
"phpunit\/phpunit": "^9.5.23"
|
||||
},
|
||||
"autoload": {
|
||||
@ -33,24 +33,24 @@
|
||||
"platform-check": false
|
||||
},
|
||||
"conflict": {
|
||||
"symplify\/easy-coding-standard": "<11.1.12",
|
||||
"symplify\/phpstan-rules": "<11.1.12",
|
||||
"symplify\/easy-testing": "<11.1.12",
|
||||
"symplify\/rule-doc-generator-contracts": "<11.1.12",
|
||||
"symplify\/php-config-printer": "<11.1.12",
|
||||
"symplify\/autowire-array-parameter": "<11.1.12",
|
||||
"symplify\/phpstan-extensions": "<11.1.12",
|
||||
"symplify\/rule-doc-generator": "<11.1.12",
|
||||
"symplify\/vendor-patches": "<11.1.12",
|
||||
"symplify\/symfony-static-dumper": "<11.1.12",
|
||||
"symplify\/config-transformer": "<11.1.12",
|
||||
"symplify\/easy-ci": "<11.1.12",
|
||||
"symplify\/coding-standard": "<11.1.12",
|
||||
"symplify\/composer-json-manipulator": "<11.1.12",
|
||||
"symplify\/smart-file-system": "<11.1.12",
|
||||
"symplify\/monorepo-builder": "<11.1.12",
|
||||
"symplify\/symplify-kernel": "<11.1.12",
|
||||
"symplify\/package-builder": "<11.1.12"
|
||||
"symplify\/easy-coding-standard": "<11.1.16",
|
||||
"symplify\/phpstan-rules": "<11.1.16",
|
||||
"symplify\/easy-testing": "<11.1.16",
|
||||
"symplify\/rule-doc-generator-contracts": "<11.1.16",
|
||||
"symplify\/php-config-printer": "<11.1.16",
|
||||
"symplify\/autowire-array-parameter": "<11.1.16",
|
||||
"symplify\/phpstan-extensions": "<11.1.16",
|
||||
"symplify\/rule-doc-generator": "<11.1.16",
|
||||
"symplify\/vendor-patches": "<11.1.16",
|
||||
"symplify\/symfony-static-dumper": "<11.1.16",
|
||||
"symplify\/config-transformer": "<11.1.16",
|
||||
"symplify\/easy-ci": "<11.1.16",
|
||||
"symplify\/coding-standard": "<11.1.16",
|
||||
"symplify\/composer-json-manipulator": "<11.1.16",
|
||||
"symplify\/smart-file-system": "<11.1.16",
|
||||
"symplify\/monorepo-builder": "<11.1.16",
|
||||
"symplify\/symplify-kernel": "<11.1.16",
|
||||
"symplify\/package-builder": "<11.1.16"
|
||||
},
|
||||
"minimum-stability": "dev",
|
||||
"prefer-stable": true
|
||||
|
@ -17,24 +17,24 @@
|
||||
}
|
||||
},
|
||||
"conflict": {
|
||||
"symplify\/composer-json-manipulator": "<11.1.12",
|
||||
"symplify\/easy-coding-standard": "<11.1.12",
|
||||
"symplify\/phpstan-rules": "<11.1.12",
|
||||
"symplify\/easy-testing": "<11.1.12",
|
||||
"symplify\/php-config-printer": "<11.1.12",
|
||||
"symplify\/autowire-array-parameter": "<11.1.12",
|
||||
"symplify\/package-builder": "<11.1.12",
|
||||
"symplify\/phpstan-extensions": "<11.1.12",
|
||||
"symplify\/rule-doc-generator": "<11.1.12",
|
||||
"symplify\/vendor-patches": "<11.1.12",
|
||||
"symplify\/smart-file-system": "<11.1.12",
|
||||
"symplify\/symfony-static-dumper": "<11.1.12",
|
||||
"symplify\/symplify-kernel": "<11.1.12",
|
||||
"symplify\/monorepo-builder": "<11.1.12",
|
||||
"symplify\/config-transformer": "<11.1.12",
|
||||
"symplify\/easy-ci": "<11.1.12",
|
||||
"symplify\/coding-standard": "<11.1.12",
|
||||
"symplify\/easy-parallel": "<11.1.12"
|
||||
"symplify\/composer-json-manipulator": "<11.1.16",
|
||||
"symplify\/easy-coding-standard": "<11.1.16",
|
||||
"symplify\/phpstan-rules": "<11.1.16",
|
||||
"symplify\/easy-testing": "<11.1.16",
|
||||
"symplify\/php-config-printer": "<11.1.16",
|
||||
"symplify\/autowire-array-parameter": "<11.1.16",
|
||||
"symplify\/package-builder": "<11.1.16",
|
||||
"symplify\/phpstan-extensions": "<11.1.16",
|
||||
"symplify\/rule-doc-generator": "<11.1.16",
|
||||
"symplify\/vendor-patches": "<11.1.16",
|
||||
"symplify\/smart-file-system": "<11.1.16",
|
||||
"symplify\/symfony-static-dumper": "<11.1.16",
|
||||
"symplify\/symplify-kernel": "<11.1.16",
|
||||
"symplify\/monorepo-builder": "<11.1.16",
|
||||
"symplify\/config-transformer": "<11.1.16",
|
||||
"symplify\/easy-ci": "<11.1.16",
|
||||
"symplify\/coding-standard": "<11.1.16",
|
||||
"symplify\/easy-parallel": "<11.1.16"
|
||||
},
|
||||
"minimum-stability": "dev",
|
||||
"prefer-stable": true
|
||||
|
Loading…
x
Reference in New Issue
Block a user