Updated Rector to commit 885ef768e5

885ef768e5 [Php80] Handle Generic TemplateType on ClassPropertyAssignToConstructorPromotionRector (#751)
This commit is contained in:
Tomas Votruba 2021-08-24 14:55:08 +00:00
parent ed5842f8aa
commit 3ef41cfa94
36 changed files with 1207 additions and 988 deletions

View File

@ -11,6 +11,7 @@ use PhpParser\Node\Stmt\Class_;
use PhpParser\Node\Stmt\ClassMethod;
use PhpParser\Node\Stmt\Expression;
use PhpParser\Node\Stmt\Property;
use PHPStan\Type\Generic\TemplateType;
use PHPStan\Type\Type;
use PHPStan\Type\UnionType;
use Rector\Core\PhpParser\Comparing\NodeComparator;
@ -174,16 +175,32 @@ final class PromotedPropertyCandidateResolver
}
$isAllFullyQualifiedObjectType = \true;
if ($propertyType instanceof \PHPStan\Type\UnionType) {
foreach ($propertyType->getTypes() as $type) {
if (!$type instanceof \Rector\StaticTypeMapper\ValueObject\Type\FullyQualifiedObjectType) {
$isAllFullyQualifiedObjectType = \false;
break;
}
if ($this->hasGenericTemplateType($propertyType)) {
return \false;
}
$isAllFullyQualifiedObjectType = !$this->hasNonFullyQualifiedObjectType($propertyType);
}
// different types, not a good to fit
return !$isAllFullyQualifiedObjectType && !$this->typeComparator->areTypesEqual($propertyType, $matchedParamType);
}
private function hasNonFullyQualifiedObjectType(\PHPStan\Type\UnionType $unionType) : bool
{
foreach ($unionType->getTypes() as $type) {
if (!$type instanceof \Rector\StaticTypeMapper\ValueObject\Type\FullyQualifiedObjectType) {
return \true;
}
}
return \false;
}
private function hasGenericTemplateType(\PHPStan\Type\UnionType $unionType) : bool
{
foreach ($unionType->getTypes() as $type) {
if ($type instanceof \PHPStan\Type\Generic\TemplateType) {
return \true;
}
}
return \false;
}
/**
* @param int[] $firstParamAsVariable
*/
@ -193,11 +210,11 @@ final class PromotedPropertyCandidateResolver
if ($matchedParam->flags !== 0) {
return \true;
}
// @todo unknown type, not suitable?
$propertyType = $this->propertyTypeInferer->inferProperty($property);
if ($this->hasConflictingParamType($matchedParam, $propertyType)) {
if ($this->isParamUsedBeforeAssign($assignedVariable, $firstParamAsVariable)) {
return \true;
}
return $this->isParamUsedBeforeAssign($assignedVariable, $firstParamAsVariable);
// @todo unknown type, not suitable?
$propertyType = $this->propertyTypeInferer->inferProperty($property);
return $this->hasConflictingParamType($matchedParam, $propertyType);
}
}

View File

@ -16,11 +16,11 @@ final class VersionResolver
/**
* @var string
*/
public const PACKAGE_VERSION = '6ff80ba037f2467bb492e120ba942e44fd1ab8e1';
public const PACKAGE_VERSION = '885ef768e50b8ef86bdf2eb99e290f5dccebd8c1';
/**
* @var string
*/
public const RELEASE_DATE = '2021-08-24 07:19:10';
public const RELEASE_DATE = '2021-08-24 16:44:45';
public static function resolvePackageVersion() : string
{
$process = new \RectorPrefix20210824\Symfony\Component\Process\Process(['git', 'log', '--pretty="%H"', '-n1', 'HEAD'], __DIR__);

2
vendor/autoload.php vendored
View File

@ -4,4 +4,4 @@
require_once __DIR__ . '/composer/autoload_real.php';
return ComposerAutoloaderInitca3d4aa89155cd33936b1df29f951085::getLoader();
return ComposerAutoloaderInit058bf0f7ae75bb522c54bcad5f09a886::getLoader();

View File

@ -2995,6 +2995,8 @@ return array(
'Rector\\Symfony\\Rector\\MethodCall\\ReflectionExtractorEnableMagicCallExtractorRector' => $vendorDir . '/rector/rector-symfony/src/Rector/MethodCall/ReflectionExtractorEnableMagicCallExtractorRector.php',
'Rector\\Symfony\\Rector\\MethodCall\\SimplifyWebTestCaseAssertionsRector' => $vendorDir . '/rector/rector-symfony/src/Rector/MethodCall/SimplifyWebTestCaseAssertionsRector.php',
'Rector\\Symfony\\Rector\\MethodCall\\StringFormTypeToClassRector' => $vendorDir . '/rector/rector-symfony/src/Rector/MethodCall/StringFormTypeToClassRector.php',
'Rector\\Symfony\\Rector\\MethodCall\\SwiftCreateMessageToNewEmailRector' => $vendorDir . '/rector/rector-symfony/src/Rector/MethodCall/SwiftCreateMessageToNewEmailRector.php',
'Rector\\Symfony\\Rector\\MethodCall\\SwiftSetBodyToHtmlPlainMethodCallRector' => $vendorDir . '/rector/rector-symfony/src/Rector/MethodCall/SwiftSetBodyToHtmlPlainMethodCallRector.php',
'Rector\\Symfony\\Rector\\MethodCall\\ValidatorBuilderEnableAnnotationMappingRector' => $vendorDir . '/rector/rector-symfony/src/Rector/MethodCall/ValidatorBuilderEnableAnnotationMappingRector.php',
'Rector\\Symfony\\Rector\\MethodCall\\VarDumperTestTraitMethodArgsRector' => $vendorDir . '/rector/rector-symfony/src/Rector/MethodCall/VarDumperTestTraitMethodArgsRector.php',
'Rector\\Symfony\\Rector\\New_\\PropertyAccessorCreationBooleanToFlagsRector' => $vendorDir . '/rector/rector-symfony/src/Rector/New_/PropertyAccessorCreationBooleanToFlagsRector.php',

View File

@ -2,7 +2,7 @@
// autoload_real.php @generated by Composer
class ComposerAutoloaderInitca3d4aa89155cd33936b1df29f951085
class ComposerAutoloaderInit058bf0f7ae75bb522c54bcad5f09a886
{
private static $loader;
@ -22,15 +22,15 @@ class ComposerAutoloaderInitca3d4aa89155cd33936b1df29f951085
return self::$loader;
}
spl_autoload_register(array('ComposerAutoloaderInitca3d4aa89155cd33936b1df29f951085', 'loadClassLoader'), true, true);
spl_autoload_register(array('ComposerAutoloaderInit058bf0f7ae75bb522c54bcad5f09a886', 'loadClassLoader'), true, true);
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__)));
spl_autoload_unregister(array('ComposerAutoloaderInitca3d4aa89155cd33936b1df29f951085', 'loadClassLoader'));
spl_autoload_unregister(array('ComposerAutoloaderInit058bf0f7ae75bb522c54bcad5f09a886', 'loadClassLoader'));
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
if ($useStaticLoader) {
require __DIR__ . '/autoload_static.php';
call_user_func(\Composer\Autoload\ComposerStaticInitca3d4aa89155cd33936b1df29f951085::getInitializer($loader));
call_user_func(\Composer\Autoload\ComposerStaticInit058bf0f7ae75bb522c54bcad5f09a886::getInitializer($loader));
} else {
$classMap = require __DIR__ . '/autoload_classmap.php';
if ($classMap) {
@ -42,19 +42,19 @@ class ComposerAutoloaderInitca3d4aa89155cd33936b1df29f951085
$loader->register(true);
if ($useStaticLoader) {
$includeFiles = Composer\Autoload\ComposerStaticInitca3d4aa89155cd33936b1df29f951085::$files;
$includeFiles = Composer\Autoload\ComposerStaticInit058bf0f7ae75bb522c54bcad5f09a886::$files;
} else {
$includeFiles = require __DIR__ . '/autoload_files.php';
}
foreach ($includeFiles as $fileIdentifier => $file) {
composerRequireca3d4aa89155cd33936b1df29f951085($fileIdentifier, $file);
composerRequire058bf0f7ae75bb522c54bcad5f09a886($fileIdentifier, $file);
}
return $loader;
}
}
function composerRequireca3d4aa89155cd33936b1df29f951085($fileIdentifier, $file)
function composerRequire058bf0f7ae75bb522c54bcad5f09a886($fileIdentifier, $file)
{
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
require $file;

View File

@ -4,7 +4,7 @@
namespace Composer\Autoload;
class ComposerStaticInitca3d4aa89155cd33936b1df29f951085
class ComposerStaticInit058bf0f7ae75bb522c54bcad5f09a886
{
public static $files = array (
'a4a119a56e50fbb293281d9a48007e0e' => __DIR__ . '/..' . '/symfony/polyfill-php80/bootstrap.php',
@ -3355,6 +3355,8 @@ class ComposerStaticInitca3d4aa89155cd33936b1df29f951085
'Rector\\Symfony\\Rector\\MethodCall\\ReflectionExtractorEnableMagicCallExtractorRector' => __DIR__ . '/..' . '/rector/rector-symfony/src/Rector/MethodCall/ReflectionExtractorEnableMagicCallExtractorRector.php',
'Rector\\Symfony\\Rector\\MethodCall\\SimplifyWebTestCaseAssertionsRector' => __DIR__ . '/..' . '/rector/rector-symfony/src/Rector/MethodCall/SimplifyWebTestCaseAssertionsRector.php',
'Rector\\Symfony\\Rector\\MethodCall\\StringFormTypeToClassRector' => __DIR__ . '/..' . '/rector/rector-symfony/src/Rector/MethodCall/StringFormTypeToClassRector.php',
'Rector\\Symfony\\Rector\\MethodCall\\SwiftCreateMessageToNewEmailRector' => __DIR__ . '/..' . '/rector/rector-symfony/src/Rector/MethodCall/SwiftCreateMessageToNewEmailRector.php',
'Rector\\Symfony\\Rector\\MethodCall\\SwiftSetBodyToHtmlPlainMethodCallRector' => __DIR__ . '/..' . '/rector/rector-symfony/src/Rector/MethodCall/SwiftSetBodyToHtmlPlainMethodCallRector.php',
'Rector\\Symfony\\Rector\\MethodCall\\ValidatorBuilderEnableAnnotationMappingRector' => __DIR__ . '/..' . '/rector/rector-symfony/src/Rector/MethodCall/ValidatorBuilderEnableAnnotationMappingRector.php',
'Rector\\Symfony\\Rector\\MethodCall\\VarDumperTestTraitMethodArgsRector' => __DIR__ . '/..' . '/rector/rector-symfony/src/Rector/MethodCall/VarDumperTestTraitMethodArgsRector.php',
'Rector\\Symfony\\Rector\\New_\\PropertyAccessorCreationBooleanToFlagsRector' => __DIR__ . '/..' . '/rector/rector-symfony/src/Rector/New_/PropertyAccessorCreationBooleanToFlagsRector.php',
@ -3853,9 +3855,9 @@ class ComposerStaticInitca3d4aa89155cd33936b1df29f951085
public static function getInitializer(ClassLoader $loader)
{
return \Closure::bind(function () use ($loader) {
$loader->prefixLengthsPsr4 = ComposerStaticInitca3d4aa89155cd33936b1df29f951085::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInitca3d4aa89155cd33936b1df29f951085::$prefixDirsPsr4;
$loader->classMap = ComposerStaticInitca3d4aa89155cd33936b1df29f951085::$classMap;
$loader->prefixLengthsPsr4 = ComposerStaticInit058bf0f7ae75bb522c54bcad5f09a886::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInit058bf0f7ae75bb522c54bcad5f09a886::$prefixDirsPsr4;
$loader->classMap = ComposerStaticInit058bf0f7ae75bb522c54bcad5f09a886::$classMap;
}, null, ClassLoader::class);
}

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -9,7 +9,7 @@ namespace Rector\RectorInstaller;
*/
final class GeneratedConfig
{
public const EXTENSIONS = array('rector/rector-cakephp' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-cakephp', 'relative_install_path' => '../../rector-cakephp', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => '0.11.3'), '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' => '0.11.15'), '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' => '0.11.5'), 'rector/rector-nette' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-nette', 'relative_install_path' => '../../rector-nette', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => '0.11.21'), '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' => '0.11.2'), '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' => '0.11.7'), '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' => '0.11.17'), 'ssch/typo3-rector' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/ssch/typo3-rector', 'relative_install_path' => '../../../ssch/typo3-rector', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => 'v0.11.24'));
public const EXTENSIONS = array('rector/rector-cakephp' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-cakephp', 'relative_install_path' => '../../rector-cakephp', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => '0.11.3'), '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' => '0.11.15'), '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' => '0.11.5'), 'rector/rector-nette' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-nette', 'relative_install_path' => '../../rector-nette', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => '0.11.21'), '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' => '0.11.2'), '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' => '0.11.7'), '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' => '0.11.18'), 'ssch/typo3-rector' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/ssch/typo3-rector', 'relative_install_path' => '../../../ssch/typo3-rector', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => 'v0.11.24'));
private function __construct()
{
}

