From 3a4c99f154f55616c7a229620df9242498397ce1 Mon Sep 17 00:00:00 2001 From: philipp lang Date: Sat, 21 Sep 2024 22:46:38 +0200 Subject: [PATCH] Add Laravel 11 support --- app/Contribution/Data/MemberData.php | 12 +- app/Form/Casts/CollectionCast.php | 3 +- app/Form/Casts/FieldCollectionCast.php | 3 +- app/Form/Enums/NamiType.php | 2 +- .../Transformers/CollectionTransformer.php | 3 +- .../FieldCollectionTransformer.php | 3 +- app/Invoice/InvoiceDocument.php | 2 +- app/Lib/Editor/Condition.php | 4 +- app/Lib/Editor/ConditionResolver.php | 2 +- app/Lib/Filter.php | 2 +- app/Lib/ScoutFilter.php | 2 +- app/Mailman/Data/MailingList.php | 2 +- app/Providers/AppServiceProvider.php | 1 - composer.json | 29 +- composer.lock | 2008 +++++++++-------- ...024_09_21_222459_update_settings_table.php | 36 + packages/laravel-nami | 2 +- packages/medialibrary-helper | 2 +- packages/table-document | 2 +- tests/Feature/Contribution/StoreTest.php | 7 +- tests/Feature/Course/StoreTest.php | 5 +- tests/Feature/Course/UpdateTest.php | 5 +- tests/Feature/Form/FormRegisterActionTest.php | 83 +- tests/Feature/Form/FormRegisterMailTest.php | 37 +- tests/Feature/Form/FormStoreActionTest.php | 5 +- .../Form/FormtemplateStoreActionTest.php | 13 +- .../Initialize/InitializeActivitiesTest.php | 4 +- .../Invoice/InvoiceStoreActionTest.php | 3 +- .../Invoice/InvoiceUpdateActionTest.php | 3 +- tests/Feature/Member/PreventionTest.php | 3 +- tests/Feature/Member/ShowTest.php | 5 +- tests/Feature/Membership/IndexTest.php | 5 +- tests/Lib/CreatesFormFields.php | 46 +- tests/Unit/Mailman/ServiceTest.php | 15 +- 34 files changed, 1273 insertions(+), 1086 deletions(-) create mode 100644 database/migrations/2024_09_21_222459_update_settings_table.php diff --git a/app/Contribution/Data/MemberData.php b/app/Contribution/Data/MemberData.php index 1a24f1ba..c7be0b80 100644 --- a/app/Contribution/Data/MemberData.php +++ b/app/Contribution/Data/MemberData.php @@ -29,7 +29,7 @@ class MemberData extends Data */ public static function fromModels(array $ids): Collection { - return Member::whereIn('id', $ids)->orderByRaw('lastname, firstname')->get()->map(fn ($member) => self::withoutMagicalCreationFrom([ + return Member::whereIn('id', $ids)->orderByRaw('lastname, firstname')->get()->map(fn ($member) => self::factory()->withoutMagicalCreation()->from([ ...$member->toArray(), 'birthday' => $member->birthday->toAtomString(), 'isLeader' => $member->isLeader(), @@ -44,7 +44,7 @@ class MemberData extends Data */ public static function fromApi(array $data): Collection { - return collect($data)->map(fn ($member) => self::withoutMagicalCreationFrom([ + return collect($data)->map(fn ($member) => self::factory()->withoutMagicalCreation()->from([ ...$member, 'birthday' => Carbon::parse($member['birthday'])->toAtomString(), 'gender' => Gender::fromString($member['gender']), @@ -54,22 +54,22 @@ class MemberData extends Data public function fullname(): string { - return $this->firstname.' '.$this->lastname; + return $this->firstname . ' ' . $this->lastname; } public function separatedName(): string { - return $this->lastname.', '.$this->firstname; + return $this->lastname . ', ' . $this->firstname; } public function fullAddress(): string { - return $this->address.', '.$this->zip.' '.$this->location; + return $this->address . ', ' . $this->zip . ' ' . $this->location; } public function city(): string { - return $this->zip.' '.$this->location; + return $this->zip . ' ' . $this->location; } public function age(): string diff --git a/app/Form/Casts/CollectionCast.php b/app/Form/Casts/CollectionCast.php index 47ec9a2e..0118d0e6 100644 --- a/app/Form/Casts/CollectionCast.php +++ b/app/Form/Casts/CollectionCast.php @@ -6,6 +6,7 @@ use App\Form\Fields\Field; use Illuminate\Support\Collection; use Spatie\LaravelData\Casts\Cast; use Spatie\LaravelData\Data; +use Spatie\LaravelData\Support\Creation\CreationContext; use Spatie\LaravelData\Support\DataProperty; class CollectionCast implements Cast @@ -23,7 +24,7 @@ class CollectionCast implements Cast * @param array $context * @return Collection */ - public function cast(DataProperty $property, mixed $value, array $context): mixed + public function cast(DataProperty $property, mixed $value, array $properties, CreationContext $context): mixed { return collect($value)->map(fn ($item) => $this->target::from($item)); } diff --git a/app/Form/Casts/FieldCollectionCast.php b/app/Form/Casts/FieldCollectionCast.php index f4e37950..ddcf5d54 100644 --- a/app/Form/Casts/FieldCollectionCast.php +++ b/app/Form/Casts/FieldCollectionCast.php @@ -5,6 +5,7 @@ namespace App\Form\Casts; use App\Form\Data\FieldCollection; use App\Form\Fields\Field; use Spatie\LaravelData\Casts\Cast; +use Spatie\LaravelData\Support\Creation\CreationContext; use Spatie\LaravelData\Support\DataProperty; class FieldCollectionCast implements Cast @@ -14,7 +15,7 @@ class FieldCollectionCast implements Cast * @param array $context * @return FieldCollection */ - public function cast(DataProperty $property, mixed $value, array $context): mixed + public function cast(DataProperty $property, mixed $value, array $properties, CreationContext $context): mixed { return new FieldCollection(collect($value)->map(fn ($value) => Field::classFromType($value['type'])::from($value))->all()); } diff --git a/app/Form/Enums/NamiType.php b/app/Form/Enums/NamiType.php index 7123f943..ceb9247f 100644 --- a/app/Form/Enums/NamiType.php +++ b/app/Form/Enums/NamiType.php @@ -48,7 +48,7 @@ enum NamiType: string static::LOCATION => $member->location, static::NICKNAME => $member->nickname, static::GENDER => $member->gender?->name, - static::AGE => $member->birthday->diffInYears(now()), + static::AGE => intVal($member->birthday->diffInYears(now())), static::AGEEVENT => $member->birthday->diffInYears($form->from), static::MOBILEPHONE => $member->mobile_phone, }; diff --git a/app/Form/Transformers/CollectionTransformer.php b/app/Form/Transformers/CollectionTransformer.php index ee7f8af5..a946e677 100644 --- a/app/Form/Transformers/CollectionTransformer.php +++ b/app/Form/Transformers/CollectionTransformer.php @@ -5,6 +5,7 @@ namespace App\Form\Transformers; use App\Form\Fields\Field; use Illuminate\Support\Collection; use Spatie\LaravelData\Support\DataProperty; +use Spatie\LaravelData\Support\Transformation\TransformationContext; use Spatie\LaravelData\Transformers\Transformer; class CollectionTransformer implements Transformer @@ -18,7 +19,7 @@ class CollectionTransformer implements Transformer * @param Collection $value * @return array */ - public function transform(DataProperty $property, mixed $value): mixed + public function transform(DataProperty $property, mixed $value, TransformationContext $context): mixed { return $value->toArray(); } diff --git a/app/Form/Transformers/FieldCollectionTransformer.php b/app/Form/Transformers/FieldCollectionTransformer.php index c6012b4d..17082698 100644 --- a/app/Form/Transformers/FieldCollectionTransformer.php +++ b/app/Form/Transformers/FieldCollectionTransformer.php @@ -5,6 +5,7 @@ namespace App\Form\Transformers; use App\Form\Fields\Field; use Illuminate\Support\Collection; use Spatie\LaravelData\Support\DataProperty; +use Spatie\LaravelData\Support\Transformation\TransformationContext; use Spatie\LaravelData\Transformers\Transformer; class FieldCollectionTransformer implements Transformer @@ -14,7 +15,7 @@ class FieldCollectionTransformer implements Transformer * @param Collection $value * @return array */ - public function transform(DataProperty $property, mixed $value): mixed + public function transform(DataProperty $property, mixed $value, TransformationContext $context): mixed { return $value->map(fn ($field) => [ ...$field->toArray(), diff --git a/app/Invoice/InvoiceDocument.php b/app/Invoice/InvoiceDocument.php index 383d4376..c609038c 100644 --- a/app/Invoice/InvoiceDocument.php +++ b/app/Invoice/InvoiceDocument.php @@ -36,7 +36,7 @@ abstract class InvoiceDocument extends Document public static function fromInvoice(Invoice $invoice): self { - return static::withoutMagicalCreationFrom([ + return static::factory()->withoutMagicalCreation()->from([ 'toName' => $invoice->to['name'], 'toAddress' => $invoice->to['address'], 'toZip' => $invoice->to['zip'], diff --git a/app/Lib/Editor/Condition.php b/app/Lib/Editor/Condition.php index 6c508d7d..09fc8f5a 100644 --- a/app/Lib/Editor/Condition.php +++ b/app/Lib/Editor/Condition.php @@ -20,12 +20,12 @@ class Condition extends Data public static function fromMedia(Media $media): self { - return $media->getCustomProperty('conditions') ? static::withoutMagicalCreationFrom($media->getCustomProperty('conditions')) : static::defaults(); + return $media->getCustomProperty('conditions') ? static::factory()->withoutMagicalCreation()->from($media->getCustomProperty('conditions')) : static::defaults(); } public static function defaults(): self { - return static::withoutMagicalCreationFrom(['mode' => 'any', 'ifs' => []]); + return static::factory()->withoutMagicalCreation()->from(['mode' => 'any', 'ifs' => []]); } public function hasStatements(): bool diff --git a/app/Lib/Editor/ConditionResolver.php b/app/Lib/Editor/ConditionResolver.php index 10caaa12..7a1c108f 100644 --- a/app/Lib/Editor/ConditionResolver.php +++ b/app/Lib/Editor/ConditionResolver.php @@ -20,7 +20,7 @@ abstract class ConditionResolver */ public function filterBlock(array $block): bool { - return $this->filterCondition(Condition::withoutMagicalCreationFrom([ + return $this->filterCondition(Condition::factory()->withoutMagicalCreation()->from([ 'mode' => data_get($block, 'tunes.condition.mode', 'any'), 'ifs' => data_get($block, 'tunes.condition.ifs', []), ])); diff --git a/app/Lib/Filter.php b/app/Lib/Filter.php index ae192e64..6d2f7489 100644 --- a/app/Lib/Filter.php +++ b/app/Lib/Filter.php @@ -36,7 +36,7 @@ abstract class Filter extends Data */ public static function fromPost(?array $post = null): static { - return static::withoutMagicalCreationFrom($post ?: [])->toDefault(); + return static::factory()->withoutMagicalCreation()->from($post ?: [])->toDefault(); } /** diff --git a/app/Lib/ScoutFilter.php b/app/Lib/ScoutFilter.php index 443e65ba..693b9969 100644 --- a/app/Lib/ScoutFilter.php +++ b/app/Lib/ScoutFilter.php @@ -36,6 +36,6 @@ abstract class ScoutFilter extends Data */ public static function fromPost(?array $post = null): static { - return static::withoutMagicalCreationFrom($post ?: []); + return static::factory()->withoutMagicalCreation()->from($post ?: []); } } diff --git a/app/Mailman/Data/MailingList.php b/app/Mailman/Data/MailingList.php index 02eaa228..126905ad 100644 --- a/app/Mailman/Data/MailingList.php +++ b/app/Mailman/Data/MailingList.php @@ -26,7 +26,7 @@ class MailingList extends Data ) { } - public static function factory(): MailinglistFactory + public static function toFactory(): MailinglistFactory { return MailinglistFactory::new(); } diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index 41b8353d..27fca8a7 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -21,7 +21,6 @@ class AppServiceProvider extends ServiceProvider public function register() { JsonResource::withoutWrapping(); - Telescope::ignoreMigrations(); \Inertia::share('search', request()->query('search', '')); diff --git a/composer.json b/composer.json index b8f60f54..43077d04 100644 --- a/composer.json +++ b/composer.json @@ -47,29 +47,28 @@ "require": { "php": "^8.3", "barryvdh/laravel-debugbar": "^3.9", - "beyondcode/laravel-dump-server": "^1.8", - "cviebrock/eloquent-sluggable": "^10.0", + "cviebrock/eloquent-sluggable": "^11.0", "doctrine/dbal": "^3.1", "guzzlehttp/guzzle": "^7.0.1", - "inertiajs/inertia-laravel": "^0.6.9", - "laravel/framework": "^10.0", + "inertiajs/inertia-laravel": "^1.0", + "laravel/framework": "^11.0", "laravel/horizon": "^5.0", - "laravel/passport": "^11.8", - "laravel/scout": "^9.8", - "laravel/telescope": "^4.13", + "laravel/passport": "^12.8", + "laravel/scout": "^10.8", + "laravel/telescope": "^5.0", "laravel/tinker": "^2.0", "laravel/ui": "^4.0", "league/csv": "^9.9", "lorisleiva/laravel-actions": "^2.4", "meilisearch/meilisearch-php": "^1.6", "monicahq/laravel-sabre": "^1.6", - "nunomaduro/collision": "^7.0", + "nunomaduro/collision": "^8.1", "phake/phake": "^4.2", "pusher/pusher-php-server": "^7.2", - "spatie/laravel-data": "^3.0", + "spatie/laravel-data": "^4.0", "spatie/laravel-ignition": "^2.0", - "spatie/laravel-settings": "^2.2", - "worksome/request-factories": "^2.5", + "spatie/laravel-settings": "^3.0", + "worksome/request-factories": "^3.0", "zoomyboy/laravel-nami": "dev-master", "zoomyboy/medialibrary-helper": "dev-master as 1.0", "league/flysystem-webdav": "dev-master as 3.28.0", @@ -80,12 +79,12 @@ }, "require-dev": { "fakerphp/faker": "^1.9.1", + "larastan/larastan": "^2.0", "laravel/envoy": "^2.8", "mockery/mockery": "^1.4.4", - "larastan/larastan": "^2.0", - "orchestra/testbench": "^8.0", - "phpstan/phpstan-mockery": "^1.1", - "phpunit/phpunit": "^10.0" + "orchestra/testbench": "^9.0", + "pestphp/pest": "^3.0", + "phpstan/phpstan-mockery": "^1.1" }, "config": { "optimize-autoloader": true, diff --git a/composer.lock b/composer.lock index 41bfb235..77025fa2 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "50a0571a22374a43a3cfe04cc3609a7a", + "content-hash": "78c1393f709b6b2ba6359705593b835e", "packages": [ { "name": "amphp/amp", @@ -949,83 +949,18 @@ ], "time": "2024-09-20T12:16:37+00:00" }, - { - "name": "beyondcode/laravel-dump-server", - "version": "1.9.0", - "source": { - "type": "git", - "url": "https://github.com/beyondcode/laravel-dump-server.git", - "reference": "1f2452617afc64e47b3cf49978beb7beeef084df" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/beyondcode/laravel-dump-server/zipball/1f2452617afc64e47b3cf49978beb7beeef084df", - "reference": "1f2452617afc64e47b3cf49978beb7beeef084df", - "shasum": "" - }, - "require": { - "illuminate/console": "5.6.*|5.7.*|5.8.*|^6.0|^7.0|^8.0|^9.0|^10.0", - "illuminate/http": "5.6.*|5.7.*|5.8.*|^6.0|^7.0|^8.0|^9.0|^10.0", - "illuminate/support": "5.6.*|5.7.*|5.8.*|^6.0|^7.0|^8.0|^9.0|^10.0", - "php": ">=7.2.5", - "symfony/var-dumper": "^5.0|^6.0" - }, - "require-dev": { - "larapack/dd": "^1.0", - "phpunit/phpunit": "^7.0|^9.3" - }, - "type": "library", - "extra": { - "laravel": { - "providers": [ - "BeyondCode\\DumpServer\\DumpServerServiceProvider" - ] - } - }, - "autoload": { - "files": [ - "helpers.php" - ], - "psr-4": { - "BeyondCode\\DumpServer\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marcel Pociot", - "email": "marcel@beyondco.de", - "homepage": "https://beyondco.de", - "role": "Developer" - } - ], - "description": "Symfony Var-Dump Server for Laravel", - "homepage": "https://github.com/beyondcode/laravel-dump-server", - "keywords": [ - "beyondcode", - "laravel-dump-server" - ], - "support": { - "issues": "https://github.com/beyondcode/laravel-dump-server/issues", - "source": "https://github.com/beyondcode/laravel-dump-server/tree/1.9.0" - }, - "time": "2023-02-15T10:29:26+00:00" - }, { "name": "brianium/paratest", - "version": "v7.4.3", + "version": "v7.5.5", "source": { "type": "git", "url": "https://github.com/paratestphp/paratest.git", - "reference": "64fcfd0e28a6b8078a19dbf9127be2ee645b92ec" + "reference": "f29c7d671afc5c4e1140bd7b9f2749e827902a1e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/paratestphp/paratest/zipball/64fcfd0e28a6b8078a19dbf9127be2ee645b92ec", - "reference": "64fcfd0e28a6b8078a19dbf9127be2ee645b92ec", + "url": "https://api.github.com/repos/paratestphp/paratest/zipball/f29c7d671afc5c4e1140bd7b9f2749e827902a1e", + "reference": "f29c7d671afc5c4e1140bd7b9f2749e827902a1e", "shasum": "" }, "require": { @@ -1033,31 +968,31 @@ "ext-pcre": "*", "ext-reflection": "*", "ext-simplexml": "*", - "fidry/cpu-core-counter": "^1.1.0", - "jean85/pretty-package-versions": "^2.0.5", + "fidry/cpu-core-counter": "^1.2.0", + "jean85/pretty-package-versions": "^2.0.6", "php": "~8.2.0 || ~8.3.0", - "phpunit/php-code-coverage": "^10.1.11 || ^11.0.0", - "phpunit/php-file-iterator": "^4.1.0 || ^5.0.0", - "phpunit/php-timer": "^6.0.0 || ^7.0.0", - "phpunit/phpunit": "^10.5.9 || ^11.0.3", - "sebastian/environment": "^6.0.1 || ^7.0.0", - "symfony/console": "^6.4.3 || ^7.0.3", - "symfony/process": "^6.4.3 || ^7.0.3" + "phpunit/php-code-coverage": "^11.0.6", + "phpunit/php-file-iterator": "^5.1.0", + "phpunit/php-timer": "^7.0.1", + "phpunit/phpunit": "^11.3.6", + "sebastian/environment": "^7.2.0", + "symfony/console": "^6.4.11 || ^7.1.4", + "symfony/process": "^6.4.8 || ^7.1.3" }, "require-dev": { "doctrine/coding-standard": "^12.0.0", "ext-pcov": "*", "ext-posix": "*", - "phpstan/phpstan": "^1.10.58", - "phpstan/phpstan-deprecation-rules": "^1.1.4", - "phpstan/phpstan-phpunit": "^1.3.15", - "phpstan/phpstan-strict-rules": "^1.5.2", - "squizlabs/php_codesniffer": "^3.9.0", - "symfony/filesystem": "^6.4.3 || ^7.0.3" + "infection/infection": "^0.29.6", + "phpstan/phpstan": "^1.12.4", + "phpstan/phpstan-deprecation-rules": "^1.2.1", + "phpstan/phpstan-phpunit": "^1.4.0", + "phpstan/phpstan-strict-rules": "^1.6.0", + "squizlabs/php_codesniffer": "^3.10.3", + "symfony/filesystem": "^6.4.9 || ^7.1.2" }, "bin": [ "bin/paratest", - "bin/paratest.bat", "bin/paratest_for_phpstorm" ], "type": "library", @@ -1094,7 +1029,7 @@ ], "support": { "issues": "https://github.com/paratestphp/paratest/issues", - "source": "https://github.com/paratestphp/paratest/tree/v7.4.3" + "source": "https://github.com/paratestphp/paratest/tree/v7.5.5" }, "funding": [ { @@ -1106,7 +1041,7 @@ "type": "paypal" } ], - "time": "2024-02-20T07:24:02+00:00" + "time": "2024-09-20T12:57:46+00:00" }, { "name": "brick/math", @@ -1394,30 +1329,29 @@ }, { "name": "cviebrock/eloquent-sluggable", - "version": "10.0.0", + "version": "11.0.0", "source": { "type": "git", "url": "https://github.com/cviebrock/eloquent-sluggable.git", - "reference": "92f456b10337ca97c1cccfcc853a1cf51d2cedd0" + "reference": "8fafec4b3c61e1b87ec9cbe728a75ce3b6ca1c06" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/cviebrock/eloquent-sluggable/zipball/92f456b10337ca97c1cccfcc853a1cf51d2cedd0", - "reference": "92f456b10337ca97c1cccfcc853a1cf51d2cedd0", + "url": "https://api.github.com/repos/cviebrock/eloquent-sluggable/zipball/8fafec4b3c61e1b87ec9cbe728a75ce3b6ca1c06", + "reference": "8fafec4b3c61e1b87ec9cbe728a75ce3b6ca1c06", "shasum": "" }, "require": { "cocur/slugify": "^4.3", - "illuminate/config": "^10.0", - "illuminate/database": "^10.0", - "illuminate/support": "^10.0", - "php": "^8.1" + "illuminate/config": "^11.0", + "illuminate/database": "^11.0", + "illuminate/support": "^11.0", + "php": "^8.2" }, "require-dev": { - "limedeck/phpunit-detailed-printer": "^6.0", "mockery/mockery": "^1.4.4", - "orchestra/testbench": "^8.0", - "pestphp/pest": "2.x-dev" + "orchestra/testbench": "^9.0", + "pestphp/pest": "^2.28" }, "type": "library", "extra": { @@ -1425,6 +1359,9 @@ "providers": [ "Cviebrock\\EloquentSluggable\\ServiceProvider" ] + }, + "branch-alias": { + "dev-master": "11.0.x-dev" } }, "autoload": { @@ -1454,7 +1391,7 @@ ], "support": { "issues": "https://github.com/cviebrock/eloquent-sluggable/issues", - "source": "https://github.com/cviebrock/eloquent-sluggable/tree/10.0.0" + "source": "https://github.com/cviebrock/eloquent-sluggable/tree/11.0.0" }, "funding": [ { @@ -1462,7 +1399,7 @@ "type": "github" } ], - "time": "2023-02-16T23:01:35+00:00" + "time": "2024-03-13T02:44:01+00:00" }, { "name": "daverandom/libdns", @@ -3230,27 +3167,28 @@ }, { "name": "inertiajs/inertia-laravel", - "version": "v0.6.11", + "version": "v1.3.0", "source": { "type": "git", "url": "https://github.com/inertiajs/inertia-laravel.git", - "reference": "2a1e19048f95c0e4adb2b2733f9119e49c4fc09f" + "reference": "36730d13b1dab9017069004fd458b3e67449a326" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/inertiajs/inertia-laravel/zipball/2a1e19048f95c0e4adb2b2733f9119e49c4fc09f", - "reference": "2a1e19048f95c0e4adb2b2733f9119e49c4fc09f", + "url": "https://api.github.com/repos/inertiajs/inertia-laravel/zipball/36730d13b1dab9017069004fd458b3e67449a326", + "reference": "36730d13b1dab9017069004fd458b3e67449a326", "shasum": "" }, "require": { "ext-json": "*", - "laravel/framework": "^6.0|^7.0|^8.74|^9.0|^10.0", - "php": "^7.2|~8.0.0|~8.1.0|~8.2.0|~8.3.0" + "laravel/framework": "^8.74|^9.0|^10.0|^11.0", + "php": "^7.3|~8.0.0|~8.1.0|~8.2.0|~8.3.0", + "symfony/console": "^5.3|^6.0|^7.0" }, "require-dev": { "mockery/mockery": "^1.3.3", - "orchestra/testbench": "^4.0|^5.0|^6.4|^7.0|^8.0", - "phpunit/phpunit": "^8.0|^9.5.8", + "orchestra/testbench": "^6.4|^7.0|^8.0|^9.0", + "phpunit/phpunit": "^8.0|^9.5.8|^10.4", "roave/security-advisories": "dev-master" }, "suggest": { @@ -3262,6 +3200,9 @@ "providers": [ "Inertia\\ServiceProvider" ] + }, + "branch-alias": { + "dev-master": "1.x-dev" } }, "autoload": { @@ -3290,7 +3231,7 @@ ], "support": { "issues": "https://github.com/inertiajs/inertia-laravel/issues", - "source": "https://github.com/inertiajs/inertia-laravel/tree/v0.6.11" + "source": "https://github.com/inertiajs/inertia-laravel/tree/v1.3.0" }, "funding": [ { @@ -3298,7 +3239,7 @@ "type": "github" } ], - "time": "2023-10-27T10:59:02+00:00" + "time": "2024-06-13T01:25:09+00:00" }, { "name": "jean85/pretty-package-versions", @@ -3419,16 +3360,16 @@ }, { "name": "laravel/framework", - "version": "v10.48.22", + "version": "v11.23.5", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "c4ea52bb044faef4a103d7dd81746c01b2ec860e" + "reference": "16b31ab0e1dad5cb2ed6dcc1818c02f02fc48453" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/c4ea52bb044faef4a103d7dd81746c01b2ec860e", - "reference": "c4ea52bb044faef4a103d7dd81746c01b2ec860e", + "url": "https://api.github.com/repos/laravel/framework/zipball/16b31ab0e1dad5cb2ed6dcc1818c02f02fc48453", + "reference": "16b31ab0e1dad5cb2ed6dcc1818c02f02fc48453", "shasum": "" }, "require": { @@ -3444,44 +3385,44 @@ "ext-openssl": "*", "ext-session": "*", "ext-tokenizer": "*", - "fruitcake/php-cors": "^1.2", + "fruitcake/php-cors": "^1.3", + "guzzlehttp/guzzle": "^7.8", "guzzlehttp/uri-template": "^1.0", - "laravel/prompts": "^0.1.9", + "laravel/prompts": "^0.1.18", "laravel/serializable-closure": "^1.3", "league/commonmark": "^2.2.1", "league/flysystem": "^3.8.0", "monolog/monolog": "^3.0", - "nesbot/carbon": "^2.67", - "nunomaduro/termwind": "^1.13", - "php": "^8.1", + "nesbot/carbon": "^2.72.2|^3.0", + "nunomaduro/termwind": "^2.0", + "php": "^8.2", "psr/container": "^1.1.1|^2.0.1", "psr/log": "^1.0|^2.0|^3.0", "psr/simple-cache": "^1.0|^2.0|^3.0", "ramsey/uuid": "^4.7", - "symfony/console": "^6.2", - "symfony/error-handler": "^6.2", - "symfony/finder": "^6.2", - "symfony/http-foundation": "^6.4", - "symfony/http-kernel": "^6.2", - "symfony/mailer": "^6.2", - "symfony/mime": "^6.2", - "symfony/process": "^6.2", - "symfony/routing": "^6.2", - "symfony/uid": "^6.2", - "symfony/var-dumper": "^6.2", + "symfony/console": "^7.0", + "symfony/error-handler": "^7.0", + "symfony/finder": "^7.0", + "symfony/http-foundation": "^7.0", + "symfony/http-kernel": "^7.0", + "symfony/mailer": "^7.0", + "symfony/mime": "^7.0", + "symfony/polyfill-php83": "^1.28", + "symfony/process": "^7.0", + "symfony/routing": "^7.0", + "symfony/uid": "^7.0", + "symfony/var-dumper": "^7.0", "tijsverkoyen/css-to-inline-styles": "^2.2.5", "vlucas/phpdotenv": "^5.4.1", "voku/portable-ascii": "^2.0" }, "conflict": { - "carbonphp/carbon-doctrine-types": ">=3.0", - "doctrine/dbal": ">=4.0", "mockery/mockery": "1.6.8", - "phpunit/phpunit": ">=11.0.0", "tightenco/collect": "<5.5.33" }, "provide": { "psr/container-implementation": "1.1|2.0", + "psr/log-implementation": "1.0|2.0|3.0", "psr/simple-cache-implementation": "1.0|2.0|3.0" }, "replace": { @@ -3490,6 +3431,7 @@ "illuminate/bus": "self.version", "illuminate/cache": "self.version", "illuminate/collections": "self.version", + "illuminate/concurrency": "self.version", "illuminate/conditionable": "self.version", "illuminate/config": "self.version", "illuminate/console": "self.version", @@ -3517,36 +3459,35 @@ "illuminate/testing": "self.version", "illuminate/translation": "self.version", "illuminate/validation": "self.version", - "illuminate/view": "self.version" + "illuminate/view": "self.version", + "spatie/once": "*" }, "require-dev": { "ably/ably-php": "^1.0", "aws/aws-sdk-php": "^3.235.5", - "doctrine/dbal": "^3.5.1", "ext-gmp": "*", - "fakerphp/faker": "^1.21", - "guzzlehttp/guzzle": "^7.5", + "fakerphp/faker": "^1.23", "league/flysystem-aws-s3-v3": "^3.0", "league/flysystem-ftp": "^3.0", "league/flysystem-path-prefixing": "^3.3", "league/flysystem-read-only": "^3.3", "league/flysystem-sftp-v3": "^3.0", - "mockery/mockery": "^1.5.1", + "mockery/mockery": "^1.6", "nyholm/psr7": "^1.2", - "orchestra/testbench-core": "^8.23.4", - "pda/pheanstalk": "^4.0", - "phpstan/phpstan": "^1.4.7", - "phpunit/phpunit": "^10.0.7", + "orchestra/testbench-core": "^9.4.0", + "pda/pheanstalk": "^5.0", + "phpstan/phpstan": "^1.11.5", + "phpunit/phpunit": "^10.5|^11.0", "predis/predis": "^2.0.2", - "symfony/cache": "^6.2", - "symfony/http-client": "^6.2.4", - "symfony/psr-http-message-bridge": "^2.0" + "resend/resend-php": "^0.10.0", + "symfony/cache": "^7.0", + "symfony/http-client": "^7.0", + "symfony/psr-http-message-bridge": "^7.0" }, "suggest": { "ably/ably-php": "Required to use the Ably broadcast driver (^1.0).", "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage, and SES mail driver (^3.235.5).", - "brianium/paratest": "Required to run tests in parallel (^6.0).", - "doctrine/dbal": "Required to rename columns and drop SQLite columns (^3.5.1).", + "brianium/paratest": "Required to run tests in parallel (^7.0|^8.0).", "ext-apcu": "Required to use the APC cache driver.", "ext-fileinfo": "Required to use the Filesystem class.", "ext-ftp": "Required to use the Flysystem FTP driver.", @@ -3555,34 +3496,34 @@ "ext-pcntl": "Required to use all features of the queue worker and console signal trapping.", "ext-pdo": "Required to use all database features.", "ext-posix": "Required to use all features of the queue worker.", - "ext-redis": "Required to use the Redis cache and queue drivers (^4.0|^5.0).", + "ext-redis": "Required to use the Redis cache and queue drivers (^4.0|^5.0|^6.0).", "fakerphp/faker": "Required to use the eloquent factory builder (^1.9.1).", "filp/whoops": "Required for friendly error pages in development (^2.14.3).", - "guzzlehttp/guzzle": "Required to use the HTTP Client and the ping methods on schedules (^7.5).", "laravel/tinker": "Required to use the tinker console command (^2.0).", "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^3.0).", "league/flysystem-ftp": "Required to use the Flysystem FTP driver (^3.0).", "league/flysystem-path-prefixing": "Required to use the scoped driver (^3.3).", "league/flysystem-read-only": "Required to use read-only disks (^3.3)", "league/flysystem-sftp-v3": "Required to use the Flysystem SFTP driver (^3.0).", - "mockery/mockery": "Required to use mocking (^1.5.1).", + "mockery/mockery": "Required to use mocking (^1.6).", "nyholm/psr7": "Required to use PSR-7 bridging features (^1.2).", - "pda/pheanstalk": "Required to use the beanstalk queue driver (^4.0).", - "phpunit/phpunit": "Required to use assertions and run tests (^9.5.8|^10.0.7).", + "pda/pheanstalk": "Required to use the beanstalk queue driver (^5.0).", + "phpunit/phpunit": "Required to use assertions and run tests (^10.5|^11.0).", "predis/predis": "Required to use the predis connector (^2.0.2).", "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).", "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^6.0|^7.0).", - "symfony/cache": "Required to PSR-6 cache bridge (^6.2).", - "symfony/filesystem": "Required to enable support for relative symbolic links (^6.2).", - "symfony/http-client": "Required to enable support for the Symfony API mail transports (^6.2).", - "symfony/mailgun-mailer": "Required to enable support for the Mailgun mail transport (^6.2).", - "symfony/postmark-mailer": "Required to enable support for the Postmark mail transport (^6.2).", - "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^2.0)." + "resend/resend-php": "Required to enable support for the Resend mail transport (^0.10.0).", + "symfony/cache": "Required to PSR-6 cache bridge (^7.0).", + "symfony/filesystem": "Required to enable support for relative symbolic links (^7.0).", + "symfony/http-client": "Required to enable support for the Symfony API mail transports (^7.0).", + "symfony/mailgun-mailer": "Required to enable support for the Mailgun mail transport (^7.0).", + "symfony/postmark-mailer": "Required to enable support for the Postmark mail transport (^7.0).", + "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^7.0)." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "10.x-dev" + "dev-master": "11.x-dev" } }, "autoload": { @@ -3591,6 +3532,7 @@ "src/Illuminate/Events/functions.php", "src/Illuminate/Filesystem/functions.php", "src/Illuminate/Foundation/helpers.php", + "src/Illuminate/Log/functions.php", "src/Illuminate/Support/helpers.php" ], "psr-4": { @@ -3622,7 +3564,7 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2024-09-12T15:00:09+00:00" + "time": "2024-09-13T13:36:30+00:00" }, { "name": "laravel/horizon", @@ -3705,48 +3647,47 @@ }, { "name": "laravel/passport", - "version": "v11.10.6", + "version": "12.x-dev", "source": { "type": "git", "url": "https://github.com/laravel/passport.git", - "reference": "2642f360c51dfde3a6ea60f86ae5d9a8c0caf3cf" + "reference": "abb3389895c5e83eb90ccddf59cde367593d2e99" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/passport/zipball/2642f360c51dfde3a6ea60f86ae5d9a8c0caf3cf", - "reference": "2642f360c51dfde3a6ea60f86ae5d9a8c0caf3cf", + "url": "https://api.github.com/repos/laravel/passport/zipball/abb3389895c5e83eb90ccddf59cde367593d2e99", + "reference": "abb3389895c5e83eb90ccddf59cde367593d2e99", "shasum": "" }, "require": { "ext-json": "*", "firebase/php-jwt": "^6.4", - "illuminate/auth": "^9.0|^10.0", - "illuminate/console": "^9.0|^10.0", - "illuminate/container": "^9.0|^10.0", - "illuminate/contracts": "^9.0|^10.0", - "illuminate/cookie": "^9.0|^10.0", - "illuminate/database": "^9.0|^10.0", - "illuminate/encryption": "^9.0|^10.0", - "illuminate/http": "^9.0|^10.0", - "illuminate/support": "^9.0|^10.0", + "illuminate/auth": "^9.21|^10.0|^11.0", + "illuminate/console": "^9.21|^10.0|^11.0", + "illuminate/container": "^9.21|^10.0|^11.0", + "illuminate/contracts": "^9.21|^10.0|^11.0", + "illuminate/cookie": "^9.21|^10.0|^11.0", + "illuminate/database": "^9.21|^10.0|^11.0", + "illuminate/encryption": "^9.21|^10.0|^11.0", + "illuminate/http": "^9.21|^10.0|^11.0", + "illuminate/support": "^9.21|^10.0|^11.0", "lcobucci/jwt": "^4.3|^5.0", "league/oauth2-server": "^8.5.3", "nyholm/psr7": "^1.5", "php": "^8.0", "phpseclib/phpseclib": "^2.0|^3.0", - "symfony/psr-http-message-bridge": "^2.1" + "symfony/console": "^6.0|^7.0", + "symfony/psr-http-message-bridge": "^2.1|^6.0|^7.0" }, "require-dev": { "mockery/mockery": "^1.0", - "orchestra/testbench": "^7.31|^8.11", + "orchestra/testbench": "^7.35|^8.14|^9.0", "phpstan/phpstan": "^1.10", - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^9.3|^10.5" }, + "default-branch": true, "type": "library", "extra": { - "branch-alias": { - "dev-master": "11.x-dev" - }, "laravel": { "providers": [ "Laravel\\Passport\\PassportServiceProvider" @@ -3779,7 +3720,7 @@ "issues": "https://github.com/laravel/passport/issues", "source": "https://github.com/laravel/passport" }, - "time": "2024-03-01T11:11:18+00:00" + "time": "2024-09-03T10:11:23+00:00" }, { "name": "laravel/prompts", @@ -3841,43 +3782,48 @@ }, { "name": "laravel/scout", - "version": "v9.8.1", + "version": "v10.11.3", "source": { "type": "git", "url": "https://github.com/laravel/scout.git", - "reference": "38595717b396ce733d432b82e3225fa4e0d6c8ef" + "reference": "642b4750127b5242a089571c9314037a7453cc0a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/scout/zipball/38595717b396ce733d432b82e3225fa4e0d6c8ef", - "reference": "38595717b396ce733d432b82e3225fa4e0d6c8ef", + "url": "https://api.github.com/repos/laravel/scout/zipball/642b4750127b5242a089571c9314037a7453cc0a", + "reference": "642b4750127b5242a089571c9314037a7453cc0a", "shasum": "" }, "require": { - "illuminate/bus": "^8.0|^9.0|^10.0", - "illuminate/contracts": "^8.0|^9.0|^10.0", - "illuminate/database": "^8.0|^9.0|^10.0", - "illuminate/http": "^8.0|^9.0|^10.0", - "illuminate/pagination": "^8.0|^9.0|^10.0", - "illuminate/queue": "^8.0|^9.0|^10.0", - "illuminate/support": "^8.0|^9.0|^10.0", - "php": "^7.3|^8.0" + "illuminate/bus": "^9.0|^10.0|^11.0", + "illuminate/contracts": "^9.0|^10.0|^11.0", + "illuminate/database": "^9.0|^10.0|^11.0", + "illuminate/http": "^9.0|^10.0|^11.0", + "illuminate/pagination": "^9.0|^10.0|^11.0", + "illuminate/queue": "^9.0|^10.0|^11.0", + "illuminate/support": "^9.0|^10.0|^11.0", + "php": "^8.0", + "symfony/console": "^6.0|^7.0" }, "require-dev": { - "meilisearch/meilisearch-php": "^0.19", + "algolia/algoliasearch-client-php": "^3.2", + "meilisearch/meilisearch-php": "^1.0", "mockery/mockery": "^1.0", - "orchestra/testbench": "^6.17|^7.0|^8.0", + "orchestra/testbench": "^7.31|^8.11|^9.0", "php-http/guzzle7-adapter": "^1.0", - "phpunit/phpunit": "^9.3" + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^9.3|^10.4", + "typesense/typesense-php": "^4.9.3" }, "suggest": { "algolia/algoliasearch-client-php": "Required to use the Algolia engine (^3.2).", - "meilisearch/meilisearch-php": "Required to use the MeiliSearch engine (^0.23)." + "meilisearch/meilisearch-php": "Required to use the Meilisearch engine (^1.0).", + "typesense/typesense-php": "Required to use the Typesense engine (^4.9)." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "9.x-dev" + "dev-master": "10.x-dev" }, "laravel": { "providers": [ @@ -3910,7 +3856,7 @@ "issues": "https://github.com/laravel/scout/issues", "source": "https://github.com/laravel/scout" }, - "time": "2023-02-14T16:53:14+00:00" + "time": "2024-09-11T21:32:42+00:00" }, { "name": "laravel/serializable-closure", @@ -3975,37 +3921,35 @@ }, { "name": "laravel/telescope", - "version": "v4.17.6", + "version": "v5.2.2", "source": { "type": "git", "url": "https://github.com/laravel/telescope.git", - "reference": "2d453dc629b27e8cf39fb1217aba062f8c54e690" + "reference": "daaf95dee9fab2dd80f59b5f6611c6c0eff44878" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/telescope/zipball/2d453dc629b27e8cf39fb1217aba062f8c54e690", - "reference": "2d453dc629b27e8cf39fb1217aba062f8c54e690", + "url": "https://api.github.com/repos/laravel/telescope/zipball/daaf95dee9fab2dd80f59b5f6611c6c0eff44878", + "reference": "daaf95dee9fab2dd80f59b5f6611c6c0eff44878", "shasum": "" }, "require": { "ext-json": "*", - "laravel/framework": "^8.37|^9.0|^10.0", + "laravel/framework": "^8.37|^9.0|^10.0|^11.0", "php": "^8.0", - "symfony/var-dumper": "^5.0|^6.0" + "symfony/console": "^5.3|^6.0|^7.0", + "symfony/var-dumper": "^5.0|^6.0|^7.0" }, "require-dev": { "ext-gd": "*", "guzzlehttp/guzzle": "^6.0|^7.0", - "laravel/octane": "^1.4", - "orchestra/testbench": "^6.0|^7.0|^8.0", + "laravel/octane": "^1.4|^2.0|dev-develop", + "orchestra/testbench": "^6.40|^7.37|^8.17|^9.0", "phpstan/phpstan": "^1.10", - "phpunit/phpunit": "^9.0" + "phpunit/phpunit": "^9.0|^10.5" }, "type": "library", "extra": { - "branch-alias": { - "dev-master": "4.x-dev" - }, "laravel": { "providers": [ "Laravel\\Telescope\\TelescopeServiceProvider" @@ -4040,9 +3984,9 @@ ], "support": { "issues": "https://github.com/laravel/telescope/issues", - "source": "https://github.com/laravel/telescope/tree/v4.17.6" + "source": "https://github.com/laravel/telescope/tree/v5.2.2" }, - "time": "2024-02-08T15:04:38+00:00" + "time": "2024-08-26T12:40:52+00:00" }, { "name": "laravel/tinker", @@ -5839,42 +5783,41 @@ }, { "name": "nesbot/carbon", - "version": "2.72.5", + "version": "3.8.0", "source": { "type": "git", "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "afd46589c216118ecd48ff2b95d77596af1e57ed" + "reference": "bbd3eef89af8ba66a3aa7952b5439168fbcc529f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/afd46589c216118ecd48ff2b95d77596af1e57ed", - "reference": "afd46589c216118ecd48ff2b95d77596af1e57ed", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/bbd3eef89af8ba66a3aa7952b5439168fbcc529f", + "reference": "bbd3eef89af8ba66a3aa7952b5439168fbcc529f", "shasum": "" }, "require": { "carbonphp/carbon-doctrine-types": "*", "ext-json": "*", - "php": "^7.1.8 || ^8.0", + "php": "^8.1", "psr/clock": "^1.0", + "symfony/clock": "^6.3 || ^7.0", "symfony/polyfill-mbstring": "^1.0", - "symfony/polyfill-php80": "^1.16", - "symfony/translation": "^3.4 || ^4.0 || ^5.0 || ^6.0" + "symfony/translation": "^4.4.18 || ^5.2.1|| ^6.0 || ^7.0" }, "provide": { "psr/clock-implementation": "1.0" }, "require-dev": { - "doctrine/dbal": "^2.0 || ^3.1.4 || ^4.0", - "doctrine/orm": "^2.7 || ^3.0", - "friendsofphp/php-cs-fixer": "^3.0", - "kylekatarnls/multi-tester": "^2.0", - "ondrejmirtes/better-reflection": "*", - "phpmd/phpmd": "^2.9", - "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "^0.12.99 || ^1.7.14", - "phpunit/php-file-iterator": "^2.0.5 || ^3.0.6", - "phpunit/phpunit": "^7.5.20 || ^8.5.26 || ^9.5.20", - "squizlabs/php_codesniffer": "^3.4" + "doctrine/dbal": "^3.6.3 || ^4.0", + "doctrine/orm": "^2.15.2 || ^3.0", + "friendsofphp/php-cs-fixer": "^3.57.2", + "kylekatarnls/multi-tester": "^2.5.3", + "ondrejmirtes/better-reflection": "^6.25.0.4", + "phpmd/phpmd": "^2.15.0", + "phpstan/extension-installer": "^1.3.1", + "phpstan/phpstan": "^1.11.2", + "phpunit/phpunit": "^10.5.20", + "squizlabs/php_codesniffer": "^3.9.0" }, "bin": [ "bin/carbon" @@ -5942,7 +5885,7 @@ "type": "tidelift" } ], - "time": "2024-06-03T19:18:41+00:00" + "time": "2024-08-19T06:22:39+00:00" }, { "name": "nette/schema", @@ -6152,40 +6095,38 @@ }, { "name": "nunomaduro/collision", - "version": "v7.10.0", + "version": "v8.4.0", "source": { "type": "git", "url": "https://github.com/nunomaduro/collision.git", - "reference": "49ec67fa7b002712da8526678abd651c09f375b2" + "reference": "e7d1aa8ed753f63fa816932bbc89678238843b4a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/collision/zipball/49ec67fa7b002712da8526678abd651c09f375b2", - "reference": "49ec67fa7b002712da8526678abd651c09f375b2", + "url": "https://api.github.com/repos/nunomaduro/collision/zipball/e7d1aa8ed753f63fa816932bbc89678238843b4a", + "reference": "e7d1aa8ed753f63fa816932bbc89678238843b4a", "shasum": "" }, "require": { - "filp/whoops": "^2.15.3", - "nunomaduro/termwind": "^1.15.1", - "php": "^8.1.0", - "symfony/console": "^6.3.4" + "filp/whoops": "^2.15.4", + "nunomaduro/termwind": "^2.0.1", + "php": "^8.2.0", + "symfony/console": "^7.1.3" }, "conflict": { - "laravel/framework": ">=11.0.0" + "laravel/framework": "<11.0.0 || >=12.0.0", + "phpunit/phpunit": "<10.5.1 || >=12.0.0" }, "require-dev": { - "brianium/paratest": "^7.3.0", - "laravel/framework": "^10.28.0", - "laravel/pint": "^1.13.3", - "laravel/sail": "^1.25.0", - "laravel/sanctum": "^3.3.1", - "laravel/tinker": "^2.8.2", - "nunomaduro/larastan": "^2.6.4", - "orchestra/testbench-core": "^8.13.0", - "pestphp/pest": "^2.23.2", - "phpunit/phpunit": "^10.4.1", - "sebastian/environment": "^6.0.1", - "spatie/laravel-ignition": "^2.3.1" + "larastan/larastan": "^2.9.8", + "laravel/framework": "^11.19.0", + "laravel/pint": "^1.17.1", + "laravel/sail": "^1.31.0", + "laravel/sanctum": "^4.0.2", + "laravel/tinker": "^2.9.0", + "orchestra/testbench-core": "^9.2.3", + "pestphp/pest": "^2.35.0 || ^3.0.0", + "sebastian/environment": "^6.1.0 || ^7.0.0" }, "type": "library", "extra": { @@ -6193,6 +6134,9 @@ "providers": [ "NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider" ] + }, + "branch-alias": { + "dev-8.x": "8.x-dev" } }, "autoload": { @@ -6244,37 +6188,36 @@ "type": "patreon" } ], - "time": "2023-10-11T15:45:01+00:00" + "time": "2024-08-03T15:32:23+00:00" }, { "name": "nunomaduro/termwind", - "version": "v1.15.1", + "version": "v2.1.0", "source": { "type": "git", "url": "https://github.com/nunomaduro/termwind.git", - "reference": "8ab0b32c8caa4a2e09700ea32925441385e4a5dc" + "reference": "e5f21eade88689536c0cdad4c3cd75f3ed26e01a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/termwind/zipball/8ab0b32c8caa4a2e09700ea32925441385e4a5dc", - "reference": "8ab0b32c8caa4a2e09700ea32925441385e4a5dc", + "url": "https://api.github.com/repos/nunomaduro/termwind/zipball/e5f21eade88689536c0cdad4c3cd75f3ed26e01a", + "reference": "e5f21eade88689536c0cdad4c3cd75f3ed26e01a", "shasum": "" }, "require": { "ext-mbstring": "*", - "php": "^8.0", - "symfony/console": "^5.3.0|^6.0.0" + "php": "^8.2", + "symfony/console": "^7.0.4" }, "require-dev": { - "ergebnis/phpstan-rules": "^1.0.", - "illuminate/console": "^8.0|^9.0", - "illuminate/support": "^8.0|^9.0", - "laravel/pint": "^1.0.0", - "pestphp/pest": "^1.21.0", - "pestphp/pest-plugin-mock": "^1.0", - "phpstan/phpstan": "^1.4.6", - "phpstan/phpstan-strict-rules": "^1.1.0", - "symfony/var-dumper": "^5.2.7|^6.0.0", + "ergebnis/phpstan-rules": "^2.2.0", + "illuminate/console": "^11.1.1", + "laravel/pint": "^1.15.0", + "mockery/mockery": "^1.6.11", + "pestphp/pest": "^2.34.6", + "phpstan/phpstan": "^1.10.66", + "phpstan/phpstan-strict-rules": "^1.5.2", + "symfony/var-dumper": "^7.0.4", "thecodingmachine/phpstan-strict-rules": "^1.0.0" }, "type": "library", @@ -6283,6 +6226,9 @@ "providers": [ "Termwind\\Laravel\\TermwindServiceProvider" ] + }, + "branch-alias": { + "dev-2.x": "2.x-dev" } }, "autoload": { @@ -6314,7 +6260,7 @@ ], "support": { "issues": "https://github.com/nunomaduro/termwind/issues", - "source": "https://github.com/nunomaduro/termwind/tree/v1.15.1" + "source": "https://github.com/nunomaduro/termwind/tree/v2.1.0" }, "funding": [ { @@ -6330,7 +6276,7 @@ "type": "github" } ], - "time": "2023-02-08T01:06:31+00:00" + "time": "2024-09-05T15:25:50+00:00" }, { "name": "nyholm/psr7", @@ -6615,36 +6561,37 @@ }, { "name": "pestphp/pest", - "version": "v2.35.1", + "version": "v3.1.0", "source": { "type": "git", "url": "https://github.com/pestphp/pest.git", - "reference": "b13acb630df52c06123588d321823c31fc685545" + "reference": "5de0c2254ad8ef3271e0b9fa363772e43d6559b1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pestphp/pest/zipball/b13acb630df52c06123588d321823c31fc685545", - "reference": "b13acb630df52c06123588d321823c31fc685545", + "url": "https://api.github.com/repos/pestphp/pest/zipball/5de0c2254ad8ef3271e0b9fa363772e43d6559b1", + "reference": "5de0c2254ad8ef3271e0b9fa363772e43d6559b1", "shasum": "" }, "require": { - "brianium/paratest": "^7.3.1", - "nunomaduro/collision": "^7.10.0|^8.4.0", - "nunomaduro/termwind": "^1.15.1|^2.0.1", - "pestphp/pest-plugin": "^2.1.1", - "pestphp/pest-plugin-arch": "^2.7.0", - "php": "^8.1.0", - "phpunit/phpunit": "^10.5.17" + "brianium/paratest": "^7.5.4", + "nunomaduro/collision": "^8.4.0", + "nunomaduro/termwind": "^2.1.0", + "pestphp/pest-plugin": "^3.0.0", + "pestphp/pest-plugin-arch": "^3.0.0", + "pestphp/pest-plugin-mutate": "^3.0.4", + "php": "^8.2.0", + "phpunit/phpunit": "^11.3.6" }, "conflict": { - "phpunit/phpunit": ">10.5.17", - "sebastian/exporter": "<5.1.0", + "phpunit/phpunit": ">11.3.6", + "sebastian/exporter": "<6.0.0", "webmozart/assert": "<1.11.0" }, "require-dev": { - "pestphp/pest-dev-tools": "^2.16.0", - "pestphp/pest-plugin-type-coverage": "^2.8.5", - "symfony/process": "^6.4.0|^7.1.3" + "pestphp/pest-dev-tools": "^3.0.0", + "pestphp/pest-plugin-type-coverage": "^3.0.0", + "symfony/process": "^7.1.3" }, "bin": [ "bin/pest" @@ -6653,6 +6600,8 @@ "extra": { "pest": { "plugins": [ + "Pest\\Mutate\\Plugins\\Mutate", + "Pest\\Plugins\\Configuration", "Pest\\Plugins\\Bail", "Pest\\Plugins\\Cache", "Pest\\Plugins\\Coverage", @@ -6707,7 +6656,7 @@ ], "support": { "issues": "https://github.com/pestphp/pest/issues", - "source": "https://github.com/pestphp/pest/tree/v2.35.1" + "source": "https://github.com/pestphp/pest/tree/v3.1.0" }, "funding": [ { @@ -6719,34 +6668,34 @@ "type": "github" } ], - "time": "2024-08-20T21:41:50+00:00" + "time": "2024-09-19T22:39:07+00:00" }, { "name": "pestphp/pest-plugin", - "version": "v2.1.1", + "version": "v3.0.0", "source": { "type": "git", "url": "https://github.com/pestphp/pest-plugin.git", - "reference": "e05d2859e08c2567ee38ce8b005d044e72648c0b" + "reference": "e79b26c65bc11c41093b10150c1341cc5cdbea83" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pestphp/pest-plugin/zipball/e05d2859e08c2567ee38ce8b005d044e72648c0b", - "reference": "e05d2859e08c2567ee38ce8b005d044e72648c0b", + "url": "https://api.github.com/repos/pestphp/pest-plugin/zipball/e79b26c65bc11c41093b10150c1341cc5cdbea83", + "reference": "e79b26c65bc11c41093b10150c1341cc5cdbea83", "shasum": "" }, "require": { "composer-plugin-api": "^2.0.0", "composer-runtime-api": "^2.2.2", - "php": "^8.1" + "php": "^8.2" }, "conflict": { - "pestphp/pest": "<2.2.3" + "pestphp/pest": "<3.0.0" }, "require-dev": { - "composer/composer": "^2.5.8", - "pestphp/pest": "^2.16.0", - "pestphp/pest-dev-tools": "^2.16.0" + "composer/composer": "^2.7.9", + "pestphp/pest": "^3.0.0", + "pestphp/pest-dev-tools": "^3.0.0" }, "type": "composer-plugin", "extra": { @@ -6773,7 +6722,7 @@ "unit" ], "support": { - "source": "https://github.com/pestphp/pest-plugin/tree/v2.1.1" + "source": "https://github.com/pestphp/pest-plugin/tree/v3.0.0" }, "funding": [ { @@ -6789,31 +6738,30 @@ "type": "patreon" } ], - "time": "2023-08-22T08:40:06+00:00" + "time": "2024-09-08T23:21:41+00:00" }, { "name": "pestphp/pest-plugin-arch", - "version": "v2.7.0", + "version": "v3.0.0", "source": { "type": "git", "url": "https://github.com/pestphp/pest-plugin-arch.git", - "reference": "d23b2d7498475354522c3818c42ef355dca3fcda" + "reference": "0a27e55a270cfe73d8cb70551b91002ee2cb64b0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pestphp/pest-plugin-arch/zipball/d23b2d7498475354522c3818c42ef355dca3fcda", - "reference": "d23b2d7498475354522c3818c42ef355dca3fcda", + "url": "https://api.github.com/repos/pestphp/pest-plugin-arch/zipball/0a27e55a270cfe73d8cb70551b91002ee2cb64b0", + "reference": "0a27e55a270cfe73d8cb70551b91002ee2cb64b0", "shasum": "" }, "require": { - "nunomaduro/collision": "^7.10.0|^8.1.0", - "pestphp/pest-plugin": "^2.1.1", - "php": "^8.1", + "pestphp/pest-plugin": "^3.0.0", + "php": "^8.2", "ta-tikoma/phpunit-architecture-test": "^0.8.4" }, "require-dev": { - "pestphp/pest": "^2.33.0", - "pestphp/pest-dev-tools": "^2.16.0" + "pestphp/pest": "^3.0.0", + "pestphp/pest-dev-tools": "^3.0.0" }, "type": "library", "extra": { @@ -6848,7 +6796,7 @@ "unit" ], "support": { - "source": "https://github.com/pestphp/pest-plugin-arch/tree/v2.7.0" + "source": "https://github.com/pestphp/pest-plugin-arch/tree/v3.0.0" }, "funding": [ { @@ -6860,7 +6808,79 @@ "type": "github" } ], - "time": "2024-01-26T09:46:42+00:00" + "time": "2024-09-08T23:23:55+00:00" + }, + { + "name": "pestphp/pest-plugin-mutate", + "version": "v3.0.4", + "source": { + "type": "git", + "url": "https://github.com/pestphp/pest-plugin-mutate.git", + "reference": "33782fe8a373077b86b0c92b885896d8eacc138d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/pestphp/pest-plugin-mutate/zipball/33782fe8a373077b86b0c92b885896d8eacc138d", + "reference": "33782fe8a373077b86b0c92b885896d8eacc138d", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^5.2.0", + "pestphp/pest-plugin": "^3.0.0", + "php": "^8.2", + "psr/simple-cache": "^3.0.0" + }, + "require-dev": { + "pestphp/pest": "^3.0.8", + "pestphp/pest-dev-tools": "^3.0.0", + "pestphp/pest-plugin-type-coverage": "^3.0.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Pest\\Mutate\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Sandro Gehri", + "email": "sandrogehri@gmail.com" + } + ], + "description": "Mutates your code to find untested cases", + "keywords": [ + "framework", + "mutate", + "mutation", + "pest", + "php", + "plugin", + "test", + "testing", + "unit" + ], + "support": { + "source": "https://github.com/pestphp/pest-plugin-mutate/tree/v3.0.4" + }, + "funding": [ + { + "url": "https://www.paypal.com/paypalme/enunomaduro", + "type": "custom" + }, + { + "url": "https://github.com/gehrisandro", + "type": "github" + }, + { + "url": "https://github.com/nunomaduro", + "type": "github" + } + ], + "time": "2024-09-19T21:50:52+00:00" }, { "name": "phake/phake", @@ -7130,6 +7150,73 @@ }, "time": "2024-03-29T13:00:05+00:00" }, + { + "name": "phpdocumentor/reflection", + "version": "6.0.0", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/Reflection.git", + "reference": "61e2f1fe7683e9647b9ed8d9e53d08699385267d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/Reflection/zipball/61e2f1fe7683e9647b9ed8d9e53d08699385267d", + "reference": "61e2f1fe7683e9647b9ed8d9e53d08699385267d", + "shasum": "" + }, + "require": { + "nikic/php-parser": "~4.18 || ^5.0", + "php": "8.1.*|8.2.*|8.3.*", + "phpdocumentor/reflection-common": "^2.1", + "phpdocumentor/reflection-docblock": "^5", + "phpdocumentor/type-resolver": "^1.2", + "symfony/polyfill-php80": "^1.28", + "webmozart/assert": "^1.7" + }, + "require-dev": { + "dealerdirect/phpcodesniffer-composer-installer": "^1.0", + "doctrine/coding-standard": "^12.0", + "mikey179/vfsstream": "~1.2", + "mockery/mockery": "~1.6.0", + "phpspec/prophecy-phpunit": "^2.0", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan": "^1.8", + "phpstan/phpstan-webmozart-assert": "^1.2", + "phpunit/phpunit": "^10.0", + "psalm/phar": "^5.24", + "rector/rector": "^1.0.0", + "squizlabs/php_codesniffer": "^3.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-5.x": "5.3.x-dev", + "dev-6.x": "6.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\": "src/phpDocumentor" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Reflection library to do Static Analysis for PHP Projects", + "homepage": "http://www.phpdoc.org", + "keywords": [ + "phpDocumentor", + "phpdoc", + "reflection", + "static analysis" + ], + "support": { + "issues": "https://github.com/phpDocumentor/Reflection/issues", + "source": "https://github.com/phpDocumentor/Reflection/tree/6.0.0" + }, + "time": "2024-05-23T19:28:12+00:00" + }, { "name": "phpdocumentor/reflection-common", "version": "2.2.0", @@ -7643,35 +7730,35 @@ }, { "name": "phpunit/php-code-coverage", - "version": "10.1.16", + "version": "11.0.6", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "7e308268858ed6baedc8704a304727d20bc07c77" + "reference": "ebdffc9e09585dafa71b9bffcdb0a229d4704c45" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/7e308268858ed6baedc8704a304727d20bc07c77", - "reference": "7e308268858ed6baedc8704a304727d20bc07c77", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/ebdffc9e09585dafa71b9bffcdb0a229d4704c45", + "reference": "ebdffc9e09585dafa71b9bffcdb0a229d4704c45", "shasum": "" }, "require": { "ext-dom": "*", "ext-libxml": "*", "ext-xmlwriter": "*", - "nikic/php-parser": "^4.19.1 || ^5.1.0", - "php": ">=8.1", - "phpunit/php-file-iterator": "^4.1.0", - "phpunit/php-text-template": "^3.0.1", - "sebastian/code-unit-reverse-lookup": "^3.0.0", - "sebastian/complexity": "^3.2.0", - "sebastian/environment": "^6.1.0", - "sebastian/lines-of-code": "^2.0.2", - "sebastian/version": "^4.0.1", + "nikic/php-parser": "^5.1.0", + "php": ">=8.2", + "phpunit/php-file-iterator": "^5.0.1", + "phpunit/php-text-template": "^4.0.1", + "sebastian/code-unit-reverse-lookup": "^4.0.1", + "sebastian/complexity": "^4.0.1", + "sebastian/environment": "^7.2.0", + "sebastian/lines-of-code": "^3.0.1", + "sebastian/version": "^5.0.1", "theseer/tokenizer": "^1.2.3" }, "require-dev": { - "phpunit/phpunit": "^10.1" + "phpunit/phpunit": "^11.0" }, "suggest": { "ext-pcov": "PHP extension that provides line coverage", @@ -7680,7 +7767,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "10.1.x-dev" + "dev-main": "11.0.x-dev" } }, "autoload": { @@ -7709,7 +7796,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.16" + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/11.0.6" }, "funding": [ { @@ -7717,32 +7804,32 @@ "type": "github" } ], - "time": "2024-08-22T04:31:57+00:00" + "time": "2024-08-22T04:37:56+00:00" }, { "name": "phpunit/php-file-iterator", - "version": "4.1.0", + "version": "5.1.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "a95037b6d9e608ba092da1b23931e537cadc3c3c" + "reference": "118cfaaa8bc5aef3287bf315b6060b1174754af6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/a95037b6d9e608ba092da1b23931e537cadc3c3c", - "reference": "a95037b6d9e608ba092da1b23931e537cadc3c3c", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/118cfaaa8bc5aef3287bf315b6060b1174754af6", + "reference": "118cfaaa8bc5aef3287bf315b6060b1174754af6", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "4.0-dev" + "dev-main": "5.0-dev" } }, "autoload": { @@ -7770,7 +7857,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", "security": "https://github.com/sebastianbergmann/php-file-iterator/security/policy", - "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/4.1.0" + "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/5.1.0" }, "funding": [ { @@ -7778,28 +7865,28 @@ "type": "github" } ], - "time": "2023-08-31T06:24:48+00:00" + "time": "2024-08-27T05:02:59+00:00" }, { "name": "phpunit/php-invoker", - "version": "4.0.0", + "version": "5.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-invoker.git", - "reference": "f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7" + "reference": "c1ca3814734c07492b3d4c5f794f4b0995333da2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7", - "reference": "f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7", + "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/c1ca3814734c07492b3d4c5f794f4b0995333da2", + "reference": "c1ca3814734c07492b3d4c5f794f4b0995333da2", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { "ext-pcntl": "*", - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "suggest": { "ext-pcntl": "*" @@ -7807,7 +7894,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "4.0-dev" + "dev-main": "5.0-dev" } }, "autoload": { @@ -7833,7 +7920,8 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-invoker/issues", - "source": "https://github.com/sebastianbergmann/php-invoker/tree/4.0.0" + "security": "https://github.com/sebastianbergmann/php-invoker/security/policy", + "source": "https://github.com/sebastianbergmann/php-invoker/tree/5.0.1" }, "funding": [ { @@ -7841,32 +7929,32 @@ "type": "github" } ], - "time": "2023-02-03T06:56:09+00:00" + "time": "2024-07-03T05:07:44+00:00" }, { "name": "phpunit/php-text-template", - "version": "3.0.1", + "version": "4.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "0c7b06ff49e3d5072f057eb1fa59258bf287a748" + "reference": "3e0404dc6b300e6bf56415467ebcb3fe4f33e964" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/0c7b06ff49e3d5072f057eb1fa59258bf287a748", - "reference": "0c7b06ff49e3d5072f057eb1fa59258bf287a748", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/3e0404dc6b300e6bf56415467ebcb3fe4f33e964", + "reference": "3e0404dc6b300e6bf56415467ebcb3fe4f33e964", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "3.0-dev" + "dev-main": "4.0-dev" } }, "autoload": { @@ -7893,7 +7981,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/php-text-template/issues", "security": "https://github.com/sebastianbergmann/php-text-template/security/policy", - "source": "https://github.com/sebastianbergmann/php-text-template/tree/3.0.1" + "source": "https://github.com/sebastianbergmann/php-text-template/tree/4.0.1" }, "funding": [ { @@ -7901,32 +7989,32 @@ "type": "github" } ], - "time": "2023-08-31T14:07:24+00:00" + "time": "2024-07-03T05:08:43+00:00" }, { "name": "phpunit/php-timer", - "version": "6.0.0", + "version": "7.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "e2a2d67966e740530f4a3343fe2e030ffdc1161d" + "reference": "3b415def83fbcb41f991d9ebf16ae4ad8b7837b3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/e2a2d67966e740530f4a3343fe2e030ffdc1161d", - "reference": "e2a2d67966e740530f4a3343fe2e030ffdc1161d", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3b415def83fbcb41f991d9ebf16ae4ad8b7837b3", + "reference": "3b415def83fbcb41f991d9ebf16ae4ad8b7837b3", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "6.0-dev" + "dev-main": "7.0-dev" } }, "autoload": { @@ -7952,7 +8040,8 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-timer/issues", - "source": "https://github.com/sebastianbergmann/php-timer/tree/6.0.0" + "security": "https://github.com/sebastianbergmann/php-timer/security/policy", + "source": "https://github.com/sebastianbergmann/php-timer/tree/7.0.1" }, "funding": [ { @@ -7960,20 +8049,20 @@ "type": "github" } ], - "time": "2023-02-03T06:57:52+00:00" + "time": "2024-07-03T05:09:35+00:00" }, { "name": "phpunit/phpunit", - "version": "10.5.17", + "version": "11.3.6", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "c1f736a473d21957ead7e94fcc029f571895abf5" + "reference": "d62c45a19c665bb872c2a47023a0baf41a98bb2b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/c1f736a473d21957ead7e94fcc029f571895abf5", - "reference": "c1f736a473d21957ead7e94fcc029f571895abf5", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/d62c45a19c665bb872c2a47023a0baf41a98bb2b", + "reference": "d62c45a19c665bb872c2a47023a0baf41a98bb2b", "shasum": "" }, "require": { @@ -7983,26 +8072,25 @@ "ext-mbstring": "*", "ext-xml": "*", "ext-xmlwriter": "*", - "myclabs/deep-copy": "^1.10.1", - "phar-io/manifest": "^2.0.3", - "phar-io/version": "^3.0.2", - "php": ">=8.1", - "phpunit/php-code-coverage": "^10.1.5", - "phpunit/php-file-iterator": "^4.0", - "phpunit/php-invoker": "^4.0", - "phpunit/php-text-template": "^3.0", - "phpunit/php-timer": "^6.0", - "sebastian/cli-parser": "^2.0", - "sebastian/code-unit": "^2.0", - "sebastian/comparator": "^5.0", - "sebastian/diff": "^5.0", - "sebastian/environment": "^6.0", - "sebastian/exporter": "^5.1", - "sebastian/global-state": "^6.0.1", - "sebastian/object-enumerator": "^5.0", - "sebastian/recursion-context": "^5.0", - "sebastian/type": "^4.0", - "sebastian/version": "^4.0" + "myclabs/deep-copy": "^1.12.0", + "phar-io/manifest": "^2.0.4", + "phar-io/version": "^3.2.1", + "php": ">=8.2", + "phpunit/php-code-coverage": "^11.0.6", + "phpunit/php-file-iterator": "^5.1.0", + "phpunit/php-invoker": "^5.0.1", + "phpunit/php-text-template": "^4.0.1", + "phpunit/php-timer": "^7.0.1", + "sebastian/cli-parser": "^3.0.2", + "sebastian/code-unit": "^3.0.1", + "sebastian/comparator": "^6.1.0", + "sebastian/diff": "^6.0.2", + "sebastian/environment": "^7.2.0", + "sebastian/exporter": "^6.1.3", + "sebastian/global-state": "^7.0.2", + "sebastian/object-enumerator": "^6.0.1", + "sebastian/type": "^5.1.0", + "sebastian/version": "^5.0.1" }, "suggest": { "ext-soap": "To be able to generate mocks based on WSDL files" @@ -8013,7 +8101,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "10.5-dev" + "dev-main": "11.3-dev" } }, "autoload": { @@ -8045,7 +8133,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.17" + "source": "https://github.com/sebastianbergmann/phpunit/tree/11.3.6" }, "funding": [ { @@ -8061,7 +8149,7 @@ "type": "tidelift" } ], - "time": "2024-04-05T04:39:01+00:00" + "time": "2024-09-19T10:54:28+00:00" }, { "name": "psr/cache", @@ -9408,28 +9496,28 @@ }, { "name": "sebastian/cli-parser", - "version": "2.0.1", + "version": "3.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/cli-parser.git", - "reference": "c34583b87e7b7a8055bf6c450c2c77ce32a24084" + "reference": "15c5dd40dc4f38794d383bb95465193f5e0ae180" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/c34583b87e7b7a8055bf6c450c2c77ce32a24084", - "reference": "c34583b87e7b7a8055bf6c450c2c77ce32a24084", + "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/15c5dd40dc4f38794d383bb95465193f5e0ae180", + "reference": "15c5dd40dc4f38794d383bb95465193f5e0ae180", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "2.0-dev" + "dev-main": "3.0-dev" } }, "autoload": { @@ -9453,7 +9541,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/cli-parser/issues", "security": "https://github.com/sebastianbergmann/cli-parser/security/policy", - "source": "https://github.com/sebastianbergmann/cli-parser/tree/2.0.1" + "source": "https://github.com/sebastianbergmann/cli-parser/tree/3.0.2" }, "funding": [ { @@ -9461,32 +9549,32 @@ "type": "github" } ], - "time": "2024-03-02T07:12:49+00:00" + "time": "2024-07-03T04:41:36+00:00" }, { "name": "sebastian/code-unit", - "version": "2.0.0", + "version": "3.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/code-unit.git", - "reference": "a81fee9eef0b7a76af11d121767abc44c104e503" + "reference": "6bb7d09d6623567178cf54126afa9c2310114268" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/a81fee9eef0b7a76af11d121767abc44c104e503", - "reference": "a81fee9eef0b7a76af11d121767abc44c104e503", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/6bb7d09d6623567178cf54126afa9c2310114268", + "reference": "6bb7d09d6623567178cf54126afa9c2310114268", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "2.0-dev" + "dev-main": "3.0-dev" } }, "autoload": { @@ -9509,7 +9597,8 @@ "homepage": "https://github.com/sebastianbergmann/code-unit", "support": { "issues": "https://github.com/sebastianbergmann/code-unit/issues", - "source": "https://github.com/sebastianbergmann/code-unit/tree/2.0.0" + "security": "https://github.com/sebastianbergmann/code-unit/security/policy", + "source": "https://github.com/sebastianbergmann/code-unit/tree/3.0.1" }, "funding": [ { @@ -9517,32 +9606,32 @@ "type": "github" } ], - "time": "2023-02-03T06:58:43+00:00" + "time": "2024-07-03T04:44:28+00:00" }, { "name": "sebastian/code-unit-reverse-lookup", - "version": "3.0.0", + "version": "4.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", - "reference": "5e3a687f7d8ae33fb362c5c0743794bbb2420a1d" + "reference": "183a9b2632194febd219bb9246eee421dad8d45e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/5e3a687f7d8ae33fb362c5c0743794bbb2420a1d", - "reference": "5e3a687f7d8ae33fb362c5c0743794bbb2420a1d", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/183a9b2632194febd219bb9246eee421dad8d45e", + "reference": "183a9b2632194febd219bb9246eee421dad8d45e", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "3.0-dev" + "dev-main": "4.0-dev" } }, "autoload": { @@ -9564,7 +9653,8 @@ "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", "support": { "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", - "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/3.0.0" + "security": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/security/policy", + "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/4.0.1" }, "funding": [ { @@ -9572,36 +9662,36 @@ "type": "github" } ], - "time": "2023-02-03T06:59:15+00:00" + "time": "2024-07-03T04:45:54+00:00" }, { "name": "sebastian/comparator", - "version": "5.0.2", + "version": "6.1.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "2d3e04c3b4c1e84a5e7382221ad8883c8fbc4f53" + "reference": "fa37b9e2ca618cb051d71b60120952ee8ca8b03d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2d3e04c3b4c1e84a5e7382221ad8883c8fbc4f53", - "reference": "2d3e04c3b4c1e84a5e7382221ad8883c8fbc4f53", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/fa37b9e2ca618cb051d71b60120952ee8ca8b03d", + "reference": "fa37b9e2ca618cb051d71b60120952ee8ca8b03d", "shasum": "" }, "require": { "ext-dom": "*", "ext-mbstring": "*", - "php": ">=8.1", - "sebastian/diff": "^5.0", - "sebastian/exporter": "^5.0" + "php": ">=8.2", + "sebastian/diff": "^6.0", + "sebastian/exporter": "^6.0" }, "require-dev": { - "phpunit/phpunit": "^10.4" + "phpunit/phpunit": "^11.3" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "5.0-dev" + "dev-main": "6.1-dev" } }, "autoload": { @@ -9641,7 +9731,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/comparator/issues", "security": "https://github.com/sebastianbergmann/comparator/security/policy", - "source": "https://github.com/sebastianbergmann/comparator/tree/5.0.2" + "source": "https://github.com/sebastianbergmann/comparator/tree/6.1.0" }, "funding": [ { @@ -9649,33 +9739,33 @@ "type": "github" } ], - "time": "2024-08-12T06:03:08+00:00" + "time": "2024-09-11T15:42:56+00:00" }, { "name": "sebastian/complexity", - "version": "3.2.0", + "version": "4.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/complexity.git", - "reference": "68ff824baeae169ec9f2137158ee529584553799" + "reference": "ee41d384ab1906c68852636b6de493846e13e5a0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/68ff824baeae169ec9f2137158ee529584553799", - "reference": "68ff824baeae169ec9f2137158ee529584553799", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/ee41d384ab1906c68852636b6de493846e13e5a0", + "reference": "ee41d384ab1906c68852636b6de493846e13e5a0", "shasum": "" }, "require": { - "nikic/php-parser": "^4.18 || ^5.0", - "php": ">=8.1" + "nikic/php-parser": "^5.0", + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "3.2-dev" + "dev-main": "4.0-dev" } }, "autoload": { @@ -9699,7 +9789,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/complexity/issues", "security": "https://github.com/sebastianbergmann/complexity/security/policy", - "source": "https://github.com/sebastianbergmann/complexity/tree/3.2.0" + "source": "https://github.com/sebastianbergmann/complexity/tree/4.0.1" }, "funding": [ { @@ -9707,33 +9797,33 @@ "type": "github" } ], - "time": "2023-12-21T08:37:17+00:00" + "time": "2024-07-03T04:49:50+00:00" }, { "name": "sebastian/diff", - "version": "5.1.1", + "version": "6.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "c41e007b4b62af48218231d6c2275e4c9b975b2e" + "reference": "b4ccd857127db5d41a5b676f24b51371d76d8544" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/c41e007b4b62af48218231d6c2275e4c9b975b2e", - "reference": "c41e007b4b62af48218231d6c2275e4c9b975b2e", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/b4ccd857127db5d41a5b676f24b51371d76d8544", + "reference": "b4ccd857127db5d41a5b676f24b51371d76d8544", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0", - "symfony/process": "^6.4" + "phpunit/phpunit": "^11.0", + "symfony/process": "^4.2 || ^5" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "5.1-dev" + "dev-main": "6.0-dev" } }, "autoload": { @@ -9766,7 +9856,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/diff/issues", "security": "https://github.com/sebastianbergmann/diff/security/policy", - "source": "https://github.com/sebastianbergmann/diff/tree/5.1.1" + "source": "https://github.com/sebastianbergmann/diff/tree/6.0.2" }, "funding": [ { @@ -9774,27 +9864,27 @@ "type": "github" } ], - "time": "2024-03-02T07:15:17+00:00" + "time": "2024-07-03T04:53:05+00:00" }, { "name": "sebastian/environment", - "version": "6.1.0", + "version": "7.2.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "8074dbcd93529b357029f5cc5058fd3e43666984" + "reference": "855f3ae0ab316bbafe1ba4e16e9f3c078d24a0c5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/8074dbcd93529b357029f5cc5058fd3e43666984", - "reference": "8074dbcd93529b357029f5cc5058fd3e43666984", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/855f3ae0ab316bbafe1ba4e16e9f3c078d24a0c5", + "reference": "855f3ae0ab316bbafe1ba4e16e9f3c078d24a0c5", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "suggest": { "ext-posix": "*" @@ -9802,7 +9892,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "6.1-dev" + "dev-main": "7.2-dev" } }, "autoload": { @@ -9830,7 +9920,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/environment/issues", "security": "https://github.com/sebastianbergmann/environment/security/policy", - "source": "https://github.com/sebastianbergmann/environment/tree/6.1.0" + "source": "https://github.com/sebastianbergmann/environment/tree/7.2.0" }, "funding": [ { @@ -9838,34 +9928,34 @@ "type": "github" } ], - "time": "2024-03-23T08:47:14+00:00" + "time": "2024-07-03T04:54:44+00:00" }, { "name": "sebastian/exporter", - "version": "5.1.2", + "version": "6.1.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "955288482d97c19a372d3f31006ab3f37da47adf" + "reference": "c414673eee9a8f9d51bbf8d61fc9e3ef1e85b20e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/955288482d97c19a372d3f31006ab3f37da47adf", - "reference": "955288482d97c19a372d3f31006ab3f37da47adf", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/c414673eee9a8f9d51bbf8d61fc9e3ef1e85b20e", + "reference": "c414673eee9a8f9d51bbf8d61fc9e3ef1e85b20e", "shasum": "" }, "require": { "ext-mbstring": "*", - "php": ">=8.1", - "sebastian/recursion-context": "^5.0" + "php": ">=8.2", + "sebastian/recursion-context": "^6.0" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.2" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "5.1-dev" + "dev-main": "6.1-dev" } }, "autoload": { @@ -9908,7 +9998,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/exporter/issues", "security": "https://github.com/sebastianbergmann/exporter/security/policy", - "source": "https://github.com/sebastianbergmann/exporter/tree/5.1.2" + "source": "https://github.com/sebastianbergmann/exporter/tree/6.1.3" }, "funding": [ { @@ -9916,35 +10006,35 @@ "type": "github" } ], - "time": "2024-03-02T07:17:12+00:00" + "time": "2024-07-03T04:56:19+00:00" }, { "name": "sebastian/global-state", - "version": "6.0.2", + "version": "7.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "987bafff24ecc4c9ac418cab1145b96dd6e9cbd9" + "reference": "3be331570a721f9a4b5917f4209773de17f747d7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/987bafff24ecc4c9ac418cab1145b96dd6e9cbd9", - "reference": "987bafff24ecc4c9ac418cab1145b96dd6e9cbd9", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/3be331570a721f9a4b5917f4209773de17f747d7", + "reference": "3be331570a721f9a4b5917f4209773de17f747d7", "shasum": "" }, "require": { - "php": ">=8.1", - "sebastian/object-reflector": "^3.0", - "sebastian/recursion-context": "^5.0" + "php": ">=8.2", + "sebastian/object-reflector": "^4.0", + "sebastian/recursion-context": "^6.0" }, "require-dev": { "ext-dom": "*", - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "6.0-dev" + "dev-main": "7.0-dev" } }, "autoload": { @@ -9970,7 +10060,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/global-state/issues", "security": "https://github.com/sebastianbergmann/global-state/security/policy", - "source": "https://github.com/sebastianbergmann/global-state/tree/6.0.2" + "source": "https://github.com/sebastianbergmann/global-state/tree/7.0.2" }, "funding": [ { @@ -9978,33 +10068,33 @@ "type": "github" } ], - "time": "2024-03-02T07:19:19+00:00" + "time": "2024-07-03T04:57:36+00:00" }, { "name": "sebastian/lines-of-code", - "version": "2.0.2", + "version": "3.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/lines-of-code.git", - "reference": "856e7f6a75a84e339195d48c556f23be2ebf75d0" + "reference": "d36ad0d782e5756913e42ad87cb2890f4ffe467a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/856e7f6a75a84e339195d48c556f23be2ebf75d0", - "reference": "856e7f6a75a84e339195d48c556f23be2ebf75d0", + "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/d36ad0d782e5756913e42ad87cb2890f4ffe467a", + "reference": "d36ad0d782e5756913e42ad87cb2890f4ffe467a", "shasum": "" }, "require": { - "nikic/php-parser": "^4.18 || ^5.0", - "php": ">=8.1" + "nikic/php-parser": "^5.0", + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "2.0-dev" + "dev-main": "3.0-dev" } }, "autoload": { @@ -10028,7 +10118,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", "security": "https://github.com/sebastianbergmann/lines-of-code/security/policy", - "source": "https://github.com/sebastianbergmann/lines-of-code/tree/2.0.2" + "source": "https://github.com/sebastianbergmann/lines-of-code/tree/3.0.1" }, "funding": [ { @@ -10036,34 +10126,34 @@ "type": "github" } ], - "time": "2023-12-21T08:38:20+00:00" + "time": "2024-07-03T04:58:38+00:00" }, { "name": "sebastian/object-enumerator", - "version": "5.0.0", + "version": "6.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/object-enumerator.git", - "reference": "202d0e344a580d7f7d04b3fafce6933e59dae906" + "reference": "f5b498e631a74204185071eb41f33f38d64608aa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/202d0e344a580d7f7d04b3fafce6933e59dae906", - "reference": "202d0e344a580d7f7d04b3fafce6933e59dae906", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/f5b498e631a74204185071eb41f33f38d64608aa", + "reference": "f5b498e631a74204185071eb41f33f38d64608aa", "shasum": "" }, "require": { - "php": ">=8.1", - "sebastian/object-reflector": "^3.0", - "sebastian/recursion-context": "^5.0" + "php": ">=8.2", + "sebastian/object-reflector": "^4.0", + "sebastian/recursion-context": "^6.0" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "5.0-dev" + "dev-main": "6.0-dev" } }, "autoload": { @@ -10085,7 +10175,8 @@ "homepage": "https://github.com/sebastianbergmann/object-enumerator/", "support": { "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", - "source": "https://github.com/sebastianbergmann/object-enumerator/tree/5.0.0" + "security": "https://github.com/sebastianbergmann/object-enumerator/security/policy", + "source": "https://github.com/sebastianbergmann/object-enumerator/tree/6.0.1" }, "funding": [ { @@ -10093,32 +10184,32 @@ "type": "github" } ], - "time": "2023-02-03T07:08:32+00:00" + "time": "2024-07-03T05:00:13+00:00" }, { "name": "sebastian/object-reflector", - "version": "3.0.0", + "version": "4.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/object-reflector.git", - "reference": "24ed13d98130f0e7122df55d06c5c4942a577957" + "reference": "6e1a43b411b2ad34146dee7524cb13a068bb35f9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/24ed13d98130f0e7122df55d06c5c4942a577957", - "reference": "24ed13d98130f0e7122df55d06c5c4942a577957", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/6e1a43b411b2ad34146dee7524cb13a068bb35f9", + "reference": "6e1a43b411b2ad34146dee7524cb13a068bb35f9", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "3.0-dev" + "dev-main": "4.0-dev" } }, "autoload": { @@ -10140,7 +10231,8 @@ "homepage": "https://github.com/sebastianbergmann/object-reflector/", "support": { "issues": "https://github.com/sebastianbergmann/object-reflector/issues", - "source": "https://github.com/sebastianbergmann/object-reflector/tree/3.0.0" + "security": "https://github.com/sebastianbergmann/object-reflector/security/policy", + "source": "https://github.com/sebastianbergmann/object-reflector/tree/4.0.1" }, "funding": [ { @@ -10148,32 +10240,32 @@ "type": "github" } ], - "time": "2023-02-03T07:06:18+00:00" + "time": "2024-07-03T05:01:32+00:00" }, { "name": "sebastian/recursion-context", - "version": "5.0.0", + "version": "6.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "05909fb5bc7df4c52992396d0116aed689f93712" + "reference": "694d156164372abbd149a4b85ccda2e4670c0e16" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/05909fb5bc7df4c52992396d0116aed689f93712", - "reference": "05909fb5bc7df4c52992396d0116aed689f93712", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/694d156164372abbd149a4b85ccda2e4670c0e16", + "reference": "694d156164372abbd149a4b85ccda2e4670c0e16", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "5.0-dev" + "dev-main": "6.0-dev" } }, "autoload": { @@ -10203,7 +10295,8 @@ "homepage": "https://github.com/sebastianbergmann/recursion-context", "support": { "issues": "https://github.com/sebastianbergmann/recursion-context/issues", - "source": "https://github.com/sebastianbergmann/recursion-context/tree/5.0.0" + "security": "https://github.com/sebastianbergmann/recursion-context/security/policy", + "source": "https://github.com/sebastianbergmann/recursion-context/tree/6.0.2" }, "funding": [ { @@ -10211,32 +10304,32 @@ "type": "github" } ], - "time": "2023-02-03T07:05:40+00:00" + "time": "2024-07-03T05:10:34+00:00" }, { "name": "sebastian/type", - "version": "4.0.0", + "version": "5.1.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/type.git", - "reference": "462699a16464c3944eefc02ebdd77882bd3925bf" + "reference": "461b9c5da241511a2a0e8f240814fb23ce5c0aac" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/462699a16464c3944eefc02ebdd77882bd3925bf", - "reference": "462699a16464c3944eefc02ebdd77882bd3925bf", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/461b9c5da241511a2a0e8f240814fb23ce5c0aac", + "reference": "461b9c5da241511a2a0e8f240814fb23ce5c0aac", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.3" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "4.0-dev" + "dev-main": "5.1-dev" } }, "autoload": { @@ -10259,7 +10352,8 @@ "homepage": "https://github.com/sebastianbergmann/type", "support": { "issues": "https://github.com/sebastianbergmann/type/issues", - "source": "https://github.com/sebastianbergmann/type/tree/4.0.0" + "security": "https://github.com/sebastianbergmann/type/security/policy", + "source": "https://github.com/sebastianbergmann/type/tree/5.1.0" }, "funding": [ { @@ -10267,29 +10361,29 @@ "type": "github" } ], - "time": "2023-02-03T07:10:45+00:00" + "time": "2024-09-17T13:12:04+00:00" }, { "name": "sebastian/version", - "version": "4.0.1", + "version": "5.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/version.git", - "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17" + "reference": "45c9debb7d039ce9b97de2f749c2cf5832a06ac4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c51fa83a5d8f43f1402e3f32a005e6262244ef17", - "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/45c9debb7d039ce9b97de2f749c2cf5832a06ac4", + "reference": "45c9debb7d039ce9b97de2f749c2cf5832a06ac4", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "4.0-dev" + "dev-main": "5.0-dev" } }, "autoload": { @@ -10312,7 +10406,8 @@ "homepage": "https://github.com/sebastianbergmann/version", "support": { "issues": "https://github.com/sebastianbergmann/version/issues", - "source": "https://github.com/sebastianbergmann/version/tree/4.0.1" + "security": "https://github.com/sebastianbergmann/version/security/policy", + "source": "https://github.com/sebastianbergmann/version/tree/5.0.1" }, "funding": [ { @@ -10320,7 +10415,7 @@ "type": "github" } ], - "time": "2023-02-07T11:34:05+00:00" + "time": "2024-07-03T05:13:08+00:00" }, { "name": "spatie/backtrace", @@ -10740,43 +10835,43 @@ }, { "name": "spatie/laravel-data", - "version": "3.12.0", + "version": "4.9.0", "source": { "type": "git", "url": "https://github.com/spatie/laravel-data.git", - "reference": "d44e04839407bc32b029be59ba80090a5f720e91" + "reference": "1b7c105deddcb1331f245cccddd5b6f397213a86" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-data/zipball/d44e04839407bc32b029be59ba80090a5f720e91", - "reference": "d44e04839407bc32b029be59ba80090a5f720e91", + "url": "https://api.github.com/repos/spatie/laravel-data/zipball/1b7c105deddcb1331f245cccddd5b6f397213a86", + "reference": "1b7c105deddcb1331f245cccddd5b6f397213a86", "shasum": "" }, "require": { - "illuminate/contracts": "^9.30|^10.0|^11.0", + "illuminate/contracts": "^10.0|^11.0", "php": "^8.1", - "phpdocumentor/type-resolver": "^1.5", + "phpdocumentor/reflection": "^6.0", "spatie/laravel-package-tools": "^1.9.0", "spatie/php-structure-discoverer": "^2.0" }, "require-dev": { "fakerphp/faker": "^1.14", "friendsofphp/php-cs-fixer": "^3.0", - "inertiajs/inertia-laravel": "^0.6.3", + "inertiajs/inertia-laravel": "^1.2", + "livewire/livewire": "^3.0", "mockery/mockery": "^1.6", "nesbot/carbon": "^2.63", - "nette/php-generator": "^3.5", "nunomaduro/larastan": "^2.0", - "orchestra/testbench": "^7.6|^8.0", - "pestphp/pest": "^1.22", - "pestphp/pest-plugin-laravel": "^1.3", + "orchestra/testbench": "^8.0|^9.0", + "pestphp/pest": "^2.31", + "pestphp/pest-plugin-laravel": "^2.0", + "pestphp/pest-plugin-livewire": "^2.1", "phpbench/phpbench": "^1.2", "phpstan/extension-installer": "^1.1", - "phpunit/phpunit": "^9.3", + "phpunit/phpunit": "^10.0", "spatie/invade": "^1.0", - "spatie/laravel-typescript-transformer": "^2.1.6", - "spatie/pest-plugin-snapshots": "^1.1", - "spatie/phpunit-snapshot-assertions": "^4.2", + "spatie/laravel-typescript-transformer": "^2.3", + "spatie/pest-plugin-snapshots": "^2.1", "spatie/test-time": "^1.2" }, "type": "library", @@ -10789,8 +10884,7 @@ }, "autoload": { "psr-4": { - "Spatie\\LaravelData\\": "src", - "Spatie\\LaravelData\\Database\\Factories\\": "database/factories" + "Spatie\\LaravelData\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -10813,7 +10907,7 @@ ], "support": { "issues": "https://github.com/spatie/laravel-data/issues", - "source": "https://github.com/spatie/laravel-data/tree/3.12.0" + "source": "https://github.com/spatie/laravel-data/tree/4.9.0" }, "funding": [ { @@ -10821,7 +10915,7 @@ "type": "github" } ], - "time": "2024-04-24T09:27:45+00:00" + "time": "2024-09-10T13:25:26+00:00" }, { "name": "spatie/laravel-ignition", @@ -11085,39 +11179,39 @@ }, { "name": "spatie/laravel-settings", - "version": "2.8.3", + "version": "3.4.0", "source": { "type": "git", "url": "https://github.com/spatie/laravel-settings.git", - "reference": "9193603a3e02d19af9f2fd0d309ac2469b25d680" + "reference": "2da8cb5b051678725476b299ef8e13b2e5015260" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-settings/zipball/9193603a3e02d19af9f2fd0d309ac2469b25d680", - "reference": "9193603a3e02d19af9f2fd0d309ac2469b25d680", + "url": "https://api.github.com/repos/spatie/laravel-settings/zipball/2da8cb5b051678725476b299ef8e13b2e5015260", + "reference": "2da8cb5b051678725476b299ef8e13b2e5015260", "shasum": "" }, "require": { "ext-json": "*", - "illuminate/database": "^8.73|^9.0|^10.0", + "illuminate/database": "^8.73|^9.0|^10.0|^11.0", "php": "^7.4|^8.0", "phpdocumentor/type-resolver": "^1.5", "spatie/temporary-directory": "^1.3|^2.0" }, "require-dev": { "ext-redis": "*", + "larastan/larastan": "^2.0", "mockery/mockery": "^1.4", - "nunomaduro/larastan": "^2.0", - "orchestra/testbench": "^6.23|^7.0|^8.0", - "pestphp/pest": "^1.21", - "pestphp/pest-plugin-laravel": "^1.2", + "orchestra/testbench": "^6.23|^7.0|^8.0|^9.0", + "pestphp/pest": "^1.21|^2.0", + "pestphp/pest-plugin-laravel": "^1.2|^2.0", "phpstan/extension-installer": "^1.1", "phpstan/phpstan-deprecation-rules": "^1.0", "phpstan/phpstan-phpunit": "^1.0", - "phpunit/phpunit": "^9.5", - "spatie/laravel-data": "^1.0.0|^2.0.0", - "spatie/pest-plugin-snapshots": "^1.1", - "spatie/phpunit-snapshot-assertions": "^4.2", + "phpunit/phpunit": "^9.5|^10.0", + "spatie/laravel-data": "^1.0.0|^2.0.0|^4.0.0", + "spatie/pest-plugin-snapshots": "^1.1|^2.0", + "spatie/phpunit-snapshot-assertions": "^4.2|^5.0", "spatie/ray": "^1.36" }, "suggest": { @@ -11156,7 +11250,7 @@ ], "support": { "issues": "https://github.com/spatie/laravel-settings/issues", - "source": "https://github.com/spatie/laravel-settings/tree/2.8.3" + "source": "https://github.com/spatie/laravel-settings/tree/3.4.0" }, "funding": [ { @@ -11168,7 +11262,7 @@ "type": "github" } ], - "time": "2023-03-30T12:47:39+00:00" + "time": "2024-09-20T13:48:17+00:00" }, { "name": "spatie/php-structure-discoverer", @@ -11312,48 +11406,121 @@ "time": "2023-12-25T11:46:58+00:00" }, { - "name": "symfony/console", - "version": "v6.4.12", + "name": "symfony/clock", + "version": "v7.1.1", "source": { "type": "git", - "url": "https://github.com/symfony/console.git", - "reference": "72d080eb9edf80e36c19be61f72c98ed8273b765" + "url": "https://github.com/symfony/clock.git", + "reference": "3dfc8b084853586de51dd1441c6242c76a28cbe7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/72d080eb9edf80e36c19be61f72c98ed8273b765", - "reference": "72d080eb9edf80e36c19be61f72c98ed8273b765", + "url": "https://api.github.com/repos/symfony/clock/zipball/3dfc8b084853586de51dd1441c6242c76a28cbe7", + "reference": "3dfc8b084853586de51dd1441c6242c76a28cbe7", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.5|^3", + "php": ">=8.2", + "psr/clock": "^1.0", + "symfony/polyfill-php83": "^1.28" + }, + "provide": { + "psr/clock-implementation": "1.0" + }, + "type": "library", + "autoload": { + "files": [ + "Resources/now.php" + ], + "psr-4": { + "Symfony\\Component\\Clock\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Decouples applications from the system clock", + "homepage": "https://symfony.com", + "keywords": [ + "clock", + "psr20", + "time" + ], + "support": { + "source": "https://github.com/symfony/clock/tree/v7.1.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-05-31T14:57:53+00:00" + }, + { + "name": "symfony/console", + "version": "v7.1.5", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "0fa539d12b3ccf068a722bbbffa07ca7079af9ee" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/0fa539d12b3ccf068a722bbbffa07ca7079af9ee", + "reference": "0fa539d12b3ccf068a722bbbffa07ca7079af9ee", + "shasum": "" + }, + "require": { + "php": ">=8.2", "symfony/polyfill-mbstring": "~1.0", "symfony/service-contracts": "^2.5|^3", - "symfony/string": "^5.4|^6.0|^7.0" + "symfony/string": "^6.4|^7.0" }, "conflict": { - "symfony/dependency-injection": "<5.4", - "symfony/dotenv": "<5.4", - "symfony/event-dispatcher": "<5.4", - "symfony/lock": "<5.4", - "symfony/process": "<5.4" + "symfony/dependency-injection": "<6.4", + "symfony/dotenv": "<6.4", + "symfony/event-dispatcher": "<6.4", + "symfony/lock": "<6.4", + "symfony/process": "<6.4" }, "provide": { "psr/log-implementation": "1.0|2.0|3.0" }, "require-dev": { "psr/log": "^1|^2|^3", - "symfony/config": "^5.4|^6.0|^7.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/event-dispatcher": "^5.4|^6.0|^7.0", + "symfony/config": "^6.4|^7.0", + "symfony/dependency-injection": "^6.4|^7.0", + "symfony/event-dispatcher": "^6.4|^7.0", "symfony/http-foundation": "^6.4|^7.0", "symfony/http-kernel": "^6.4|^7.0", - "symfony/lock": "^5.4|^6.0|^7.0", - "symfony/messenger": "^5.4|^6.0|^7.0", - "symfony/process": "^5.4|^6.0|^7.0", - "symfony/stopwatch": "^5.4|^6.0|^7.0", - "symfony/var-dumper": "^5.4|^6.0|^7.0" + "symfony/lock": "^6.4|^7.0", + "symfony/messenger": "^6.4|^7.0", + "symfony/process": "^6.4|^7.0", + "symfony/stopwatch": "^6.4|^7.0", + "symfony/var-dumper": "^6.4|^7.0" }, "type": "library", "autoload": { @@ -11387,7 +11554,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v6.4.12" + "source": "https://github.com/symfony/console/tree/v7.1.5" }, "funding": [ { @@ -11403,7 +11570,7 @@ "type": "tidelift" } ], - "time": "2024-09-20T08:15:52+00:00" + "time": "2024-09-20T08:28:38+00:00" }, { "name": "symfony/css-selector", @@ -11539,22 +11706,22 @@ }, { "name": "symfony/error-handler", - "version": "v6.4.10", + "version": "v7.1.3", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "231f1b2ee80f72daa1972f7340297d67439224f0" + "reference": "432bb369952795c61ca1def65e078c4a80dad13c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/231f1b2ee80f72daa1972f7340297d67439224f0", - "reference": "231f1b2ee80f72daa1972f7340297d67439224f0", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/432bb369952795c61ca1def65e078c4a80dad13c", + "reference": "432bb369952795c61ca1def65e078c4a80dad13c", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "psr/log": "^1|^2|^3", - "symfony/var-dumper": "^5.4|^6.0|^7.0" + "symfony/var-dumper": "^6.4|^7.0" }, "conflict": { "symfony/deprecation-contracts": "<2.5", @@ -11563,7 +11730,7 @@ "require-dev": { "symfony/deprecation-contracts": "^2.5|^3", "symfony/http-kernel": "^6.4|^7.0", - "symfony/serializer": "^5.4|^6.0|^7.0" + "symfony/serializer": "^6.4|^7.0" }, "bin": [ "Resources/bin/patch-type-declarations" @@ -11594,7 +11761,7 @@ "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/error-handler/tree/v6.4.10" + "source": "https://github.com/symfony/error-handler/tree/v7.1.3" }, "funding": [ { @@ -11610,7 +11777,7 @@ "type": "tidelift" } ], - "time": "2024-07-26T12:30:32+00:00" + "time": "2024-07-26T13:02:51+00:00" }, { "name": "symfony/event-dispatcher", @@ -11770,23 +11937,23 @@ }, { "name": "symfony/finder", - "version": "v6.4.11", + "version": "v7.1.4", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "d7eb6daf8cd7e9ac4976e9576b32042ef7253453" + "reference": "d95bbf319f7d052082fb7af147e0f835a695e823" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/d7eb6daf8cd7e9ac4976e9576b32042ef7253453", - "reference": "d7eb6daf8cd7e9ac4976e9576b32042ef7253453", + "url": "https://api.github.com/repos/symfony/finder/zipball/d95bbf319f7d052082fb7af147e0f835a695e823", + "reference": "d95bbf319f7d052082fb7af147e0f835a695e823", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "symfony/filesystem": "^6.0|^7.0" + "symfony/filesystem": "^6.4|^7.0" }, "type": "library", "autoload": { @@ -11814,7 +11981,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v6.4.11" + "source": "https://github.com/symfony/finder/tree/v7.1.4" }, "funding": [ { @@ -11830,40 +11997,40 @@ "type": "tidelift" } ], - "time": "2024-08-13T14:27:37+00:00" + "time": "2024-08-13T14:28:19+00:00" }, { "name": "symfony/http-foundation", - "version": "v6.4.12", + "version": "v7.1.5", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "133ac043875f59c26c55e79cf074562127cce4d2" + "reference": "e30ef73b1e44eea7eb37ba69600a354e553f694b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/133ac043875f59c26c55e79cf074562127cce4d2", - "reference": "133ac043875f59c26c55e79cf074562127cce4d2", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/e30ef73b1e44eea7eb37ba69600a354e553f694b", + "reference": "e30ef73b1e44eea7eb37ba69600a354e553f694b", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.5|^3", + "php": ">=8.2", "symfony/polyfill-mbstring": "~1.1", "symfony/polyfill-php83": "^1.27" }, "conflict": { - "symfony/cache": "<6.3" + "doctrine/dbal": "<3.6", + "symfony/cache": "<6.4" }, "require-dev": { - "doctrine/dbal": "^2.13.1|^3|^4", + "doctrine/dbal": "^3.6|^4", "predis/predis": "^1.1|^2.0", - "symfony/cache": "^6.3|^7.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/expression-language": "^5.4|^6.0|^7.0", - "symfony/http-kernel": "^5.4.12|^6.0.12|^6.1.4|^7.0", - "symfony/mime": "^5.4|^6.0|^7.0", - "symfony/rate-limiter": "^5.4|^6.0|^7.0" + "symfony/cache": "^6.4|^7.0", + "symfony/dependency-injection": "^6.4|^7.0", + "symfony/expression-language": "^6.4|^7.0", + "symfony/http-kernel": "^6.4|^7.0", + "symfony/mime": "^6.4|^7.0", + "symfony/rate-limiter": "^6.4|^7.0" }, "type": "library", "autoload": { @@ -11891,7 +12058,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v6.4.12" + "source": "https://github.com/symfony/http-foundation/tree/v7.1.5" }, "funding": [ { @@ -11907,77 +12074,77 @@ "type": "tidelift" } ], - "time": "2024-09-20T08:18:25+00:00" + "time": "2024-09-20T08:28:38+00:00" }, { "name": "symfony/http-kernel", - "version": "v6.4.12", + "version": "v7.1.5", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "96df83d51b5f78804f70c093b97310794fd6257b" + "reference": "44204d96150a9df1fc57601ec933d23fefc2d65b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/96df83d51b5f78804f70c093b97310794fd6257b", - "reference": "96df83d51b5f78804f70c093b97310794fd6257b", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/44204d96150a9df1fc57601ec933d23fefc2d65b", + "reference": "44204d96150a9df1fc57601ec933d23fefc2d65b", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "psr/log": "^1|^2|^3", "symfony/deprecation-contracts": "^2.5|^3", "symfony/error-handler": "^6.4|^7.0", - "symfony/event-dispatcher": "^5.4|^6.0|^7.0", + "symfony/event-dispatcher": "^6.4|^7.0", "symfony/http-foundation": "^6.4|^7.0", "symfony/polyfill-ctype": "^1.8" }, "conflict": { - "symfony/browser-kit": "<5.4", - "symfony/cache": "<5.4", - "symfony/config": "<6.1", - "symfony/console": "<5.4", + "symfony/browser-kit": "<6.4", + "symfony/cache": "<6.4", + "symfony/config": "<6.4", + "symfony/console": "<6.4", "symfony/dependency-injection": "<6.4", - "symfony/doctrine-bridge": "<5.4", - "symfony/form": "<5.4", - "symfony/http-client": "<5.4", + "symfony/doctrine-bridge": "<6.4", + "symfony/form": "<6.4", + "symfony/http-client": "<6.4", "symfony/http-client-contracts": "<2.5", - "symfony/mailer": "<5.4", - "symfony/messenger": "<5.4", - "symfony/translation": "<5.4", + "symfony/mailer": "<6.4", + "symfony/messenger": "<6.4", + "symfony/translation": "<6.4", "symfony/translation-contracts": "<2.5", - "symfony/twig-bridge": "<5.4", + "symfony/twig-bridge": "<6.4", "symfony/validator": "<6.4", - "symfony/var-dumper": "<6.3", - "twig/twig": "<2.13" + "symfony/var-dumper": "<6.4", + "twig/twig": "<3.0.4" }, "provide": { "psr/log-implementation": "1.0|2.0|3.0" }, "require-dev": { "psr/cache": "^1.0|^2.0|^3.0", - "symfony/browser-kit": "^5.4|^6.0|^7.0", - "symfony/clock": "^6.2|^7.0", - "symfony/config": "^6.1|^7.0", - "symfony/console": "^5.4|^6.0|^7.0", - "symfony/css-selector": "^5.4|^6.0|^7.0", + "symfony/browser-kit": "^6.4|^7.0", + "symfony/clock": "^6.4|^7.0", + "symfony/config": "^6.4|^7.0", + "symfony/console": "^6.4|^7.0", + "symfony/css-selector": "^6.4|^7.0", "symfony/dependency-injection": "^6.4|^7.0", - "symfony/dom-crawler": "^5.4|^6.0|^7.0", - "symfony/expression-language": "^5.4|^6.0|^7.0", - "symfony/finder": "^5.4|^6.0|^7.0", + "symfony/dom-crawler": "^6.4|^7.0", + "symfony/expression-language": "^6.4|^7.0", + "symfony/finder": "^6.4|^7.0", "symfony/http-client-contracts": "^2.5|^3", - "symfony/process": "^5.4|^6.0|^7.0", - "symfony/property-access": "^5.4.5|^6.0.5|^7.0", - "symfony/routing": "^5.4|^6.0|^7.0", - "symfony/serializer": "^6.4.4|^7.0.4", - "symfony/stopwatch": "^5.4|^6.0|^7.0", - "symfony/translation": "^5.4|^6.0|^7.0", + "symfony/process": "^6.4|^7.0", + "symfony/property-access": "^7.1", + "symfony/routing": "^6.4|^7.0", + "symfony/serializer": "^7.1", + "symfony/stopwatch": "^6.4|^7.0", + "symfony/translation": "^6.4|^7.0", "symfony/translation-contracts": "^2.5|^3", - "symfony/uid": "^5.4|^6.0|^7.0", + "symfony/uid": "^6.4|^7.0", "symfony/validator": "^6.4|^7.0", - "symfony/var-dumper": "^5.4|^6.4|^7.0", - "symfony/var-exporter": "^6.2|^7.0", - "twig/twig": "^2.13|^3.0.4" + "symfony/var-dumper": "^6.4|^7.0", + "symfony/var-exporter": "^6.4|^7.0", + "twig/twig": "^3.0.4" }, "type": "library", "autoload": { @@ -12005,7 +12172,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v6.4.12" + "source": "https://github.com/symfony/http-kernel/tree/v7.1.5" }, "funding": [ { @@ -12021,43 +12188,43 @@ "type": "tidelift" } ], - "time": "2024-09-21T06:02:57+00:00" + "time": "2024-09-21T06:09:21+00:00" }, { "name": "symfony/mailer", - "version": "v6.4.12", + "version": "v7.1.5", "source": { "type": "git", "url": "https://github.com/symfony/mailer.git", - "reference": "b6a25408c569ae2366b3f663a4edad19420a9c26" + "reference": "bbf21460c56f29810da3df3e206e38dfbb01e80b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mailer/zipball/b6a25408c569ae2366b3f663a4edad19420a9c26", - "reference": "b6a25408c569ae2366b3f663a4edad19420a9c26", + "url": "https://api.github.com/repos/symfony/mailer/zipball/bbf21460c56f29810da3df3e206e38dfbb01e80b", + "reference": "bbf21460c56f29810da3df3e206e38dfbb01e80b", "shasum": "" }, "require": { "egulias/email-validator": "^2.1.10|^3|^4", - "php": ">=8.1", + "php": ">=8.2", "psr/event-dispatcher": "^1", "psr/log": "^1|^2|^3", - "symfony/event-dispatcher": "^5.4|^6.0|^7.0", - "symfony/mime": "^6.2|^7.0", + "symfony/event-dispatcher": "^6.4|^7.0", + "symfony/mime": "^6.4|^7.0", "symfony/service-contracts": "^2.5|^3" }, "conflict": { "symfony/http-client-contracts": "<2.5", - "symfony/http-kernel": "<5.4", - "symfony/messenger": "<6.2", - "symfony/mime": "<6.2", - "symfony/twig-bridge": "<6.2.1" + "symfony/http-kernel": "<6.4", + "symfony/messenger": "<6.4", + "symfony/mime": "<6.4", + "symfony/twig-bridge": "<6.4" }, "require-dev": { - "symfony/console": "^5.4|^6.0|^7.0", - "symfony/http-client": "^5.4|^6.0|^7.0", - "symfony/messenger": "^6.2|^7.0", - "symfony/twig-bridge": "^6.2|^7.0" + "symfony/console": "^6.4|^7.0", + "symfony/http-client": "^6.4|^7.0", + "symfony/messenger": "^6.4|^7.0", + "symfony/twig-bridge": "^6.4|^7.0" }, "type": "library", "autoload": { @@ -12085,7 +12252,7 @@ "description": "Helps sending emails", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/mailer/tree/v6.4.12" + "source": "https://github.com/symfony/mailer/tree/v7.1.5" }, "funding": [ { @@ -12101,25 +12268,24 @@ "type": "tidelift" } ], - "time": "2024-09-08T12:30:05+00:00" + "time": "2024-09-08T12:32:26+00:00" }, { "name": "symfony/mime", - "version": "v6.4.12", + "version": "v7.1.5", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "abe16ee7790b16aa525877419deb0f113953f0e1" + "reference": "711d2e167e8ce65b05aea6b258c449671cdd38ff" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/abe16ee7790b16aa525877419deb0f113953f0e1", - "reference": "abe16ee7790b16aa525877419deb0f113953f0e1", + "url": "https://api.github.com/repos/symfony/mime/zipball/711d2e167e8ce65b05aea6b258c449671cdd38ff", + "reference": "711d2e167e8ce65b05aea6b258c449671cdd38ff", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.5|^3", + "php": ">=8.2", "symfony/polyfill-intl-idn": "^1.10", "symfony/polyfill-mbstring": "^1.0" }, @@ -12127,17 +12293,17 @@ "egulias/email-validator": "~3.0.0", "phpdocumentor/reflection-docblock": "<3.2.2", "phpdocumentor/type-resolver": "<1.4.0", - "symfony/mailer": "<5.4", + "symfony/mailer": "<6.4", "symfony/serializer": "<6.4.3|>7.0,<7.0.3" }, "require-dev": { "egulias/email-validator": "^2.1.10|^3.1|^4", "league/html-to-markdown": "^5.0", "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/process": "^5.4|^6.4|^7.0", - "symfony/property-access": "^5.4|^6.0|^7.0", - "symfony/property-info": "^5.4|^6.0|^7.0", + "symfony/dependency-injection": "^6.4|^7.0", + "symfony/process": "^6.4|^7.0", + "symfony/property-access": "^6.4|^7.0", + "symfony/property-info": "^6.4|^7.0", "symfony/serializer": "^6.4.3|^7.0.3" }, "type": "library", @@ -12170,7 +12336,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v6.4.12" + "source": "https://github.com/symfony/mime/tree/v7.1.5" }, "funding": [ { @@ -12186,7 +12352,7 @@ "type": "tidelift" } ], - "time": "2024-09-20T08:18:25+00:00" + "time": "2024-09-20T08:28:38+00:00" }, { "name": "symfony/polyfill-ctype", @@ -12826,20 +12992,20 @@ }, { "name": "symfony/process", - "version": "v6.4.12", + "version": "v7.1.5", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "3f94e5f13ff58df371a7ead461b6e8068900fbb3" + "reference": "5c03ee6369281177f07f7c68252a280beccba847" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/3f94e5f13ff58df371a7ead461b6e8068900fbb3", - "reference": "3f94e5f13ff58df371a7ead461b6e8068900fbb3", + "url": "https://api.github.com/repos/symfony/process/zipball/5c03ee6369281177f07f7c68252a280beccba847", + "reference": "5c03ee6369281177f07f7c68252a280beccba847", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "type": "library", "autoload": { @@ -12867,7 +13033,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v6.4.12" + "source": "https://github.com/symfony/process/tree/v7.1.5" }, "funding": [ { @@ -12883,47 +13049,42 @@ "type": "tidelift" } ], - "time": "2024-09-17T12:47:12+00:00" + "time": "2024-09-19T21:48:23+00:00" }, { "name": "symfony/psr-http-message-bridge", - "version": "v2.3.1", + "version": "v7.1.4", "source": { "type": "git", "url": "https://github.com/symfony/psr-http-message-bridge.git", - "reference": "581ca6067eb62640de5ff08ee1ba6850a0ee472e" + "reference": "405a7bcd872f1563966f64be19f1362d94ce71ab" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/581ca6067eb62640de5ff08ee1ba6850a0ee472e", - "reference": "581ca6067eb62640de5ff08ee1ba6850a0ee472e", + "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/405a7bcd872f1563966f64be19f1362d94ce71ab", + "reference": "405a7bcd872f1563966f64be19f1362d94ce71ab", "shasum": "" }, "require": { - "php": ">=7.2.5", - "psr/http-message": "^1.0 || ^2.0", - "symfony/deprecation-contracts": "^2.5 || ^3.0", - "symfony/http-foundation": "^5.4 || ^6.0" + "php": ">=8.2", + "psr/http-message": "^1.0|^2.0", + "symfony/http-foundation": "^6.4|^7.0" + }, + "conflict": { + "php-http/discovery": "<1.15", + "symfony/http-kernel": "<6.4" }, "require-dev": { "nyholm/psr7": "^1.1", - "psr/log": "^1.1 || ^2 || ^3", - "symfony/browser-kit": "^5.4 || ^6.0", - "symfony/config": "^5.4 || ^6.0", - "symfony/event-dispatcher": "^5.4 || ^6.0", - "symfony/framework-bundle": "^5.4 || ^6.0", - "symfony/http-kernel": "^5.4 || ^6.0", - "symfony/phpunit-bridge": "^6.2" - }, - "suggest": { - "nyholm/psr7": "For a super lightweight PSR-7/17 implementation" + "php-http/discovery": "^1.15", + "psr/log": "^1.1.4|^2|^3", + "symfony/browser-kit": "^6.4|^7.0", + "symfony/config": "^6.4|^7.0", + "symfony/event-dispatcher": "^6.4|^7.0", + "symfony/framework-bundle": "^6.4|^7.0", + "symfony/http-kernel": "^6.4|^7.0" }, "type": "symfony-bridge", - "extra": { - "branch-alias": { - "dev-main": "2.3-dev" - } - }, "autoload": { "psr-4": { "Symfony\\Bridge\\PsrHttpMessage\\": "" @@ -12943,11 +13104,11 @@ }, { "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" + "homepage": "https://symfony.com/contributors" } ], "description": "PSR HTTP message bridge", - "homepage": "http://symfony.com", + "homepage": "https://symfony.com", "keywords": [ "http", "http-message", @@ -12955,8 +13116,7 @@ "psr-7" ], "support": { - "issues": "https://github.com/symfony/psr-http-message-bridge/issues", - "source": "https://github.com/symfony/psr-http-message-bridge/tree/v2.3.1" + "source": "https://github.com/symfony/psr-http-message-bridge/tree/v7.1.4" }, "funding": [ { @@ -12972,40 +13132,38 @@ "type": "tidelift" } ], - "time": "2023-07-26T11:53:26+00:00" + "time": "2024-08-15T22:48:53+00:00" }, { "name": "symfony/routing", - "version": "v6.4.12", + "version": "v7.1.4", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "a7c8036bd159486228dc9be3e846a00a0dda9f9f" + "reference": "1500aee0094a3ce1c92626ed8cf3c2037e86f5a7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/a7c8036bd159486228dc9be3e846a00a0dda9f9f", - "reference": "a7c8036bd159486228dc9be3e846a00a0dda9f9f", + "url": "https://api.github.com/repos/symfony/routing/zipball/1500aee0094a3ce1c92626ed8cf3c2037e86f5a7", + "reference": "1500aee0094a3ce1c92626ed8cf3c2037e86f5a7", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/deprecation-contracts": "^2.5|^3" }, "conflict": { - "doctrine/annotations": "<1.12", - "symfony/config": "<6.2", - "symfony/dependency-injection": "<5.4", - "symfony/yaml": "<5.4" + "symfony/config": "<6.4", + "symfony/dependency-injection": "<6.4", + "symfony/yaml": "<6.4" }, "require-dev": { - "doctrine/annotations": "^1.12|^2", "psr/log": "^1|^2|^3", - "symfony/config": "^6.2|^7.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/expression-language": "^5.4|^6.0|^7.0", - "symfony/http-foundation": "^5.4|^6.0|^7.0", - "symfony/yaml": "^5.4|^6.0|^7.0" + "symfony/config": "^6.4|^7.0", + "symfony/dependency-injection": "^6.4|^7.0", + "symfony/expression-language": "^6.4|^7.0", + "symfony/http-foundation": "^6.4|^7.0", + "symfony/yaml": "^6.4|^7.0" }, "type": "library", "autoload": { @@ -13039,7 +13197,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v6.4.12" + "source": "https://github.com/symfony/routing/tree/v7.1.4" }, "funding": [ { @@ -13055,7 +13213,7 @@ "type": "tidelift" } ], - "time": "2024-09-20T08:32:26+00:00" + "time": "2024-08-29T08:16:25+00:00" }, { "name": "symfony/service-contracts", @@ -13229,33 +13387,32 @@ }, { "name": "symfony/translation", - "version": "v6.4.12", + "version": "v7.1.5", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "cf8360b8352b086be620fae8342c4d96e391a489" + "reference": "235535e3f84f3dfbdbde0208ede6ca75c3a489ea" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/cf8360b8352b086be620fae8342c4d96e391a489", - "reference": "cf8360b8352b086be620fae8342c4d96e391a489", + "url": "https://api.github.com/repos/symfony/translation/zipball/235535e3f84f3dfbdbde0208ede6ca75c3a489ea", + "reference": "235535e3f84f3dfbdbde0208ede6ca75c3a489ea", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.5|^3", + "php": ">=8.2", "symfony/polyfill-mbstring": "~1.0", "symfony/translation-contracts": "^2.5|^3.0" }, "conflict": { - "symfony/config": "<5.4", - "symfony/console": "<5.4", - "symfony/dependency-injection": "<5.4", + "symfony/config": "<6.4", + "symfony/console": "<6.4", + "symfony/dependency-injection": "<6.4", "symfony/http-client-contracts": "<2.5", - "symfony/http-kernel": "<5.4", + "symfony/http-kernel": "<6.4", "symfony/service-contracts": "<2.5", - "symfony/twig-bundle": "<5.4", - "symfony/yaml": "<5.4" + "symfony/twig-bundle": "<6.4", + "symfony/yaml": "<6.4" }, "provide": { "symfony/translation-implementation": "2.3|3.0" @@ -13263,17 +13420,17 @@ "require-dev": { "nikic/php-parser": "^4.18|^5.0", "psr/log": "^1|^2|^3", - "symfony/config": "^5.4|^6.0|^7.0", - "symfony/console": "^5.4|^6.0|^7.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/finder": "^5.4|^6.0|^7.0", + "symfony/config": "^6.4|^7.0", + "symfony/console": "^6.4|^7.0", + "symfony/dependency-injection": "^6.4|^7.0", + "symfony/finder": "^6.4|^7.0", "symfony/http-client-contracts": "^2.5|^3.0", - "symfony/http-kernel": "^5.4|^6.0|^7.0", - "symfony/intl": "^5.4|^6.0|^7.0", + "symfony/http-kernel": "^6.4|^7.0", + "symfony/intl": "^6.4|^7.0", "symfony/polyfill-intl-icu": "^1.21", - "symfony/routing": "^5.4|^6.0|^7.0", + "symfony/routing": "^6.4|^7.0", "symfony/service-contracts": "^2.5|^3", - "symfony/yaml": "^5.4|^6.0|^7.0" + "symfony/yaml": "^6.4|^7.0" }, "type": "library", "autoload": { @@ -13304,7 +13461,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v6.4.12" + "source": "https://github.com/symfony/translation/tree/v7.1.5" }, "funding": [ { @@ -13320,7 +13477,7 @@ "type": "tidelift" } ], - "time": "2024-09-16T06:02:54+00:00" + "time": "2024-09-16T06:30:38+00:00" }, { "name": "symfony/translation-contracts", @@ -13402,24 +13559,24 @@ }, { "name": "symfony/uid", - "version": "v6.4.12", + "version": "v7.1.5", "source": { "type": "git", "url": "https://github.com/symfony/uid.git", - "reference": "2f16054e0a9b194b8ca581d4a64eee3f7d4a9d4d" + "reference": "8c7bb8acb933964055215d89f9a9871df0239317" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/uid/zipball/2f16054e0a9b194b8ca581d4a64eee3f7d4a9d4d", - "reference": "2f16054e0a9b194b8ca581d4a64eee3f7d4a9d4d", + "url": "https://api.github.com/repos/symfony/uid/zipball/8c7bb8acb933964055215d89f9a9871df0239317", + "reference": "8c7bb8acb933964055215d89f9a9871df0239317", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/polyfill-uuid": "^1.15" }, "require-dev": { - "symfony/console": "^5.4|^6.0|^7.0" + "symfony/console": "^6.4|^7.0" }, "type": "library", "autoload": { @@ -13456,7 +13613,7 @@ "uuid" ], "support": { - "source": "https://github.com/symfony/uid/tree/v6.4.12" + "source": "https://github.com/symfony/uid/tree/v7.1.5" }, "funding": [ { @@ -13472,38 +13629,36 @@ "type": "tidelift" } ], - "time": "2024-09-20T08:32:26+00:00" + "time": "2024-09-17T09:16:35+00:00" }, { "name": "symfony/var-dumper", - "version": "v6.4.11", + "version": "v7.1.5", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "ee14c8254a480913268b1e3b1cba8045ed122694" + "reference": "e20e03889539fd4e4211e14d2179226c513c010d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/ee14c8254a480913268b1e3b1cba8045ed122694", - "reference": "ee14c8254a480913268b1e3b1cba8045ed122694", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/e20e03889539fd4e4211e14d2179226c513c010d", + "reference": "e20e03889539fd4e4211e14d2179226c513c010d", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.5|^3", + "php": ">=8.2", "symfony/polyfill-mbstring": "~1.0" }, "conflict": { - "symfony/console": "<5.4" + "symfony/console": "<6.4" }, "require-dev": { "ext-iconv": "*", - "symfony/console": "^5.4|^6.0|^7.0", - "symfony/error-handler": "^6.3|^7.0", - "symfony/http-kernel": "^5.4|^6.0|^7.0", - "symfony/process": "^5.4|^6.0|^7.0", - "symfony/uid": "^5.4|^6.0|^7.0", - "twig/twig": "^2.13|^3.0.4" + "symfony/console": "^6.4|^7.0", + "symfony/http-kernel": "^6.4|^7.0", + "symfony/process": "^6.4|^7.0", + "symfony/uid": "^6.4|^7.0", + "twig/twig": "^3.0.4" }, "bin": [ "Resources/bin/var-dump-server" @@ -13541,7 +13696,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v6.4.11" + "source": "https://github.com/symfony/var-dumper/tree/v7.1.5" }, "funding": [ { @@ -13557,7 +13712,7 @@ "type": "tidelift" } ], - "time": "2024-08-30T16:03:21+00:00" + "time": "2024-09-16T10:07:02+00:00" }, { "name": "ta-tikoma/phpunit-architecture-test", @@ -14078,29 +14233,29 @@ }, { "name": "worksome/request-factories", - "version": "v2.6.0", + "version": "v3.3.0", "source": { "type": "git", "url": "https://github.com/worksome/request-factories.git", - "reference": "ea20f3a73c63334d543636aa7464583d62faa71b" + "reference": "70e2bcedf641f9cf68857438b23424351cd008b1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/worksome/request-factories/zipball/ea20f3a73c63334d543636aa7464583d62faa71b", - "reference": "ea20f3a73c63334d543636aa7464583d62faa71b", + "url": "https://api.github.com/repos/worksome/request-factories/zipball/70e2bcedf641f9cf68857438b23424351cd008b1", + "reference": "70e2bcedf641f9cf68857438b23424351cd008b1", "shasum": "" }, "require": { - "illuminate/contracts": "^8.0 || ^9.0 || ^10.0", - "php": "^8.0" + "illuminate/contracts": "^10.0 || ^11.0", + "php": "^8.2" }, "require-dev": { - "nunomaduro/collision": "^5.10 || ^6.0", - "nunomaduro/larastan": "^1.0 || ^2.0", - "orchestra/testbench": "^6.22 || ^7.0 || ^8.0", - "pestphp/pest": "^1.21", - "pestphp/pest-plugin-laravel": "^1.4", - "worksome/coding-style": "0.17.0" + "larastan/larastan": "^2.8", + "nunomaduro/collision": "^7.0 || ^8.0", + "orchestra/testbench": "^8.20 || ^9.0", + "pestphp/pest": "^2.30", + "pestphp/pest-plugin-laravel": "^2.2", + "worksome/coding-style": "^2.7" }, "type": "library", "extra": { @@ -14139,7 +14294,7 @@ ], "support": { "issues": "https://github.com/worksome/request-factories/issues", - "source": "https://github.com/worksome/request-factories/tree/v2.6.0" + "source": "https://github.com/worksome/request-factories/tree/v3.3.0" }, "funding": [ { @@ -14147,7 +14302,7 @@ "type": "github" } ], - "time": "2023-03-01T11:17:26+00:00" + "time": "2024-01-11T10:25:53+00:00" }, { "name": "zoomyboy/laravel-nami", @@ -14155,19 +14310,19 @@ "dist": { "type": "path", "url": "./packages/laravel-nami", - "reference": "c9a77e554eec9aa7efabcef025e790efe08e7a22" + "reference": "b5ce6f34f6d0cdabf9817ddafe13bc46fac70120" }, "require": { "guzzlehttp/guzzle": "^6.3.1|^7.0", - "laravel/framework": "^10.0", + "laravel/framework": "^11.0", "laravel/ui": "^4.0", - "php": "8.3.*", - "spatie/laravel-data": "^3.0", - "worksome/request-factories": "^2.5" + "php": "^8.3", + "spatie/laravel-data": "^4.0", + "worksome/request-factories": "^3.0" }, "require-dev": { "larastan/larastan": "^2.9", - "orchestra/testbench": "^8.0" + "orchestra/testbench": "^9.0" }, "type": "library", "extra": { @@ -14205,17 +14360,17 @@ "dist": { "type": "path", "url": "./packages/medialibrary-helper", - "reference": "38585429e24f7861314df5bdbaa3002869f11be3" + "reference": "81d50b05728be3a132e32808909378ed974cab9a" }, "require": { - "laravel/framework": "^10.0", - "pestphp/pest": "^2.0", - "spatie/laravel-data": "^3.1", + "laravel/framework": "^11.0", + "pestphp/pest": "^3.0", + "spatie/laravel-data": "^4.0", "spatie/laravel-medialibrary": "^11.0" }, "require-dev": { - "illuminate/console": "^10.0", - "orchestra/testbench": "^8.0" + "illuminate/console": "^11.0", + "orchestra/testbench": "^9.0" }, "type": "library", "extra": { @@ -14336,12 +14491,12 @@ "dist": { "type": "path", "url": "./packages/table-document", - "reference": "f2eb89cceb64d47ce50a31e01df947f33f85ad7e" + "reference": "7e624d279f125e21e63a32f63676e5f46bf99f8a" }, "require": { - "laravel/framework": "^10.0", + "laravel/framework": "^11.0", "phpoffice/phpspreadsheet": "^2.1", - "spatie/laravel-data": "^3.0" + "spatie/laravel-data": "^4.0" }, "type": "library", "autoload": { @@ -14759,38 +14914,38 @@ }, { "name": "orchestra/canvas", - "version": "v8.11.9", + "version": "v9.1.1", "source": { "type": "git", "url": "https://github.com/orchestral/canvas.git", - "reference": "9bed1ce6084af2ce166e9ea1cb160ff22dc94a6d" + "reference": "c49867fac16b6286bf2b8360088620e697a2ea92" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/orchestral/canvas/zipball/9bed1ce6084af2ce166e9ea1cb160ff22dc94a6d", - "reference": "9bed1ce6084af2ce166e9ea1cb160ff22dc94a6d", + "url": "https://api.github.com/repos/orchestral/canvas/zipball/c49867fac16b6286bf2b8360088620e697a2ea92", + "reference": "c49867fac16b6286bf2b8360088620e697a2ea92", "shasum": "" }, "require": { "composer-runtime-api": "^2.2", "composer/semver": "^3.0", - "illuminate/console": "^10.48.4", - "illuminate/database": "^10.48.4", - "illuminate/filesystem": "^10.48.4", - "illuminate/support": "^10.48.4", - "orchestra/canvas-core": "^8.10.2", - "orchestra/testbench-core": "^8.19", - "php": "^8.1", + "illuminate/console": "^11.20", + "illuminate/database": "^11.20", + "illuminate/filesystem": "^11.20", + "illuminate/support": "^11.20", + "orchestra/canvas-core": "^9.0", + "orchestra/testbench-core": "^9.2", + "php": "^8.2", "symfony/polyfill-php83": "^1.28", - "symfony/yaml": "^6.2" + "symfony/yaml": "^7.0" }, "require-dev": { - "laravel/framework": "^10.48.4", - "laravel/pint": "^1.6", - "mockery/mockery": "^1.5.1", + "laravel/framework": "^11.20", + "laravel/pint": "^1.17", + "mockery/mockery": "^1.6", "phpstan/phpstan": "^1.11", - "phpunit/phpunit": "^10.5", - "spatie/laravel-ray": "^1.33" + "phpunit/phpunit": "^11.0", + "spatie/laravel-ray": "^1.35" }, "bin": [ "canvas" @@ -14828,44 +14983,40 @@ "description": "Code Generators for Laravel Applications and Packages", "support": { "issues": "https://github.com/orchestral/canvas/issues", - "source": "https://github.com/orchestral/canvas/tree/v8.11.9" + "source": "https://github.com/orchestral/canvas/tree/v9.1.1" }, - "time": "2024-06-18T08:26:09+00:00" + "time": "2024-08-06T17:20:26+00:00" }, { "name": "orchestra/canvas-core", - "version": "v8.10.2", + "version": "v9.0.0", "source": { "type": "git", "url": "https://github.com/orchestral/canvas-core.git", - "reference": "3af8fb6b1ebd85903ba5d0e6df1c81aedacfedfc" + "reference": "3a29eecf324fe02e3e5628e422314b5cd1a80e48" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/orchestral/canvas-core/zipball/3af8fb6b1ebd85903ba5d0e6df1c81aedacfedfc", - "reference": "3af8fb6b1ebd85903ba5d0e6df1c81aedacfedfc", + "url": "https://api.github.com/repos/orchestral/canvas-core/zipball/3a29eecf324fe02e3e5628e422314b5cd1a80e48", + "reference": "3a29eecf324fe02e3e5628e422314b5cd1a80e48", "shasum": "" }, "require": { "composer-runtime-api": "^2.2", "composer/semver": "^3.0", - "illuminate/console": "^10.38.1", - "illuminate/filesystem": "^10.38.1", - "php": "^8.1", + "illuminate/console": "^11.0", + "illuminate/filesystem": "^11.0", + "php": "^8.2", "symfony/polyfill-php83": "^1.28" }, - "conflict": { - "orchestra/canvas": "<8.11.0", - "orchestra/testbench-core": "<8.2.0" - }, "require-dev": { - "laravel/framework": "^10.38.1", + "laravel/framework": "^11.0", "laravel/pint": "^1.6", "mockery/mockery": "^1.5.1", - "orchestra/testbench-core": "^8.19", + "orchestra/testbench-core": "^9.0", "phpstan/phpstan": "^1.10.6", "phpunit/phpunit": "^10.1", - "symfony/yaml": "^6.2" + "symfony/yaml": "^7.0" }, "type": "library", "extra": { @@ -14900,35 +15051,35 @@ "description": "Code Generators Builder for Laravel Applications and Packages", "support": { "issues": "https://github.com/orchestral/canvas/issues", - "source": "https://github.com/orchestral/canvas-core/tree/v8.10.2" + "source": "https://github.com/orchestral/canvas-core/tree/v9.0.0" }, - "time": "2023-12-28T01:27:59+00:00" + "time": "2024-03-06T10:00:21+00:00" }, { "name": "orchestra/testbench", - "version": "v8.26.0", + "version": "v9.4.0", "source": { "type": "git", "url": "https://github.com/orchestral/testbench.git", - "reference": "9ee9037ca2ca6bf68776fbc5992eee4fc5070424" + "reference": "f79c16b4cc9d22e3a71f8a2bc28326de392ff6aa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/orchestral/testbench/zipball/9ee9037ca2ca6bf68776fbc5992eee4fc5070424", - "reference": "9ee9037ca2ca6bf68776fbc5992eee4fc5070424", + "url": "https://api.github.com/repos/orchestral/testbench/zipball/f79c16b4cc9d22e3a71f8a2bc28326de392ff6aa", + "reference": "f79c16b4cc9d22e3a71f8a2bc28326de392ff6aa", "shasum": "" }, "require": { "composer-runtime-api": "^2.2", - "fakerphp/faker": "^1.21", - "laravel/framework": "^10.48.20", - "mockery/mockery": "^1.5.1", - "orchestra/testbench-core": "^8.27", - "orchestra/workbench": "^8.9", - "php": "^8.1", - "phpunit/phpunit": "^9.6 || ^10.1", - "symfony/process": "^6.2", - "symfony/yaml": "^6.2", + "fakerphp/faker": "^1.23", + "laravel/framework": "^11.11", + "mockery/mockery": "^1.6", + "orchestra/testbench-core": "^9.4", + "orchestra/workbench": "^9.5", + "php": "^8.2", + "phpunit/phpunit": "^10.5 || ^11.0.1", + "symfony/process": "^7.0", + "symfony/yaml": "^7.0", "vlucas/phpdotenv": "^5.4.1" }, "type": "library", @@ -14955,62 +15106,59 @@ ], "support": { "issues": "https://github.com/orchestral/testbench/issues", - "source": "https://github.com/orchestral/testbench/tree/v8.26.0" + "source": "https://github.com/orchestral/testbench/tree/v9.4.0" }, - "time": "2024-08-26T04:52:44+00:00" + "time": "2024-08-26T05:10:07+00:00" }, { "name": "orchestra/testbench-core", - "version": "v8.27.0", + "version": "v9.4.1", "source": { "type": "git", "url": "https://github.com/orchestral/testbench-core.git", - "reference": "95185200e654c75e4d5d6626f6ec139c5a4699ca" + "reference": "b1f1a046cafd07d2a7b0cb96e9a2911aee160515" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/orchestral/testbench-core/zipball/95185200e654c75e4d5d6626f6ec139c5a4699ca", - "reference": "95185200e654c75e4d5d6626f6ec139c5a4699ca", + "url": "https://api.github.com/repos/orchestral/testbench-core/zipball/b1f1a046cafd07d2a7b0cb96e9a2911aee160515", + "reference": "b1f1a046cafd07d2a7b0cb96e9a2911aee160515", "shasum": "" }, "require": { "composer-runtime-api": "^2.2", - "php": "^8.1", + "php": "^8.2", "symfony/polyfill-php83": "^1.28" }, "conflict": { - "brianium/paratest": "<6.4.0 || >=7.0.0 <7.1.4 || >=8.0.0", - "laravel/framework": "<10.48.20 || >=11.0.0", + "brianium/paratest": "<7.3.0 || >=8.0.0", + "laravel/framework": "<11.11.0 || >=12.0.0", "laravel/serializable-closure": "<1.3.0 || >=2.0.0", - "nunomaduro/collision": "<6.4.0 || >=7.0.0 <7.4.0 || >=8.0.0", - "orchestra/testbench-dusk": "<8.21.0 || >=9.0.0", - "orchestra/workbench": "<1.0.0", - "phpunit/phpunit": "<9.6.0 || >=10.6.0" + "nunomaduro/collision": "<8.0.0 || >=9.0.0", + "phpunit/phpunit": "<10.5.0 || 11.0.0 || >=11.4.0" }, "require-dev": { - "fakerphp/faker": "^1.21", - "laravel/framework": "^10.48.20", + "fakerphp/faker": "^1.23", + "laravel/framework": "^11.11", "laravel/pint": "^1.17", - "mockery/mockery": "^1.5.1", + "mockery/mockery": "^1.6", "phpstan/phpstan": "^1.11", - "phpunit/phpunit": "^10.1", - "spatie/laravel-ray": "^1.32.4", - "symfony/process": "^6.2", - "symfony/yaml": "^6.2", + "phpunit/phpunit": "^10.5 || ^11.0.1", + "spatie/laravel-ray": "^1.35", + "symfony/process": "^7.0", + "symfony/yaml": "^7.0", "vlucas/phpdotenv": "^5.4.1" }, "suggest": { - "brianium/paratest": "Allow using parallel testing (^6.4 || ^7.1.4).", + "brianium/paratest": "Allow using parallel tresting (^7.3).", "ext-pcntl": "Required to use all features of the console signal trapping.", - "fakerphp/faker": "Allow using Faker for testing (^1.21).", - "laravel/framework": "Required for testing (^10.48.20).", - "mockery/mockery": "Allow using Mockery for testing (^1.5.1).", - "nunomaduro/collision": "Allow using Laravel style tests output and parallel testing (^6.4 || ^7.4).", - "orchestra/testbench-browser-kit": "Allow using legacy Laravel BrowserKit for testing (^8.0).", - "orchestra/testbench-dusk": "Allow using Laravel Dusk for testing (^8.0).", - "phpunit/phpunit": "Allow using PHPUnit for testing (^9.6 || ^10.1).", - "symfony/process": "Required to use Orchestra\\Testbench\\remote function (^6.2).", - "symfony/yaml": "Required for Testbench CLI (^6.2).", + "fakerphp/faker": "Allow using Faker for testing (^1.23).", + "laravel/framework": "Required for testing (^11.11).", + "mockery/mockery": "Allow using Mockery for testing (^1.6).", + "nunomaduro/collision": "Allow using Laravel style tests output and parallel testing (^8.0).", + "orchestra/testbench-dusk": "Allow using Laravel Dusk for testing (^9.0).", + "phpunit/phpunit": "Allow using PHPUnit for testing (^10.5 || ^11.0).", + "symfony/process": "Required to use Orchestra\\Testbench\\remote function (^7.0).", + "symfony/yaml": "Required for Testbench CLI (^7.0).", "vlucas/phpdotenv": "Required for Testbench CLI (^5.4.1)." }, "bin": [ @@ -15050,51 +15198,46 @@ "issues": "https://github.com/orchestral/testbench/issues", "source": "https://github.com/orchestral/testbench-core" }, - "time": "2024-08-26T04:43:39+00:00" + "time": "2024-09-12T10:54:24+00:00" }, { "name": "orchestra/workbench", - "version": "v8.10.0", + "version": "v9.6.0", "source": { "type": "git", "url": "https://github.com/orchestral/workbench.git", - "reference": "17329eae5f82c9fe6daa7e468956b618ca44cc42" + "reference": "4bb12d505f24b450d1693e88faddc44a1c835907" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/orchestral/workbench/zipball/17329eae5f82c9fe6daa7e468956b618ca44cc42", - "reference": "17329eae5f82c9fe6daa7e468956b618ca44cc42", + "url": "https://api.github.com/repos/orchestral/workbench/zipball/4bb12d505f24b450d1693e88faddc44a1c835907", + "reference": "4bb12d505f24b450d1693e88faddc44a1c835907", "shasum": "" }, "require": { "composer-runtime-api": "^2.2", - "fakerphp/faker": "^1.21", - "laravel/framework": "^10.48.2", - "laravel/tinker": "^2.8.2", - "nunomaduro/collision": "^6.4 || ^7.10", - "orchestra/canvas": "^8.11.9", - "orchestra/testbench-core": "^8.27", + "fakerphp/faker": "^1.23", + "laravel/framework": "^11.11", + "laravel/tinker": "^2.9", + "nunomaduro/collision": "^8.0", + "orchestra/canvas": "^9.1", + "orchestra/testbench-core": "^9.4", "php": "^8.1", - "spatie/laravel-ray": "^1.32.4", + "spatie/laravel-ray": "^1.35", "symfony/polyfill-php83": "^1.28", - "symfony/yaml": "^6.2" + "symfony/yaml": "^7.0" }, "require-dev": { "laravel/pint": "^1.17", - "mockery/mockery": "^1.5.1", + "mockery/mockery": "^1.6", "phpstan/phpstan": "^1.11", - "phpunit/phpunit": "^10.1", - "symfony/process": "^6.2" + "phpunit/phpunit": "^10.5 || ^11.0", + "symfony/process": "^7.0" }, "suggest": { "ext-pcntl": "Required to use all features of the console signal trapping." }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "0.5.x-dev" - } - }, "autoload": { "psr-4": { "Orchestra\\Workbench\\": "src/" @@ -15119,9 +15262,9 @@ ], "support": { "issues": "https://github.com/orchestral/workbench/issues", - "source": "https://github.com/orchestral/workbench/tree/v8.10.0" + "source": "https://github.com/orchestral/workbench/tree/v9.6.0" }, - "time": "2024-08-26T05:33:39+00:00" + "time": "2024-08-26T05:38:42+00:00" }, { "name": "php-di/invoker", @@ -15871,28 +16014,27 @@ }, { "name": "symfony/yaml", - "version": "v6.4.12", + "version": "v7.1.5", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "762ee56b2649659380e0ef4d592d807bc17b7971" + "reference": "4e561c316e135e053bd758bf3b3eb291d9919de4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/762ee56b2649659380e0ef4d592d807bc17b7971", - "reference": "762ee56b2649659380e0ef4d592d807bc17b7971", + "url": "https://api.github.com/repos/symfony/yaml/zipball/4e561c316e135e053bd758bf3b3eb291d9919de4", + "reference": "4e561c316e135e053bd758bf3b3eb291d9919de4", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.5|^3", + "php": ">=8.2", "symfony/polyfill-ctype": "^1.8" }, "conflict": { - "symfony/console": "<5.4" + "symfony/console": "<6.4" }, "require-dev": { - "symfony/console": "^5.4|^6.0|^7.0" + "symfony/console": "^6.4|^7.0" }, "bin": [ "Resources/bin/yaml-lint" @@ -15923,7 +16065,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v6.4.12" + "source": "https://github.com/symfony/yaml/tree/v7.1.5" }, "funding": [ { @@ -15939,7 +16081,7 @@ "type": "tidelift" } ], - "time": "2024-09-17T12:47:12+00:00" + "time": "2024-09-17T12:49:58+00:00" }, { "name": "zbateson/mail-mime-parser", @@ -16187,7 +16329,7 @@ "prefer-stable": true, "prefer-lowest": false, "platform": { - "php": "^8.1" + "php": "^8.3" }, "platform-dev": [], "plugin-api-version": "2.6.0" diff --git a/database/migrations/2024_09_21_222459_update_settings_table.php b/database/migrations/2024_09_21_222459_update_settings_table.php new file mode 100644 index 00000000..06465209 --- /dev/null +++ b/database/migrations/2024_09_21_222459_update_settings_table.php @@ -0,0 +1,36 @@ +boolean('locked')->default(false)->change(); + + $table->unique(['group', 'name']); + + $table->dropIndex(['group']); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('settings', function (Blueprint $table): void { + $table->boolean('locked')->default(null)->change(); + + $table->dropUnique(['group', 'name']); + + $table->index('group'); + }); + } +}; diff --git a/packages/laravel-nami b/packages/laravel-nami index de5d8173..b735186c 160000 --- a/packages/laravel-nami +++ b/packages/laravel-nami @@ -1 +1 @@ -Subproject commit de5d8173ea9c7326071512e1094a09f7f3822e91 +Subproject commit b735186c2d4f844f67992f86f460d6c3deaf5f28 diff --git a/packages/medialibrary-helper b/packages/medialibrary-helper index 6d8e9de3..77cfe9bb 160000 --- a/packages/medialibrary-helper +++ b/packages/medialibrary-helper @@ -1 +1 @@ -Subproject commit 6d8e9de3d72ce1e117999564a46eda51fbb85b54 +Subproject commit 77cfe9bbc7a11ee6494b205458ac5c75ff5c166d diff --git a/packages/table-document b/packages/table-document index 82d52774..73049633 160000 --- a/packages/table-document +++ b/packages/table-document @@ -1 +1 @@ -Subproject commit 82d52774c65bf527233c637f5f7969de2d31099c +Subproject commit 7304963370ff64fb5accf08da4864981cc424301 diff --git a/tests/Feature/Contribution/StoreTest.php b/tests/Feature/Contribution/StoreTest.php index af2b7cdc..7811ee37 100644 --- a/tests/Feature/Contribution/StoreTest.php +++ b/tests/Feature/Contribution/StoreTest.php @@ -13,6 +13,7 @@ use Generator; use Illuminate\Foundation\Testing\DatabaseTransactions; use Laravel\Passport\Client; use Laravel\Passport\Passport; +use PHPUnit\Framework\Attributes\DataProvider; use Tests\RequestFactories\ContributionMemberApiRequestFactory; use Tests\RequestFactories\ContributionRequestFactory; use Tests\TestCase; @@ -112,8 +113,8 @@ class StoreTest extends TestCase /** * @param array $input * @param class-string $documentClass - * @dataProvider validationDataProvider */ + #[DataProvider('validationDataProvider')] public function testItValidatesInput(array $input, string $documentClass, string $errorField): void { $this->login()->loginNami(); @@ -127,8 +128,8 @@ class StoreTest extends TestCase /** * @param array $input * @param class-string $documentClass - * @dataProvider validationDataProvider */ + #[DataProvider('validationDataProvider')] public function testItValidatesInputBeforeGeneration(array $input, string $documentClass, string $errorField): void { $this->login()->loginNami(); @@ -140,7 +141,7 @@ class StoreTest extends TestCase ])->assertSessionHasErrors($errorField); } - protected function validationDataProvider(): Generator + protected static function validationDataProvider(): Generator { yield [ ['type' => 'aaa'], diff --git a/tests/Feature/Course/StoreTest.php b/tests/Feature/Course/StoreTest.php index 1578b10c..f2f91be6 100644 --- a/tests/Feature/Course/StoreTest.php +++ b/tests/Feature/Course/StoreTest.php @@ -5,6 +5,7 @@ namespace Tests\Feature\Course; use App\Course\Models\Course; use App\Member\Member; use Illuminate\Foundation\Testing\DatabaseTransactions; +use PHPUnit\Framework\Attributes\DataProvider; use Tests\TestCase; use Zoomyboy\LaravelNami\Fakes\CourseFake; @@ -15,7 +16,7 @@ class StoreTest extends TestCase /** * @return array, errors: array}> */ - public function validationDataProvider(): array + public static function validationDataProvider(): array { return [ 'course_id_missing' => [ @@ -48,8 +49,8 @@ class StoreTest extends TestCase /** * @param array $payload * @param array $errors - * @dataProvider validationDataProvider */ + #[DataProvider('validationDataProvider')] public function testItValidatesInput(array $payload, array $errors): void { $this->login()->withNamiSettings(); diff --git a/tests/Feature/Course/UpdateTest.php b/tests/Feature/Course/UpdateTest.php index 2ea3861c..194a955d 100644 --- a/tests/Feature/Course/UpdateTest.php +++ b/tests/Feature/Course/UpdateTest.php @@ -6,6 +6,7 @@ use App\Course\Models\Course; use App\Course\Models\CourseMember; use App\Member\Member; use Illuminate\Foundation\Testing\DatabaseTransactions; +use PHPUnit\Framework\Attributes\DataProvider; use Tests\TestCase; use Zoomyboy\LaravelNami\Fakes\CourseFake; @@ -16,7 +17,7 @@ class UpdateTest extends TestCase /** * @return array, errors: array}> */ - public function validationDataProvider(): array + public static function validationDataProvider(): array { return [ 'course_id_missing' => [ @@ -49,8 +50,8 @@ class UpdateTest extends TestCase /** * @param array $payload * @param array $errors - * @dataProvider validationDataProvider */ + #[DataProvider('validationDataProvider')] public function testItValidatesInput(array $payload, array $errors): void { $this->login()->loginNami(); diff --git a/tests/Feature/Form/FormRegisterActionTest.php b/tests/Feature/Form/FormRegisterActionTest.php index 26ce9571..af619c4f 100644 --- a/tests/Feature/Form/FormRegisterActionTest.php +++ b/tests/Feature/Form/FormRegisterActionTest.php @@ -17,6 +17,7 @@ use Generator; use Illuminate\Foundation\Testing\DatabaseTransactions; use Illuminate\Support\Facades\Mail; use Illuminate\Testing\TestResponse; +use PHPUnit\Framework\Attributes\DataProvider; class FormRegisterActionTest extends FormTestCase { @@ -86,10 +87,10 @@ class FormRegisterActionTest extends FormTestCase } /** - * @dataProvider validationDataProvider * @param array $payload * @param ?array $messages */ + #[DataProvider('validationDataProvider')] public function testItValidatesInput(FormtemplateFieldRequest $fieldGenerator, array $payload, ?array $messages): void { Carbon::setTestNow(Carbon::parse('2024-02-15 06:00:00')); @@ -105,226 +106,226 @@ class FormRegisterActionTest extends FormTestCase } } - public function validationDataProvider(): Generator + public static function validationDataProvider(): Generator { yield [ - $this->dateField('birthday')->name('Geburtsdatum')->maxToday(false), + static::dateField('birthday')->name('Geburtsdatum')->maxToday(false), ['birthday' => 'aa'], ['birthday' => 'Geburtsdatum muss ein gültiges Datum sein.'] ]; yield [ - $this->dateField('birthday')->name('Geburtsdatum')->maxToday(false), + static::dateField('birthday')->name('Geburtsdatum')->maxToday(false), ['birthday' => '2021-05-06'], null, ]; yield [ - $this->dateField('birthday')->name('Geburtsdatum')->maxToday(true), + static::dateField('birthday')->name('Geburtsdatum')->maxToday(true), ['birthday' => '2024-02-16'], ['birthday' => 'Geburtsdatum muss ein Datum vor oder gleich dem 15.02.2024 sein.'], ]; yield [ - $this->dateField('birthday')->name('Geburtsdatum')->maxToday(true), + static::dateField('birthday')->name('Geburtsdatum')->maxToday(true), ['birthday' => '2024-02-15'], null, ]; yield [ - $this->textField('vorname')->name('Vorname der Mutter')->required(true), + static::textField('vorname')->name('Vorname der Mutter')->required(true), ['vorname' => ''], ['vorname' => 'Vorname der Mutter ist erforderlich.'] ]; yield [ - $this->textField('vorname')->name('Vorname der Mutter')->required(true), + static::textField('vorname')->name('Vorname der Mutter')->required(true), ['vorname' => 5], ['vorname' => 'Vorname der Mutter muss ein String sein.'] ]; yield [ - $this->radioField('yes_or_no')->name('Ja oder Nein')->required(true), + static::radioField('yes_or_no')->name('Ja oder Nein')->required(true), ['yes_or_no' => null], ['yes_or_no' => 'Ja oder Nein ist erforderlich.'] ]; yield [ - $this->radioField('letter')->name('Buchstabe')->options(['A', 'B'])->required(false)->allowcustom(false), + static::radioField('letter')->name('Buchstabe')->options(['A', 'B'])->required(false)->allowcustom(false), ['letter' => 'Z'], ['letter' => 'Der gewählte Wert für Buchstabe ist ungültig.'] ]; yield [ - $this->radioField('letter')->name('Buchstabe')->options(['A', 'B'])->required(true)->allowcustom(false), + static::radioField('letter')->name('Buchstabe')->options(['A', 'B'])->required(true)->allowcustom(false), ['letter' => 'Z'], ['letter' => 'Der gewählte Wert für Buchstabe ist ungültig.'] ]; yield [ - $this->radioField('letter')->name('Buchstabe')->options(['A', 'B'])->required(true)->allowcustom(true), + static::radioField('letter')->name('Buchstabe')->options(['A', 'B'])->required(true)->allowcustom(true), ['letter' => 'lalalaa'], null, ]; yield [ - $this->radioField('letter')->name('Buchstabe')->options(['A', 'B'])->required(true)->allowcustom(false), + static::radioField('letter')->name('Buchstabe')->options(['A', 'B'])->required(true)->allowcustom(false), ['letter' => 'A'], null ]; yield [ - $this->checkboxesField('letter')->name('Buchstabe')->options(['A', 'B']), + static::checkboxesField('letter')->name('Buchstabe')->options(['A', 'B']), ['letter' => ['Z']], ['letter.0' => 'Der gewählte Wert für Buchstabe ist ungültig.'], ]; yield [ - $this->dropdownField('letter')->name('Buchstabe')->options(['A', 'B'])->allowcustom(true), + static::dropdownField('letter')->name('Buchstabe')->options(['A', 'B'])->allowcustom(true), ['letter' => 'Z'], null, ]; yield [ - $this->checkboxesField('letter')->name('Buchstabe')->options(['A', 'B']), + static::checkboxesField('letter')->name('Buchstabe')->options(['A', 'B']), ['letter' => 77], ['letter' => 'Buchstabe muss ein Array sein.'], ]; yield [ - $this->checkboxesField('letter')->name('Buchstabe')->options(['A', 'B']), + static::checkboxesField('letter')->name('Buchstabe')->options(['A', 'B']), ['letter' => ['A']], null, ]; yield [ - $this->checkboxesField('letter')->name('Buchstabe')->options(['A', 'B']), + static::checkboxesField('letter')->name('Buchstabe')->options(['A', 'B']), ['letter' => []], null, ]; yield [ - $this->checkboxesField('letter')->name('Buchstabe')->options(['A', 'B', 'C', 'D'])->min(0)->max(2), + static::checkboxesField('letter')->name('Buchstabe')->options(['A', 'B', 'C', 'D'])->min(0)->max(2), ['letter' => ['A', 'B', 'C']], ['letter' => 'Buchstabe darf maximal 2 Elemente haben.'], ]; yield [ - $this->checkboxesField('letter')->name('Buchstabe')->options(['A', 'B', 'C', 'D'])->min(2)->max(0), + static::checkboxesField('letter')->name('Buchstabe')->options(['A', 'B', 'C', 'D'])->min(2)->max(0), ['letter' => ['A']], ['letter' => 'Buchstabe muss mindestens 2 Elemente haben.'], ]; yield [ - $this->checkboxesField('letter')->name('Buchstabe')->options(['A', 'B', 'C', 'D'])->min(1)->max(0), + static::checkboxesField('letter')->name('Buchstabe')->options(['A', 'B', 'C', 'D'])->min(1)->max(0), ['letter' => []], ['letter' => 'Buchstabe muss mindestens 1 Elemente haben.'], ]; yield [ - $this->checkboxesField('letter')->name('Buchstabe')->options(['A', 'B', 'C', 'D'])->min(0)->max(1), + static::checkboxesField('letter')->name('Buchstabe')->options(['A', 'B', 'C', 'D'])->min(0)->max(1), ['letter' => ['A', 'B']], ['letter' => 'Buchstabe darf maximal 1 Elemente haben.'], ]; yield [ - $this->checkboxField('data')->name('Datenschutz')->required(false), + static::checkboxField('data')->name('Datenschutz')->required(false), ['data' => 5], ['data' => 'Datenschutz muss ein Wahrheitswert sein.'], ]; yield [ - $this->checkboxField('data')->name('Datenschutz')->required(false), + static::checkboxField('data')->name('Datenschutz')->required(false), ['data' => false], null ]; yield [ - $this->checkboxField('data')->name('Datenschutz')->required(true), + static::checkboxField('data')->name('Datenschutz')->required(true), ['data' => false], ['data' => 'Datenschutz muss akzeptiert werden.'], ]; yield [ - $this->checkboxField('data')->name('Datenschutz')->required(true), + static::checkboxField('data')->name('Datenschutz')->required(true), ['data' => true], null, ]; yield [ - $this->dropdownField('yes_or_no')->name('Ja oder Nein')->required(true), + static::dropdownField('yes_or_no')->name('Ja oder Nein')->required(true), ['yes_or_no' => null], ['yes_or_no' => 'Ja oder Nein ist erforderlich.'] ]; yield [ - $this->dropdownField('letter')->name('Buchstabe')->options(['A', 'B'])->required(false)->allowcustom(false), + static::dropdownField('letter')->name('Buchstabe')->options(['A', 'B'])->required(false)->allowcustom(false), ['letter' => 'Z'], ['letter' => 'Der gewählte Wert für Buchstabe ist ungültig.'] ]; yield [ - $this->dropdownField('letter')->name('Buchstabe')->options(['A', 'B'])->required(true)->allowcustom(false), + static::dropdownField('letter')->name('Buchstabe')->options(['A', 'B'])->required(true)->allowcustom(false), ['letter' => 'Z'], ['letter' => 'Der gewählte Wert für Buchstabe ist ungültig.'] ]; yield [ - $this->dropdownField('letter')->name('Buchstabe')->options(['A', 'B'])->required(true)->allowcustom(false), + static::dropdownField('letter')->name('Buchstabe')->options(['A', 'B'])->required(true)->allowcustom(false), ['letter' => 'A'], null ]; yield [ - $this->textareaField('vorname')->name('Vorname der Mutter')->required(true), + static::textareaField('vorname')->name('Vorname der Mutter')->required(true), ['vorname' => ''], ['vorname' => 'Vorname der Mutter ist erforderlich.'] ]; yield [ - $this->textareaField('vorname')->name('Vorname der Mutter')->required(true), + static::textareaField('vorname')->name('Vorname der Mutter')->required(true), ['vorname' => 5], ['vorname' => 'Vorname der Mutter muss ein String sein.'] ]; yield [ - $this->textareaField('vorname')->name('Vorname der Mutter')->required(true), + static::textareaField('vorname')->name('Vorname der Mutter')->required(true), ['vorname' => 5], ['vorname' => 'Vorname der Mutter muss ein String sein.'] ]; yield [ - $this->emailField('email')->name('Mail')->required(true), + static::emailField('email')->name('Mail')->required(true), ['email' => 'alaaa'], ['email' => 'Mail muss eine gültige E-Mail-Adresse sein.'] ]; yield [ - $this->emailField('email')->name('Mail')->required(false), + static::emailField('email')->name('Mail')->required(false), ['email' => 'alaaa'], ['email' => 'Mail muss eine gültige E-Mail-Adresse sein.'] ]; yield [ - $this->numberField('numb')->name('Nummer')->required(false)->min(10)->max(20), + static::numberField('numb')->name('Nummer')->required(false)->min(10)->max(20), ['numb' => 21], ['numb' => 'Nummer muss kleiner oder gleich 20 sein.'] ]; yield [ - $this->numberField('numb')->name('Nummer')->required(false)->min(10)->max(20), + static::numberField('numb')->name('Nummer')->required(false)->min(10)->max(20), ['numb' => 9], ['numb' => 'Nummer muss größer oder gleich 10 sein.'] ]; yield [ - $this->numberField('numb')->name('Nummer')->required(false)->min(10)->max(20), + static::numberField('numb')->name('Nummer')->required(false)->min(10)->max(20), ['numb' => 'asss'], ['numb' => 'Nummer muss eine ganze Zahl sein.'] ]; yield [ - $this->numberField('numb')->name('Nummer')->required(true), + static::numberField('numb')->name('Nummer')->required(true), ['numb' => ''], ['numb' => 'Nummer ist erforderlich.'] ]; @@ -456,7 +457,7 @@ class FormRegisterActionTest extends FormTestCase $this->assertEquals($form->participants->get(0)->id, $form->participants->get(1)->parent_id); } - protected function memberMatchingDataProvider(): Generator + public static function memberMatchingDataProvider(): Generator { yield [ ['email' => 'max@muster.de'], @@ -539,10 +540,10 @@ class FormRegisterActionTest extends FormTestCase } /** - * @dataProvider memberMatchingDataProvider * @param array $memberAttributes * @param mixed $participantValue */ + #[DataProvider('memberMatchingDataProvider')] public function testItSynchsMemberAttributes(array $memberAttributes, NamiType $type, mixed $participantValue, ?callable $factory = null): void { Carbon::setTestNow(Carbon::parse('2023-05-04')); diff --git a/tests/Feature/Form/FormRegisterMailTest.php b/tests/Feature/Form/FormRegisterMailTest.php index 50009263..568edaff 100644 --- a/tests/Feature/Form/FormRegisterMailTest.php +++ b/tests/Feature/Form/FormRegisterMailTest.php @@ -8,6 +8,7 @@ use App\Form\Models\Form; use App\Form\Models\Participant; use Generator; use Illuminate\Foundation\Testing\DatabaseTransactions; +use PHPUnit\Framework\Attributes\DataProvider; use Tests\RequestFactories\EditorRequestFactory; class FormRegisterMailTest extends FormTestCase @@ -77,25 +78,25 @@ class FormRegisterMailTest extends FormTestCase $mail->assertHasAttachedData('content2', 'beispiel2.pdf', ['mime' => 'application/pdf']); } - public function blockDataProvider(): Generator + public static function blockDataProvider(): Generator { yield [ ['mode' => 'all', 'ifs' => []], - $this->dropdownField('fieldkey')->options(['A', 'B']), + static::dropdownField('fieldkey')->options(['A', 'B']), ['fieldkey' => 'A'], true, ]; yield [ ['mode' => 'any', 'ifs' => []], - $this->dropdownField('fieldkey')->options(['A', 'B']), + static::dropdownField('fieldkey')->options(['A', 'B']), ['fieldkey' => 'A'], true, ]; yield [ ['mode' => 'any', 'ifs' => []], - $this->dropdownField('fieldkey')->options(['A', 'B']), + static::dropdownField('fieldkey')->options(['A', 'B']), ['fieldkey' => 'A'], true, ]; @@ -104,7 +105,7 @@ class FormRegisterMailTest extends FormTestCase ['mode' => 'any', 'ifs' => [ ['field' => 'fieldkey', 'comparator' => 'isEqual', 'value' => 'A'] ]], - $this->dropdownField('fieldkey')->options(['A', 'B']), + static::dropdownField('fieldkey')->options(['A', 'B']), ['fieldkey' => 'A'], true, ]; @@ -113,7 +114,7 @@ class FormRegisterMailTest extends FormTestCase ['mode' => 'any', 'ifs' => [ ['field' => 'fieldkey', 'comparator' => 'isEqual', 'value' => 'B'] ]], - $this->dropdownField('fieldkey')->options(['A', 'B']), + static::dropdownField('fieldkey')->options(['A', 'B']), ['fieldkey' => 'A'], false, ]; @@ -123,7 +124,7 @@ class FormRegisterMailTest extends FormTestCase ['field' => 'fieldkey', 'comparator' => 'isEqual', 'value' => 'B'], ['field' => 'fieldkey', 'comparator' => 'isEqual', 'value' => 'A'] ]], - $this->dropdownField('fieldkey')->options(['A', 'B']), + static::dropdownField('fieldkey')->options(['A', 'B']), ['fieldkey' => 'A'], true, ]; @@ -133,7 +134,7 @@ class FormRegisterMailTest extends FormTestCase ['field' => 'fieldkey', 'comparator' => 'isEqual', 'value' => 'B'], ['field' => 'fieldkey', 'comparator' => 'isEqual', 'value' => 'A'] ]], - $this->dropdownField('fieldkey')->options(['A', 'B']), + static::dropdownField('fieldkey')->options(['A', 'B']), ['fieldkey' => 'B'], true, ]; @@ -143,7 +144,7 @@ class FormRegisterMailTest extends FormTestCase ['field' => 'fieldkey', 'comparator' => 'isEqual', 'value' => 'B'], ['field' => 'fieldkey', 'comparator' => 'isEqual', 'value' => 'A'] ]], - $this->dropdownField('fieldkey')->options(['A', 'B']), + static::dropdownField('fieldkey')->options(['A', 'B']), ['fieldkey' => 'B'], false, ]; @@ -152,7 +153,7 @@ class FormRegisterMailTest extends FormTestCase ['mode' => 'all', 'ifs' => [ ['field' => 'fieldkey', 'comparator' => 'isEqual', 'value' => 'B'] ]], - $this->dropdownField('fieldkey')->options(['A', 'B']), + static::dropdownField('fieldkey')->options(['A', 'B']), ['fieldkey' => 'B'], true, ]; @@ -161,7 +162,7 @@ class FormRegisterMailTest extends FormTestCase ['mode' => 'all', 'ifs' => [ ['field' => 'fieldkey', 'comparator' => 'isNotEqual', 'value' => 'A'] ]], - $this->dropdownField('fieldkey')->options(['A', 'B']), + static::dropdownField('fieldkey')->options(['A', 'B']), ['fieldkey' => 'B'], true, ]; @@ -170,7 +171,7 @@ class FormRegisterMailTest extends FormTestCase ['mode' => 'all', 'ifs' => [ ['field' => 'fieldkey', 'comparator' => 'isIn', 'value' => ['A']] ]], - $this->dropdownField('fieldkey')->options(['A', 'B']), + static::dropdownField('fieldkey')->options(['A', 'B']), ['fieldkey' => 'A'], true, ]; @@ -179,7 +180,7 @@ class FormRegisterMailTest extends FormTestCase ['mode' => 'all', 'ifs' => [ ['field' => 'fieldkey', 'comparator' => 'isNotIn', 'value' => ['B']] ]], - $this->dropdownField('fieldkey')->options(['A', 'B']), + static::dropdownField('fieldkey')->options(['A', 'B']), ['fieldkey' => 'A'], true, ]; @@ -188,7 +189,7 @@ class FormRegisterMailTest extends FormTestCase ['mode' => 'all', 'ifs' => [ ['field' => 'fieldkey', 'comparator' => 'isNotIn', 'value' => ['B']] ]], - $this->radioField('fieldkey')->options(['A', 'B']), + static::radioField('fieldkey')->options(['A', 'B']), ['fieldkey' => 'A'], true, ]; @@ -197,7 +198,7 @@ class FormRegisterMailTest extends FormTestCase ['mode' => 'all', 'ifs' => [ ['field' => 'fieldkey', 'comparator' => 'isEqual', 'value' => true] ]], - $this->checkboxField('fieldkey'), + static::checkboxField('fieldkey'), ['fieldkey' => true], true, ]; @@ -206,17 +207,17 @@ class FormRegisterMailTest extends FormTestCase ['mode' => 'all', 'ifs' => [ ['field' => 'fieldkey', 'comparator' => 'isEqual', 'value' => false] ]], - $this->checkboxField('fieldkey'), + static::checkboxField('fieldkey'), ['fieldkey' => true], false, ]; } /** - * @dataProvider blockDataProvider * @param array $conditions * @param array $participantValues */ + #[DataProvider('blockDataProvider')] public function testItFiltersForBlockConditions(array $conditions, FormtemplateFieldRequest $field, array $participantValues, bool $result): void { $this->login()->loginNami()->withoutExceptionHandling(); @@ -242,10 +243,10 @@ class FormRegisterMailTest extends FormTestCase } /** - * @dataProvider blockDataProvider * @param array $conditions * @param array $participantValues */ + #[DataProvider('blockDataProvider')] public function testItFiltersForAttachments(array $conditions, FormtemplateFieldRequest $field, array $participantValues, bool $result): void { $this->login()->loginNami()->withoutExceptionHandling(); diff --git a/tests/Feature/Form/FormStoreActionTest.php b/tests/Feature/Form/FormStoreActionTest.php index cb402fbb..644d23e9 100644 --- a/tests/Feature/Form/FormStoreActionTest.php +++ b/tests/Feature/Form/FormStoreActionTest.php @@ -10,6 +10,7 @@ use App\Lib\Events\Succeeded; use Illuminate\Foundation\Testing\DatabaseTransactions; use Illuminate\Support\Facades\Event; use Generator; +use PHPUnit\Framework\Attributes\DataProvider; use Tests\RequestFactories\EditorRequestFactory; class FormStoreActionTest extends FormTestCase @@ -80,7 +81,7 @@ class FormStoreActionTest extends FormTestCase $this->assertEquals(2, $form->export->root->connectionId); } - public function validationDataProvider(): Generator + public static function validationDataProvider(): Generator { yield [FormRequest::new()->name(''), ['name' => 'Name ist erforderlich.']]; yield [FormRequest::new()->excerpt(''), ['excerpt' => 'Auszug ist erforderlich.']]; @@ -92,9 +93,9 @@ class FormStoreActionTest extends FormTestCase /** - * @dataProvider validationDataProvider * @param array $messages */ + #[DataProvider('validationDataProvider')] public function testItValidatesRequests(FormRequest $request, array $messages): void { $this->login()->loginNami(); diff --git a/tests/Feature/Form/FormtemplateStoreActionTest.php b/tests/Feature/Form/FormtemplateStoreActionTest.php index 90ea0935..dd02a620 100644 --- a/tests/Feature/Form/FormtemplateStoreActionTest.php +++ b/tests/Feature/Form/FormtemplateStoreActionTest.php @@ -10,6 +10,7 @@ use App\Lib\Events\Succeeded; use Illuminate\Foundation\Testing\DatabaseTransactions; use Illuminate\Support\Facades\Event; use Generator; +use PHPUnit\Framework\Attributes\DataProvider; use Tests\RequestFactories\EditorRequestFactory; class FormtemplateStoreActionTest extends FormTestCase @@ -51,12 +52,12 @@ class FormtemplateStoreActionTest extends FormTestCase Event::assertDispatched(Succeeded::class, fn (Succeeded $event) => $event->message === 'Vorlage gespeichert.'); } - public function validationDataProvider(): Generator + public static function validationDataProvider(): Generator { yield [FormtemplateRequest::new()->name(''), ['name' => 'Name ist erforderlich.']]; yield [FormtemplateRequest::new()->sections([FormtemplateSectionRequest::new()->name('')]), ['config.sections.0.name' => 'Sektionsname ist erforderlich.']]; yield [FormtemplateRequest::new()->sections([FormtemplateSectionRequest::new()->fields([ - $this->textField()->name(''), + static::textField()->name(''), ])]), ['config.sections.0.fields.0.name' => 'Feldname ist erforderlich.']]; yield [FormtemplateRequest::new()->sections([FormtemplateSectionRequest::new()->fields([ FormtemplateFieldRequest::type('') @@ -65,20 +66,20 @@ class FormtemplateStoreActionTest extends FormTestCase FormtemplateFieldRequest::type('aaaaa'), ])]), ['config.sections.0.fields.0.type' => 'Feldtyp ist ungültig.']]; yield [FormtemplateRequest::new()->sections([FormtemplateSectionRequest::new()->fields([ - $this->textField(''), + static::textField(''), ])]), ['config.sections.0.fields.0.key' => 'Feldkey ist erforderlich.']]; yield [FormtemplateRequest::new()->sections([FormtemplateSectionRequest::new()->fields([ - $this->textField('a b'), + static::textField('a b'), ])]), ['config.sections.0.fields.0.key' => 'Feldkey Format ist ungültig.']]; yield [FormtemplateRequest::new()->sections([FormtemplateSectionRequest::new()->fields([ - $this->textField()->required('la') + static::textField()->required('la') ])]), ['config.sections.0.fields.0.required' => 'Erforderlich muss ein Wahrheitswert sein.']]; } /** - * @dataProvider validationDataProvider * @param array $messages */ + #[DataProvider('validationDataProvider')] public function testItValidatesRequests(FormtemplateRequest $request, array $messages): void { $this->login()->loginNami(); diff --git a/tests/Feature/Initialize/InitializeActivitiesTest.php b/tests/Feature/Initialize/InitializeActivitiesTest.php index 275b65c8..cc44f9b3 100644 --- a/tests/Feature/Initialize/InitializeActivitiesTest.php +++ b/tests/Feature/Initialize/InitializeActivitiesTest.php @@ -8,6 +8,7 @@ use App\Setting\NamiSettings; use App\Subactivity; use Generator; use Illuminate\Foundation\Testing\DatabaseTransactions; +use PHPUnit\Framework\Attributes\DataProvider; use Tests\TestCase; use Zoomyboy\LaravelNami\Fakes\ActivityFake; use Zoomyboy\LaravelNami\Fakes\GroupFake; @@ -82,11 +83,10 @@ class InitializeActivitiesTest extends TestCase } /** - * @dataProvider activityDataProvider - * * @param array $activityCheck * @param array $subactivityCheck */ + #[DataProvider('activityDataProvider')] public function testItInitsOtherFields(callable $activityFake, array $activityCheck, ?array $subactivityCheck = null): void { app(GroupFake::class) diff --git a/tests/Feature/Invoice/InvoiceStoreActionTest.php b/tests/Feature/Invoice/InvoiceStoreActionTest.php index a4d64b30..877b2206 100644 --- a/tests/Feature/Invoice/InvoiceStoreActionTest.php +++ b/tests/Feature/Invoice/InvoiceStoreActionTest.php @@ -8,6 +8,7 @@ use App\Invoice\Models\Invoice; use App\Member\Member; use Generator; use Illuminate\Foundation\Testing\DatabaseTransactions; +use PHPUnit\Framework\Attributes\DataProvider; use Tests\TestCase; class InvoiceStoreActionTest extends TestCase @@ -106,8 +107,8 @@ class InvoiceStoreActionTest extends TestCase /** * @param array $input * @param array $errors - * @dataProvider validationDataProvider */ + #[DataProvider('validationDataProvider')] public function testItValidatesInput(array $input, array $errors): void { $this->login()->loginNami(); diff --git a/tests/Feature/Invoice/InvoiceUpdateActionTest.php b/tests/Feature/Invoice/InvoiceUpdateActionTest.php index 18212208..5350931c 100644 --- a/tests/Feature/Invoice/InvoiceUpdateActionTest.php +++ b/tests/Feature/Invoice/InvoiceUpdateActionTest.php @@ -9,6 +9,7 @@ use App\Invoice\Models\InvoicePosition; use App\Member\Member; use Generator; use Illuminate\Foundation\Testing\DatabaseTransactions; +use PHPUnit\Framework\Attributes\DataProvider; use Tests\TestCase; class InvoiceUpdateActionTest extends TestCase @@ -144,8 +145,8 @@ class InvoiceUpdateActionTest extends TestCase /** * @param array $input * @param array $errors - * @dataProvider validationDataProvider */ + #[DataProvider('validationDataProvider')] public function testItValidatesInput(array $input, array $errors): void { $this->login()->loginNami(); diff --git a/tests/Feature/Member/PreventionTest.php b/tests/Feature/Member/PreventionTest.php index 3e74b3d5..3dff014a 100644 --- a/tests/Feature/Member/PreventionTest.php +++ b/tests/Feature/Member/PreventionTest.php @@ -17,6 +17,7 @@ use App\Prevention\PreventionSettings; use Generator; use Illuminate\Foundation\Testing\DatabaseTransactions; use Illuminate\Support\Facades\Mail; +use PHPUnit\Framework\Attributes\DataProvider; use Tests\Lib\CreatesFormFields; use Tests\RequestFactories\EditorRequestFactory; use Tests\TestCase; @@ -169,8 +170,8 @@ class PreventionTest extends TestCase /** * @param array $preventions * @param array $memberAttributes - * @dataProvider attributes */ + #[DataProvider('attributes')] public function testItRemembersMember(array $memberAttributes, array $preventions): void { Mail::fake(); diff --git a/tests/Feature/Member/ShowTest.php b/tests/Feature/Member/ShowTest.php index 7be28c6d..8104a757 100644 --- a/tests/Feature/Member/ShowTest.php +++ b/tests/Feature/Member/ShowTest.php @@ -17,6 +17,7 @@ use App\Region; use Carbon\Carbon; use Generator; use Illuminate\Foundation\Testing\DatabaseTransactions; +use PHPUnit\Framework\Attributes\DataProvider; use Tests\TestCase; class ShowTest extends TestCase @@ -177,9 +178,7 @@ class ShowTest extends TestCase yield [now()->addDays(2), null, false]; } - /** - * @dataProvider membershipDataProvider - */ + #[DataProvider('membershipDataProvider')] public function testItShowsIfMembershipIsActive(Carbon $from, ?Carbon $to, bool $isActive): void { $this->withoutExceptionHandling()->login()->loginNami(); diff --git a/tests/Feature/Membership/IndexTest.php b/tests/Feature/Membership/IndexTest.php index c41acf36..e52f9c64 100644 --- a/tests/Feature/Membership/IndexTest.php +++ b/tests/Feature/Membership/IndexTest.php @@ -8,6 +8,7 @@ use App\Member\Membership; use Generator; use Carbon\Carbon; use Illuminate\Foundation\Testing\DatabaseTransactions; +use PHPUnit\Framework\Attributes\DataProvider; use Tests\TestCase; class IndexTest extends TestCase @@ -52,9 +53,7 @@ class IndexTest extends TestCase yield [now()->addDays(2), null, false]; } - /** - * @dataProvider membershipDataProvider - */ + #[DataProvider('membershipDataProvider')] public function testItShowsIfMembershipIsActive(Carbon $from, ?Carbon $to, bool $isActive): void { $this->withoutExceptionHandling()->login()->loginNami(); diff --git a/tests/Lib/CreatesFormFields.php b/tests/Lib/CreatesFormFields.php index 3b676347..a8c4690a 100644 --- a/tests/Lib/CreatesFormFields.php +++ b/tests/Lib/CreatesFormFields.php @@ -18,62 +18,62 @@ use Tests\Feature\Form\FormtemplateFieldRequest; trait CreatesFormFields { - protected function namiField(?string $key = null): FormtemplateFieldRequest + protected static function namiField(?string $key = null): FormtemplateFieldRequest { - return FormtemplateFieldRequest::type(NamiField::class)->key($key ?? $this->randomKey()); + return FormtemplateFieldRequest::type(NamiField::class)->key($key ?? static::randomKey()); } - protected function textField(?string $key = null): FormtemplateFieldRequest + protected static function textField(?string $key = null): FormtemplateFieldRequest { - return FormtemplateFieldRequest::type(TextField::class)->key($key ?? $this->randomKey()); + return FormtemplateFieldRequest::type(TextField::class)->key($key ?? static::randomKey()); } - protected function numberField(?string $key = null): FormtemplateFieldRequest + protected static function numberField(?string $key = null): FormtemplateFieldRequest { - return FormtemplateFieldRequest::type(NumberField::class)->key($key ?? $this->randomKey()); + return FormtemplateFieldRequest::type(NumberField::class)->key($key ?? static::randomKey()); } - protected function emailField(?string $key = null): FormtemplateFieldRequest + protected static function emailField(?string $key = null): FormtemplateFieldRequest { - return FormtemplateFieldRequest::type(EmailField::class)->key($key ?? $this->randomKey()); + return FormtemplateFieldRequest::type(EmailField::class)->key($key ?? static::randomKey()); } - protected function checkboxesField(?string $key = null): FormtemplateFieldRequest + protected static function checkboxesField(?string $key = null): FormtemplateFieldRequest { - return FormtemplateFieldRequest::type(CheckboxesField::class)->key($key ?? $this->randomKey()); + return FormtemplateFieldRequest::type(CheckboxesField::class)->key($key ?? static::randomKey()); } - protected function textareaField(?string $key = null): FormtemplateFieldRequest + protected static function textareaField(?string $key = null): FormtemplateFieldRequest { - return FormtemplateFieldRequest::type(TextareaField::class)->key($key ?? $this->randomKey()); + return FormtemplateFieldRequest::type(TextareaField::class)->key($key ?? static::randomKey()); } - protected function dropdownField(?string $key = null): FormtemplateFieldRequest + protected static function dropdownField(?string $key = null): FormtemplateFieldRequest { - return FormtemplateFieldRequest::type(DropdownField::class)->key($key ?? $this->randomKey()); + return FormtemplateFieldRequest::type(DropdownField::class)->key($key ?? static::randomKey()); } - protected function dateField(?string $key = null): FormtemplateFieldRequest + protected static function dateField(?string $key = null): FormtemplateFieldRequest { - return FormtemplateFieldRequest::type(DateField::class)->key($key ?? $this->randomKey()); + return FormtemplateFieldRequest::type(DateField::class)->key($key ?? static::randomKey()); } - protected function radioField(?string $key = null): FormtemplateFieldRequest + protected static function radioField(?string $key = null): FormtemplateFieldRequest { - return FormtemplateFieldRequest::type(RadioField::class)->key($key ?? $this->randomKey()); + return FormtemplateFieldRequest::type(RadioField::class)->key($key ?? static::randomKey()); } - protected function checkboxField(?string $key = null): FormtemplateFieldRequest + protected static function checkboxField(?string $key = null): FormtemplateFieldRequest { - return FormtemplateFieldRequest::type(CheckboxField::class)->key($key ?? $this->randomKey()); + return FormtemplateFieldRequest::type(CheckboxField::class)->key($key ?? static::randomKey()); } - protected function groupField(?string $key = null): FormtemplateFieldRequest + protected static function groupField(?string $key = null): FormtemplateFieldRequest { - return FormtemplateFieldRequest::type(GroupField::class)->key($key ?? $this->randomKey()); + return FormtemplateFieldRequest::type(GroupField::class)->key($key ?? static::randomKey()); } - protected function randomKey(): string + protected static function randomKey(): string { return preg_replace('/[\-0-9]/', '', str()->uuid() . str()->uuid()); } diff --git a/tests/Unit/Mailman/ServiceTest.php b/tests/Unit/Mailman/ServiceTest.php index d3ab48b3..56dbedda 100644 --- a/tests/Unit/Mailman/ServiceTest.php +++ b/tests/Unit/Mailman/ServiceTest.php @@ -7,6 +7,7 @@ use App\Mailman\Exceptions\MailmanServiceException; use App\Mailman\Support\MailmanService; use Generator; use Illuminate\Support\Facades\Http; +use PHPUnit\Framework\Attributes\DataProvider; use Tests\RequestFactories\MailmanListRequestFactory; use Tests\TestCase; @@ -23,7 +24,7 @@ class ServiceTest extends TestCase $this->assertTrue($result); Http::assertSentCount(1); - Http::assertSent(fn ($request) => 'GET' === $request->method() && 'http://mailman.test/api/system/versions' === $request->url() && $request->header('Authorization') === ['Basic '.base64_encode('user:secret')]); + Http::assertSent(fn ($request) => 'GET' === $request->method() && 'http://mailman.test/api/system/versions' === $request->url() && $request->header('Authorization') === ['Basic ' . base64_encode('user:secret')]); } public function testItFailsWhenChckingCredentials(): void @@ -37,7 +38,7 @@ class ServiceTest extends TestCase $this->assertFalse($result); Http::assertSentCount(1); - Http::assertSent(fn ($request) => 'GET' === $request->method() && 'http://mailman.test/api/system/versions' === $request->url() && $request->header('Authorization') === ['Basic '.base64_encode('user:secret')]); + Http::assertSent(fn ($request) => 'GET' === $request->method() && 'http://mailman.test/api/system/versions' === $request->url() && $request->header('Authorization') === ['Basic ' . base64_encode('user:secret')]); } public function testItGetsMembersFromList(): void @@ -56,7 +57,7 @@ class ServiceTest extends TestCase $this->assertEquals(994, $result->memberId); $this->assertEquals('test@example.com', $result->email); Http::assertSentCount(1); - Http::assertSent(fn ($request) => 'GET' === $request->method() && 'http://mailman.test/api/lists/listid/roster/member?page=1&count=10' === $request->url() && $request->header('Authorization') === ['Basic '.base64_encode('user:secret')]); + Http::assertSent(fn ($request) => 'GET' === $request->method() && 'http://mailman.test/api/lists/listid/roster/member?page=1&count=10' === $request->url() && $request->header('Authorization') === ['Basic ' . base64_encode('user:secret')]); } public function testItThrowsExceptionWhenLoginFailed(): void @@ -94,21 +95,19 @@ class ServiceTest extends TestCase foreach (range(3, 40) as $i) { yield [ collect(range(1, $i)) - ->map(fn ($num) => ['email' => 'test'.$num.'@example.com', 'self_link' => 'https://example.com/994']) + ->map(fn ($num) => ['email' => 'test' . $num . '@example.com', 'self_link' => 'https://example.com/994']) ->toArray(), ]; } } - /** - * @dataProvider listDataProvider - */ + #[DataProvider('listDataProvider')] public function testItReturnsMoreThanOneResult(array $totals): void { $totals = collect($totals); foreach ($totals->chunk(10) as $n => $chunk) { Http::fake([ - 'http://mailman.test/api/lists/listid/roster/member?page='.($n + 1).'&count=10' => Http::response(json_encode([ + 'http://mailman.test/api/lists/listid/roster/member?page=' . ($n + 1) . '&count=10' => Http::response(json_encode([ 'entries' => $chunk, 'total_size' => $totals->count(), ]), 200),