From 9507c8165339c34133ac18df2130d0dff5bd875c Mon Sep 17 00:00:00 2001 From: Nicolas Joubert Date: Thu, 24 Sep 2026 13:42:19 +0200 Subject: [PATCH] #78 - Update quality stack - rector.php: replace removed SymfonySetList::SYMFONY_64 / PHPUnitSetList::PHPUNIT_100 sets by withComposerBased() - composer.json: declare used Symfony packages and set a PHPUnit range, so Rector targets the lowest supported versions - Apply rector / php-cs-fixer / phpstan run Co-Authored-By: Claude Opus 5.5 (1M context) --- CHANGELOG.md | 6 ++++ composer.json | 29 ++++++++++++++++--- rector.php | 6 +--- .../CleverAgeUiProcessExtension.php | 2 +- src/Entity/ProcessExecution.php | 2 +- .../HttpProcessExecuteValueResolver.php | 4 +-- 6 files changed, 35 insertions(+), 14 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bf3b56d..cf50e4e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +Latest +------ + +## Changes +* [#78](https://github.com/cleverage/ui-process-bundle/issues/78) Update quality stack: use Rector `withComposerBased()` sets (removed `SYMFONY_64` / `PHPUNIT_100` sets), declare used Symfony packages and PHPUnit range in composer.json, apply quality tools fixes + v3.0 ------ diff --git a/composer.json b/composer.json index b654de7..4edd666 100644 --- a/composer.json +++ b/composer.json @@ -47,13 +47,34 @@ "doctrine/orm": "^2.20 || ^3.5", "dragonmantank/cron-expression": "^3.6", "easycorp/easyadmin-bundle": "^5", + "symfony/config": "^6.4 || ^7.4 || ^8", + "symfony/console": "^6.4 || ^7.4 || ^8", + "symfony/dependency-injection": "^6.4 || ^7.4 || ^8", "symfony/doctrine-messenger": "^6.4 || ^7.4 || ^8", "symfony/dotenv": "^6.4 || ^7.4 || ^8", - "symfony/messenger":"^6.4 || ^7.4 || ^8", + "symfony/event-dispatcher": "^6.4 || ^7.4 || ^8", + "symfony/filesystem": "^6.4 || ^7.4 || ^8", + "symfony/finder": "^6.4 || ^7.4 || ^8", + "symfony/form": "^6.4 || ^7.4 || ^8", + "symfony/framework-bundle": "^6.4 || ^7.4 || ^8", + "symfony/http-foundation": "^6.4 || ^7.4 || ^8", + "symfony/http-kernel": "^6.4 || ^7.4 || ^8", + "symfony/messenger": "^6.4 || ^7.4 || ^8", + "symfony/options-resolver": "^6.4 || ^7.4 || ^8", + "symfony/password-hasher": "^6.4 || ^7.4 || ^8", + "symfony/process": "^6.4 || ^7.4 || ^8", + "symfony/routing": "^6.4 || ^7.4 || ^8", "symfony/runtime": "^6.4 || ^7.4 || ^8", "symfony/scheduler": "^6.4 || ^7.4 || ^8", - "symfony/string":"^6.4 || ^7.4 || ^8", - "symfony/uid": "^6.4 || ^7.4 || ^8" + "symfony/security-bundle": "^6.4 || ^7.4 || ^8", + "symfony/security-core": "^6.4 || ^7.4 || ^8", + "symfony/security-http": "^6.4 || ^7.4 || ^8", + "symfony/serializer": "^6.4 || ^7.4 || ^8", + "symfony/string": "^6.4 || ^7.4 || ^8", + "symfony/translation": "^6.4 || ^7.4 || ^8", + "symfony/translation-contracts": "^3", + "symfony/uid": "^6.4 || ^7.4 || ^8", + "symfony/validator": "^6.4 || ^7.4 || ^8" }, "require-dev": { "doctrine/doctrine-fixtures-bundle": "^3 || ^4", @@ -62,7 +83,7 @@ "phpstan/phpstan": "*", "phpstan/phpstan-doctrine": "*", "phpstan/phpstan-symfony": "*", - "phpunit/phpunit": "*", + "phpunit/phpunit": "^10.5 || ^11 || ^12 || ^13", "rector/rector": "*", "roave/security-advisories": "dev-latest", "symfony/browser-kit": "^6.4 || ^7.4 || ^8", diff --git a/rector.php b/rector.php index 96ed988..08ffb10 100644 --- a/rector.php +++ b/rector.php @@ -3,7 +3,6 @@ declare(strict_types=1); use Rector\Config\RectorConfig; -use Rector\PHPUnit\Set\PHPUnitSetList; use Rector\Set\ValueObject\LevelSetList; use Rector\Symfony\Set\SymfonySetList; use Rector\ValueObject\PhpVersion; @@ -16,14 +15,11 @@ ]) ->withPhpSets(php82: true) // here we can define, what prepared sets of rules will be applied - ->withComposerBased(doctrine: true) + ->withComposerBased(doctrine: true, phpunit: true, symfony: true) ->withPreparedSets(deadCode: true, codeQuality: true, doctrineCodeQuality: true, symfonyCodeQuality: true) ->withAttributesSets(symfony: true, doctrine: true) ->withSets([ LevelSetList::UP_TO_PHP_82, - PHPUnitSetList::PHPUNIT_100, - SymfonySetList::SYMFONY_64, - SymfonySetList::SYMFONY_CODE_QUALITY, SymfonySetList::SYMFONY_CONSTRUCTOR_INJECTION, ]) ; diff --git a/src/DependencyInjection/CleverAgeUiProcessExtension.php b/src/DependencyInjection/CleverAgeUiProcessExtension.php index 6695cc8..7d6f725 100644 --- a/src/DependencyInjection/CleverAgeUiProcessExtension.php +++ b/src/DependencyInjection/CleverAgeUiProcessExtension.php @@ -86,7 +86,7 @@ public function prepend(ContainerBuilder $container): void $container->loadFromExtension( 'doctrine_migrations', [ - 'migrations_paths' => ['CleverAge\UiProcessBundle\Migrations' => \dirname(__DIR__).'/Migrations'], + 'migrations_paths' => ['CleverAge\UiProcessBundle\Migrations' => __DIR__.'/../Migrations'], ] ); $container->prependExtensionConfig( diff --git a/src/Entity/ProcessExecution.php b/src/Entity/ProcessExecution.php index a924eda..dbadef9 100644 --- a/src/Entity/ProcessExecution.php +++ b/src/Entity/ProcessExecution.php @@ -50,7 +50,7 @@ class ProcessExecution implements \Stringable * @var array */ #[ORM\Column(type: Types::JSON, nullable: true)] - private ?array $context = []; + private ?array $context; public function getId(): ?int { diff --git a/src/Http/ValueResolver/HttpProcessExecuteValueResolver.php b/src/Http/ValueResolver/HttpProcessExecuteValueResolver.php index 5cd68c3..69e7ac6 100644 --- a/src/Http/ValueResolver/HttpProcessExecuteValueResolver.php +++ b/src/Http/ValueResolver/HttpProcessExecuteValueResolver.php @@ -51,9 +51,7 @@ public function resolve(Request $request, ArgumentMetadata $argument): iterable } else { $input = $request->request->get('input') ?? $request->query->get('input'); - if (null === $input) { - $input = $request->files->get('input'); - } + $input ??= $request->files->get('input'); if ($input instanceof UploadedFile) { $uploadFileName = $this->storageDir.\DIRECTORY_SEPARATOR.date('YmdHis').'_'.uniqid().'_'.$input->getClientOriginalName();