View File

@ -12,13 +12,13 @@
"rector\/rector-src": "dev-main",
"phpunit\/phpunit": "^9.5",
"symplify\/phpstan-rules": "^9.4",
"symfony\/security-core": "^5.2",
"symfony\/security-http": "^5.2",
"symfony\/security-core": "^5.3",
"symfony\/security-http": "^5.3",
"symplify\/phpstan-extensions": "^9.4",
"symplify\/easy-coding-standard": "^9.4",
"symplify\/rule-doc-generator": "^9.4",
"phpstan\/extension-installer": "^1.1",
"rector\/phpstan-rules": "^0.3.4"
"rector\/phpstan-rules": "^0.3.5"
},
"autoload": {
"psr-4": {

View File

@ -0,0 +1,23 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210824;
use Rector\Renaming\Rector\Name\RenameClassRector;
use Rector\Symfony\Rector\MethodCall\SwiftCreateMessageToNewEmailRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
// @see https://symfony.com/blog/the-end-of-swiftmailer
return static function (\Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator $containerConfigurator) : void {
$services = $containerConfigurator->services();
$services->set(\Rector\Symfony\Rector\MethodCall\SwiftCreateMessageToNewEmailRector::class);
$services->set(\Rector\Renaming\Rector\Name\RenameClassRector::class)->call('configure', [[\Rector\Renaming\Rector\Name\RenameClassRector::OLD_TO_NEW_CLASSES => [
'Swift_Mailer' => 'Symfony\\Component\\Mailer\\MailerInterface',
'Swift_Message' => 'Symfony\\Component\\Mime\\Email',
// message
'Swift_Mime_SimpleMessage' => 'Symfony\\Component\\Mime\\RawMessage',
// transport
'Swift_SmtpTransport' => 'Symfony\\Component\\Mailer\\Transport\\Smtp\\EsmtpTransport',
'Swift_FailoverTransport' => 'Symfony\\Component\\Mailer\\Transport\\FailoverTransport',
'Swift_SendmailTransport' => 'Symfony\\Component\\Mailer\\Transport\\SendmailTransport',
]]]);
};

View File

@ -1,4 +1,4 @@
# 50 Rules Overview
# 52 Rules Overview
## ActionSuffixRemoverRector
@ -149,10 +149,6 @@ Change XML loader to YAML in Bundle Extension
- class: [`Rector\Symfony\Rector\Class_\ChangeFileLoaderInExtensionAndKernelRector`](../src/Rector/Class_/ChangeFileLoaderInExtensionAndKernelRector.php)
```php
<?php
declare(strict_types=1);
use Rector\Symfony\Rector\Class_\ChangeFileLoaderInExtensionAndKernelRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
@ -160,7 +156,10 @@ return static function (ContainerConfigurator $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(ChangeFileLoaderInExtensionAndKernelRector::class)
->call('configure', [[ChangeFileLoaderInExtensionAndKernelRector::FROM => 'xml', ChangeFileLoaderInExtensionAndKernelRector::TO => 'yaml']]);
->call('configure', [[
ChangeFileLoaderInExtensionAndKernelRector::FROM => 'xml',
ChangeFileLoaderInExtensionAndKernelRector::TO => 'yaml',
]]);
};
```
@ -297,10 +296,6 @@ Turns fetching of dependencies via `$container->get()` in ContainerAware to cons
- class: [`Rector\Symfony\Rector\MethodCall\ContainerGetToConstructorInjectionRector`](../src/Rector/MethodCall/ContainerGetToConstructorInjectionRector.php)
```php
<?php
declare(strict_types=1);
use Rector\Symfony\Rector\MethodCall\ContainerGetToConstructorInjectionRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
@ -308,7 +303,13 @@ return static function (ContainerConfigurator $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(ContainerGetToConstructorInjectionRector::class)
->call('configure', [[ContainerGetToConstructorInjectionRector::CONTAINER_AWARE_PARENT_TYPES => ['ContainerAwareParentClassName', 'ContainerAwareParentCommandClassName', 'ThisClassCallsMethodInConstructorClassName']]]);
->call('configure', [[
ContainerGetToConstructorInjectionRector::CONTAINER_AWARE_PARENT_TYPES => [
'ContainerAwareParentClassName',
'ContainerAwareParentCommandClassName',
'ThisClassCallsMethodInConstructorClassName',
],
]]);
};
```
@ -398,39 +399,6 @@ Change Symfony Event listener class to Event Subscriber based on configuration i
<br>
## ExtractAttributeRouteNameConstantsRector
`Extract` #[Route] attribute name argument from string to constant
- class: [`Rector\Symfony\Rector\Attribute\ExtractAttributeRouteNameConstantsRector`](../src/Rector/Attribute/ExtractAttributeRouteNameConstantsRector.php)
```diff
use Symfony\Component\Routing\Annotation\Route;
class SomeClass
{
- #[Route(path: "path", name: "/name")]
+ #[Route(path: "path", name: RouteName::NAME)]
public function run()
{
}
}
```
Extra file:
```php
final class RouteName
{
/**
* @var string
*/
public NAME = 'name';
}
```
<br>
## FormBuilderSetDataMapperRector
Migrates from deprecated Form Builder->setDataMapper(new `PropertyPathMapper())` to Builder->setDataMapper(new DataMapper(new `PropertyPathAccessor()))`
@ -471,7 +439,7 @@ Adds `$form->isSubmitted()` validation to all `$form->isValid()` calls in Form i
## FormTypeGetParentRector
Turns string Form Type references to their `CONSTANT` alternatives in `getParent()` and `getExtendedType()` methods in Form in Symfony
Turns string Form Type references to their CONSTANT alternatives in `getParent()` and `getExtendedType()` methods in Form in Symfony
- class: [`Rector\Symfony\Rector\ClassMethod\FormTypeGetParentRector`](../src/Rector/ClassMethod/FormTypeGetParentRector.php)
@ -582,10 +550,6 @@ Turns fetching of dependencies via `$this->get()` to constructor injection in Co
- class: [`Rector\Symfony\Rector\MethodCall\GetToConstructorInjectionRector`](../src/Rector/MethodCall/GetToConstructorInjectionRector.php)
```php
<?php
declare(strict_types=1);
use Rector\Symfony\Rector\MethodCall\GetToConstructorInjectionRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
@ -593,7 +557,12 @@ return static function (ContainerConfigurator $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(GetToConstructorInjectionRector::class)
->call('configure', [[GetToConstructorInjectionRector::GET_METHOD_AWARE_TYPES => ['SymfonyControllerClassName', 'GetTraitClassName']]]);
->call('configure', [[
GetToConstructorInjectionRector::GET_METHOD_AWARE_TYPES => [
'SymfonyControllerClassName',
'GetTraitClassName',
],
]]);
};
```
@ -619,6 +588,28 @@ return static function (ContainerConfigurator $containerConfigurator): void {
<br>
## JMSInjectPropertyToConstructorInjectionRector
Turns properties with `@inject` to private properties and constructor injection
- class: [`Rector\Symfony\Rector\Property\JMSInjectPropertyToConstructorInjectionRector`](../src/Rector/Property/JMSInjectPropertyToConstructorInjectionRector.php)
```diff
/**
* @var SomeService
- * @inject
*/
-public $someService;
+private $someService;
+
+public function __construct(SomeService $someService)
+{
+ $this->someService = $someService;
+}
```
<br>
## LogoutHandlerToLogoutEventSubscriberRector
Change logout handler to an event listener that listens to LogoutEvent
@ -1128,7 +1119,7 @@ Simplify use of assertions in WebTestCase
## StringFormTypeToClassRector
Turns string Form Type references to their `CONSTANT` alternatives in FormTypes in Form in Symfony. To enable custom types, add `link` to your container XML `dump` in "$parameters->set(Option::SYMFONY_CONTAINER_XML_PATH_PARAMETER, ...);"
Turns string Form Type references to their CONSTANT alternatives in FormTypes in Form in Symfony. To enable custom types, add link to your container XML dump in "$parameters->set(Option::SYMFONY_CONTAINER_XML_PATH_PARAMETER, ...);"
- class: [`Rector\Symfony\Rector\MethodCall\StringFormTypeToClassRector`](../src/Rector/MethodCall/StringFormTypeToClassRector.php)
@ -1154,6 +1145,39 @@ Changes Process string argument to an array
<br>
## SwiftCreateMessageToNewEmailRector
Changes `createMessage()` into a new Symfony\Component\Mime\Email
- class: [`Rector\Symfony\Rector\MethodCall\SwiftCreateMessageToNewEmailRector`](../src/Rector/MethodCall/SwiftCreateMessageToNewEmailRector.php)
```diff
-$email = $this->swift->createMessage('message');
+$email = new \Symfony\Component\Mime\Email();
```
<br>
## SwiftSetBodyToHtmlPlainMethodCallRector
Changes `setBody()` method call on Swift_Message into a `html()` or `plain()` based on second argument
- class: [`Rector\Symfony\Rector\MethodCall\SwiftSetBodyToHtmlPlainMethodCallRector`](../src/Rector/MethodCall/SwiftSetBodyToHtmlPlainMethodCallRector.php)
```diff
$message = new Swift_Message();
-$message->setBody('...', 'text/html');
+$message->html('...');
-$message->setBody('...', 'text/plain');
-$message->setBody('...');
+$message->text('...');
+$message->text('...');
```
<br>
## TemplateAnnotationToThisRenderRector
Turns `@Template` annotation to explicit method call in Controller of FrameworkExtraBundle in Symfony

View File

@ -40,7 +40,7 @@ use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
final class TemplateAnnotationToThisRenderRector extends \Rector\Core\Rector\AbstractRector
{
/**
* @var string
* @var class-string
*/
private const RESPONSE_CLASS = 'Symfony\\Component\\HttpFoundation\\Response';
/**

View File

@ -0,0 +1,86 @@
<?php
declare (strict_types=1);
namespace Rector\Symfony\Rector\MethodCall;
use PhpParser\Node;
use PhpParser\Node\Expr\MethodCall;
use PhpParser\Node\Expr\New_;
use PhpParser\Node\Expr\PropertyFetch;
use PhpParser\Node\Name\FullyQualified;
use PhpParser\Node\Stmt\Class_;
use PhpParser\Node\Stmt\Property;
use PHPStan\Type\ObjectType;
use Rector\Core\Rector\AbstractRector;
use Rector\NodeTypeResolver\Node\AttributeKey;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
* @see \Rector\Symfony\Tests\Rector\MethodCall\SwiftCreateMessageToNewEmailRector\SwiftCreateMessageToNewEmailRectorTest
*/
final class SwiftCreateMessageToNewEmailRector extends \Rector\Core\Rector\AbstractRector
{
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
{
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('Changes createMessage() into a new Symfony\\Component\\Mime\\Email', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample(<<<'CODE_SAMPLE'
$email = $this->swift->createMessage('message');
CODE_SAMPLE
, <<<'CODE_SAMPLE'
$email = new \Symfony\Component\Mime\Email();
CODE_SAMPLE
)]);
}
/**
* @return array<class-string<Node>>
*/
public function getNodeTypes() : array
{
return [\PhpParser\Node\Expr\MethodCall::class];
}
/**
* @param MethodCall $node
*/
public function refactor(\PhpParser\Node $node) : ?\PhpParser\Node
{
if ($this->shouldSkip($node)) {
return null;
}
return new \PhpParser\Node\Expr\New_(new \PhpParser\Node\Name\FullyQualified('Symfony\\Component\\Mime\\Email'));
}
private function shouldSkip(\PhpParser\Node\Expr\MethodCall $methodCall) : bool
{
if (!$this->isName($methodCall->name, 'createMessage')) {
return \true;
}
// If there is no property with a SwiftMailer type we should skip this class
$swiftMailerProperty = $this->getSwiftMailerProperty($methodCall);
if ($swiftMailerProperty === null) {
return \true;
}
$var = $methodCall->var;
if (!$var instanceof \PhpParser\Node\Expr\PropertyFetch) {
return \true;
}
$propertyName = $this->getName($swiftMailerProperty);
return !$this->isName($var, $propertyName);
}
private function getSwiftMailerProperty(\PhpParser\Node\Expr\MethodCall $classMethod) : ?\PhpParser\Node\Stmt\Property
{
$class = $classMethod->getAttribute(\Rector\NodeTypeResolver\Node\AttributeKey::CLASS_NODE);
if (!$class instanceof \PhpParser\Node\Stmt\Class_) {
return null;
}
$properties = $class->getProperties();
foreach ($properties as $property) {
$propertyType = $this->nodeTypeResolver->resolve($property);
if (!$propertyType instanceof \PHPStan\Type\ObjectType) {
continue;
}
if (!$propertyType->isInstanceOf('Swift_Mailer')->yes()) {
continue;
}
return $property;
}
return null;
}
}

View File

@ -0,0 +1,69 @@
<?php
declare (strict_types=1);
namespace Rector\Symfony\Rector\MethodCall;
use PhpParser\Node;
use PhpParser\Node\Expr\MethodCall;
use PhpParser\Node\Identifier;
use PHPStan\Type\ObjectType;
use Rector\Core\Rector\AbstractRector;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
* @see \Rector\Symfony\Tests\Rector\MethodCall\SwiftSetBodyToHtmlPlainMethodCallRector\SwiftSetBodyToHtmlPlainMethodCallRectorTest
*
* @changelog https://github.com/laravel/framework/pull/38481/files#diff-2310168aa86b70a22595ba784039cbdde829bd38245c9586eedd111dfd0f806d
*/
final class SwiftSetBodyToHtmlPlainMethodCallRector extends \Rector\Core\Rector\AbstractRector
{
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
{
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('Changes setBody() method call on Swift_Message into a html() or plain() based on second argument', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample(<<<'CODE_SAMPLE'
$message = new Swift_Message();
$message->setBody('...', 'text/html');
$message->setBody('...', 'text/plain');
$message->setBody('...');
CODE_SAMPLE
, <<<'CODE_SAMPLE'
$message = new Swift_Message();
$message->html('...');
$message->text('...');
$message->text('...');
CODE_SAMPLE
)]);
}
/**
* @return array<class-string<Node>>
*/
public function getNodeTypes() : array
{
return [\PhpParser\Node\Expr\MethodCall::class];
}
/**
* @param MethodCall $node
*/
public function refactor(\PhpParser\Node $node) : ?\PhpParser\Node
{
if (!$this->isObjectType($node->var, new \PHPStan\Type\ObjectType('Swift_Message'))) {
return null;
}
if (!$this->isName($node->name, 'setBody')) {
return null;
}
if (\count($node->args) === 2) {
$secondArgValue = $this->valueResolver->getValue($node->args[1]->value);
if ($secondArgValue === 'text/html') {
unset($node->args[1]);
$node->name = new \PhpParser\Node\Identifier('html');
return $node;
}
}
$node->name = new \PhpParser\Node\Identifier('plain');
return $node;
}
}

View File

@ -10,4 +10,9 @@ final class SwiftmailerSetList implements \Rector\Set\Contract\SetListInterface
* @var string
*/
public const SWIFTMAILER_60 = __DIR__ . '/../../config/sets/swiftmailer/swiftmailer60.php';
/**
* @var string
* @see https://symfony.com/blog/the-end-of-swiftmailer
*/
public const SWIFTMAILER_TO_SYMFONY_MAILER = __DIR__ . '/../../config/sets/swiftmailer/swiftmailer-to-symfony-mailer.php';
}

View File

@ -13,14 +13,9 @@ use Rector\BetterPhpDocParser\PhpDocInfo\PhpDocInfoFactory;
use Rector\BetterPhpDocParser\ValueObject\Type\FullyQualifiedIdentifierTypeNode;
use Rector\Core\Php\PhpVersionProvider;
use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\NodeNameResolver\NodeNameResolver;
use Rector\StaticTypeMapper\StaticTypeMapper;
final class ReturnTypeDeclarationUpdater
{
/**
* @var \Rector\NodeNameResolver\NodeNameResolver
*/
private $nodeNameResolver;
/**
* @var \Rector\Core\Php\PhpVersionProvider
*/
@ -33,9 +28,8 @@ final class ReturnTypeDeclarationUpdater
* @var \Rector\BetterPhpDocParser\PhpDocInfo\PhpDocInfoFactory
*/
private $phpDocInfoFactory;
public function __construct(\Rector\NodeNameResolver\NodeNameResolver $nodeNameResolver, \Rector\Core\Php\PhpVersionProvider $phpVersionProvider, \Rector\StaticTypeMapper\StaticTypeMapper $staticTypeMapper, \Rector\BetterPhpDocParser\PhpDocInfo\PhpDocInfoFactory $phpDocInfoFactory)
public function __construct(\Rector\Core\Php\PhpVersionProvider $phpVersionProvider, \Rector\StaticTypeMapper\StaticTypeMapper $staticTypeMapper, \Rector\BetterPhpDocParser\PhpDocInfo\PhpDocInfoFactory $phpDocInfoFactory)
{
$this->nodeNameResolver = $nodeNameResolver;
$this->phpVersionProvider = $phpVersionProvider;
$this->staticTypeMapper = $staticTypeMapper;
$this->phpDocInfoFactory = $phpDocInfoFactory;

View File

@ -9,8 +9,8 @@ $loader = require_once __DIR__.'/autoload.php';
if (!class_exists('AutoloadIncluder', false) && !interface_exists('AutoloadIncluder', false) && !trait_exists('AutoloadIncluder', false)) {
spl_autoload_call('RectorPrefix20210824\AutoloadIncluder');
}
if (!class_exists('ComposerAutoloaderInitca3d4aa89155cd33936b1df29f951085', false) && !interface_exists('ComposerAutoloaderInitca3d4aa89155cd33936b1df29f951085', false) && !trait_exists('ComposerAutoloaderInitca3d4aa89155cd33936b1df29f951085', false)) {
spl_autoload_call('RectorPrefix20210824\ComposerAutoloaderInitca3d4aa89155cd33936b1df29f951085');
if (!class_exists('ComposerAutoloaderInit058bf0f7ae75bb522c54bcad5f09a886', false) && !interface_exists('ComposerAutoloaderInit058bf0f7ae75bb522c54bcad5f09a886', false) && !trait_exists('ComposerAutoloaderInit058bf0f7ae75bb522c54bcad5f09a886', false)) {
spl_autoload_call('RectorPrefix20210824\ComposerAutoloaderInit058bf0f7ae75bb522c54bcad5f09a886');
}
if (!class_exists('Helmich\TypoScriptParser\Parser\AST\Statement', false) && !interface_exists('Helmich\TypoScriptParser\Parser\AST\Statement', false) && !trait_exists('Helmich\TypoScriptParser\Parser\AST\Statement', false)) {
spl_autoload_call('RectorPrefix20210824\Helmich\TypoScriptParser\Parser\AST\Statement');
@ -3308,9 +3308,9 @@ if (!function_exists('print_node')) {
return \RectorPrefix20210824\print_node(...func_get_args());
}
}
if (!function_exists('composerRequireca3d4aa89155cd33936b1df29f951085')) {
function composerRequireca3d4aa89155cd33936b1df29f951085() {
return \RectorPrefix20210824\composerRequireca3d4aa89155cd33936b1df29f951085(...func_get_args());
if (!function_exists('composerRequire058bf0f7ae75bb522c54bcad5f09a886')) {
function composerRequire058bf0f7ae75bb522c54bcad5f09a886() {
return \RectorPrefix20210824\composerRequire058bf0f7ae75bb522c54bcad5f09a886(...func_get_args());
}
}
if (!function_exists('parseArgs')) {
@ -3423,6 +3423,11 @@ if (!function_exists('this_is_fatal_error')) {
return \RectorPrefix20210824\this_is_fatal_error(...func_get_args());
}
}
if (!function_exists('demo')) {
function demo() {
return \RectorPrefix20210824\demo(...func_get_args());
}
}
if (!function_exists('first')) {
function first() {
return \RectorPrefix20210824\first(...func_get_args());

View File

@ -6,13 +6,13 @@
"php": ">=8.0",
"nette\/utils": "^3.2",
"symfony\/dependency-injection": "^5.3|^6.0",
"symplify\/autowire-array-parameter": "^9.4.38",
"symplify\/autowire-array-parameter": "^9.4.39",
"symfony\/http-kernel": "^5.3|^6.0",
"nikic\/php-parser": "^4.11",
"symplify\/package-builder": "^9.4.38"
"symplify\/package-builder": "^9.4.39"
},
"require-dev": {
"symplify\/easy-testing": "^9.4.38",
"symplify\/easy-testing": "^9.4.39",
"phpunit\/phpunit": "^9.5"
},
"autoload": {
@ -31,33 +31,33 @@
}
},
"conflict": {
"symplify\/composer-json-manipulator": "<9.4.38",
"symplify\/easy-coding-standard": "<9.4.38",
"symplify\/phpstan-rules": "<9.4.38",
"symplify\/easy-testing": "<9.4.38",
"symplify\/psr4-switcher": "<9.4.38",
"symplify\/rule-doc-generator-contracts": "<9.4.38",
"symplify\/symfony-php-config": "<9.4.38",
"symplify\/simple-php-doc-parser": "<9.4.38",
"symplify\/php-config-printer": "<9.4.38",
"symplify\/console-color-diff": "<9.4.38",
"symplify\/markdown-diff": "<9.4.38",
"symplify\/amnesia": "<9.4.38",
"symplify\/phpstan-extensions": "<9.4.38",
"symplify\/rule-doc-generator": "<9.4.38",
"symplify\/console-package-builder": "<9.4.38",
"symplify\/vendor-patches": "<9.4.38",
"symplify\/skipper": "<9.4.38",
"symplify\/smart-file-system": "<9.4.38",
"symplify\/phpunit-upgrader": "<9.4.38",
"symplify\/easy-hydrator": "<9.4.38",
"symplify\/symfony-static-dumper": "<9.4.38",
"symplify\/git-wrapper": "<9.4.38",
"symplify\/symplify-kernel": "<9.4.38",
"symplify\/monorepo-builder": "<9.4.38",
"symplify\/config-transformer": "<9.4.38",
"symplify\/easy-ci": "<9.4.38",
"symplify\/coding-standard": "<9.4.38"
"symplify\/composer-json-manipulator": "<9.4.39",
"symplify\/easy-coding-standard": "<9.4.39",
"symplify\/phpstan-rules": "<9.4.39",
"symplify\/easy-testing": "<9.4.39",
"symplify\/psr4-switcher": "<9.4.39",
"symplify\/rule-doc-generator-contracts": "<9.4.39",
"symplify\/symfony-php-config": "<9.4.39",
"symplify\/simple-php-doc-parser": "<9.4.39",
"symplify\/php-config-printer": "<9.4.39",
"symplify\/console-color-diff": "<9.4.39",
"symplify\/markdown-diff": "<9.4.39",
"symplify\/amnesia": "<9.4.39",
"symplify\/phpstan-extensions": "<9.4.39",
"symplify\/rule-doc-generator": "<9.4.39",
"symplify\/console-package-builder": "<9.4.39",
"symplify\/vendor-patches": "<9.4.39",
"symplify\/skipper": "<9.4.39",
"symplify\/smart-file-system": "<9.4.39",
"symplify\/phpunit-upgrader": "<9.4.39",
"symplify\/easy-hydrator": "<9.4.39",
"symplify\/symfony-static-dumper": "<9.4.39",
"symplify\/git-wrapper": "<9.4.39",
"symplify\/symplify-kernel": "<9.4.39",
"symplify\/monorepo-builder": "<9.4.39",
"symplify\/config-transformer": "<9.4.39",
"symplify\/easy-ci": "<9.4.39",
"symplify\/coding-standard": "<9.4.39"
},
"minimum-stability": "dev",
"prefer-stable": true

View File

@ -6,7 +6,7 @@
"php": ">=8.0",
"nette\/utils": "^3.2",
"symfony\/dependency-injection": "^5.3|^6.0",
"symplify\/package-builder": "^9.4.38"
"symplify\/package-builder": "^9.4.39"
},
"require-dev": {
"phpunit\/phpunit": "^9.5"
@ -27,34 +27,34 @@
}
},
"conflict": {
"symplify\/astral": "<9.4.38",
"symplify\/composer-json-manipulator": "<9.4.38",
"symplify\/easy-coding-standard": "<9.4.38",
"symplify\/phpstan-rules": "<9.4.38",
"symplify\/easy-testing": "<9.4.38",
"symplify\/psr4-switcher": "<9.4.38",
"symplify\/rule-doc-generator-contracts": "<9.4.38",
"symplify\/symfony-php-config": "<9.4.38",
"symplify\/simple-php-doc-parser": "<9.4.38",
"symplify\/php-config-printer": "<9.4.38",
"symplify\/console-color-diff": "<9.4.38",
"symplify\/markdown-diff": "<9.4.38",
"symplify\/amnesia": "<9.4.38",
"symplify\/phpstan-extensions": "<9.4.38",
"symplify\/rule-doc-generator": "<9.4.38",
"symplify\/console-package-builder": "<9.4.38",
"symplify\/vendor-patches": "<9.4.38",
"symplify\/skipper": "<9.4.38",
"symplify\/smart-file-system": "<9.4.38",
"symplify\/phpunit-upgrader": "<9.4.38",
"symplify\/easy-hydrator": "<9.4.38",
"symplify\/symfony-static-dumper": "<9.4.38",
"symplify\/git-wrapper": "<9.4.38",
"symplify\/symplify-kernel": "<9.4.38",
"symplify\/monorepo-builder": "<9.4.38",
"symplify\/config-transformer": "<9.4.38",
"symplify\/easy-ci": "<9.4.38",
"symplify\/coding-standard": "<9.4.38"
"symplify\/astral": "<9.4.39",
"symplify\/composer-json-manipulator": "<9.4.39",
"symplify\/easy-coding-standard": "<9.4.39",
"symplify\/phpstan-rules": "<9.4.39",
"symplify\/easy-testing": "<9.4.39",
"symplify\/psr4-switcher": "<9.4.39",
"symplify\/rule-doc-generator-contracts": "<9.4.39",
"symplify\/symfony-php-config": "<9.4.39",
"symplify\/simple-php-doc-parser": "<9.4.39",
"symplify\/php-config-printer": "<9.4.39",
"symplify\/console-color-diff": "<9.4.39",
"symplify\/markdown-diff": "<9.4.39",
"symplify\/amnesia": "<9.4.39",
"symplify\/phpstan-extensions": "<9.4.39",
"symplify\/rule-doc-generator": "<9.4.39",
"symplify\/console-package-builder": "<9.4.39",
"symplify\/vendor-patches": "<9.4.39",
"symplify\/skipper": "<9.4.39",
"symplify\/smart-file-system": "<9.4.39",
"symplify\/phpunit-upgrader": "<9.4.39",
"symplify\/easy-hydrator": "<9.4.39",
"symplify\/symfony-static-dumper": "<9.4.39",
"symplify\/git-wrapper": "<9.4.39",
"symplify\/symplify-kernel": "<9.4.39",
"symplify\/monorepo-builder": "<9.4.39",
"symplify\/config-transformer": "<9.4.39",
"symplify\/easy-ci": "<9.4.39",
"symplify\/coding-standard": "<9.4.39"
},
"minimum-stability": "dev",
"prefer-stable": true

View File

@ -10,8 +10,8 @@
"symfony\/dependency-injection": "^5.3|^6.0",
"symfony\/filesystem": "^5.3|^6.0",
"symfony\/http-kernel": "^5.3|^6.0",
"symplify\/package-builder": "^9.4.38",
"symplify\/smart-file-system": "^9.4.38"
"symplify\/package-builder": "^9.4.39",
"symplify\/smart-file-system": "^9.4.39"
},
"require-dev": {
"phpunit\/phpunit": "^9.5"
@ -32,33 +32,33 @@
}
},
"conflict": {
"symplify\/astral": "<9.4.38",
"symplify\/easy-coding-standard": "<9.4.38",
"symplify\/phpstan-rules": "<9.4.38",
"symplify\/easy-testing": "<9.4.38",
"symplify\/psr4-switcher": "<9.4.38",
"symplify\/rule-doc-generator-contracts": "<9.4.38",
"symplify\/symfony-php-config": "<9.4.38",
"symplify\/simple-php-doc-parser": "<9.4.38",
"symplify\/php-config-printer": "<9.4.38",
"symplify\/console-color-diff": "<9.4.38",
"symplify\/autowire-array-parameter": "<9.4.38",
"symplify\/markdown-diff": "<9.4.38",
"symplify\/amnesia": "<9.4.38",
"symplify\/phpstan-extensions": "<9.4.38",
"symplify\/rule-doc-generator": "<9.4.38",
"symplify\/console-package-builder": "<9.4.38",
"symplify\/vendor-patches": "<9.4.38",
"symplify\/skipper": "<9.4.38",
"symplify\/phpunit-upgrader": "<9.4.38",
"symplify\/easy-hydrator": "<9.4.38",
"symplify\/symfony-static-dumper": "<9.4.38",
"symplify\/git-wrapper": "<9.4.38",
"symplify\/symplify-kernel": "<9.4.38",
"symplify\/monorepo-builder": "<9.4.38",
"symplify\/config-transformer": "<9.4.38",
"symplify\/easy-ci": "<9.4.38",
"symplify\/coding-standard": "<9.4.38"
"symplify\/astral": "<9.4.39",
"symplify\/easy-coding-standard": "<9.4.39",
"symplify\/phpstan-rules": "<9.4.39",
"symplify\/easy-testing": "<9.4.39",
"symplify\/psr4-switcher": "<9.4.39",
"symplify\/rule-doc-generator-contracts": "<9.4.39",
"symplify\/symfony-php-config": "<9.4.39",
"symplify\/simple-php-doc-parser": "<9.4.39",
"symplify\/php-config-printer": "<9.4.39",
"symplify\/console-color-diff": "<9.4.39",
"symplify\/autowire-array-parameter": "<9.4.39",
"symplify\/markdown-diff": "<9.4.39",
"symplify\/amnesia": "<9.4.39",
"symplify\/phpstan-extensions": "<9.4.39",
"symplify\/rule-doc-generator": "<9.4.39",
"symplify\/console-package-builder": "<9.4.39",
"symplify\/vendor-patches": "<9.4.39",
"symplify\/skipper": "<9.4.39",
"symplify\/phpunit-upgrader": "<9.4.39",
"symplify\/easy-hydrator": "<9.4.39",
"symplify\/symfony-static-dumper": "<9.4.39",
"symplify\/git-wrapper": "<9.4.39",
"symplify\/symplify-kernel": "<9.4.39",
"symplify\/monorepo-builder": "<9.4.39",
"symplify\/config-transformer": "<9.4.39",
"symplify\/easy-ci": "<9.4.39",
"symplify\/coding-standard": "<9.4.39"
},
"minimum-stability": "dev",
"prefer-stable": true

View File

@ -9,7 +9,7 @@
"sebastian\/diff": "^4.0",
"symfony\/dependency-injection": "^5.3|^6.0",
"symfony\/http-kernel": "^5.3|^6.0",
"symplify\/package-builder": "^9.4.38"
"symplify\/package-builder": "^9.4.39"
},
"require-dev": {
"phpunit\/phpunit": "^9.5"
@ -30,34 +30,34 @@
}
},
"conflict": {
"symplify\/astral": "<9.4.38",
"symplify\/composer-json-manipulator": "<9.4.38",
"symplify\/easy-coding-standard": "<9.4.38",
"symplify\/phpstan-rules": "<9.4.38",
"symplify\/easy-testing": "<9.4.38",
"symplify\/psr4-switcher": "<9.4.38",
"symplify\/rule-doc-generator-contracts": "<9.4.38",
"symplify\/symfony-php-config": "<9.4.38",
"symplify\/simple-php-doc-parser": "<9.4.38",
"symplify\/php-config-printer": "<9.4.38",
"symplify\/autowire-array-parameter": "<9.4.38",
"symplify\/markdown-diff": "<9.4.38",
"symplify\/amnesia": "<9.4.38",
"symplify\/phpstan-extensions": "<9.4.38",
"symplify\/rule-doc-generator": "<9.4.38",
"symplify\/console-package-builder": "<9.4.38",
"symplify\/vendor-patches": "<9.4.38",
"symplify\/skipper": "<9.4.38",
"symplify\/smart-file-system": "<9.4.38",
"symplify\/phpunit-upgrader": "<9.4.38",
"symplify\/easy-hydrator": "<9.4.38",
"symplify\/symfony-static-dumper": "<9.4.38",
"symplify\/git-wrapper": "<9.4.38",
"symplify\/symplify-kernel": "<9.4.38",
"symplify\/monorepo-builder": "<9.4.38",
"symplify\/config-transformer": "<9.4.38",
"symplify\/easy-ci": "<9.4.38",
"symplify\/coding-standard": "<9.4.38"
"symplify\/astral": "<9.4.39",
"symplify\/composer-json-manipulator": "<9.4.39",
"symplify\/easy-coding-standard": "<9.4.39",
"symplify\/phpstan-rules": "<9.4.39",
"symplify\/easy-testing": "<9.4.39",
"symplify\/psr4-switcher": "<9.4.39",
"symplify\/rule-doc-generator-contracts": "<9.4.39",
"symplify\/symfony-php-config": "<9.4.39",
"symplify\/simple-php-doc-parser": "<9.4.39",
"symplify\/php-config-printer": "<9.4.39",
"symplify\/autowire-array-parameter": "<9.4.39",
"symplify\/markdown-diff": "<9.4.39",
"symplify\/amnesia": "<9.4.39",
"symplify\/phpstan-extensions": "<9.4.39",
"symplify\/rule-doc-generator": "<9.4.39",
"symplify\/console-package-builder": "<9.4.39",
"symplify\/vendor-patches": "<9.4.39",
"symplify\/skipper": "<9.4.39",
"symplify\/smart-file-system": "<9.4.39",
"symplify\/phpunit-upgrader": "<9.4.39",
"symplify\/easy-hydrator": "<9.4.39",
"symplify\/symfony-static-dumper": "<9.4.39",
"symplify\/git-wrapper": "<9.4.39",
"symplify\/symplify-kernel": "<9.4.39",
"symplify\/monorepo-builder": "<9.4.39",
"symplify\/config-transformer": "<9.4.39",
"symplify\/easy-ci": "<9.4.39",
"symplify\/coding-standard": "<9.4.39"
},
"minimum-stability": "dev",
"prefer-stable": true

View File

@ -6,11 +6,11 @@
"php": ">=8.0",
"symfony\/dependency-injection": "^5.3|^6.0",
"symfony\/console": "^5.3|^6.0",
"symplify\/symplify-kernel": "^9.4.38"
"symplify\/symplify-kernel": "^9.4.39"
},
"require-dev": {
"symfony\/http-kernel": "^5.3|^6.0",
"symplify\/package-builder": "^9.4.38",
"symplify\/package-builder": "^9.4.39",
"phpunit\/phpunit": "^9.5"
},
"autoload": {
@ -29,34 +29,34 @@
}
},
"conflict": {
"symplify\/astral": "<9.4.38",
"symplify\/composer-json-manipulator": "<9.4.38",
"symplify\/easy-coding-standard": "<9.4.38",
"symplify\/phpstan-rules": "<9.4.38",
"symplify\/easy-testing": "<9.4.38",
"symplify\/psr4-switcher": "<9.4.38",
"symplify\/rule-doc-generator-contracts": "<9.4.38",
"symplify\/symfony-php-config": "<9.4.38",
"symplify\/simple-php-doc-parser": "<9.4.38",
"symplify\/php-config-printer": "<9.4.38",
"symplify\/console-color-diff": "<9.4.38",
"symplify\/autowire-array-parameter": "<9.4.38",
"symplify\/markdown-diff": "<9.4.38",
"symplify\/package-builder": "<9.4.38",
"symplify\/amnesia": "<9.4.38",
"symplify\/phpstan-extensions": "<9.4.38",
"symplify\/rule-doc-generator": "<9.4.38",
"symplify\/vendor-patches": "<9.4.38",
"symplify\/skipper": "<9.4.38",
"symplify\/smart-file-system": "<9.4.38",
"symplify\/phpunit-upgrader": "<9.4.38",
"symplify\/easy-hydrator": "<9.4.38",
"symplify\/symfony-static-dumper": "<9.4.38",
"symplify\/git-wrapper": "<9.4.38",
"symplify\/monorepo-builder": "<9.4.38",
"symplify\/config-transformer": "<9.4.38",
"symplify\/easy-ci": "<9.4.38",
"symplify\/coding-standard": "<9.4.38"
"symplify\/astral": "<9.4.39",
"symplify\/composer-json-manipulator": "<9.4.39",
"symplify\/easy-coding-standard": "<9.4.39",
"symplify\/phpstan-rules": "<9.4.39",
"symplify\/easy-testing": "<9.4.39",
"symplify\/psr4-switcher": "<9.4.39",
"symplify\/rule-doc-generator-contracts": "<9.4.39",
"symplify\/symfony-php-config": "<9.4.39",
"symplify\/simple-php-doc-parser": "<9.4.39",
"symplify\/php-config-printer": "<9.4.39",
"symplify\/console-color-diff": "<9.4.39",
"symplify\/autowire-array-parameter": "<9.4.39",
"symplify\/markdown-diff": "<9.4.39",
"symplify\/package-builder": "<9.4.39",
"symplify\/amnesia": "<9.4.39",
"symplify\/phpstan-extensions": "<9.4.39",
"symplify\/rule-doc-generator": "<9.4.39",
"symplify\/vendor-patches": "<9.4.39",
"symplify\/skipper": "<9.4.39",
"symplify\/smart-file-system": "<9.4.39",
"symplify\/phpunit-upgrader": "<9.4.39",
"symplify\/easy-hydrator": "<9.4.39",
"symplify\/symfony-static-dumper": "<9.4.39",
"symplify\/git-wrapper": "<9.4.39",
"symplify\/monorepo-builder": "<9.4.39",
"symplify\/config-transformer": "<9.4.39",
"symplify\/easy-ci": "<9.4.39",
"symplify\/coding-standard": "<9.4.39"
},
"minimum-stability": "dev",
"prefer-stable": true

View File

@ -13,10 +13,10 @@
"symfony\/http-kernel": "^5.3|^6.0",
"symfony\/console": "^5.3|^6.0",
"symfony\/dependency-injection": "^5.3|^6.0",
"symplify\/package-builder": "^9.4.38",
"symplify\/console-package-builder": "^9.4.38",
"symplify\/smart-file-system": "^9.4.38",
"symplify\/symplify-kernel": "^9.4.38"
"symplify\/package-builder": "^9.4.39",
"symplify\/console-package-builder": "^9.4.39",
"symplify\/smart-file-system": "^9.4.39",
"symplify\/symplify-kernel": "^9.4.39"
},
"require-dev": {
"phpunit\/phpunit": "^9.5"
@ -37,31 +37,31 @@
}
},
"conflict": {
"symplify\/astral": "<9.4.38",
"symplify\/composer-json-manipulator": "<9.4.38",
"symplify\/easy-coding-standard": "<9.4.38",
"symplify\/phpstan-rules": "<9.4.38",
"symplify\/psr4-switcher": "<9.4.38",
"symplify\/rule-doc-generator-contracts": "<9.4.38",
"symplify\/symfony-php-config": "<9.4.38",
"symplify\/simple-php-doc-parser": "<9.4.38",
"symplify\/php-config-printer": "<9.4.38",
"symplify\/console-color-diff": "<9.4.38",
"symplify\/autowire-array-parameter": "<9.4.38",
"symplify\/markdown-diff": "<9.4.38",
"symplify\/amnesia": "<9.4.38",
"symplify\/phpstan-extensions": "<9.4.38",
"symplify\/rule-doc-generator": "<9.4.38",
"symplify\/vendor-patches": "<9.4.38",
"symplify\/skipper": "<9.4.38",
"symplify\/phpunit-upgrader": "<9.4.38",
"symplify\/easy-hydrator": "<9.4.38",
"symplify\/symfony-static-dumper": "<9.4.38",
"symplify\/git-wrapper": "<9.4.38",
"symplify\/monorepo-builder": "<9.4.38",
"symplify\/config-transformer": "<9.4.38",
"symplify\/easy-ci": "<9.4.38",
"symplify\/coding-standard": "<9.4.38"
"symplify\/astral": "<9.4.39",
"symplify\/composer-json-manipulator": "<9.4.39",
"symplify\/easy-coding-standard": "<9.4.39",
"symplify\/phpstan-rules": "<9.4.39",
"symplify\/psr4-switcher": "<9.4.39",
"symplify\/rule-doc-generator-contracts": "<9.4.39",
"symplify\/symfony-php-config": "<9.4.39",
"symplify\/simple-php-doc-parser": "<9.4.39",
"symplify\/php-config-printer": "<9.4.39",
"symplify\/console-color-diff": "<9.4.39",
"symplify\/autowire-array-parameter": "<9.4.39",
"symplify\/markdown-diff": "<9.4.39",
"symplify\/amnesia": "<9.4.39",
"symplify\/phpstan-extensions": "<9.4.39",
"symplify\/rule-doc-generator": "<9.4.39",
"symplify\/vendor-patches": "<9.4.39",
"symplify\/skipper": "<9.4.39",
"symplify\/phpunit-upgrader": "<9.4.39",
"symplify\/easy-hydrator": "<9.4.39",
"symplify\/symfony-static-dumper": "<9.4.39",
"symplify\/git-wrapper": "<9.4.39",
"symplify\/monorepo-builder": "<9.4.39",
"symplify\/config-transformer": "<9.4.39",
"symplify\/easy-ci": "<9.4.39",
"symplify\/coding-standard": "<9.4.39"
},
"minimum-stability": "dev",
"prefer-stable": true

