diff --git a/.gitignore b/.gitignore index fb8a897..381e547 100644 --- a/.gitignore +++ b/.gitignore @@ -23,3 +23,4 @@ yarn-error.log /.vscode /.zed /storage/framework/views/* +laradumps.yaml diff --git a/captainhook.json b/captainhook.json index 740418d..91c361d 100644 --- a/captainhook.json +++ b/captainhook.json @@ -19,6 +19,9 @@ }, { "action": "composer check" + }, + { + "action": "composer test:arch" } ] } diff --git a/composer.json b/composer.json index 263fa5c..ebf55e7 100644 --- a/composer.json +++ b/composer.json @@ -25,6 +25,7 @@ "require-dev": { "captainhook/captainhook": "^5.29", "fakerphp/faker": "^1.24", + "laradumps/laradumps": "^5.3", "larastan/larastan": "^3.9", "laravel/boost": "^2.2", "laravel/pail": "^1.2.5", @@ -75,6 +76,7 @@ "Composer\\Config::disableProcessTimeout", "@test" ], + "test:arch": "pest tests/ArchTest.php", "test": [ "@php artisan config:clear --ansi", "@lint:check", diff --git a/composer.lock b/composer.lock index eb7f7f5..996be02 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": "52d5c85207e2a66426da8402a08d2ebb", + "content-hash": "f3873c08b246822a39d28768c6205e67", "packages": [ { "name": "bacon/bacon-qr-code", @@ -1087,16 +1087,16 @@ }, { "name": "guzzlehttp/guzzle", - "version": "7.10.0", + "version": "7.10.1", "source": { "type": "git", "url": "https://github.com/guzzle/guzzle.git", - "reference": "b51ac707cfa420b7bfd4e4d5e510ba8008e822b4" + "reference": "b777df1776c667e287664dda75b0298ad8ae3a14" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/b51ac707cfa420b7bfd4e4d5e510ba8008e822b4", - "reference": "b51ac707cfa420b7bfd4e4d5e510ba8008e822b4", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/b777df1776c667e287664dda75b0298ad8ae3a14", + "reference": "b777df1776c667e287664dda75b0298ad8ae3a14", "shasum": "" }, "require": { @@ -1114,8 +1114,9 @@ "bamarni/composer-bin-plugin": "^1.8.2", "ext-curl": "*", "guzzle/client-integration-tests": "3.0.2", + "guzzlehttp/test-server": "^0.3.2", "php-http/message-factory": "^1.1", - "phpunit/phpunit": "^8.5.39 || ^9.6.20", + "phpunit/phpunit": "^8.5.52 || ^9.6.34", "psr/log": "^1.1 || ^2.0 || ^3.0" }, "suggest": { @@ -1193,7 +1194,7 @@ ], "support": { "issues": "https://github.com/guzzle/guzzle/issues", - "source": "https://github.com/guzzle/guzzle/tree/7.10.0" + "source": "https://github.com/guzzle/guzzle/tree/7.10.1" }, "funding": [ { @@ -1209,20 +1210,20 @@ "type": "tidelift" } ], - "time": "2025-08-23T22:36:01+00:00" + "time": "2026-05-19T18:01:31+00:00" }, { "name": "guzzlehttp/promises", - "version": "2.3.0", + "version": "2.3.1", "source": { "type": "git", "url": "https://github.com/guzzle/promises.git", - "reference": "481557b130ef3790cf82b713667b43030dc9c957" + "reference": "d2d8dfae4757f384d630fdffc2d8d6618d8f4c5e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/481557b130ef3790cf82b713667b43030dc9c957", - "reference": "481557b130ef3790cf82b713667b43030dc9c957", + "url": "https://api.github.com/repos/guzzle/promises/zipball/d2d8dfae4757f384d630fdffc2d8d6618d8f4c5e", + "reference": "d2d8dfae4757f384d630fdffc2d8d6618d8f4c5e", "shasum": "" }, "require": { @@ -1230,7 +1231,7 @@ }, "require-dev": { "bamarni/composer-bin-plugin": "^1.8.2", - "phpunit/phpunit": "^8.5.44 || ^9.6.25" + "phpunit/phpunit": "^8.5.52 || ^9.6.34" }, "type": "library", "extra": { @@ -1276,7 +1277,7 @@ ], "support": { "issues": "https://github.com/guzzle/promises/issues", - "source": "https://github.com/guzzle/promises/tree/2.3.0" + "source": "https://github.com/guzzle/promises/tree/2.3.1" }, "funding": [ { @@ -1292,20 +1293,20 @@ "type": "tidelift" } ], - "time": "2025-08-22T14:34:08+00:00" + "time": "2026-05-19T18:30:48+00:00" }, { "name": "guzzlehttp/psr7", - "version": "2.9.0", + "version": "2.10.0", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", - "reference": "7d0ed42f28e42d61352a7a79de682e5e67fec884" + "reference": "d5ddaf5743c42a61cb6100f83dc9d5a2bafe75ca" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/7d0ed42f28e42d61352a7a79de682e5e67fec884", - "reference": "7d0ed42f28e42d61352a7a79de682e5e67fec884", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/d5ddaf5743c42a61cb6100f83dc9d5a2bafe75ca", + "reference": "d5ddaf5743c42a61cb6100f83dc9d5a2bafe75ca", "shasum": "" }, "require": { @@ -1320,9 +1321,9 @@ }, "require-dev": { "bamarni/composer-bin-plugin": "^1.8.2", - "http-interop/http-factory-tests": "0.9.0", + "http-interop/http-factory-tests": "1.1.0", "jshttp/mime-db": "1.54.0.1", - "phpunit/phpunit": "^8.5.44 || ^9.6.25" + "phpunit/phpunit": "^8.5.52 || ^9.6.34" }, "suggest": { "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" @@ -1393,7 +1394,7 @@ ], "support": { "issues": "https://github.com/guzzle/psr7/issues", - "source": "https://github.com/guzzle/psr7/tree/2.9.0" + "source": "https://github.com/guzzle/psr7/tree/2.10.0" }, "funding": [ { @@ -1409,7 +1410,7 @@ "type": "tidelift" } ], - "time": "2026-03-10T16:41:02+00:00" + "time": "2026-05-19T17:32:11+00:00" }, { "name": "guzzlehttp/uri-template", @@ -1800,16 +1801,16 @@ }, { "name": "laravel/framework", - "version": "v13.9.0", + "version": "v13.11.1", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "a0c6ad03b380287015287d8d5a0fa2459e2332fd" + "reference": "6b70133ea3552afc37307ffb85b9efa48dc187d1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/a0c6ad03b380287015287d8d5a0fa2459e2332fd", - "reference": "a0c6ad03b380287015287d8d5a0fa2459e2332fd", + "url": "https://api.github.com/repos/laravel/framework/zipball/6b70133ea3552afc37307ffb85b9efa48dc187d1", + "reference": "6b70133ea3552afc37307ffb85b9efa48dc187d1", "shasum": "" }, "require": { @@ -2020,7 +2021,7 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2026-05-13T15:38:40+00:00" + "time": "2026-05-19T20:24:39+00:00" }, { "name": "laravel/passkeys", @@ -2092,16 +2093,16 @@ }, { "name": "laravel/prompts", - "version": "v0.3.17", + "version": "v0.3.18", "source": { "type": "git", "url": "https://github.com/laravel/prompts.git", - "reference": "6a82ac19a28b916ae0885828795dbd4c59d9a818" + "reference": "a19af51bb144bf87f08397921fa619f85c7d4e72" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/prompts/zipball/6a82ac19a28b916ae0885828795dbd4c59d9a818", - "reference": "6a82ac19a28b916ae0885828795dbd4c59d9a818", + "url": "https://api.github.com/repos/laravel/prompts/zipball/a19af51bb144bf87f08397921fa619f85c7d4e72", + "reference": "a19af51bb144bf87f08397921fa619f85c7d4e72", "shasum": "" }, "require": { @@ -2145,9 +2146,9 @@ "description": "Add beautiful and user-friendly forms to your command-line applications.", "support": { "issues": "https://github.com/laravel/prompts/issues", - "source": "https://github.com/laravel/prompts/tree/v0.3.17" + "source": "https://github.com/laravel/prompts/tree/v0.3.18" }, - "time": "2026-04-20T16:07:33+00:00" + "time": "2026-05-19T00:47:18+00:00" }, { "name": "laravel/serializable-closure", @@ -2470,16 +2471,16 @@ }, { "name": "league/flysystem", - "version": "3.33.0", + "version": "3.34.0", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem.git", - "reference": "570b8871e0ce693764434b29154c54b434905350" + "reference": "2daaac3b0d4c83ea7ed5d8586e786f5d00f3540e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/570b8871e0ce693764434b29154c54b434905350", - "reference": "570b8871e0ce693764434b29154c54b434905350", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/2daaac3b0d4c83ea7ed5d8586e786f5d00f3540e", + "reference": "2daaac3b0d4c83ea7ed5d8586e786f5d00f3540e", "shasum": "" }, "require": { @@ -2547,9 +2548,9 @@ ], "support": { "issues": "https://github.com/thephpleague/flysystem/issues", - "source": "https://github.com/thephpleague/flysystem/tree/3.33.0" + "source": "https://github.com/thephpleague/flysystem/tree/3.34.0" }, - "time": "2026-03-25T07:59:30+00:00" + "time": "2026-05-14T10:28:08+00:00" }, { "name": "league/flysystem-local", @@ -9388,6 +9389,147 @@ }, "time": "2025-03-19T14:43:43+00:00" }, + { + "name": "laradumps/laradumps", + "version": "v5.3.0", + "source": { + "type": "git", + "url": "https://github.com/laradumps/laradumps.git", + "reference": "22ac20bb88e960eb1f68535958adefbc963074ce" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laradumps/laradumps/zipball/22ac20bb88e960eb1f68535958adefbc963074ce", + "reference": "22ac20bb88e960eb1f68535958adefbc963074ce", + "shasum": "" + }, + "require": { + "illuminate/mail": "^11.0 || ^12.0 || ^13.0", + "illuminate/support": "^11.0 || ^12.0 || ^13.0", + "laradumps/laradumps-core": "^4.0.3", + "php": "^8.2" + }, + "require-dev": { + "larastan/larastan": "^3.8", + "laravel/framework": "^11.0 || ^12.0 || ^13.0", + "laravel/pint": "^1.26.0", + "mockery/mockery": "^1.6.12", + "orchestra/testbench-core": "^9.4 || ^10.0 || ^11.0", + "pestphp/pest": "^3.7.0 || ^4.0.0", + "symfony/var-dumper": "^7.1.3|^8.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "LaraDumps\\LaraDumps\\LaraDumpsServiceProvider" + ] + } + }, + "autoload": { + "files": [ + "src/functions.php" + ], + "psr-4": { + "LaraDumps\\LaraDumps\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Luan Freitas", + "email": "luanfreitas10@protonmail.com", + "role": "Developer" + } + ], + "description": "LaraDumps is a friendly app designed to boost your Laravel PHP coding and debugging experience.", + "homepage": "https://github.com/laradumps/laradumps", + "support": { + "issues": "https://github.com/laradumps/laradumps/issues", + "source": "https://github.com/laradumps/laradumps/tree/v5.3.0" + }, + "funding": [ + { + "url": "https://github.com/luanfreitasdev", + "type": "github" + } + ], + "time": "2026-03-25T12:27:54+00:00" + }, + { + "name": "laradumps/laradumps-core", + "version": "v4.0.6", + "source": { + "type": "git", + "url": "https://github.com/laradumps/laradumps-core.git", + "reference": "41acc4a0dba81232287bed4d98de112b1c466244" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laradumps/laradumps-core/zipball/41acc4a0dba81232287bed4d98de112b1c466244", + "reference": "41acc4a0dba81232287bed4d98de112b1c466244", + "shasum": "" + }, + "require": { + "ext-curl": "*", + "php": "^8.2", + "ramsey/uuid": "^4.9.1", + "spatie/backtrace": "^1.5", + "symfony/console": "^6.4|^7.0|^8.0", + "symfony/finder": "^6.4|^7.0|^8.0", + "symfony/process": "^6.4|^7.0|^8.0", + "symfony/var-dumper": "^6.4|^7.0|^8.0", + "symfony/yaml": "^6.4|^7.0|^8.0" + }, + "require-dev": { + "illuminate/support": "^12", + "laravel/pint": "^1.26.0", + "pestphp/pest": "^3.0|^4.0", + "phpstan/phpstan": "^1.10.50" + }, + "suggest": { + "nunomaduro/termwind": "For a better terminal experience" + }, + "bin": [ + "bin/laradumps" + ], + "type": "library", + "autoload": { + "files": [ + "src/functions.php" + ], + "psr-4": { + "LaraDumps\\LaraDumpsCore\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Luan Freitas", + "email": "luanfreitas10@protonmail.com", + "role": "Developer" + } + ], + "description": "LaraDumps is a friendly app designed to boost your Laravel / PHP coding and debugging experience.", + "homepage": "https://github.com/laradumps/laradumps-core", + "support": { + "issues": "https://github.com/laradumps/laradumps-core/issues", + "source": "https://github.com/laradumps/laradumps-core/tree/v4.0.6" + }, + "funding": [ + { + "url": "https://github.com/luanfreitasdev", + "type": "github" + } + ], + "time": "2026-03-19T15:05:22+00:00" + }, { "name": "larastan/larastan", "version": "v3.9.6", @@ -12418,6 +12560,70 @@ ], "time": "2026-01-26T20:59:18+00:00" }, + { + "name": "spatie/backtrace", + "version": "1.8.2", + "source": { + "type": "git", + "url": "https://github.com/spatie/backtrace.git", + "reference": "8ffe78be5ed355b5009e3dd989d183433e9a5adc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/backtrace/zipball/8ffe78be5ed355b5009e3dd989d183433e9a5adc", + "reference": "8ffe78be5ed355b5009e3dd989d183433e9a5adc", + "shasum": "" + }, + "require": { + "php": "^7.3 || ^8.0" + }, + "require-dev": { + "ext-json": "*", + "laravel/serializable-closure": "^1.3 || ^2.0", + "phpunit/phpunit": "^9.3 || ^11.4.3", + "spatie/phpunit-snapshot-assertions": "^4.2 || ^5.1.6", + "symfony/var-dumper": "^5.1|^6.0|^7.0|^8.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Spatie\\Backtrace\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Freek Van de Herten", + "email": "freek@spatie.be", + "homepage": "https://spatie.be", + "role": "Developer" + } + ], + "description": "A better backtrace", + "homepage": "https://github.com/spatie/backtrace", + "keywords": [ + "Backtrace", + "spatie" + ], + "support": { + "issues": "https://github.com/spatie/backtrace/issues", + "source": "https://github.com/spatie/backtrace/tree/1.8.2" + }, + "funding": [ + { + "url": "https://github.com/sponsors/spatie", + "type": "github" + }, + { + "url": "https://spatie.be/open-source/support-us", + "type": "other" + } + ], + "time": "2026-03-11T13:48:28+00:00" + }, { "name": "staabm/side-effects-detector", "version": "1.0.5", diff --git a/tests/ArchTest.php b/tests/ArchTest.php index 122f2a6..7746bf0 100644 --- a/tests/ArchTest.php +++ b/tests/ArchTest.php @@ -1,4 +1,6 @@ expect(['ds', 'dsd', 'dsq', 'dd', 'ddd', 'dump', 'ray', 'die', 'var_dump', 'sleep', 'exit']) ->not->toBeUsed();