From 5d46d67df810f4dc7903400ccfe59633aa9fb1d8 Mon Sep 17 00:00:00 2001 From: Dan Harrin Date: Sun, 24 Mar 2024 07:55:04 +0000 Subject: [PATCH] Create service provider, move layout component creation & form component action testing macros --- bootstrap/app.php | 2 + composer.json | 1 + composer.lock | 256 +++++++++--------- packages/forms/.stubs.php | 58 ---- packages/forms/src/FormsServiceProvider.php | 3 - packages/schema/.stubs.php | 68 +++++ packages/schema/composer.json | 41 +++ .../Aliases/MakeLayoutComponentCommand.php | 4 +- .../Commands/MakeLayoutComponentCommand.php | 2 +- packages/schema/src/SchemaServiceProvider.php | 61 +++++ .../src/Testing/TestsComponentActions.php | 2 +- .../stubs/LayoutComponent.stub | 0 .../stubs/LayoutComponentView.stub | 0 tests/src/TestCase.php | 2 + 14 files changed, 307 insertions(+), 193 deletions(-) create mode 100644 packages/schema/.stubs.php create mode 100644 packages/schema/composer.json rename packages/{forms => schema}/src/Commands/Aliases/MakeLayoutComponentCommand.php (71%) rename packages/{forms => schema}/src/Commands/MakeLayoutComponentCommand.php (98%) create mode 100644 packages/schema/src/SchemaServiceProvider.php rename packages/{forms => schema}/src/Testing/TestsComponentActions.php (99%) rename packages/{forms => schema}/stubs/LayoutComponent.stub (100%) rename packages/{forms => schema}/stubs/LayoutComponentView.stub (100%) diff --git a/bootstrap/app.php b/bootstrap/app.php index 63155d06fc..de93f26334 100644 --- a/bootstrap/app.php +++ b/bootstrap/app.php @@ -5,6 +5,7 @@ use Filament\FilamentServiceProvider; use Filament\Forms\FormsServiceProvider; use Filament\Infolists\InfolistsServiceProvider; use Filament\Notifications\NotificationsServiceProvider; +use Filament\SchemaServiceProvider; use Filament\SpatieLaravelTranslatablePluginServiceProvider; use Filament\Support\SupportServiceProvider; use Filament\Tables\TablesServiceProvider; @@ -31,6 +32,7 @@ $app->register(ActionsServiceProvider::class); $app->register(FormsServiceProvider::class); $app->register(InfolistsServiceProvider::class); $app->register(NotificationsServiceProvider::class); +$app->register(SchemaServiceProvider::class); $app->register(SpatieLaravelTranslatablePluginServiceProvider::class); $app->register(SupportServiceProvider::class); $app->register(TablesServiceProvider::class); diff --git a/composer.json b/composer.json index 8990b8dff6..63f431d362 100644 --- a/composer.json +++ b/composer.json @@ -41,6 +41,7 @@ "psr-4": { "Filament\\": [ "packages/panels/src", + "packages/schema/src", "packages/spatie-laravel-media-library-plugin/src", "packages/spatie-laravel-settings-plugin/src", "packages/spatie-laravel-tags-plugin/src", diff --git a/composer.lock b/composer.lock index 97fce8cf1a..f36978d51a 100644 --- a/composer.lock +++ b/composer.lock @@ -9,16 +9,16 @@ "packages-dev": [ { "name": "anourvalar/eloquent-serialize", - "version": "1.2.21", + "version": "1.2.22", "source": { "type": "git", "url": "https://github.com/AnourValar/eloquent-serialize.git", - "reference": "39766b21c8de0dbbff8a9368c2579502fd1d248e" + "reference": "6e91093c10940859c4b0549b6a90f18d8db45998" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/AnourValar/eloquent-serialize/zipball/39766b21c8de0dbbff8a9368c2579502fd1d248e", - "reference": "39766b21c8de0dbbff8a9368c2579502fd1d248e", + "url": "https://api.github.com/repos/AnourValar/eloquent-serialize/zipball/6e91093c10940859c4b0549b6a90f18d8db45998", + "reference": "6e91093c10940859c4b0549b6a90f18d8db45998", "shasum": "" }, "require": { @@ -69,9 +69,9 @@ ], "support": { "issues": "https://github.com/AnourValar/eloquent-serialize/issues", - "source": "https://github.com/AnourValar/eloquent-serialize/tree/1.2.21" + "source": "https://github.com/AnourValar/eloquent-serialize/tree/1.2.22" }, - "time": "2024-03-15T14:33:22+00:00" + "time": "2024-03-22T12:56:46+00:00" }, { "name": "aws/aws-crt-php", @@ -129,16 +129,16 @@ }, { "name": "aws/aws-sdk-php", - "version": "3.301.1", + "version": "3.301.6", "source": { "type": "git", "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "0a910d2b35e7087337cdf3569dc9b6ce232aafba" + "reference": "18c0ebd71d3071304f1ea02aa9af75f95863177a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/0a910d2b35e7087337cdf3569dc9b6ce232aafba", - "reference": "0a910d2b35e7087337cdf3569dc9b6ce232aafba", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/18c0ebd71d3071304f1ea02aa9af75f95863177a", + "reference": "18c0ebd71d3071304f1ea02aa9af75f95863177a", "shasum": "" }, "require": { @@ -218,9 +218,9 @@ "support": { "forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80", "issues": "https://github.com/aws/aws-sdk-php/issues", - "source": "https://github.com/aws/aws-sdk-php/tree/3.301.1" + "source": "https://github.com/aws/aws-sdk-php/tree/3.301.6" }, - "time": "2024-03-15T18:14:42+00:00" + "time": "2024-03-22T18:05:21+00:00" }, { "name": "blade-ui-kit/blade-heroicons", @@ -1566,11 +1566,11 @@ }, { "name": "filament/support", - "version": "3.x-dev", + "version": "4.x-dev", "dist": { "type": "path", "url": "packages/support", - "reference": "5b727718111119d12895e235ca25d5f5da6dc271" + "reference": "d215abeb7b8b6a31d05bf5eec44aa6f1fc5c2d12" }, "require": { "blade-ui-kit/blade-heroicons": "^2.2.1", @@ -1585,7 +1585,7 @@ "spatie/color": "^1.5", "spatie/invade": "^1.0|^2.0", "spatie/laravel-package-tools": "^1.9", - "symfony/html-sanitizer": "^6.1" + "symfony/html-sanitizer": "^6.1|^7.0" }, "type": "library", "extra": { @@ -2343,16 +2343,16 @@ }, { "name": "kirschbaum-development/eloquent-power-joins", - "version": "3.5.0", + "version": "3.5.2", "source": { "type": "git", "url": "https://github.com/kirschbaum-development/eloquent-power-joins.git", - "reference": "13feb3692ab6c0475b2c05de131d5f5822fb250a" + "reference": "2fae3aca9eefd4591603a7e53406ab9f56b69fad" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/kirschbaum-development/eloquent-power-joins/zipball/13feb3692ab6c0475b2c05de131d5f5822fb250a", - "reference": "13feb3692ab6c0475b2c05de131d5f5822fb250a", + "url": "https://api.github.com/repos/kirschbaum-development/eloquent-power-joins/zipball/2fae3aca9eefd4591603a7e53406ab9f56b69fad", + "reference": "2fae3aca9eefd4591603a7e53406ab9f56b69fad", "shasum": "" }, "require": { @@ -2399,9 +2399,9 @@ ], "support": { "issues": "https://github.com/kirschbaum-development/eloquent-power-joins/issues", - "source": "https://github.com/kirschbaum-development/eloquent-power-joins/tree/3.5.0" + "source": "https://github.com/kirschbaum-development/eloquent-power-joins/tree/3.5.2" }, - "time": "2024-02-13T15:40:14+00:00" + "time": "2024-03-20T10:23:27+00:00" }, { "name": "larastan/larastan", @@ -2507,16 +2507,16 @@ }, { "name": "laravel/framework", - "version": "v11.0.7", + "version": "v11.0.8", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "28eabe9dcdcb017a21ce226eda4538c5c8c93b1c" + "reference": "0379a7ccb77e2029c43ce508fa76e251a0d68fce" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/28eabe9dcdcb017a21ce226eda4538c5c8c93b1c", - "reference": "28eabe9dcdcb017a21ce226eda4538c5c8c93b1c", + "url": "https://api.github.com/repos/laravel/framework/zipball/0379a7ccb77e2029c43ce508fa76e251a0d68fce", + "reference": "0379a7ccb77e2029c43ce508fa76e251a0d68fce", "shasum": "" }, "require": { @@ -2619,7 +2619,7 @@ "league/flysystem-sftp-v3": "^3.0", "mockery/mockery": "^1.6", "nyholm/psr7": "^1.2", - "orchestra/testbench-core": "^9.0", + "orchestra/testbench-core": "^9.0.6", "pda/pheanstalk": "^5.0", "phpstan/phpstan": "^1.4.7", "phpunit/phpunit": "^10.5|^11.0", @@ -2708,7 +2708,7 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2024-03-15T23:17:58+00:00" + "time": "2024-03-21T14:15:49+00:00" }, { "name": "laravel/pint", @@ -3508,16 +3508,16 @@ }, { "name": "league/uri", - "version": "7.4.0", + "version": "7.4.1", "source": { "type": "git", "url": "https://github.com/thephpleague/uri.git", - "reference": "bf414ba956d902f5d98bf9385fcf63954f09dce5" + "reference": "bedb6e55eff0c933668addaa7efa1e1f2c417cc4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/uri/zipball/bf414ba956d902f5d98bf9385fcf63954f09dce5", - "reference": "bf414ba956d902f5d98bf9385fcf63954f09dce5", + "url": "https://api.github.com/repos/thephpleague/uri/zipball/bedb6e55eff0c933668addaa7efa1e1f2c417cc4", + "reference": "bedb6e55eff0c933668addaa7efa1e1f2c417cc4", "shasum": "" }, "require": { @@ -3586,7 +3586,7 @@ "docs": "https://uri.thephpleague.com", "forum": "https://thephpleague.slack.com", "issues": "https://github.com/thephpleague/uri-src/issues", - "source": "https://github.com/thephpleague/uri/tree/7.4.0" + "source": "https://github.com/thephpleague/uri/tree/7.4.1" }, "funding": [ { @@ -3594,20 +3594,20 @@ "type": "github" } ], - "time": "2023-12-01T06:24:25+00:00" + "time": "2024-03-23T07:42:40+00:00" }, { "name": "league/uri-interfaces", - "version": "7.4.0", + "version": "7.4.1", "source": { "type": "git", "url": "https://github.com/thephpleague/uri-interfaces.git", - "reference": "bd8c487ec236930f7bbc42b8d374fa882fbba0f3" + "reference": "8d43ef5c841032c87e2de015972c06f3865ef718" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/bd8c487ec236930f7bbc42b8d374fa882fbba0f3", - "reference": "bd8c487ec236930f7bbc42b8d374fa882fbba0f3", + "url": "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/8d43ef5c841032c87e2de015972c06f3865ef718", + "reference": "8d43ef5c841032c87e2de015972c06f3865ef718", "shasum": "" }, "require": { @@ -3670,7 +3670,7 @@ "docs": "https://uri.thephpleague.com", "forum": "https://thephpleague.slack.com", "issues": "https://github.com/thephpleague/uri-src/issues", - "source": "https://github.com/thephpleague/uri-interfaces/tree/7.4.0" + "source": "https://github.com/thephpleague/uri-interfaces/tree/7.4.1" }, "funding": [ { @@ -3678,7 +3678,7 @@ "type": "github" } ], - "time": "2023-11-24T15:40:42+00:00" + "time": "2024-03-23T07:42:40+00:00" }, { "name": "livewire/livewire", @@ -3905,16 +3905,16 @@ }, { "name": "mockery/mockery", - "version": "1.6.9", + "version": "1.6.11", "source": { "type": "git", "url": "https://github.com/mockery/mockery.git", - "reference": "0cc058854b3195ba21dc6b1f7b1f60f4ef3a9c06" + "reference": "81a161d0b135df89951abd52296adf97deb0723d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mockery/mockery/zipball/0cc058854b3195ba21dc6b1f7b1f60f4ef3a9c06", - "reference": "0cc058854b3195ba21dc6b1f7b1f60f4ef3a9c06", + "url": "https://api.github.com/repos/mockery/mockery/zipball/81a161d0b135df89951abd52296adf97deb0723d", + "reference": "81a161d0b135df89951abd52296adf97deb0723d", "shasum": "" }, "require": { @@ -3926,8 +3926,8 @@ "phpunit/phpunit": "<8.0" }, "require-dev": { - "phpunit/phpunit": "^8.5 || ^9.6.10", - "symplify/easy-coding-standard": "^12.0.8" + "phpunit/phpunit": "^8.5 || ^9.6.17", + "symplify/easy-coding-standard": "^12.1.14" }, "type": "library", "autoload": { @@ -3984,7 +3984,7 @@ "security": "https://github.com/mockery/mockery/security/advisories", "source": "https://github.com/mockery/mockery" }, - "time": "2023-12-10T02:24:34+00:00" + "time": "2024-03-21T18:34:15+00:00" }, { "name": "monolog/monolog", @@ -4804,25 +4804,25 @@ }, { "name": "orchestra/canvas", - "version": "v9.0.0", + "version": "v9.0.1", "source": { "type": "git", "url": "https://github.com/orchestral/canvas.git", - "reference": "c0c62745ffe8d1295bcdb6c9fc8aad4f0c5927b2" + "reference": "be710ff512ef00450d7984ddce77d34690addef9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/orchestral/canvas/zipball/c0c62745ffe8d1295bcdb6c9fc8aad4f0c5927b2", - "reference": "c0c62745ffe8d1295bcdb6c9fc8aad4f0c5927b2", + "url": "https://api.github.com/repos/orchestral/canvas/zipball/be710ff512ef00450d7984ddce77d34690addef9", + "reference": "be710ff512ef00450d7984ddce77d34690addef9", "shasum": "" }, "require": { "composer-runtime-api": "^2.2", "composer/semver": "^3.0", - "illuminate/console": "^11.0", - "illuminate/database": "^11.0", - "illuminate/filesystem": "^11.0", - "illuminate/support": "^11.0", + "illuminate/console": "^11.0.8", + "illuminate/database": "^11.0.8", + "illuminate/filesystem": "^11.0.8", + "illuminate/support": "^11.0.8", "orchestra/canvas-core": "^9.0", "orchestra/testbench-core": "^9.0", "php": "^8.2", @@ -4830,11 +4830,11 @@ "symfony/yaml": "^7.0" }, "require-dev": { - "laravel/framework": "^11.0", + "laravel/framework": "^11.0.8", "laravel/pint": "^1.6", "mockery/mockery": "^1.6", "phpstan/phpstan": "^1.10.6", - "phpunit/phpunit": "^10.5", + "phpunit/phpunit": "^11.0", "spatie/laravel-ray": "^1.35" }, "bin": [ @@ -4873,9 +4873,9 @@ "description": "Code Generators for Laravel Applications and Packages", "support": { "issues": "https://github.com/orchestral/canvas/issues", - "source": "https://github.com/orchestral/canvas/tree/v9.0.0" + "source": "https://github.com/orchestral/canvas/tree/v9.0.1" }, - "time": "2024-03-12T14:13:22+00:00" + "time": "2024-03-21T14:37:20+00:00" }, { "name": "orchestra/canvas-core", @@ -4947,16 +4947,16 @@ }, { "name": "orchestra/testbench", - "version": "v9.0.0", + "version": "v9.0.1", "source": { "type": "git", "url": "https://github.com/orchestral/testbench.git", - "reference": "e7c789813525875dba7480c79f9a48fc9a92a612" + "reference": "30640d88b173f9ab44341a282260993f454ed187" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/orchestral/testbench/zipball/e7c789813525875dba7480c79f9a48fc9a92a612", - "reference": "e7c789813525875dba7480c79f9a48fc9a92a612", + "url": "https://api.github.com/repos/orchestral/testbench/zipball/30640d88b173f9ab44341a282260993f454ed187", + "reference": "30640d88b173f9ab44341a282260993f454ed187", "shasum": "" }, "require": { @@ -4964,7 +4964,7 @@ "fakerphp/faker": "^1.23", "laravel/framework": "^11.0", "mockery/mockery": "^1.6", - "orchestra/testbench-core": "^9.0.1", + "orchestra/testbench-core": "^9.0.6", "orchestra/workbench": "^9.0", "php": "^8.2", "phpunit/phpunit": "^10.5 || ^11.0.1", @@ -4996,22 +4996,22 @@ ], "support": { "issues": "https://github.com/orchestral/testbench/issues", - "source": "https://github.com/orchestral/testbench/tree/v9.0.0" + "source": "https://github.com/orchestral/testbench/tree/v9.0.1" }, - "time": "2024-03-13T07:03:13+00:00" + "time": "2024-03-19T13:04:45+00:00" }, { "name": "orchestra/testbench-core", - "version": "v9.0.3", + "version": "v9.0.6", "source": { "type": "git", "url": "https://github.com/orchestral/testbench-core.git", - "reference": "b14f865a1abc827193e73c25559ad9bcf7851802" + "reference": "ea532af82da288d363b7dc7c96edae6bbb329efe" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/orchestral/testbench-core/zipball/b14f865a1abc827193e73c25559ad9bcf7851802", - "reference": "b14f865a1abc827193e73c25559ad9bcf7851802", + "url": "https://api.github.com/repos/orchestral/testbench-core/zipball/ea532af82da288d363b7dc7c96edae6bbb329efe", + "reference": "ea532af82da288d363b7dc7c96edae6bbb329efe", "shasum": "" }, "require": { @@ -5087,7 +5087,7 @@ "issues": "https://github.com/orchestral/testbench/issues", "source": "https://github.com/orchestral/testbench-core" }, - "time": "2024-03-14T14:04:45+00:00" + "time": "2024-03-19T11:20:27+00:00" }, { "name": "orchestra/workbench", @@ -5156,16 +5156,16 @@ }, { "name": "pestphp/pest", - "version": "v2.34.4", + "version": "v2.34.5", "source": { "type": "git", "url": "https://github.com/pestphp/pest.git", - "reference": "6a1161ead830294ef8e21fab83c0bd118b0df7cc" + "reference": "863a0cc83744c677ffdb28a6a2b841dd049e57ce" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pestphp/pest/zipball/6a1161ead830294ef8e21fab83c0bd118b0df7cc", - "reference": "6a1161ead830294ef8e21fab83c0bd118b0df7cc", + "url": "https://api.github.com/repos/pestphp/pest/zipball/863a0cc83744c677ffdb28a6a2b841dd049e57ce", + "reference": "863a0cc83744c677ffdb28a6a2b841dd049e57ce", "shasum": "" }, "require": { @@ -5175,10 +5175,10 @@ "pestphp/pest-plugin": "^2.1.1", "pestphp/pest-plugin-arch": "^2.7.0", "php": "^8.1.0", - "phpunit/phpunit": "^10.5.13" + "phpunit/phpunit": "^10.5.15" }, "conflict": { - "phpunit/phpunit": ">10.5.13", + "phpunit/phpunit": ">10.5.15", "sebastian/exporter": "<5.1.0", "webmozart/assert": "<1.11.0" }, @@ -5248,7 +5248,7 @@ ], "support": { "issues": "https://github.com/pestphp/pest/issues", - "source": "https://github.com/pestphp/pest/tree/v2.34.4" + "source": "https://github.com/pestphp/pest/tree/v2.34.5" }, "funding": [ { @@ -5260,7 +5260,7 @@ "type": "github" } ], - "time": "2024-03-14T19:44:18+00:00" + "time": "2024-03-22T08:44:19+00:00" }, { "name": "pestphp/pest-plugin", @@ -5972,16 +5972,16 @@ }, { "name": "phpstan/phpdoc-parser", - "version": "1.26.0", + "version": "1.27.0", "source": { "type": "git", "url": "https://github.com/phpstan/phpdoc-parser.git", - "reference": "231e3186624c03d7e7c890ec662b81e6b0405227" + "reference": "86e4d5a4b036f8f0be1464522f4c6b584c452757" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/231e3186624c03d7e7c890ec662b81e6b0405227", - "reference": "231e3186624c03d7e7c890ec662b81e6b0405227", + "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/86e4d5a4b036f8f0be1464522f4c6b584c452757", + "reference": "86e4d5a4b036f8f0be1464522f4c6b584c452757", "shasum": "" }, "require": { @@ -6013,22 +6013,22 @@ "description": "PHPDoc parser with support for nullable, intersection and generic types", "support": { "issues": "https://github.com/phpstan/phpdoc-parser/issues", - "source": "https://github.com/phpstan/phpdoc-parser/tree/1.26.0" + "source": "https://github.com/phpstan/phpdoc-parser/tree/1.27.0" }, - "time": "2024-02-23T16:05:55+00:00" + "time": "2024-03-21T13:14:53+00:00" }, { "name": "phpstan/phpstan", - "version": "1.10.62", + "version": "1.10.65", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "cd5c8a1660ed3540b211407c77abf4af193a6af9" + "reference": "3c657d057a0b7ecae19cb12db446bbc99d8839c6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/cd5c8a1660ed3540b211407c77abf4af193a6af9", - "reference": "cd5c8a1660ed3540b211407c77abf4af193a6af9", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/3c657d057a0b7ecae19cb12db446bbc99d8839c6", + "reference": "3c657d057a0b7ecae19cb12db446bbc99d8839c6", "shasum": "" }, "require": { @@ -6077,7 +6077,7 @@ "type": "tidelift" } ], - "time": "2024-03-13T12:27:20+00:00" + "time": "2024-03-23T10:30:26+00:00" }, { "name": "phpunit/php-code-coverage", @@ -6402,16 +6402,16 @@ }, { "name": "phpunit/phpunit", - "version": "10.5.13", + "version": "10.5.15", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "20a63fc1c6db29b15da3bd02d4b6cf59900088a7" + "reference": "86376e05e8745ed81d88232ff92fee868247b07b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/20a63fc1c6db29b15da3bd02d4b6cf59900088a7", - "reference": "20a63fc1c6db29b15da3bd02d4b6cf59900088a7", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/86376e05e8745ed81d88232ff92fee868247b07b", + "reference": "86376e05e8745ed81d88232ff92fee868247b07b", "shasum": "" }, "require": { @@ -6483,7 +6483,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.13" + "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.15" }, "funding": [ { @@ -6499,7 +6499,7 @@ "type": "tidelift" } ], - "time": "2024-03-12T15:37:41+00:00" + "time": "2024-03-22T04:17:47+00:00" }, { "name": "pimple/pimple", @@ -7825,16 +7825,16 @@ }, { "name": "sebastian/environment", - "version": "6.0.1", + "version": "6.1.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "43c751b41d74f96cbbd4e07b7aec9675651e2951" + "reference": "8074dbcd93529b357029f5cc5058fd3e43666984" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/43c751b41d74f96cbbd4e07b7aec9675651e2951", - "reference": "43c751b41d74f96cbbd4e07b7aec9675651e2951", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/8074dbcd93529b357029f5cc5058fd3e43666984", + "reference": "8074dbcd93529b357029f5cc5058fd3e43666984", "shasum": "" }, "require": { @@ -7849,7 +7849,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "6.0-dev" + "dev-main": "6.1-dev" } }, "autoload": { @@ -7877,7 +7877,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.0.1" + "source": "https://github.com/sebastianbergmann/environment/tree/6.1.0" }, "funding": [ { @@ -7885,7 +7885,7 @@ "type": "github" } ], - "time": "2023-04-11T05:39:26+00:00" + "time": "2024-03-23T08:47:14+00:00" }, { "name": "sebastian/exporter", @@ -8752,16 +8752,16 @@ }, { "name": "spatie/laravel-medialibrary", - "version": "11.4.5", + "version": "11.4.6", "source": { "type": "git", "url": "https://github.com/spatie/laravel-medialibrary.git", - "reference": "b27eb3f233cf802b1f2620fdfc34b4b13926c6d7" + "reference": "a6002b04b4a2e3227b3d5996ad78f8d73302db24" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-medialibrary/zipball/b27eb3f233cf802b1f2620fdfc34b4b13926c6d7", - "reference": "b27eb3f233cf802b1f2620fdfc34b4b13926c6d7", + "url": "https://api.github.com/repos/spatie/laravel-medialibrary/zipball/a6002b04b4a2e3227b3d5996ad78f8d73302db24", + "reference": "a6002b04b4a2e3227b3d5996ad78f8d73302db24", "shasum": "" }, "require": { @@ -8844,7 +8844,7 @@ ], "support": { "issues": "https://github.com/spatie/laravel-medialibrary/issues", - "source": "https://github.com/spatie/laravel-medialibrary/tree/11.4.5" + "source": "https://github.com/spatie/laravel-medialibrary/tree/11.4.6" }, "funding": [ { @@ -8856,20 +8856,20 @@ "type": "github" } ], - "time": "2024-03-04T09:34:47+00:00" + "time": "2024-03-19T14:17:05+00:00" }, { "name": "spatie/laravel-package-tools", - "version": "1.16.3", + "version": "1.16.4", "source": { "type": "git", "url": "https://github.com/spatie/laravel-package-tools.git", - "reference": "59db18c2e20d49a0b6d447bb1c654f6c123beb9e" + "reference": "ddf678e78d7f8b17e5cdd99c0c3413a4a6592e53" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/59db18c2e20d49a0b6d447bb1c654f6c123beb9e", - "reference": "59db18c2e20d49a0b6d447bb1c654f6c123beb9e", + "url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/ddf678e78d7f8b17e5cdd99c0c3413a4a6592e53", + "reference": "ddf678e78d7f8b17e5cdd99c0c3413a4a6592e53", "shasum": "" }, "require": { @@ -8908,7 +8908,7 @@ ], "support": { "issues": "https://github.com/spatie/laravel-package-tools/issues", - "source": "https://github.com/spatie/laravel-package-tools/tree/1.16.3" + "source": "https://github.com/spatie/laravel-package-tools/tree/1.16.4" }, "funding": [ { @@ -8916,7 +8916,7 @@ "type": "github" } ], - "time": "2024-03-07T07:35:57+00:00" + "time": "2024-03-20T07:29:11+00:00" }, { "name": "spatie/laravel-ray", @@ -10117,23 +10117,23 @@ }, { "name": "symfony/html-sanitizer", - "version": "v6.4.4", + "version": "v7.0.4", "source": { "type": "git", "url": "https://github.com/symfony/html-sanitizer.git", - "reference": "83e1dc8b49345e078cfa21bd4c563dfa99c5ed63" + "reference": "a8543ad56bc5250378ca44bb3988516fcb073c5d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/html-sanitizer/zipball/83e1dc8b49345e078cfa21bd4c563dfa99c5ed63", - "reference": "83e1dc8b49345e078cfa21bd4c563dfa99c5ed63", + "url": "https://api.github.com/repos/symfony/html-sanitizer/zipball/a8543ad56bc5250378ca44bb3988516fcb073c5d", + "reference": "a8543ad56bc5250378ca44bb3988516fcb073c5d", "shasum": "" }, "require": { "ext-dom": "*", "league/uri": "^6.5|^7.0", "masterminds/html5": "^2.7.2", - "php": ">=8.1" + "php": ">=8.2" }, "type": "library", "autoload": { @@ -10166,7 +10166,7 @@ "sanitizer" ], "support": { - "source": "https://github.com/symfony/html-sanitizer/tree/v6.4.4" + "source": "https://github.com/symfony/html-sanitizer/tree/v7.0.4" }, "funding": [ { @@ -10182,7 +10182,7 @@ "type": "tidelift" } ], - "time": "2024-02-13T16:25:19+00:00" + "time": "2024-02-15T11:33:06+00:00" }, { "name": "symfony/http-foundation", @@ -12600,16 +12600,16 @@ }, { "name": "zbateson/mb-wrapper", - "version": "1.2.0", + "version": "1.2.1", "source": { "type": "git", "url": "https://github.com/zbateson/mb-wrapper.git", - "reference": "faf35dddfacfc5d4d5f9210143eafd7a7fe74334" + "reference": "09a8b77eb94af3823a9a6623dcc94f8d988da67f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zbateson/mb-wrapper/zipball/faf35dddfacfc5d4d5f9210143eafd7a7fe74334", - "reference": "faf35dddfacfc5d4d5f9210143eafd7a7fe74334", + "url": "https://api.github.com/repos/zbateson/mb-wrapper/zipball/09a8b77eb94af3823a9a6623dcc94f8d988da67f", + "reference": "09a8b77eb94af3823a9a6623dcc94f8d988da67f", "shasum": "" }, "require": { @@ -12620,7 +12620,7 @@ "require-dev": { "friendsofphp/php-cs-fixer": "*", "phpstan/phpstan": "*", - "phpunit/phpunit": "<=9.0" + "phpunit/phpunit": "<10.0" }, "suggest": { "ext-iconv": "For best support/performance", @@ -12657,7 +12657,7 @@ ], "support": { "issues": "https://github.com/zbateson/mb-wrapper/issues", - "source": "https://github.com/zbateson/mb-wrapper/tree/1.2.0" + "source": "https://github.com/zbateson/mb-wrapper/tree/1.2.1" }, "funding": [ { @@ -12665,7 +12665,7 @@ "type": "github" } ], - "time": "2023-01-11T23:05:44+00:00" + "time": "2024-03-18T04:31:04+00:00" }, { "name": "zbateson/stream-decorators", diff --git a/packages/forms/.stubs.php b/packages/forms/.stubs.php index 3af0d92a4b..47f42ed30f 100644 --- a/packages/forms/.stubs.php +++ b/packages/forms/.stubs.php @@ -25,64 +25,6 @@ namespace Livewire\Features\SupportTesting { public function assertFormFieldIsHidden(string $fieldName, string $formName = 'form'): static {} public function assertFormFieldIsVisible(string $fieldName, string $formName = 'form'): static {} - - public function mountFormComponentAction(string | array $component, string | array $name, array $arguments = [], string $formName = 'form'): static {} - - public function unmountFormComponentAction(): static {} - - public function setFormComponentActionData(array $data): static {} - - public function assertFormComponentActionDataSet(array $data): static {} - - public function callFormComponentAction(string | array $component, string | array $name, array $data = [], array $arguments = [], string $formName = 'form'): static {} - - public function callMountedFormComponentAction(array $arguments = []): static {} - - public function assertFormComponentActionExists(string | array $component, string | array $name, string $formName = 'form'): static {} - - public function assertFormComponentActionDoesNotExist(string | array $component, string | array $name, string $formName = 'form'): static {} - - public function assertFormComponentActionVisible(string | array $component, string | array $name, array $arguments = [], string $formName = 'form'): static {} - - public function assertFormComponentActionHidden(string | array $component, string | array $name, array $arguments = [], string $formName = 'form'): static {} - - public function assertFormComponentActionEnabled(string | array $component, string | array $name, array $arguments = [], string $formName = 'form'): static {} - - public function assertFormComponentActionDisabled(string | array $component, string | array $name, array $arguments = [], string $formName = 'form'): static {} - - public function assertFormComponentActionMounted(string | array $component, string | array $name, string $formName = 'form'): static {} - - public function assertFormComponentActionNotMounted(string | array $component, string | array $name, string $formName = 'form'): static {} - - public function assertFormComponentActionHalted(string | array $component, string | array $name, string $formName = 'form'): static {} - - public function assertHasFormComponentActionErrors(array $keys = []): static {} - - public function assertHasNoFormComponentActionErrors(array $keys = []): static {} - - public function assertFormComponentActionHasIcon(string | array $component, string | array $name, string $icon, array $arguments = [], string $formName = 'form'): static {} - - public function assertFormComponentActionDoesNotHaveIcon(string | array $component, string | array $name, string $icon, array $arguments = [], string $formName = 'form'): static {} - - public function assertFormComponentActionHasLabel(string | array $component, string | array $name, string $label, array $arguments = [], string $formName = 'form'): static {} - - public function assertFormComponentActionDoesNotHaveLabel(string | array $component, string | array $name, string $label, array $arguments = [], string $formName = 'form'): static {} - - public function assertFormComponentActionHasColor(string | array $component, string | array $name, string | array $color, array $arguments = [], string $formName = 'form'): static {} - - public function assertFormComponentActionDoesNotHaveColor(string | array $component, string | array $name, string | array $color, array $arguments = [], string $formName = 'form'): static {} - - public function assertFormComponentActionHasUrl(string | array $component, string | array $name, string $url, array $arguments = [], string $formName = 'form'): static {} - - public function assertFormComponentActionDoesNotHaveUrl(string | array $component, string | array $name, string $url, array $arguments = [], string $formName = 'form'): static {} - - public function assertFormComponentActionShouldOpenUrlInNewTab(string | array $component, string | array $name, array $arguments = [], string $formName = 'form'): static {} - - public function assertFormComponentActionShouldNotOpenUrlInNewTab(string | array $component, string | array $name, array $arguments = [], string $formName = 'form'): static {} - - public function getNestedFormComponentActionComponentAndName(string | array $component, string | array $name, string $formName = 'form'): static {} - - public function parseNestedFormComponentActionComponentAndName(string | array $component, string | array $name, string $formName = 'form'): static {} } } diff --git a/packages/forms/src/FormsServiceProvider.php b/packages/forms/src/FormsServiceProvider.php index c5ffa94b43..3aa0c7ed0f 100644 --- a/packages/forms/src/FormsServiceProvider.php +++ b/packages/forms/src/FormsServiceProvider.php @@ -2,7 +2,6 @@ namespace Filament\Forms; -use Filament\Forms\Testing\TestsComponentActions; use Filament\Forms\Testing\TestsForms; use Filament\Support\Assets\AlpineComponent; use Filament\Support\Assets\Css; @@ -47,7 +46,6 @@ class FormsServiceProvider extends PackageServiceProvider } Testable::mixin(new TestsForms()); - Testable::mixin(new TestsComponentActions()); } /** @@ -58,7 +56,6 @@ class FormsServiceProvider extends PackageServiceProvider $commands = [ Commands\MakeFieldCommand::class, Commands\MakeFormCommand::class, - Commands\MakeLayoutComponentCommand::class, ]; $aliases = []; diff --git a/packages/schema/.stubs.php b/packages/schema/.stubs.php new file mode 100644 index 0000000000..0f55c3302e --- /dev/null +++ b/packages/schema/.stubs.php @@ -0,0 +1,68 @@ +name('filament') + ->hasCommands($this->getCommands()) + ->hasTranslations() + ->hasViews(); + } + + public function packageBooted(): void + { + if ($this->app->runningInConsole()) { + foreach (app(Filesystem::class)->files(__DIR__ . '/../stubs/') as $file) { + $this->publishes([ + $file->getRealPath() => base_path("stubs/filament/{$file->getFilename()}"), + ], 'filament-stubs'); + } + } + + Testable::mixin(new TestsComponentActions()); + } + + /** + * @return array + */ + protected function getCommands(): array + { + $commands = [ + Commands\MakeLayoutComponentCommand::class, + ]; + + $aliases = []; + + foreach ($commands as $command) { + $class = 'Filament\\Commands\\Aliases\\' . class_basename($command); + + if (! class_exists($class)) { + continue; + } + + $aliases[] = $class; + } + + return [ + ...$commands, + ...$aliases, + ]; + } +} diff --git a/packages/forms/src/Testing/TestsComponentActions.php b/packages/schema/src/Testing/TestsComponentActions.php similarity index 99% rename from packages/forms/src/Testing/TestsComponentActions.php rename to packages/schema/src/Testing/TestsComponentActions.php index d144803c4f..b8dcc5dc59 100644 --- a/packages/forms/src/Testing/TestsComponentActions.php +++ b/packages/schema/src/Testing/TestsComponentActions.php @@ -1,6 +1,6 @@