View File

@ -10,8 +10,8 @@
"symfony\/dependency-injection": "^5.3|^6.0",
"symfony\/finder": "^5.3|^6.0",
"symfony\/http-kernel": "^5.3|^6.0",
"symplify\/symplify-kernel": "^9.4.38",
"symplify\/easy-testing": "^9.4.38",
"symplify\/symplify-kernel": "^9.4.39",
"symplify\/easy-testing": "^9.4.39",
"nette\/neon": "^3.2"
},
"require-dev": {
@ -33,33 +33,33 @@
}
},
"conflict": {
"symplify\/astral": "<9.4.38",
"symplify\/composer-json-manipulator": "<9.4.38",
"symplify\/easy-coding-standard": "<9.4.38",
"symplify\/phpstan-rules": "<9.4.38",
"symplify\/psr4-switcher": "<9.4.38",
"symplify\/rule-doc-generator-contracts": "<9.4.38",
"symplify\/symfony-php-config": "<9.4.38",
"symplify\/simple-php-doc-parser": "<9.4.38",
"symplify\/php-config-printer": "<9.4.38",
"symplify\/console-color-diff": "<9.4.38",
"symplify\/autowire-array-parameter": "<9.4.38",
"symplify\/markdown-diff": "<9.4.38",
"symplify\/amnesia": "<9.4.38",
"symplify\/phpstan-extensions": "<9.4.38",
"symplify\/rule-doc-generator": "<9.4.38",
"symplify\/console-package-builder": "<9.4.38",
"symplify\/vendor-patches": "<9.4.38",
"symplify\/skipper": "<9.4.38",
"symplify\/smart-file-system": "<9.4.38",
"symplify\/phpunit-upgrader": "<9.4.38",
"symplify\/easy-hydrator": "<9.4.38",
"symplify\/symfony-static-dumper": "<9.4.38",
"symplify\/git-wrapper": "<9.4.38",
"symplify\/monorepo-builder": "<9.4.38",
"symplify\/config-transformer": "<9.4.38",
"symplify\/easy-ci": "<9.4.38",
"symplify\/coding-standard": "<9.4.38"
"symplify\/astral": "<9.4.39",
"symplify\/composer-json-manipulator": "<9.4.39",
"symplify\/easy-coding-standard": "<9.4.39",
"symplify\/phpstan-rules": "<9.4.39",
"symplify\/psr4-switcher": "<9.4.39",
"symplify\/rule-doc-generator-contracts": "<9.4.39",
"symplify\/symfony-php-config": "<9.4.39",
"symplify\/simple-php-doc-parser": "<9.4.39",
"symplify\/php-config-printer": "<9.4.39",
"symplify\/console-color-diff": "<9.4.39",
"symplify\/autowire-array-parameter": "<9.4.39",
"symplify\/markdown-diff": "<9.4.39",
"symplify\/amnesia": "<9.4.39",
"symplify\/phpstan-extensions": "<9.4.39",
"symplify\/rule-doc-generator": "<9.4.39",
"symplify\/console-package-builder": "<9.4.39",
"symplify\/vendor-patches": "<9.4.39",
"symplify\/skipper": "<9.4.39",
"symplify\/smart-file-system": "<9.4.39",
"symplify\/phpunit-upgrader": "<9.4.39",
"symplify\/easy-hydrator": "<9.4.39",
"symplify\/symfony-static-dumper": "<9.4.39",
"symplify\/git-wrapper": "<9.4.39",
"symplify\/monorepo-builder": "<9.4.39",
"symplify\/config-transformer": "<9.4.39",
"symplify\/easy-ci": "<9.4.39",
"symplify\/coding-standard": "<9.4.39"
},
"minimum-stability": "dev",
"prefer-stable": true

