diff --git a/composer.json b/composer.json
index 60c12aaa2..88ab5a9cb 100644
--- a/composer.json
+++ b/composer.json
@@ -12,10 +12,8 @@
"php": ">=8.4",
"ext-mbstring": "*",
"ext-zlib": "*",
- "laravel/prompts": "~0.1",
"php-di/php-di": "^7.1",
"symfony/console": "^5.4 || ^6 || ^7",
- "symfony/process": "^7.2",
"symfony/yaml": "^7.2",
"zhamao/logger": "^1.1.4"
},
diff --git a/composer.lock b/composer.lock
index 4c4b9e8e4..5127cb94c 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,67 +4,8 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "1d5518bdf7730190aead0e953abff538",
+ "content-hash": "60c8ac8087e3075e01e78bd03c609017",
"packages": [
- {
- "name": "laravel/prompts",
- "version": "v0.3.17",
- "source": {
- "type": "git",
- "url": "https://github.com/laravel/prompts.git",
- "reference": "6a82ac19a28b916ae0885828795dbd4c59d9a818"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/laravel/prompts/zipball/6a82ac19a28b916ae0885828795dbd4c59d9a818",
- "reference": "6a82ac19a28b916ae0885828795dbd4c59d9a818",
- "shasum": ""
- },
- "require": {
- "composer-runtime-api": "^2.2",
- "ext-mbstring": "*",
- "php": "^8.1",
- "symfony/console": "^6.2|^7.0|^8.0"
- },
- "conflict": {
- "illuminate/console": ">=10.17.0 <10.25.0",
- "laravel/framework": ">=10.17.0 <10.25.0"
- },
- "require-dev": {
- "illuminate/collections": "^10.0|^11.0|^12.0|^13.0",
- "mockery/mockery": "^1.5",
- "pestphp/pest": "^2.3|^3.4|^4.0",
- "phpstan/phpstan": "^1.12.28",
- "phpstan/phpstan-mockery": "^1.1.3"
- },
- "suggest": {
- "ext-pcntl": "Required for the spinner to be animated."
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "0.3.x-dev"
- }
- },
- "autoload": {
- "files": [
- "src/helpers.php"
- ],
- "psr-4": {
- "Laravel\\Prompts\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "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"
- },
- "time": "2026-04-20T16:07:33+00:00"
- },
{
"name": "laravel/serializable-closure",
"version": "v2.0.13",
@@ -359,16 +300,16 @@
},
{
"name": "symfony/console",
- "version": "v7.4.9",
+ "version": "v7.4.13",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
- "reference": "d7d2b64a45a89d607865927b176fa51c33ddbb58"
+ "reference": "85095d2573eaefaf35e40b9513a9bf09f72cd217"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/console/zipball/d7d2b64a45a89d607865927b176fa51c33ddbb58",
- "reference": "d7d2b64a45a89d607865927b176fa51c33ddbb58",
+ "url": "https://api.github.com/repos/symfony/console/zipball/85095d2573eaefaf35e40b9513a9bf09f72cd217",
+ "reference": "85095d2573eaefaf35e40b9513a9bf09f72cd217",
"shasum": ""
},
"require": {
@@ -433,7 +374,7 @@
"terminal"
],
"support": {
- "source": "https://github.com/symfony/console/tree/v7.4.9"
+ "source": "https://github.com/symfony/console/tree/v7.4.13"
},
"funding": [
{
@@ -453,20 +394,20 @@
"type": "tidelift"
}
],
- "time": "2026-04-22T15:21:55+00:00"
+ "time": "2026-05-24T08:56:14+00:00"
},
{
"name": "symfony/deprecation-contracts",
- "version": "v3.6.0",
+ "version": "v3.7.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/deprecation-contracts.git",
- "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62"
+ "reference": "50f59d1f3ca46d41ac911f97a78626b6756af35b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/63afe740e99a13ba87ec199bb07bbdee937a5b62",
- "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62",
+ "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/50f59d1f3ca46d41ac911f97a78626b6756af35b",
+ "reference": "50f59d1f3ca46d41ac911f97a78626b6756af35b",
"shasum": ""
},
"require": {
@@ -479,7 +420,7 @@
"name": "symfony/contracts"
},
"branch-alias": {
- "dev-main": "3.6-dev"
+ "dev-main": "3.7-dev"
}
},
"autoload": {
@@ -504,7 +445,7 @@
"description": "A generic function and convention to trigger deprecation notices",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/deprecation-contracts/tree/v3.6.0"
+ "source": "https://github.com/symfony/deprecation-contracts/tree/v3.7.0"
},
"funding": [
{
@@ -515,12 +456,16 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-09-25T14:21:43+00:00"
+ "time": "2026-04-13T15:52:40+00:00"
},
{
"name": "symfony/polyfill-ctype",
@@ -607,16 +552,16 @@
},
{
"name": "symfony/polyfill-intl-grapheme",
- "version": "v1.37.0",
+ "version": "v1.38.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-grapheme.git",
- "reference": "4864388bfbd3001ce88e234fab652acd91fdc57e"
+ "reference": "e9247d281d694a5120554d9afaf54e070e88a603"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/4864388bfbd3001ce88e234fab652acd91fdc57e",
- "reference": "4864388bfbd3001ce88e234fab652acd91fdc57e",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/e9247d281d694a5120554d9afaf54e070e88a603",
+ "reference": "e9247d281d694a5120554d9afaf54e070e88a603",
"shasum": ""
},
"require": {
@@ -665,7 +610,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.37.0"
+ "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.38.1"
},
"funding": [
{
@@ -685,20 +630,20 @@
"type": "tidelift"
}
],
- "time": "2026-04-26T13:13:48+00:00"
+ "time": "2026-05-26T05:58:03+00:00"
},
{
"name": "symfony/polyfill-intl-normalizer",
- "version": "v1.37.0",
+ "version": "v1.38.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-normalizer.git",
- "reference": "3833d7255cc303546435cb650316bff708a1c75c"
+ "reference": "2d446c214bdbe5b71bde5011b060a05fece3ae6b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/3833d7255cc303546435cb650316bff708a1c75c",
- "reference": "3833d7255cc303546435cb650316bff708a1c75c",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/2d446c214bdbe5b71bde5011b060a05fece3ae6b",
+ "reference": "2d446c214bdbe5b71bde5011b060a05fece3ae6b",
"shasum": ""
},
"require": {
@@ -750,7 +695,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.37.0"
+ "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.38.0"
},
"funding": [
{
@@ -770,20 +715,20 @@
"type": "tidelift"
}
],
- "time": "2024-09-09T11:45:10+00:00"
+ "time": "2026-05-25T13:48:31+00:00"
},
{
"name": "symfony/polyfill-mbstring",
- "version": "v1.37.0",
+ "version": "v1.38.2",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
- "reference": "6a21eb99c6973357967f6ce3708cd55a6bec6315"
+ "reference": "d3d318bad5e7a1bfbd026009c8bfb8d8f99ae6b6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6a21eb99c6973357967f6ce3708cd55a6bec6315",
- "reference": "6a21eb99c6973357967f6ce3708cd55a6bec6315",
+ "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/d3d318bad5e7a1bfbd026009c8bfb8d8f99ae6b6",
+ "reference": "d3d318bad5e7a1bfbd026009c8bfb8d8f99ae6b6",
"shasum": ""
},
"require": {
@@ -835,7 +780,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.37.0"
+ "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.38.2"
},
"funding": [
{
@@ -855,85 +800,20 @@
"type": "tidelift"
}
],
- "time": "2026-04-10T17:25:58+00:00"
- },
- {
- "name": "symfony/process",
- "version": "v7.4.8",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/process.git",
- "reference": "60f19cd3badc8de688421e21e4305eba50f8089a"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/process/zipball/60f19cd3badc8de688421e21e4305eba50f8089a",
- "reference": "60f19cd3badc8de688421e21e4305eba50f8089a",
- "shasum": ""
- },
- "require": {
- "php": ">=8.2"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\Process\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Executes commands in sub-processes",
- "homepage": "https://symfony.com",
- "support": {
- "source": "https://github.com/symfony/process/tree/v7.4.8"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://github.com/nicolas-grekas",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2026-03-24T13:12:05+00:00"
+ "time": "2026-05-27T06:59:30+00:00"
},
{
"name": "symfony/service-contracts",
- "version": "v3.6.1",
+ "version": "v3.7.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/service-contracts.git",
- "reference": "45112560a3ba2d715666a509a0bc9521d10b6c43"
+ "reference": "d25d82433a80eba6aa0e6c24b61d7370d99e444a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/service-contracts/zipball/45112560a3ba2d715666a509a0bc9521d10b6c43",
- "reference": "45112560a3ba2d715666a509a0bc9521d10b6c43",
+ "url": "https://api.github.com/repos/symfony/service-contracts/zipball/d25d82433a80eba6aa0e6c24b61d7370d99e444a",
+ "reference": "d25d82433a80eba6aa0e6c24b61d7370d99e444a",
"shasum": ""
},
"require": {
@@ -951,7 +831,7 @@
"name": "symfony/contracts"
},
"branch-alias": {
- "dev-main": "3.6-dev"
+ "dev-main": "3.7-dev"
}
},
"autoload": {
@@ -987,7 +867,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/service-contracts/tree/v3.6.1"
+ "source": "https://github.com/symfony/service-contracts/tree/v3.7.0"
},
"funding": [
{
@@ -1007,24 +887,24 @@
"type": "tidelift"
}
],
- "time": "2025-07-15T11:30:57+00:00"
+ "time": "2026-03-28T09:44:51+00:00"
},
{
"name": "symfony/string",
- "version": "v8.0.8",
+ "version": "v8.1.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
- "reference": "ae9488f874d7603f9d2dfbf120203882b645d963"
+ "reference": "afd5944f4005862d961efb85c8bbd5c523c4e3c9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/string/zipball/ae9488f874d7603f9d2dfbf120203882b645d963",
- "reference": "ae9488f874d7603f9d2dfbf120203882b645d963",
+ "url": "https://api.github.com/repos/symfony/string/zipball/afd5944f4005862d961efb85c8bbd5c523c4e3c9",
+ "reference": "afd5944f4005862d961efb85c8bbd5c523c4e3c9",
"shasum": ""
},
"require": {
- "php": ">=8.4",
+ "php": ">=8.4.1",
"symfony/polyfill-ctype": "^1.8",
"symfony/polyfill-intl-grapheme": "^1.33",
"symfony/polyfill-intl-normalizer": "^1.0",
@@ -1077,7 +957,7 @@
"utf8"
],
"support": {
- "source": "https://github.com/symfony/string/tree/v8.0.8"
+ "source": "https://github.com/symfony/string/tree/v8.1.0"
},
"funding": [
{
@@ -1097,20 +977,20 @@
"type": "tidelift"
}
],
- "time": "2026-03-30T15:14:47+00:00"
+ "time": "2026-05-29T05:06:50+00:00"
},
{
"name": "symfony/yaml",
- "version": "v7.4.8",
+ "version": "v7.4.13",
"source": {
"type": "git",
"url": "https://github.com/symfony/yaml.git",
- "reference": "c58fdf7b3d6c2995368264c49e4e8b05bcff2883"
+ "reference": "a7ec3b1156faf8815db7683ec7c1e7338e6f977c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/yaml/zipball/c58fdf7b3d6c2995368264c49e4e8b05bcff2883",
- "reference": "c58fdf7b3d6c2995368264c49e4e8b05bcff2883",
+ "url": "https://api.github.com/repos/symfony/yaml/zipball/a7ec3b1156faf8815db7683ec7c1e7338e6f977c",
+ "reference": "a7ec3b1156faf8815db7683ec7c1e7338e6f977c",
"shasum": ""
},
"require": {
@@ -1153,7 +1033,7 @@
"description": "Loads and dumps YAML files",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/yaml/tree/v7.4.8"
+ "source": "https://github.com/symfony/yaml/tree/v7.4.13"
},
"funding": [
{
@@ -1173,7 +1053,7 @@
"type": "tidelift"
}
],
- "time": "2026-03-24T13:12:05+00:00"
+ "time": "2026-05-25T06:06:12+00:00"
},
{
"name": "zhamao/logger",
@@ -1558,16 +1438,16 @@
},
{
"name": "amphp/parallel",
- "version": "v2.3.3",
+ "version": "v2.4.0",
"source": {
"type": "git",
"url": "https://github.com/amphp/parallel.git",
- "reference": "296b521137a54d3a02425b464e5aee4c93db2c60"
+ "reference": "37f5b2754fadc229c00f9416bd68fb8d04529a81"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/amphp/parallel/zipball/296b521137a54d3a02425b464e5aee4c93db2c60",
- "reference": "296b521137a54d3a02425b464e5aee4c93db2c60",
+ "url": "https://api.github.com/repos/amphp/parallel/zipball/37f5b2754fadc229c00f9416bd68fb8d04529a81",
+ "reference": "37f5b2754fadc229c00f9416bd68fb8d04529a81",
"shasum": ""
},
"require": {
@@ -1587,7 +1467,7 @@
"amphp/php-cs-fixer-config": "^2",
"amphp/phpunit-util": "^3",
"phpunit/phpunit": "^9",
- "psalm/phar": "^5.18"
+ "psalm/phar": "6.16.1"
},
"type": "library",
"autoload": {
@@ -1630,7 +1510,7 @@
],
"support": {
"issues": "https://github.com/amphp/parallel/issues",
- "source": "https://github.com/amphp/parallel/tree/v2.3.3"
+ "source": "https://github.com/amphp/parallel/tree/v2.4.0"
},
"funding": [
{
@@ -1638,7 +1518,7 @@
"type": "github"
}
],
- "time": "2025-11-15T06:23:42+00:00"
+ "time": "2026-05-16T16:54:01+00:00"
},
{
"name": "amphp/parser",
@@ -1704,16 +1584,16 @@
},
{
"name": "amphp/pipeline",
- "version": "v1.2.3",
+ "version": "v1.2.4",
"source": {
"type": "git",
"url": "https://github.com/amphp/pipeline.git",
- "reference": "7b52598c2e9105ebcddf247fc523161581930367"
+ "reference": "a044733e080940d1483f56caff0c412ad6982776"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/amphp/pipeline/zipball/7b52598c2e9105ebcddf247fc523161581930367",
- "reference": "7b52598c2e9105ebcddf247fc523161581930367",
+ "url": "https://api.github.com/repos/amphp/pipeline/zipball/a044733e080940d1483f56caff0c412ad6982776",
+ "reference": "a044733e080940d1483f56caff0c412ad6982776",
"shasum": ""
},
"require": {
@@ -1725,7 +1605,7 @@
"amphp/php-cs-fixer-config": "^2",
"amphp/phpunit-util": "^3",
"phpunit/phpunit": "^9",
- "psalm/phar": "^5.18"
+ "psalm/phar": "6.16.1"
},
"type": "library",
"autoload": {
@@ -1759,7 +1639,7 @@
],
"support": {
"issues": "https://github.com/amphp/pipeline/issues",
- "source": "https://github.com/amphp/pipeline/tree/v1.2.3"
+ "source": "https://github.com/amphp/pipeline/tree/v1.2.4"
},
"funding": [
{
@@ -1767,20 +1647,20 @@
"type": "github"
}
],
- "time": "2025-03-16T16:33:53+00:00"
+ "time": "2026-05-06T05:37:57+00:00"
},
{
"name": "amphp/process",
- "version": "v2.0.3",
+ "version": "v2.1.0",
"source": {
"type": "git",
"url": "https://github.com/amphp/process.git",
- "reference": "52e08c09dec7511d5fbc1fb00d3e4e79fc77d58d"
+ "reference": "583959df17d00304ad7b0b32285373f985935643"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/amphp/process/zipball/52e08c09dec7511d5fbc1fb00d3e4e79fc77d58d",
- "reference": "52e08c09dec7511d5fbc1fb00d3e4e79fc77d58d",
+ "url": "https://api.github.com/repos/amphp/process/zipball/583959df17d00304ad7b0b32285373f985935643",
+ "reference": "583959df17d00304ad7b0b32285373f985935643",
"shasum": ""
},
"require": {
@@ -1794,7 +1674,7 @@
"amphp/php-cs-fixer-config": "^2",
"amphp/phpunit-util": "^3",
"phpunit/phpunit": "^9",
- "psalm/phar": "^5.4"
+ "psalm/phar": "6.16.1"
},
"type": "library",
"autoload": {
@@ -1827,7 +1707,7 @@
"homepage": "https://amphp.org/process",
"support": {
"issues": "https://github.com/amphp/process/issues",
- "source": "https://github.com/amphp/process/tree/v2.0.3"
+ "source": "https://github.com/amphp/process/tree/v2.1.0"
},
"funding": [
{
@@ -1835,7 +1715,7 @@
"type": "github"
}
],
- "time": "2024-04-19T03:13:44+00:00"
+ "time": "2026-05-31T15:11:55+00:00"
},
{
"name": "amphp/serialization",
@@ -2242,28 +2122,29 @@
},
{
"name": "composer/pcre",
- "version": "3.3.2",
+ "version": "3.4.0",
"source": {
"type": "git",
"url": "https://github.com/composer/pcre.git",
- "reference": "b2bed4734f0cc156ee1fe9c0da2550420d99a21e"
+ "reference": "d5a341b3fb61f3001970940afb1d332968a183ed"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/composer/pcre/zipball/b2bed4734f0cc156ee1fe9c0da2550420d99a21e",
- "reference": "b2bed4734f0cc156ee1fe9c0da2550420d99a21e",
+ "url": "https://api.github.com/repos/composer/pcre/zipball/d5a341b3fb61f3001970940afb1d332968a183ed",
+ "reference": "d5a341b3fb61f3001970940afb1d332968a183ed",
"shasum": ""
},
"require": {
"php": "^7.4 || ^8.0"
},
"conflict": {
- "phpstan/phpstan": "<1.11.10"
+ "phpstan/phpstan": "<2.2.2"
},
"require-dev": {
- "phpstan/phpstan": "^1.12 || ^2",
- "phpstan/phpstan-strict-rules": "^1 || ^2",
- "phpunit/phpunit": "^8 || ^9"
+ "phpstan/phpstan": "^2",
+ "phpstan/phpstan-deprecation-rules": "^2",
+ "phpstan/phpstan-strict-rules": "^2",
+ "phpunit/phpunit": "^9"
},
"type": "library",
"extra": {
@@ -2301,7 +2182,7 @@
],
"support": {
"issues": "https://github.com/composer/pcre/issues",
- "source": "https://github.com/composer/pcre/tree/3.3.2"
+ "source": "https://github.com/composer/pcre/tree/3.4.0"
},
"funding": [
{
@@ -2311,13 +2192,9 @@
{
"url": "https://github.com/composer",
"type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/composer/composer",
- "type": "tidelift"
}
],
- "time": "2024-11-12T16:29:46+00:00"
+ "time": "2026-06-07T11:47:49+00:00"
},
{
"name": "composer/semver",
@@ -2556,42 +2433,42 @@
},
{
"name": "ergebnis/agent-detector",
- "version": "1.1.1",
+ "version": "1.2.0",
"source": {
"type": "git",
"url": "https://github.com/ergebnis/agent-detector.git",
- "reference": "5b654a9f1ff8a5d2ce6a57568df5ae8801c87f64"
+ "reference": "e211f17928c8b95a51e06040792d57f5462fb271"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/ergebnis/agent-detector/zipball/5b654a9f1ff8a5d2ce6a57568df5ae8801c87f64",
- "reference": "5b654a9f1ff8a5d2ce6a57568df5ae8801c87f64",
+ "url": "https://api.github.com/repos/ergebnis/agent-detector/zipball/e211f17928c8b95a51e06040792d57f5462fb271",
+ "reference": "e211f17928c8b95a51e06040792d57f5462fb271",
"shasum": ""
},
"require": {
"php": "~7.4.0 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0 || ~8.6.0"
},
"require-dev": {
- "ergebnis/composer-normalize": "^2.50.0",
+ "ergebnis/composer-normalize": "^2.51.0",
"ergebnis/license": "^2.7.0",
"ergebnis/php-cs-fixer-config": "^6.60.2",
"ergebnis/phpstan-rules": "^2.13.1",
"ergebnis/phpunit-slow-test-detector": "^2.24.0",
- "ergebnis/rector-rules": "^1.16.0",
+ "ergebnis/rector-rules": "^1.18.1",
"fakerphp/faker": "^1.24.1",
"infection/infection": "^0.26.6",
"phpstan/extension-installer": "^1.4.3",
- "phpstan/phpstan": "^2.1.46",
+ "phpstan/phpstan": "^2.1.54",
"phpstan/phpstan-deprecation-rules": "^2.0.4",
"phpstan/phpstan-phpunit": "^2.0.16",
"phpstan/phpstan-strict-rules": "^2.0.10",
"phpunit/phpunit": "^9.6.34",
- "rector/rector": "^2.4.1"
+ "rector/rector": "^2.4.2"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.0-dev"
+ "dev-main": "1.2-dev"
},
"composer-normalize": {
"indent-size": 2,
@@ -2621,7 +2498,7 @@
"security": "https://github.com/ergebnis/agent-detector/blob/main/.github/SECURITY.md",
"source": "https://github.com/ergebnis/agent-detector"
},
- "time": "2026-04-10T13:45:13+00:00"
+ "time": "2026-05-07T08:19:07+00:00"
},
{
"name": "evenement/evenement",
@@ -2885,23 +2762,23 @@
},
{
"name": "friendsofphp/php-cs-fixer",
- "version": "v3.95.1",
+ "version": "v3.95.7",
"source": {
"type": "git",
"url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git",
- "reference": "a9727678fbd12997f1d9de8f4a37824ed9df1065"
+ "reference": "4fa4102a5617acae53f804f7c81475aaa2d6e813"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/a9727678fbd12997f1d9de8f4a37824ed9df1065",
- "reference": "a9727678fbd12997f1d9de8f4a37824ed9df1065",
+ "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/4fa4102a5617acae53f804f7c81475aaa2d6e813",
+ "reference": "4fa4102a5617acae53f804f7c81475aaa2d6e813",
"shasum": ""
},
"require": {
"clue/ndjson-react": "^1.3",
"composer/semver": "^3.4",
"composer/xdebug-handler": "^3.0.5",
- "ergebnis/agent-detector": "^1.1.1",
+ "ergebnis/agent-detector": "^1.2",
"ext-filter": "*",
"ext-hash": "*",
"ext-json": "*",
@@ -2912,32 +2789,32 @@
"react/event-loop": "^1.5",
"react/socket": "^1.16",
"react/stream": "^1.4",
- "sebastian/diff": "^4.0.6 || ^5.1.1 || ^6.0.2 || ^7.0 || ^8.0",
+ "sebastian/diff": "^4.0.6 || ^5.1.1 || ^6.0.2 || ^7.0 || ^8.0 || ^9.0",
"symfony/console": "^5.4.47 || ^6.4.24 || ^7.0 || ^8.0",
"symfony/event-dispatcher": "^5.4.45 || ^6.4.24 || ^7.0 || ^8.0",
"symfony/filesystem": "^5.4.45 || ^6.4.24 || ^7.0 || ^8.0",
"symfony/finder": "^5.4.45 || ^6.4.24 || ^7.0 || ^8.0",
"symfony/options-resolver": "^5.4.45 || ^6.4.24 || ^7.0 || ^8.0",
- "symfony/polyfill-mbstring": "^1.33",
- "symfony/polyfill-php80": "^1.33",
- "symfony/polyfill-php81": "^1.33",
- "symfony/polyfill-php84": "^1.33",
+ "symfony/polyfill-mbstring": "^1.37",
+ "symfony/polyfill-php80": "^1.37",
+ "symfony/polyfill-php81": "^1.37",
+ "symfony/polyfill-php84": "^1.37",
"symfony/process": "^5.4.47 || ^6.4.24 || ^7.2 || ^8.0",
"symfony/stopwatch": "^5.4.45 || ^6.4.24 || ^7.0 || ^8.0"
},
"require-dev": {
- "facile-it/paraunit": "^1.3.1 || ^2.8.0",
- "infection/infection": "^0.32.6",
- "justinrainbow/json-schema": "^6.8.0",
+ "facile-it/paraunit": "^1.3.1 || ^2.11.0",
+ "infection/infection": "^0.32.7",
+ "justinrainbow/json-schema": "^6.9.0",
"keradus/cli-executor": "^2.3",
"mikey179/vfsstream": "^1.6.12",
"php-coveralls/php-coveralls": "^2.9.1",
"php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.8",
"php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.8",
"phpunit/phpunit": "^9.6.34 || ^10.5.63 || ^11.5.55",
- "symfony/polyfill-php85": "^1.33",
- "symfony/var-dumper": "^5.4.48 || ^6.4.32 || ^7.4.4 || ^8.0.8",
- "symfony/yaml": "^5.4.45 || ^6.4.30 || ^7.4.1 || ^8.0.8"
+ "symfony/polyfill-php85": "^1.38",
+ "symfony/var-dumper": "^5.4.48 || ^6.4.36 || ^7.4.8 || ^8.1.0",
+ "symfony/yaml": "^5.4.53 || ^6.4.41 || ^7.4.13 || ^8.1.0"
},
"suggest": {
"ext-dom": "For handling output formats in XML",
@@ -2978,7 +2855,7 @@
],
"support": {
"issues": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues",
- "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.95.1"
+ "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.95.7"
},
"funding": [
{
@@ -2986,7 +2863,7 @@
"type": "github"
}
],
- "time": "2026-04-12T17:00:09+00:00"
+ "time": "2026-06-13T17:51:53+00:00"
},
{
"name": "humbug/box",
@@ -3235,16 +3112,16 @@
},
{
"name": "justinrainbow/json-schema",
- "version": "6.8.2",
+ "version": "6.9.0",
"source": {
"type": "git",
"url": "https://github.com/jsonrainbow/json-schema.git",
- "reference": "2c89ebb95ca9cedc9347f780333f7b25792dcb76"
+ "reference": "bd1bda2ebfc8bff418565941771ea8f03c557886"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/jsonrainbow/json-schema/zipball/2c89ebb95ca9cedc9347f780333f7b25792dcb76",
- "reference": "2c89ebb95ca9cedc9347f780333f7b25792dcb76",
+ "url": "https://api.github.com/repos/jsonrainbow/json-schema/zipball/bd1bda2ebfc8bff418565941771ea8f03c557886",
+ "reference": "bd1bda2ebfc8bff418565941771ea8f03c557886",
"shasum": ""
},
"require": {
@@ -3254,7 +3131,7 @@
},
"require-dev": {
"friendsofphp/php-cs-fixer": "3.3.0",
- "json-schema/json-schema-test-suite": "dev-main",
+ "json-schema/json-schema-test-suite": "^23.2",
"marc-mabe/php-enum-phpstan": "^2.0",
"phpspec/prophecy": "^1.19",
"phpstan/phpstan": "^1.12",
@@ -3304,9 +3181,9 @@
],
"support": {
"issues": "https://github.com/jsonrainbow/json-schema/issues",
- "source": "https://github.com/jsonrainbow/json-schema/tree/6.8.2"
+ "source": "https://github.com/jsonrainbow/json-schema/tree/6.9.0"
},
- "time": "2026-05-05T05:39:01+00:00"
+ "time": "2026-06-05T14:05:24+00:00"
},
{
"name": "kelunik/certificate",
@@ -4347,11 +4224,11 @@
},
{
"name": "phpstan/phpstan",
- "version": "2.1.54",
+ "version": "2.2.2",
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpstan/phpstan/zipball/8be50c3992107dc837b17da4d140fbbdf9a5c5bd",
- "reference": "8be50c3992107dc837b17da4d140fbbdf9a5c5bd",
+ "url": "https://api.github.com/repos/phpstan/phpstan/zipball/e5cc34d491a90e79c216d824f60fe21fd4d93bd6",
+ "reference": "e5cc34d491a90e79c216d824f60fe21fd4d93bd6",
"shasum": ""
},
"require": {
@@ -4374,6 +4251,17 @@
"license": [
"MIT"
],
+ "authors": [
+ {
+ "name": "Ondřej Mirtes"
+ },
+ {
+ "name": "Markus Staab"
+ },
+ {
+ "name": "Vincent Langlet"
+ }
+ ],
"description": "PHPStan - PHP Static Analysis Tool",
"keywords": [
"dev",
@@ -4396,7 +4284,7 @@
"type": "github"
}
],
- "time": "2026-04-29T13:31:09+00:00"
+ "time": "2026-06-05T09:00:01+00:00"
},
{
"name": "phpunit/php-code-coverage",
@@ -5514,16 +5402,16 @@
},
{
"name": "revolt/event-loop",
- "version": "v1.0.8",
+ "version": "v1.0.9",
"source": {
"type": "git",
"url": "https://github.com/revoltphp/event-loop.git",
- "reference": "b6fc06dce8e9b523c9946138fa5e62181934f91c"
+ "reference": "44061cf513e53c6200372fc935ac42271566295d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/revoltphp/event-loop/zipball/b6fc06dce8e9b523c9946138fa5e62181934f91c",
- "reference": "b6fc06dce8e9b523c9946138fa5e62181934f91c",
+ "url": "https://api.github.com/repos/revoltphp/event-loop/zipball/44061cf513e53c6200372fc935ac42271566295d",
+ "reference": "44061cf513e53c6200372fc935ac42271566295d",
"shasum": ""
},
"require": {
@@ -5533,7 +5421,7 @@
"ext-json": "*",
"jetbrains/phpstorm-stubs": "^2019.3",
"phpunit/phpunit": "^9",
- "psalm/phar": "^5.15"
+ "psalm/phar": "6.16.*"
},
"type": "library",
"extra": {
@@ -5580,9 +5468,9 @@
],
"support": {
"issues": "https://github.com/revoltphp/event-loop/issues",
- "source": "https://github.com/revoltphp/event-loop/tree/v1.0.8"
+ "source": "https://github.com/revoltphp/event-loop/tree/v1.0.9"
},
- "time": "2025-08-27T21:33:23+00:00"
+ "time": "2026-05-16T17:55:38+00:00"
},
{
"name": "sebastian/cli-parser",
@@ -6539,16 +6427,16 @@
},
{
"name": "seld/jsonlint",
- "version": "1.11.0",
+ "version": "1.12.1",
"source": {
"type": "git",
"url": "https://github.com/Seldaek/jsonlint.git",
- "reference": "1748aaf847fc731cfad7725aec413ee46f0cc3a2"
+ "reference": "9a90eb5d32d5a500296bf43f946d60246444d5f7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/1748aaf847fc731cfad7725aec413ee46f0cc3a2",
- "reference": "1748aaf847fc731cfad7725aec413ee46f0cc3a2",
+ "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/9a90eb5d32d5a500296bf43f946d60246444d5f7",
+ "reference": "9a90eb5d32d5a500296bf43f946d60246444d5f7",
"shasum": ""
},
"require": {
@@ -6587,7 +6475,7 @@
],
"support": {
"issues": "https://github.com/Seldaek/jsonlint/issues",
- "source": "https://github.com/Seldaek/jsonlint/tree/1.11.0"
+ "source": "https://github.com/Seldaek/jsonlint/tree/1.12.1"
},
"funding": [
{
@@ -6599,7 +6487,7 @@
"type": "tidelift"
}
],
- "time": "2024-07-11T14:55:45+00:00"
+ "time": "2026-06-12T11:32:29+00:00"
},
{
"name": "seld/phar-utils",
@@ -6651,20 +6539,21 @@
},
{
"name": "symfony/event-dispatcher",
- "version": "v8.0.9",
+ "version": "v8.1.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher.git",
- "reference": "0c3c1a17604c4dbbec4b93fe162c538482096e1f"
+ "reference": "f249ae3f680958b6f1f9dd76e5747cf0695b4102"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/0c3c1a17604c4dbbec4b93fe162c538482096e1f",
- "reference": "0c3c1a17604c4dbbec4b93fe162c538482096e1f",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/f249ae3f680958b6f1f9dd76e5747cf0695b4102",
+ "reference": "f249ae3f680958b6f1f9dd76e5747cf0695b4102",
"shasum": ""
},
"require": {
- "php": ">=8.4",
+ "php": ">=8.4.1",
+ "symfony/deprecation-contracts": "^2.5|^3",
"symfony/event-dispatcher-contracts": "^2.5|^3"
},
"conflict": {
@@ -6712,7 +6601,7 @@
"description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/event-dispatcher/tree/v8.0.9"
+ "source": "https://github.com/symfony/event-dispatcher/tree/v8.1.0"
},
"funding": [
{
@@ -6732,20 +6621,20 @@
"type": "tidelift"
}
],
- "time": "2026-04-18T13:51:42+00:00"
+ "time": "2026-05-29T05:06:50+00:00"
},
{
"name": "symfony/event-dispatcher-contracts",
- "version": "v3.6.0",
+ "version": "v3.7.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher-contracts.git",
- "reference": "59eb412e93815df44f05f342958efa9f46b1e586"
+ "reference": "ccba7060602b7fed0b03c85bf025257f76d9ef32"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/59eb412e93815df44f05f342958efa9f46b1e586",
- "reference": "59eb412e93815df44f05f342958efa9f46b1e586",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/ccba7060602b7fed0b03c85bf025257f76d9ef32",
+ "reference": "ccba7060602b7fed0b03c85bf025257f76d9ef32",
"shasum": ""
},
"require": {
@@ -6759,7 +6648,7 @@
"name": "symfony/contracts"
},
"branch-alias": {
- "dev-main": "3.6-dev"
+ "dev-main": "3.7-dev"
}
},
"autoload": {
@@ -6792,7 +6681,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.6.0"
+ "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.7.0"
},
"funding": [
{
@@ -6803,25 +6692,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-09-25T14:21:43+00:00"
+ "time": "2026-01-05T13:30:16+00:00"
},
{
"name": "symfony/filesystem",
- "version": "v7.4.9",
+ "version": "v7.4.11",
"source": {
"type": "git",
"url": "https://github.com/symfony/filesystem.git",
- "reference": "dcd8f96bcdc0f128ec406c765cc066c6035d1be3"
+ "reference": "d721ea61b4a5fba8c5b6e7c1feda19efea144b50"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/filesystem/zipball/dcd8f96bcdc0f128ec406c765cc066c6035d1be3",
- "reference": "dcd8f96bcdc0f128ec406c765cc066c6035d1be3",
+ "url": "https://api.github.com/repos/symfony/filesystem/zipball/d721ea61b4a5fba8c5b6e7c1feda19efea144b50",
+ "reference": "d721ea61b4a5fba8c5b6e7c1feda19efea144b50",
"shasum": ""
},
"require": {
@@ -6858,7 +6751,7 @@
"description": "Provides basic utilities for the filesystem",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/filesystem/tree/v7.4.9"
+ "source": "https://github.com/symfony/filesystem/tree/v7.4.11"
},
"funding": [
{
@@ -6878,7 +6771,7 @@
"type": "tidelift"
}
],
- "time": "2026-04-18T13:18:21+00:00"
+ "time": "2026-05-11T16:38:44+00:00"
},
{
"name": "symfony/finder",
@@ -6950,20 +6843,20 @@
},
{
"name": "symfony/options-resolver",
- "version": "v8.0.8",
+ "version": "v8.1.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/options-resolver.git",
- "reference": "b48bce0a70b914f6953dafbd10474df232ed4de8"
+ "reference": "88f9c561f678a02d54b897014049fa839e33ff82"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/options-resolver/zipball/b48bce0a70b914f6953dafbd10474df232ed4de8",
- "reference": "b48bce0a70b914f6953dafbd10474df232ed4de8",
+ "url": "https://api.github.com/repos/symfony/options-resolver/zipball/88f9c561f678a02d54b897014049fa839e33ff82",
+ "reference": "88f9c561f678a02d54b897014049fa839e33ff82",
"shasum": ""
},
"require": {
- "php": ">=8.4",
+ "php": ">=8.4.1",
"symfony/deprecation-contracts": "^2.5|^3"
},
"type": "library",
@@ -6997,7 +6890,7 @@
"options"
],
"support": {
- "source": "https://github.com/symfony/options-resolver/tree/v8.0.8"
+ "source": "https://github.com/symfony/options-resolver/tree/v8.1.0"
},
"funding": [
{
@@ -7017,7 +6910,7 @@
"type": "tidelift"
}
],
- "time": "2026-03-30T15:14:47+00:00"
+ "time": "2026-05-29T05:06:50+00:00"
},
{
"name": "symfony/polyfill-iconv",
@@ -7105,16 +6998,16 @@
},
{
"name": "symfony/polyfill-php84",
- "version": "v1.37.0",
+ "version": "v1.38.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php84.git",
- "reference": "88486db2c389b290bf87ff1de7ebc1e13e42bb06"
+ "reference": "f4e1dfaee5b74aba5964fe1fd4dfc7ba5e3085fa"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php84/zipball/88486db2c389b290bf87ff1de7ebc1e13e42bb06",
- "reference": "88486db2c389b290bf87ff1de7ebc1e13e42bb06",
+ "url": "https://api.github.com/repos/symfony/polyfill-php84/zipball/f4e1dfaee5b74aba5964fe1fd4dfc7ba5e3085fa",
+ "reference": "f4e1dfaee5b74aba5964fe1fd4dfc7ba5e3085fa",
"shasum": ""
},
"require": {
@@ -7161,7 +7054,72 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php84/tree/v1.37.0"
+ "source": "https://github.com/symfony/polyfill-php84/tree/v1.38.1"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2026-05-26T12:51:13+00:00"
+ },
+ {
+ "name": "symfony/process",
+ "version": "v7.4.13",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/process.git",
+ "reference": "f5804be144caceb570f6747519999636b664f24c"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/process/zipball/f5804be144caceb570f6747519999636b664f24c",
+ "reference": "f5804be144caceb570f6747519999636b664f24c",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.2"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\Process\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Executes commands in sub-processes",
+ "homepage": "https://symfony.com",
+ "support": {
+ "source": "https://github.com/symfony/process/tree/v7.4.13"
},
"funding": [
{
@@ -7181,24 +7139,24 @@
"type": "tidelift"
}
],
- "time": "2026-04-10T18:47:49+00:00"
+ "time": "2026-05-23T16:05:06+00:00"
},
{
"name": "symfony/stopwatch",
- "version": "v8.0.8",
+ "version": "v8.1.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/stopwatch.git",
- "reference": "85954ed72d5440ea4dc9a10b7e49e01df766ffa3"
+ "reference": "21c07b026905d596e8379caeb115d87aa479499d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/stopwatch/zipball/85954ed72d5440ea4dc9a10b7e49e01df766ffa3",
- "reference": "85954ed72d5440ea4dc9a10b7e49e01df766ffa3",
+ "url": "https://api.github.com/repos/symfony/stopwatch/zipball/21c07b026905d596e8379caeb115d87aa479499d",
+ "reference": "21c07b026905d596e8379caeb115d87aa479499d",
"shasum": ""
},
"require": {
- "php": ">=8.4",
+ "php": ">=8.4.1",
"symfony/service-contracts": "^2.5|^3"
},
"type": "library",
@@ -7227,7 +7185,7 @@
"description": "Provides a way to profile code",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/stopwatch/tree/v8.0.8"
+ "source": "https://github.com/symfony/stopwatch/tree/v8.1.0"
},
"funding": [
{
@@ -7247,7 +7205,7 @@
"type": "tidelift"
}
],
- "time": "2026-03-30T15:14:47+00:00"
+ "time": "2026-05-29T05:06:50+00:00"
},
{
"name": "symfony/var-dumper",
diff --git a/src/StaticPHP/Command/ResetCommand.php b/src/StaticPHP/Command/ResetCommand.php
index 85928c2f6..ce22e7a9e 100644
--- a/src/StaticPHP/Command/ResetCommand.php
+++ b/src/StaticPHP/Command/ResetCommand.php
@@ -4,13 +4,14 @@
namespace StaticPHP\Command;
+use StaticPHP\Exception\SPCInternalException;
use StaticPHP\Runtime\Shell\Shell;
use StaticPHP\Util\FileSystem;
use StaticPHP\Util\InteractiveTerm;
use Symfony\Component\Console\Attribute\AsCommand;
+use Symfony\Component\Console\Helper\QuestionHelper;
use Symfony\Component\Console\Input\InputOption;
-
-use function Laravel\Prompts\confirm;
+use Symfony\Component\Console\Question\ConfirmationQuestion;
#[AsCommand('reset')]
class ResetCommand extends BaseCommand
@@ -46,7 +47,11 @@ public function handle(): int
// Confirm with user unless --yes is specified
if (!$this->input->getOption('yes')) {
- if (!confirm('Are you sure you want to continue?', false)) {
+ $helper = $this->getHelper('question');
+ if (!$helper instanceof QuestionHelper) {
+ throw new SPCInternalException('Question helper not provided');
+ }
+ if (!$helper->ask($this->input, $this->output, new ConfirmationQuestion('Are you sure you want to continue? [y/N] ', false))) {
InteractiveTerm::error(message: 'Reset operation cancelled.');
return static::SUCCESS;
}
diff --git a/src/StaticPHP/Doctor/Doctor.php b/src/StaticPHP/Doctor/Doctor.php
index 05f3c4a1d..b888d2415 100644
--- a/src/StaticPHP/Doctor/Doctor.php
+++ b/src/StaticPHP/Doctor/Doctor.php
@@ -11,11 +11,14 @@
use StaticPHP\Runtime\Shell\Shell;
use StaticPHP\Runtime\SystemTarget;
use StaticPHP\Util\InteractiveTerm;
+use Symfony\Component\Console\Helper\QuestionHelper;
+use Symfony\Component\Console\Input\ArrayInput;
+use Symfony\Component\Console\Input\InputInterface;
+use Symfony\Component\Console\Output\ConsoleOutput;
use Symfony\Component\Console\Output\OutputInterface;
+use Symfony\Component\Console\Question\ConfirmationQuestion;
use ZM\Logger\ConsoleColor;
-use function Laravel\Prompts\confirm;
-
readonly class Doctor
{
public function __construct(private ?OutputInterface $output = null, private int $auto_fix = FIX_POLICY_PROMPT, public readonly bool $interactive = true)
@@ -125,9 +128,14 @@ public function checkItem(CheckItem|string $check): bool
return false;
}
// prompt for fix
- if ($this->auto_fix === FIX_POLICY_PROMPT && !confirm('Do you want to try to fix this issue now?')) {
- $this->output?->writeln('You canceled fix.');
- return false;
+ if ($this->auto_fix === FIX_POLICY_PROMPT) {
+ $helper = new QuestionHelper();
+ $input = ApplicationContext::has(InputInterface::class) ? ApplicationContext::get(InputInterface::class) : new ArrayInput([]);
+ $output = ApplicationContext::has(OutputInterface::class) ? ApplicationContext::get(OutputInterface::class) : $this->output ?? new ConsoleOutput();
+ if (!$helper->ask($input, $output, new ConfirmationQuestion('Do you want to try to fix this issue now? [Y/n] ', true))) {
+ $this->output?->writeln('You canceled fix.');
+ return false;
+ }
}
// perform fix
InteractiveTerm::indicateProgress("Fixing {$result->getFixItem()} ... ");
diff --git a/src/globals/internal-env.php b/src/globals/internal-env.php
index 97df88417..cd3f3e3b8 100644
--- a/src/globals/internal-env.php
+++ b/src/globals/internal-env.php
@@ -3,22 +3,11 @@
declare(strict_types=1);
// static-php-cli version string
-use Laravel\Prompts\ConfirmPrompt;
-use Laravel\Prompts\Prompt;
-use Laravel\Prompts\TextPrompt;
use StaticPHP\ConsoleApplication;
-use StaticPHP\DI\ApplicationContext;
use StaticPHP\Util\FileSystem;
use StaticPHP\Util\System\LinuxUtil;
use StaticPHP\Util\System\MacOSUtil;
use StaticPHP\Util\System\WindowsUtil;
-use Symfony\Component\Console\Helper\QuestionHelper;
-use Symfony\Component\Console\Input\ArrayInput;
-use Symfony\Component\Console\Input\InputInterface;
-use Symfony\Component\Console\Output\ConsoleOutput;
-use Symfony\Component\Console\Output\OutputInterface;
-use Symfony\Component\Console\Question\ConfirmationQuestion;
-use Symfony\Component\Console\Question\Question;
const SPC_VERSION = ConsoleApplication::VERSION;
// output path for everything, other paths are defined relative to this by default
@@ -75,31 +64,3 @@
putenv('SPC_ARCH=' . php_uname('m'));
putenv('GNU_ARCH=' . GNU_ARCH);
putenv('MAC_ARCH=' . MAC_ARCH);
-
-// initialize windows prompt fallback for laravel-prompts
-Prompt::fallbackWhen(PHP_OS_FAMILY === 'Windows');
-ConfirmPrompt::fallbackUsing(function (ConfirmPrompt $prompt) {
- $helper = new QuestionHelper();
- $case = $prompt->default ? ' [Y/n] ' : ' [y/N] ';
- $question = new ConfirmationQuestion($prompt->label . $case, $prompt->default);
- if (ApplicationContext::has(InputInterface::class) && ApplicationContext::has(OutputInterface::class)) {
- $input = ApplicationContext::get(InputInterface::class);
- $output = ApplicationContext::get(OutputInterface::class);
- } else {
- $input = new ArrayInput([]);
- $output = new ConsoleOutput();
- }
- return $helper->ask($input, $output, $question);
-});
-TextPrompt::fallbackUsing(function (TextPrompt $prompt) {
- $helper = new QuestionHelper();
- $question = new Question($prompt->label . ' ', $prompt->default);
- if (ApplicationContext::has(InputInterface::class) && ApplicationContext::has(OutputInterface::class)) {
- $input = ApplicationContext::get(InputInterface::class);
- $output = ApplicationContext::get(OutputInterface::class);
- } else {
- $input = new ArrayInput([]);
- $output = new ConsoleOutput();
- }
- return $helper->ask($input, $output, $question);
-});