View File

@ -18,35 +18,35 @@
}
},
"conflict": {
"symplify\/astral": "<9.4.38",
"symplify\/composer-json-manipulator": "<9.4.38",
"symplify\/easy-coding-standard": "<9.4.38",
"symplify\/phpstan-rules": "<9.4.38",
"symplify\/easy-testing": "<9.4.38",
"symplify\/psr4-switcher": "<9.4.38",
"symplify\/symfony-php-config": "<9.4.38",
"symplify\/simple-php-doc-parser": "<9.4.38",
"symplify\/php-config-printer": "<9.4.38",
"symplify\/console-color-diff": "<9.4.38",
"symplify\/autowire-array-parameter": "<9.4.38",
"symplify\/markdown-diff": "<9.4.38",
"symplify\/package-builder": "<9.4.38",
"symplify\/amnesia": "<9.4.38",
"symplify\/phpstan-extensions": "<9.4.38",
"symplify\/rule-doc-generator": "<9.4.38",
"symplify\/console-package-builder": "<9.4.38",
"symplify\/vendor-patches": "<9.4.38",
"symplify\/skipper": "<9.4.38",
"symplify\/smart-file-system": "<9.4.38",
"symplify\/phpunit-upgrader": "<9.4.38",
"symplify\/easy-hydrator": "<9.4.38",
"symplify\/symfony-static-dumper": "<9.4.38",
"symplify\/git-wrapper": "<9.4.38",
"symplify\/symplify-kernel": "<9.4.38",
"symplify\/monorepo-builder": "<9.4.38",
"symplify\/config-transformer": "<9.4.38",
"symplify\/easy-ci": "<9.4.38",
"symplify\/coding-standard": "<9.4.38"
"symplify\/astral": "<9.4.39",
"symplify\/composer-json-manipulator": "<9.4.39",
"symplify\/easy-coding-standard": "<9.4.39",
"symplify\/phpstan-rules": "<9.4.39",
"symplify\/easy-testing": "<9.4.39",
"symplify\/psr4-switcher": "<9.4.39",
"symplify\/symfony-php-config": "<9.4.39",
"symplify\/simple-php-doc-parser": "<9.4.39",
"symplify\/php-config-printer": "<9.4.39",
"symplify\/console-color-diff": "<9.4.39",
"symplify\/autowire-array-parameter": "<9.4.39",
"symplify\/markdown-diff": "<9.4.39",
"symplify\/package-builder": "<9.4.39",
"symplify\/amnesia": "<9.4.39",
"symplify\/phpstan-extensions": "<9.4.39",
"symplify\/rule-doc-generator": "<9.4.39",
"symplify\/console-package-builder": "<9.4.39",
"symplify\/vendor-patches": "<9.4.39",
"symplify\/skipper": "<9.4.39",
"symplify\/smart-file-system": "<9.4.39",
"symplify\/phpunit-upgrader": "<9.4.39",
"symplify\/easy-hydrator": "<9.4.39",
"symplify\/symfony-static-dumper": "<9.4.39",
"symplify\/git-wrapper": "<9.4.39",
"symplify\/symplify-kernel": "<9.4.39",
"symplify\/monorepo-builder": "<9.4.39",
"symplify\/config-transformer": "<9.4.39",
"symplify\/easy-ci": "<9.4.39",
"symplify\/coding-standard": "<9.4.39"
},
"minimum-stability": "dev",
"prefer-stable": true

View File

@ -8,11 +8,11 @@
"symfony\/dependency-injection": "^5.3|^6.0",
"symfony\/config": "^5.3|^6.0",
"symfony\/http-kernel": "^5.3|^6.0",
"symplify\/package-builder": "^9.4.38"
"symplify\/package-builder": "^9.4.39"
},
"require-dev": {
"phpunit\/phpunit": "^9.5",
"symplify\/easy-testing": "^9.4.38"
"symplify\/easy-testing": "^9.4.39"
},
"autoload": {
"psr-4": {
@ -30,34 +30,34 @@
}
},
"conflict": {
"symplify\/astral": "<9.4.38",
"symplify\/composer-json-manipulator": "<9.4.38",
"symplify\/easy-coding-standard": "<9.4.38",
"symplify\/phpstan-rules": "<9.4.38",
"symplify\/easy-testing": "<9.4.38",
"symplify\/psr4-switcher": "<9.4.38",
"symplify\/rule-doc-generator-contracts": "<9.4.38",
"symplify\/symfony-php-config": "<9.4.38",
"symplify\/php-config-printer": "<9.4.38",
"symplify\/console-color-diff": "<9.4.38",
"symplify\/autowire-array-parameter": "<9.4.38",
"symplify\/markdown-diff": "<9.4.38",
"symplify\/amnesia": "<9.4.38",
"symplify\/phpstan-extensions": "<9.4.38",
"symplify\/rule-doc-generator": "<9.4.38",
"symplify\/console-package-builder": "<9.4.38",
"symplify\/vendor-patches": "<9.4.38",
"symplify\/skipper": "<9.4.38",
"symplify\/smart-file-system": "<9.4.38",
"symplify\/phpunit-upgrader": "<9.4.38",
"symplify\/easy-hydrator": "<9.4.38",
"symplify\/symfony-static-dumper": "<9.4.38",
"symplify\/git-wrapper": "<9.4.38",
"symplify\/symplify-kernel": "<9.4.38",
"symplify\/monorepo-builder": "<9.4.38",
"symplify\/config-transformer": "<9.4.38",
"symplify\/easy-ci": "<9.4.38",
"symplify\/coding-standard": "<9.4.38"
"symplify\/astral": "<9.4.39",
"symplify\/composer-json-manipulator": "<9.4.39",
"symplify\/easy-coding-standard": "<9.4.39",
"symplify\/phpstan-rules": "<9.4.39",
"symplify\/easy-testing": "<9.4.39",
"symplify\/psr4-switcher": "<9.4.39",
"symplify\/rule-doc-generator-contracts": "<9.4.39",
"symplify\/symfony-php-config": "<9.4.39",
"symplify\/php-config-printer": "<9.4.39",
"symplify\/console-color-diff": "<9.4.39",
"symplify\/autowire-array-parameter": "<9.4.39",
"symplify\/markdown-diff": "<9.4.39",
"symplify\/amnesia": "<9.4.39",
"symplify\/phpstan-extensions": "<9.4.39",
"symplify\/rule-doc-generator": "<9.4.39",
"symplify\/console-package-builder": "<9.4.39",
"symplify\/vendor-patches": "<9.4.39",
"symplify\/skipper": "<9.4.39",
"symplify\/smart-file-system": "<9.4.39",
"symplify\/phpunit-upgrader": "<9.4.39",
"symplify\/easy-hydrator": "<9.4.39",
"symplify\/symfony-static-dumper": "<9.4.39",
"symplify\/git-wrapper": "<9.4.39",
"symplify\/symplify-kernel": "<9.4.39",
"symplify\/monorepo-builder": "<9.4.39",
"symplify\/config-transformer": "<9.4.39",
"symplify\/easy-ci": "<9.4.39",
"symplify\/coding-standard": "<9.4.39"
},
"minimum-stability": "dev",
"prefer-stable": true

View File

@ -9,9 +9,9 @@
"symfony\/dependency-injection": "^5.3|^6.0",
"symfony\/finder": "^5.3|^6.0",
"symfony\/filesystem": "^5.3|^6.0",
"symplify\/package-builder": "^9.4.38",
"symplify\/symplify-kernel": "^9.4.38",
"symplify\/smart-file-system": "^9.4.38"
"symplify\/package-builder": "^9.4.39",
"symplify\/symplify-kernel": "^9.4.39",
"symplify\/smart-file-system": "^9.4.39"
},
"require-dev": {
"phpunit\/phpunit": "^9.5"
@ -32,32 +32,32 @@
}
},
"conflict": {
"symplify\/astral": "<9.4.38",
"symplify\/composer-json-manipulator": "<9.4.38",
"symplify\/easy-coding-standard": "<9.4.38",
"symplify\/phpstan-rules": "<9.4.38",
"symplify\/easy-testing": "<9.4.38",
"symplify\/psr4-switcher": "<9.4.38",
"symplify\/rule-doc-generator-contracts": "<9.4.38",
"symplify\/symfony-php-config": "<9.4.38",
"symplify\/simple-php-doc-parser": "<9.4.38",
"symplify\/php-config-printer": "<9.4.38",
"symplify\/console-color-diff": "<9.4.38",
"symplify\/autowire-array-parameter": "<9.4.38",
"symplify\/markdown-diff": "<9.4.38",
"symplify\/amnesia": "<9.4.38",
"symplify\/phpstan-extensions": "<9.4.38",
"symplify\/rule-doc-generator": "<9.4.38",
"symplify\/console-package-builder": "<9.4.38",
"symplify\/vendor-patches": "<9.4.38",
"symplify\/phpunit-upgrader": "<9.4.38",
"symplify\/easy-hydrator": "<9.4.38",
"symplify\/symfony-static-dumper": "<9.4.38",
"symplify\/git-wrapper": "<9.4.38",
"symplify\/monorepo-builder": "<9.4.38",
"symplify\/config-transformer": "<9.4.38",
"symplify\/easy-ci": "<9.4.38",
"symplify\/coding-standard": "<9.4.38"
"symplify\/astral": "<9.4.39",
"symplify\/composer-json-manipulator": "<9.4.39",
"symplify\/easy-coding-standard": "<9.4.39",
"symplify\/phpstan-rules": "<9.4.39",
"symplify\/easy-testing": "<9.4.39",
"symplify\/psr4-switcher": "<9.4.39",
"symplify\/rule-doc-generator-contracts": "<9.4.39",
"symplify\/symfony-php-config": "<9.4.39",
"symplify\/simple-php-doc-parser": "<9.4.39",
"symplify\/php-config-printer": "<9.4.39",
"symplify\/console-color-diff": "<9.4.39",
"symplify\/autowire-array-parameter": "<9.4.39",
"symplify\/markdown-diff": "<9.4.39",
"symplify\/amnesia": "<9.4.39",
"symplify\/phpstan-extensions": "<9.4.39",
"symplify\/rule-doc-generator": "<9.4.39",
"symplify\/console-package-builder": "<9.4.39",
"symplify\/vendor-patches": "<9.4.39",
"symplify\/phpunit-upgrader": "<9.4.39",
"symplify\/easy-hydrator": "<9.4.39",
"symplify\/symfony-static-dumper": "<9.4.39",
"symplify\/git-wrapper": "<9.4.39",
"symplify\/monorepo-builder": "<9.4.39",
"symplify\/config-transformer": "<9.4.39",
"symplify\/easy-ci": "<9.4.39",
"symplify\/coding-standard": "<9.4.39"
},
"minimum-stability": "dev",
"prefer-stable": true

View File

@ -28,35 +28,35 @@
}
},
"conflict": {
"symplify\/astral": "<9.4.38",
"symplify\/composer-json-manipulator": "<9.4.38",
"symplify\/easy-coding-standard": "<9.4.38",
"symplify\/phpstan-rules": "<9.4.38",
"symplify\/easy-testing": "<9.4.38",
"symplify\/psr4-switcher": "<9.4.38",
"symplify\/rule-doc-generator-contracts": "<9.4.38",
"symplify\/symfony-php-config": "<9.4.38",
"symplify\/simple-php-doc-parser": "<9.4.38",
"symplify\/php-config-printer": "<9.4.38",
"symplify\/console-color-diff": "<9.4.38",
"symplify\/autowire-array-parameter": "<9.4.38",
"symplify\/markdown-diff": "<9.4.38",
"symplify\/package-builder": "<9.4.38",
"symplify\/amnesia": "<9.4.38",
"symplify\/phpstan-extensions": "<9.4.38",
"symplify\/rule-doc-generator": "<9.4.38",
"symplify\/console-package-builder": "<9.4.38",
"symplify\/vendor-patches": "<9.4.38",
"symplify\/skipper": "<9.4.38",
"symplify\/phpunit-upgrader": "<9.4.38",
"symplify\/easy-hydrator": "<9.4.38",
"symplify\/symfony-static-dumper": "<9.4.38",
"symplify\/git-wrapper": "<9.4.38",
"symplify\/symplify-kernel": "<9.4.38",
"symplify\/monorepo-builder": "<9.4.38",
"symplify\/config-transformer": "<9.4.38",
"symplify\/easy-ci": "<9.4.38",
"symplify\/coding-standard": "<9.4.38"
"symplify\/astral": "<9.4.39",
"symplify\/composer-json-manipulator": "<9.4.39",
"symplify\/easy-coding-standard": "<9.4.39",
"symplify\/phpstan-rules": "<9.4.39",
"symplify\/easy-testing": "<9.4.39",
"symplify\/psr4-switcher": "<9.4.39",
"symplify\/rule-doc-generator-contracts": "<9.4.39",
"symplify\/symfony-php-config": "<9.4.39",
"symplify\/simple-php-doc-parser": "<9.4.39",
"symplify\/php-config-printer": "<9.4.39",
"symplify\/console-color-diff": "<9.4.39",
"symplify\/autowire-array-parameter": "<9.4.39",
"symplify\/markdown-diff": "<9.4.39",
"symplify\/package-builder": "<9.4.39",
"symplify\/amnesia": "<9.4.39",
"symplify\/phpstan-extensions": "<9.4.39",
"symplify\/rule-doc-generator": "<9.4.39",
"symplify\/console-package-builder": "<9.4.39",
"symplify\/vendor-patches": "<9.4.39",
"symplify\/skipper": "<9.4.39",
"symplify\/phpunit-upgrader": "<9.4.39",
"symplify\/easy-hydrator": "<9.4.39",
"symplify\/symfony-static-dumper": "<9.4.39",
"symplify\/git-wrapper": "<9.4.39",
"symplify\/symplify-kernel": "<9.4.39",
"symplify\/monorepo-builder": "<9.4.39",
"symplify\/config-transformer": "<9.4.39",
"symplify\/easy-ci": "<9.4.39",
"symplify\/coding-standard": "<9.4.39"
},
"minimum-stability": "dev",
"prefer-stable": true

View File

@ -4,12 +4,12 @@
"license": "MIT",
"require": {
"php": ">=8.0",
"symfony\/dependency-injection": "^5.3",
"symplify\/symplify-kernel": "^9.5",
"symplify\/package-builder": "^9.5"
"symfony\/dependency-injection": "^5.3|^6.0",
"symplify\/symplify-kernel": "^9.4.39",
"symplify\/package-builder": "^9.4.39"
},
"require-dev": {
"symfony\/http-kernel": "^5.3",
"symfony\/http-kernel": "^5.3|^6.0",
"phpunit\/phpunit": "^9.5",
"phpstan\/phpstan": "^0.12.91"
},
@ -29,33 +29,33 @@
}
},
"conflict": {
"symplify\/astral": "<9.4.30",
"symplify\/composer-json-manipulator": "<9.4.30",
"symplify\/easy-coding-standard": "<9.4.30",
"symplify\/phpstan-rules": "<9.4.30",
"symplify\/easy-testing": "<9.4.30",
"symplify\/psr4-switcher": "<9.4.30",
"symplify\/rule-doc-generator-contracts": "<9.4.30",
"symplify\/simple-php-doc-parser": "<9.4.30",
"symplify\/php-config-printer": "<9.4.30",
"symplify\/console-color-diff": "<9.4.30",
"symplify\/autowire-array-parameter": "<9.4.30",
"symplify\/markdown-diff": "<9.4.30",
"symplify\/amnesia": "<9.4.30",
"symplify\/phpstan-extensions": "<9.4.30",
"symplify\/rule-doc-generator": "<9.4.30",
"symplify\/console-package-builder": "<9.4.30",
"symplify\/vendor-patches": "<9.4.30",
"symplify\/skipper": "<9.4.30",
"symplify\/smart-file-system": "<9.4.30",
"symplify\/phpunit-upgrader": "<9.4.30",
"symplify\/easy-hydrator": "<9.4.30",
"symplify\/symfony-static-dumper": "<9.4.30",
"symplify\/git-wrapper": "<9.4.30",
"symplify\/monorepo-builder": "<9.4.30",
"symplify\/config-transformer": "<9.4.30",
"symplify\/easy-ci": "<9.4.30",
"symplify\/coding-standard": "<9.4.30"
"symplify\/astral": "<9.4.39",
"symplify\/composer-json-manipulator": "<9.4.39",
"symplify\/easy-coding-standard": "<9.4.39",
"symplify\/phpstan-rules": "<9.4.39",
"symplify\/easy-testing": "<9.4.39",
"symplify\/psr4-switcher": "<9.4.39",
"symplify\/rule-doc-generator-contracts": "<9.4.39",
"symplify\/simple-php-doc-parser": "<9.4.39",
"symplify\/php-config-printer": "<9.4.39",
"symplify\/console-color-diff": "<9.4.39",
"symplify\/autowire-array-parameter": "<9.4.39",
"symplify\/markdown-diff": "<9.4.39",
"symplify\/amnesia": "<9.4.39",
"symplify\/phpstan-extensions": "<9.4.39",
"symplify\/rule-doc-generator": "<9.4.39",
"symplify\/console-package-builder": "<9.4.39",
"symplify\/vendor-patches": "<9.4.39",
"symplify\/skipper": "<9.4.39",
"symplify\/smart-file-system": "<9.4.39",
"symplify\/phpunit-upgrader": "<9.4.39",
"symplify\/easy-hydrator": "<9.4.39",
"symplify\/symfony-static-dumper": "<9.4.39",
"symplify\/git-wrapper": "<9.4.39",
"symplify\/monorepo-builder": "<9.4.39",
"symplify\/config-transformer": "<9.4.39",
"symplify\/easy-ci": "<9.4.39",
"symplify\/coding-standard": "<9.4.39"
},
"minimum-stability": "dev",
"prefer-stable": true

View File

@ -7,10 +7,10 @@
"symfony\/console": "^5.3|^6.0",
"symfony\/http-kernel": "^5.3|^6.0",
"symfony\/dependency-injection": "^5.3|^6.0",
"symplify\/smart-file-system": "^9.4.38",
"symplify\/composer-json-manipulator": "^9.4.38",
"symplify\/autowire-array-parameter": "^9.4.38",
"symplify\/package-builder": "^9.4.38"
"symplify\/smart-file-system": "^9.4.39",
"symplify\/composer-json-manipulator": "^9.4.39",
"symplify\/autowire-array-parameter": "^9.4.39",
"symplify\/package-builder": "^9.4.39"
},
"require-dev": {
"phpunit\/phpunit": "^9.5"
@ -26,31 +26,31 @@
}
},
"conflict": {
"symplify\/astral": "<9.4.38",
"symplify\/easy-coding-standard": "<9.4.38",
"symplify\/phpstan-rules": "<9.4.38",
"symplify\/easy-testing": "<9.4.38",
"symplify\/psr4-switcher": "<9.4.38",
"symplify\/rule-doc-generator-contracts": "<9.4.38",
"symplify\/symfony-php-config": "<9.4.38",
"symplify\/simple-php-doc-parser": "<9.4.38",
"symplify\/php-config-printer": "<9.4.38",
"symplify\/console-color-diff": "<9.4.38",
"symplify\/markdown-diff": "<9.4.38",
"symplify\/amnesia": "<9.4.38",
"symplify\/phpstan-extensions": "<9.4.38",
"symplify\/rule-doc-generator": "<9.4.38",
"symplify\/console-package-builder": "<9.4.38",
"symplify\/vendor-patches": "<9.4.38",
"symplify\/skipper": "<9.4.38",
"symplify\/phpunit-upgrader": "<9.4.38",
"symplify\/easy-hydrator": "<9.4.38",
"symplify\/symfony-static-dumper": "<9.4.38",
"symplify\/git-wrapper": "<9.4.38",
"symplify\/monorepo-builder": "<9.4.38",
"symplify\/config-transformer": "<9.4.38",
"symplify\/easy-ci": "<9.4.38",
"symplify\/coding-standard": "<9.4.38"
"symplify\/astral": "<9.4.39",
"symplify\/easy-coding-standard": "<9.4.39",
"symplify\/phpstan-rules": "<9.4.39",
"symplify\/easy-testing": "<9.4.39",
"symplify\/psr4-switcher": "<9.4.39",
"symplify\/rule-doc-generator-contracts": "<9.4.39",
"symplify\/symfony-php-config": "<9.4.39",
"symplify\/simple-php-doc-parser": "<9.4.39",
"symplify\/php-config-printer": "<9.4.39",
"symplify\/console-color-diff": "<9.4.39",
"symplify\/markdown-diff": "<9.4.39",
"symplify\/amnesia": "<9.4.39",
"symplify\/phpstan-extensions": "<9.4.39",
"symplify\/rule-doc-generator": "<9.4.39",
"symplify\/console-package-builder": "<9.4.39",
"symplify\/vendor-patches": "<9.4.39",
"symplify\/skipper": "<9.4.39",
"symplify\/phpunit-upgrader": "<9.4.39",
"symplify\/easy-hydrator": "<9.4.39",
"symplify\/symfony-static-dumper": "<9.4.39",
"symplify\/git-wrapper": "<9.4.39",
"symplify\/monorepo-builder": "<9.4.39",
"symplify\/config-transformer": "<9.4.39",
"symplify\/easy-ci": "<9.4.39",
"symplify\/coding-standard": "<9.4.39"
},
"minimum-stability": "dev",
"prefer-stable": true

View File

@ -23,7 +23,7 @@
}
],
"require": {
"php": ">=7.2 <8.1",
"php": ">=7.2 <8.2",
"ext-session": "*",
"ext-json": "*"
},

View File

@ -30,20 +30,12 @@ class DemoClass
}
}
\class_alias('RectorPrefix20210824\\DemoClass', 'DemoClass', \false);
$a = new class extends \RuntimeException
function demo($a, $b)
{
/**
* @param \Throwable $e
*/
public function setPrevious($e) : void
{
$ref = new \ReflectionClass($this);
$parent = $ref->getParentClass()->getParentClass();
$previous = $parent->getProperty('previous');
$previous->setAccessible(\true);
$previous->setValue($this, $e);
}
};
$a->setPrevious($a);
// this line will kill your BlueScreen:
throw $a;
$demo = new \RectorPrefix20210824\DemoClass();
$demo->first($a, $b);
}
if (\RectorPrefix20210824\Tracy\Debugger::$productionMode) {
echo '<p><b>For security reasons, Tracy is visible only on localhost. Look into the source code to see how to enable Tracy.</b></p>';
}
\RectorPrefix20210824\demo(10, 'any string');

View File

@ -49,7 +49,7 @@ Alternatively, you can download the whole package or [tracy.phar](https://github
| Tracy | compatible with PHP | compatible with browsers
|-----------|---------------|----------
| Tracy 2.8 | PHP 7.2 8.0 | Chrome 55+, Firefox 53+, Safari 11+ and iOS Safari 11+
| Tracy 2.8 | PHP 7.2 8.1 | Chrome 55+, Firefox 53+, Safari 11+ and iOS Safari 11+
| Tracy 2.7 | PHP 7.1 8.0 | Chrome 55+, Firefox 53+, MS Edge 16+, Safari 11+ and iOS Safari 11+
| Tracy 2.6 | PHP 7.1 8.0 | Chrome 49+, Firefox 45+, MS Edge 14+, Safari 10+ and iOS Safari 10.2+
| Tracy 2.5 | PHP 5.4 7.4 | Chrome 49+, Firefox 45+, MS Edge 12+, Safari 10+ and iOS Safari 10.2+

View File

@ -22,6 +22,7 @@ declare(strict_types=1);
namespace Tracy;
$code = $exception->getCode() ? ' #' . $exception->getCode() : '';
$exceptions = $exceptions ?? Helpers::getExceptionChain($exception);
?>
<div id="tracy-bs" itemscope>

View File

@ -13,7 +13,7 @@ use ErrorException;
*/
class Debugger
{
public const VERSION = '2.8.6';
public const VERSION = '2.8.7';
/** server modes for Debugger::enable() */
public const DEVELOPMENT = \false, PRODUCTION = \true, DETECT = null;
public const COOKIE_SECRET = 'tracy-debug';
@ -45,6 +45,8 @@ class Debugger
public static $maxLength = 150;
/** @var bool display location by dump()? */
public static $showLocation;
/** @var string[] sensitive keys not displayed by dump() */
public static $keysToHide = [];
/** @var string theme for dump() */
public static $dumpTheme = 'light';
/** @deprecated */
@ -411,7 +413,7 @@ class Debugger
\RectorPrefix20210824\Tracy\Dumper::dump($var, $options);
});
} elseif (!self::$productionMode) {
\RectorPrefix20210824\Tracy\Dumper::dump($var, [\RectorPrefix20210824\Tracy\Dumper::DEPTH => self::$maxDepth, \RectorPrefix20210824\Tracy\Dumper::TRUNCATE => self::$maxLength, \RectorPrefix20210824\Tracy\Dumper::LOCATION => self::$showLocation, \RectorPrefix20210824\Tracy\Dumper::THEME => self::$dumpTheme]);
\RectorPrefix20210824\Tracy\Dumper::dump($var, [\RectorPrefix20210824\Tracy\Dumper::DEPTH => self::$maxDepth, \RectorPrefix20210824\Tracy\Dumper::TRUNCATE => self::$maxLength, \RectorPrefix20210824\Tracy\Dumper::LOCATION => self::$showLocation, \RectorPrefix20210824\Tracy\Dumper::THEME => self::$dumpTheme, \RectorPrefix20210824\Tracy\Dumper::KEYS_TO_HIDE => self::$keysToHide]);
}
return $var;
}