mirror of
https://github.com/Combodo/iTop.git
synced 2026-02-12 23:14:18 +01:00
N°6002 - Update Symfony libs to 5.4.19
This commit is contained in:
88
composer.lock
generated
88
composer.lock
generated
@@ -2309,16 +2309,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/console",
|
||||
"version": "v5.4.11",
|
||||
"version": "v5.4.19",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/console.git",
|
||||
"reference": "535846c7ee6bc4dd027ca0d93220601456734b10"
|
||||
"reference": "dccb8d251a9017d5994c988b034d3e18aaabf740"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/console/zipball/535846c7ee6bc4dd027ca0d93220601456734b10",
|
||||
"reference": "535846c7ee6bc4dd027ca0d93220601456734b10",
|
||||
"url": "https://api.github.com/repos/symfony/console/zipball/dccb8d251a9017d5994c988b034d3e18aaabf740",
|
||||
"reference": "dccb8d251a9017d5994c988b034d3e18aaabf740",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -2388,7 +2388,7 @@
|
||||
"terminal"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/console/tree/v5.4.11"
|
||||
"source": "https://github.com/symfony/console/tree/v5.4.19"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -2404,7 +2404,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2022-07-22T10:42:43+00:00"
|
||||
"time": "2023-01-01T08:32:19+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/css-selector",
|
||||
@@ -2630,16 +2630,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/dotenv",
|
||||
"version": "v5.4.5",
|
||||
"version": "v5.4.19",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/dotenv.git",
|
||||
"reference": "83a2310904a4f5d4f42526227b5a578ac82232a9"
|
||||
"reference": "38190ba62566afa26ca723a795d0a004e061bd2a"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/dotenv/zipball/83a2310904a4f5d4f42526227b5a578ac82232a9",
|
||||
"reference": "83a2310904a4f5d4f42526227b5a578ac82232a9",
|
||||
"url": "https://api.github.com/repos/symfony/dotenv/zipball/38190ba62566afa26ca723a795d0a004e061bd2a",
|
||||
"reference": "38190ba62566afa26ca723a795d0a004e061bd2a",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -2681,7 +2681,7 @@
|
||||
"environment"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/dotenv/tree/v5.4.5"
|
||||
"source": "https://github.com/symfony/dotenv/tree/v5.4.19"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -2697,7 +2697,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2022-02-15T17:04:12+00:00"
|
||||
"time": "2023-01-01T08:32:19+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/error-handler",
|
||||
@@ -3063,16 +3063,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/framework-bundle",
|
||||
"version": "v5.4.11",
|
||||
"version": "v5.4.19",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/framework-bundle.git",
|
||||
"reference": "a0660b602357d5c2ceaac1c9f80c5820bbff803d"
|
||||
"reference": "a208ee578000f9dedcb50a9784ec7ff8706a7bf1"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/framework-bundle/zipball/a0660b602357d5c2ceaac1c9f80c5820bbff803d",
|
||||
"reference": "a0660b602357d5c2ceaac1c9f80c5820bbff803d",
|
||||
"url": "https://api.github.com/repos/symfony/framework-bundle/zipball/a208ee578000f9dedcb50a9784ec7ff8706a7bf1",
|
||||
"reference": "a208ee578000f9dedcb50a9784ec7ff8706a7bf1",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -3124,7 +3124,7 @@
|
||||
"symfony/workflow": "<5.2"
|
||||
},
|
||||
"require-dev": {
|
||||
"doctrine/annotations": "^1.13.1",
|
||||
"doctrine/annotations": "^1.13.1|^2",
|
||||
"doctrine/cache": "^1.11|^2.0",
|
||||
"doctrine/persistence": "^1.3|^2|^3",
|
||||
"phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0",
|
||||
@@ -3194,7 +3194,7 @@
|
||||
"description": "Provides a tight integration between Symfony components and the Symfony full-stack framework",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/framework-bundle/tree/v5.4.11"
|
||||
"source": "https://github.com/symfony/framework-bundle/tree/v5.4.19"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -3210,7 +3210,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2022-07-20T13:00:38+00:00"
|
||||
"time": "2023-01-10T17:40:25+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/http-foundation",
|
||||
@@ -4591,16 +4591,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/twig-bundle",
|
||||
"version": "v5.4.8",
|
||||
"version": "v5.4.19",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/twig-bundle.git",
|
||||
"reference": "c992b4474c3a31f3c40a1ca593d213833f91b818"
|
||||
"reference": "286bd9e38b9bcb142f1eda0a75b0bbeb49ff34bd"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/twig-bundle/zipball/c992b4474c3a31f3c40a1ca593d213833f91b818",
|
||||
"reference": "c992b4474c3a31f3c40a1ca593d213833f91b818",
|
||||
"url": "https://api.github.com/repos/symfony/twig-bundle/zipball/286bd9e38b9bcb142f1eda0a75b0bbeb49ff34bd",
|
||||
"reference": "286bd9e38b9bcb142f1eda0a75b0bbeb49ff34bd",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -4620,7 +4620,7 @@
|
||||
"symfony/translation": "<5.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"doctrine/annotations": "^1.10.4",
|
||||
"doctrine/annotations": "^1.10.4|^2",
|
||||
"doctrine/cache": "^1.0|^2.0",
|
||||
"symfony/asset": "^4.4|^5.0|^6.0",
|
||||
"symfony/dependency-injection": "^5.3|^6.0",
|
||||
@@ -4660,7 +4660,7 @@
|
||||
"description": "Provides a tight integration of Twig into the Symfony full-stack framework",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/twig-bundle/tree/v5.4.8"
|
||||
"source": "https://github.com/symfony/twig-bundle/tree/v5.4.19"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -4676,7 +4676,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2022-04-03T13:03:10+00:00"
|
||||
"time": "2023-01-01T08:32:19+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/var-dumper",
|
||||
@@ -4842,16 +4842,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/yaml",
|
||||
"version": "v5.4.11",
|
||||
"version": "v5.4.19",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/yaml.git",
|
||||
"reference": "05d4ea560f3402c6c116afd99fdc66e60eda227e"
|
||||
"reference": "71c05db20cb9b54d381a28255f17580e2b7e36a5"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/yaml/zipball/05d4ea560f3402c6c116afd99fdc66e60eda227e",
|
||||
"reference": "05d4ea560f3402c6c116afd99fdc66e60eda227e",
|
||||
"url": "https://api.github.com/repos/symfony/yaml/zipball/71c05db20cb9b54d381a28255f17580e2b7e36a5",
|
||||
"reference": "71c05db20cb9b54d381a28255f17580e2b7e36a5",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -4897,7 +4897,7 @@
|
||||
"description": "Loads and dumps YAML files",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/yaml/tree/v5.4.11"
|
||||
"source": "https://github.com/symfony/yaml/tree/v5.4.19"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -4913,7 +4913,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2022-06-27T16:58:25+00:00"
|
||||
"time": "2023-01-10T18:51:14+00:00"
|
||||
},
|
||||
{
|
||||
"name": "thenetworg/oauth2-azure",
|
||||
@@ -5110,16 +5110,16 @@
|
||||
"packages-dev": [
|
||||
{
|
||||
"name": "symfony/stopwatch",
|
||||
"version": "v5.4.5",
|
||||
"version": "v5.4.19",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/stopwatch.git",
|
||||
"reference": "4d04b5c24f3c9a1a168a131f6cbe297155bc0d30"
|
||||
"reference": "bd2b066090fd6a67039371098fa25a84cb2679ec"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/stopwatch/zipball/4d04b5c24f3c9a1a168a131f6cbe297155bc0d30",
|
||||
"reference": "4d04b5c24f3c9a1a168a131f6cbe297155bc0d30",
|
||||
"url": "https://api.github.com/repos/symfony/stopwatch/zipball/bd2b066090fd6a67039371098fa25a84cb2679ec",
|
||||
"reference": "bd2b066090fd6a67039371098fa25a84cb2679ec",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -5152,7 +5152,7 @@
|
||||
"description": "Provides a way to profile code",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/stopwatch/tree/v5.4.5"
|
||||
"source": "https://github.com/symfony/stopwatch/tree/v5.4.19"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -5168,20 +5168,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2022-02-18T16:06:09+00:00"
|
||||
"time": "2023-01-01T08:32:19+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/web-profiler-bundle",
|
||||
"version": "v5.4.10",
|
||||
"version": "v5.4.19",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/web-profiler-bundle.git",
|
||||
"reference": "f61c99d8dbd864b11935851b598f784bcff36fc7"
|
||||
"reference": "cd83822071f2bc05583af1e53c1bc46be625a56d"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/f61c99d8dbd864b11935851b598f784bcff36fc7",
|
||||
"reference": "f61c99d8dbd864b11935851b598f784bcff36fc7",
|
||||
"url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/cd83822071f2bc05583af1e53c1bc46be625a56d",
|
||||
"reference": "cd83822071f2bc05583af1e53c1bc46be625a56d",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -5232,7 +5232,7 @@
|
||||
"description": "Provides a development tool that gives detailed information about the execution of any request",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/web-profiler-bundle/tree/v5.4.10"
|
||||
"source": "https://github.com/symfony/web-profiler-bundle/tree/v5.4.19"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -5248,7 +5248,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2022-06-06T19:10:58+00:00"
|
||||
"time": "2023-01-01T08:32:19+00:00"
|
||||
}
|
||||
],
|
||||
"aliases": [],
|
||||
|
||||
@@ -145,10 +145,6 @@ return array(
|
||||
'CAS_Request_Exception' => $vendorDir . '/apereo/phpcas/source/CAS/Request/Exception.php',
|
||||
'CAS_Request_MultiRequestInterface' => $vendorDir . '/apereo/phpcas/source/CAS/Request/MultiRequestInterface.php',
|
||||
'CAS_Request_RequestInterface' => $vendorDir . '/apereo/phpcas/source/CAS/Request/RequestInterface.php',
|
||||
'CAS_ServiceBaseUrl_AllowedListDiscovery' => $vendorDir . '/apereo/phpcas/source/CAS/ServiceBaseUrl/AllowedListDiscovery.php',
|
||||
'CAS_ServiceBaseUrl_Base' => $vendorDir . '/apereo/phpcas/source/CAS/ServiceBaseUrl/Base.php',
|
||||
'CAS_ServiceBaseUrl_Interface' => $vendorDir . '/apereo/phpcas/source/CAS/ServiceBaseUrl/Interface.php',
|
||||
'CAS_ServiceBaseUrl_Static' => $vendorDir . '/apereo/phpcas/source/CAS/ServiceBaseUrl/Static.php',
|
||||
'CAS_Session_PhpSession' => $vendorDir . '/apereo/phpcas/source/CAS/Session/PhpSession.php',
|
||||
'CAS_TypeMismatchException' => $vendorDir . '/apereo/phpcas/source/CAS/TypeMismatchException.php',
|
||||
'CLILikeWebPage' => $baseDir . '/sources/Application/WebPage/CLILikeWebPage.php',
|
||||
|
||||
@@ -510,10 +510,6 @@ class ComposerStaticInit7f81b4a2a468a061c306af5e447a9a9f
|
||||
'CAS_Request_Exception' => __DIR__ . '/..' . '/apereo/phpcas/source/CAS/Request/Exception.php',
|
||||
'CAS_Request_MultiRequestInterface' => __DIR__ . '/..' . '/apereo/phpcas/source/CAS/Request/MultiRequestInterface.php',
|
||||
'CAS_Request_RequestInterface' => __DIR__ . '/..' . '/apereo/phpcas/source/CAS/Request/RequestInterface.php',
|
||||
'CAS_ServiceBaseUrl_AllowedListDiscovery' => __DIR__ . '/..' . '/apereo/phpcas/source/CAS/ServiceBaseUrl/AllowedListDiscovery.php',
|
||||
'CAS_ServiceBaseUrl_Base' => __DIR__ . '/..' . '/apereo/phpcas/source/CAS/ServiceBaseUrl/Base.php',
|
||||
'CAS_ServiceBaseUrl_Interface' => __DIR__ . '/..' . '/apereo/phpcas/source/CAS/ServiceBaseUrl/Interface.php',
|
||||
'CAS_ServiceBaseUrl_Static' => __DIR__ . '/..' . '/apereo/phpcas/source/CAS/ServiceBaseUrl/Static.php',
|
||||
'CAS_Session_PhpSession' => __DIR__ . '/..' . '/apereo/phpcas/source/CAS/Session/PhpSession.php',
|
||||
'CAS_TypeMismatchException' => __DIR__ . '/..' . '/apereo/phpcas/source/CAS/TypeMismatchException.php',
|
||||
'CLILikeWebPage' => __DIR__ . '/../..' . '/sources/Application/WebPage/CLILikeWebPage.php',
|
||||
|
||||
@@ -2402,17 +2402,17 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/console",
|
||||
"version": "v5.4.11",
|
||||
"version_normalized": "5.4.11.0",
|
||||
"version": "v5.4.19",
|
||||
"version_normalized": "5.4.19.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/console.git",
|
||||
"reference": "535846c7ee6bc4dd027ca0d93220601456734b10"
|
||||
"reference": "dccb8d251a9017d5994c988b034d3e18aaabf740"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/console/zipball/535846c7ee6bc4dd027ca0d93220601456734b10",
|
||||
"reference": "535846c7ee6bc4dd027ca0d93220601456734b10",
|
||||
"url": "https://api.github.com/repos/symfony/console/zipball/dccb8d251a9017d5994c988b034d3e18aaabf740",
|
||||
"reference": "dccb8d251a9017d5994c988b034d3e18aaabf740",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -2450,7 +2450,7 @@
|
||||
"symfony/lock": "",
|
||||
"symfony/process": ""
|
||||
},
|
||||
"time": "2022-07-22T10:42:43+00:00",
|
||||
"time": "2023-01-01T08:32:19+00:00",
|
||||
"type": "library",
|
||||
"installation-source": "dist",
|
||||
"autoload": {
|
||||
@@ -2484,7 +2484,7 @@
|
||||
"terminal"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/console/tree/v5.4.11"
|
||||
"source": "https://github.com/symfony/console/tree/v5.4.19"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -2735,17 +2735,17 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/dotenv",
|
||||
"version": "v5.4.5",
|
||||
"version_normalized": "5.4.5.0",
|
||||
"version": "v5.4.19",
|
||||
"version_normalized": "5.4.19.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/dotenv.git",
|
||||
"reference": "83a2310904a4f5d4f42526227b5a578ac82232a9"
|
||||
"reference": "38190ba62566afa26ca723a795d0a004e061bd2a"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/dotenv/zipball/83a2310904a4f5d4f42526227b5a578ac82232a9",
|
||||
"reference": "83a2310904a4f5d4f42526227b5a578ac82232a9",
|
||||
"url": "https://api.github.com/repos/symfony/dotenv/zipball/38190ba62566afa26ca723a795d0a004e061bd2a",
|
||||
"reference": "38190ba62566afa26ca723a795d0a004e061bd2a",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -2756,7 +2756,7 @@
|
||||
"symfony/console": "^4.4|^5.0|^6.0",
|
||||
"symfony/process": "^4.4|^5.0|^6.0"
|
||||
},
|
||||
"time": "2022-02-15T17:04:12+00:00",
|
||||
"time": "2023-01-01T08:32:19+00:00",
|
||||
"type": "library",
|
||||
"installation-source": "dist",
|
||||
"autoload": {
|
||||
@@ -2789,7 +2789,7 @@
|
||||
"environment"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/dotenv/tree/v5.4.5"
|
||||
"source": "https://github.com/symfony/dotenv/tree/v5.4.19"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -3186,17 +3186,17 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/framework-bundle",
|
||||
"version": "v5.4.11",
|
||||
"version_normalized": "5.4.11.0",
|
||||
"version": "v5.4.19",
|
||||
"version_normalized": "5.4.19.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/framework-bundle.git",
|
||||
"reference": "a0660b602357d5c2ceaac1c9f80c5820bbff803d"
|
||||
"reference": "a208ee578000f9dedcb50a9784ec7ff8706a7bf1"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/framework-bundle/zipball/a0660b602357d5c2ceaac1c9f80c5820bbff803d",
|
||||
"reference": "a0660b602357d5c2ceaac1c9f80c5820bbff803d",
|
||||
"url": "https://api.github.com/repos/symfony/framework-bundle/zipball/a208ee578000f9dedcb50a9784ec7ff8706a7bf1",
|
||||
"reference": "a208ee578000f9dedcb50a9784ec7ff8706a7bf1",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -3248,7 +3248,7 @@
|
||||
"symfony/workflow": "<5.2"
|
||||
},
|
||||
"require-dev": {
|
||||
"doctrine/annotations": "^1.13.1",
|
||||
"doctrine/annotations": "^1.13.1|^2",
|
||||
"doctrine/cache": "^1.11|^2.0",
|
||||
"doctrine/persistence": "^1.3|^2|^3",
|
||||
"phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0",
|
||||
@@ -3292,7 +3292,7 @@
|
||||
"symfony/web-link": "For using web links, features such as preloading, prefetching or prerendering",
|
||||
"symfony/yaml": "For using the debug:config and lint:yaml commands"
|
||||
},
|
||||
"time": "2022-07-20T13:00:38+00:00",
|
||||
"time": "2023-01-10T17:40:25+00:00",
|
||||
"type": "symfony-bundle",
|
||||
"installation-source": "dist",
|
||||
"autoload": {
|
||||
@@ -3320,7 +3320,7 @@
|
||||
"description": "Provides a tight integration between Symfony components and the Symfony full-stack framework",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/framework-bundle/tree/v5.4.11"
|
||||
"source": "https://github.com/symfony/framework-bundle/tree/v5.4.19"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -4471,24 +4471,24 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/stopwatch",
|
||||
"version": "v5.4.5",
|
||||
"version_normalized": "5.4.5.0",
|
||||
"version": "v5.4.19",
|
||||
"version_normalized": "5.4.19.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/stopwatch.git",
|
||||
"reference": "4d04b5c24f3c9a1a168a131f6cbe297155bc0d30"
|
||||
"reference": "bd2b066090fd6a67039371098fa25a84cb2679ec"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/stopwatch/zipball/4d04b5c24f3c9a1a168a131f6cbe297155bc0d30",
|
||||
"reference": "4d04b5c24f3c9a1a168a131f6cbe297155bc0d30",
|
||||
"url": "https://api.github.com/repos/symfony/stopwatch/zipball/bd2b066090fd6a67039371098fa25a84cb2679ec",
|
||||
"reference": "bd2b066090fd6a67039371098fa25a84cb2679ec",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=7.2.5",
|
||||
"symfony/service-contracts": "^1|^2|^3"
|
||||
},
|
||||
"time": "2022-02-18T16:06:09+00:00",
|
||||
"time": "2023-01-01T08:32:19+00:00",
|
||||
"type": "library",
|
||||
"installation-source": "dist",
|
||||
"autoload": {
|
||||
@@ -4516,7 +4516,7 @@
|
||||
"description": "Provides a way to profile code",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/stopwatch/tree/v5.4.5"
|
||||
"source": "https://github.com/symfony/stopwatch/tree/v5.4.19"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -4830,17 +4830,17 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/twig-bundle",
|
||||
"version": "v5.4.8",
|
||||
"version_normalized": "5.4.8.0",
|
||||
"version": "v5.4.19",
|
||||
"version_normalized": "5.4.19.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/twig-bundle.git",
|
||||
"reference": "c992b4474c3a31f3c40a1ca593d213833f91b818"
|
||||
"reference": "286bd9e38b9bcb142f1eda0a75b0bbeb49ff34bd"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/twig-bundle/zipball/c992b4474c3a31f3c40a1ca593d213833f91b818",
|
||||
"reference": "c992b4474c3a31f3c40a1ca593d213833f91b818",
|
||||
"url": "https://api.github.com/repos/symfony/twig-bundle/zipball/286bd9e38b9bcb142f1eda0a75b0bbeb49ff34bd",
|
||||
"reference": "286bd9e38b9bcb142f1eda0a75b0bbeb49ff34bd",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -4860,7 +4860,7 @@
|
||||
"symfony/translation": "<5.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"doctrine/annotations": "^1.10.4",
|
||||
"doctrine/annotations": "^1.10.4|^2",
|
||||
"doctrine/cache": "^1.0|^2.0",
|
||||
"symfony/asset": "^4.4|^5.0|^6.0",
|
||||
"symfony/dependency-injection": "^5.3|^6.0",
|
||||
@@ -4874,7 +4874,7 @@
|
||||
"symfony/web-link": "^4.4|^5.0|^6.0",
|
||||
"symfony/yaml": "^4.4|^5.0|^6.0"
|
||||
},
|
||||
"time": "2022-04-03T13:03:10+00:00",
|
||||
"time": "2023-01-01T08:32:19+00:00",
|
||||
"type": "symfony-bundle",
|
||||
"installation-source": "dist",
|
||||
"autoload": {
|
||||
@@ -4902,7 +4902,7 @@
|
||||
"description": "Provides a tight integration of Twig into the Symfony full-stack framework",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/twig-bundle/tree/v5.4.8"
|
||||
"source": "https://github.com/symfony/twig-bundle/tree/v5.4.19"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -5090,17 +5090,17 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/web-profiler-bundle",
|
||||
"version": "v5.4.10",
|
||||
"version_normalized": "5.4.10.0",
|
||||
"version": "v5.4.19",
|
||||
"version_normalized": "5.4.19.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/web-profiler-bundle.git",
|
||||
"reference": "f61c99d8dbd864b11935851b598f784bcff36fc7"
|
||||
"reference": "cd83822071f2bc05583af1e53c1bc46be625a56d"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/f61c99d8dbd864b11935851b598f784bcff36fc7",
|
||||
"reference": "f61c99d8dbd864b11935851b598f784bcff36fc7",
|
||||
"url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/cd83822071f2bc05583af1e53c1bc46be625a56d",
|
||||
"reference": "cd83822071f2bc05583af1e53c1bc46be625a56d",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -5125,7 +5125,7 @@
|
||||
"symfony/css-selector": "^4.4|^5.0|^6.0",
|
||||
"symfony/stopwatch": "^4.4|^5.0|^6.0"
|
||||
},
|
||||
"time": "2022-06-06T19:10:58+00:00",
|
||||
"time": "2023-01-01T08:32:19+00:00",
|
||||
"type": "symfony-bundle",
|
||||
"installation-source": "dist",
|
||||
"autoload": {
|
||||
@@ -5153,7 +5153,7 @@
|
||||
"description": "Provides a development tool that gives detailed information about the execution of any request",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/web-profiler-bundle/tree/v5.4.10"
|
||||
"source": "https://github.com/symfony/web-profiler-bundle/tree/v5.4.19"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -5173,17 +5173,17 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/yaml",
|
||||
"version": "v5.4.11",
|
||||
"version_normalized": "5.4.11.0",
|
||||
"version": "v5.4.19",
|
||||
"version_normalized": "5.4.19.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/yaml.git",
|
||||
"reference": "05d4ea560f3402c6c116afd99fdc66e60eda227e"
|
||||
"reference": "71c05db20cb9b54d381a28255f17580e2b7e36a5"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/yaml/zipball/05d4ea560f3402c6c116afd99fdc66e60eda227e",
|
||||
"reference": "05d4ea560f3402c6c116afd99fdc66e60eda227e",
|
||||
"url": "https://api.github.com/repos/symfony/yaml/zipball/71c05db20cb9b54d381a28255f17580e2b7e36a5",
|
||||
"reference": "71c05db20cb9b54d381a28255f17580e2b7e36a5",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -5200,7 +5200,7 @@
|
||||
"suggest": {
|
||||
"symfony/console": "For validating YAML files using the lint command"
|
||||
},
|
||||
"time": "2022-06-27T16:58:25+00:00",
|
||||
"time": "2023-01-10T18:51:14+00:00",
|
||||
"bin": [
|
||||
"Resources/bin/yaml-lint"
|
||||
],
|
||||
@@ -5231,7 +5231,7 @@
|
||||
"description": "Loads and dumps YAML files",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/yaml/tree/v5.4.11"
|
||||
"source": "https://github.com/symfony/yaml/tree/v5.4.19"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
'type' => 'project',
|
||||
'install_path' => __DIR__ . '/../../',
|
||||
'aliases' => array(),
|
||||
'reference' => 'f25f91ad79b38d9dcbe2a175bdb2fd2635255968',
|
||||
'reference' => '5ee603f2ba067f521d8b98a14c42d09820dec2fb',
|
||||
'name' => 'combodo/itop',
|
||||
'dev' => true,
|
||||
),
|
||||
@@ -25,7 +25,7 @@
|
||||
'type' => 'project',
|
||||
'install_path' => __DIR__ . '/../../',
|
||||
'aliases' => array(),
|
||||
'reference' => 'f25f91ad79b38d9dcbe2a175bdb2fd2635255968',
|
||||
'reference' => '5ee603f2ba067f521d8b98a14c42d09820dec2fb',
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'combodo/tcpdf' => array(
|
||||
@@ -393,12 +393,12 @@
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'symfony/console' => array(
|
||||
'pretty_version' => 'v5.4.11',
|
||||
'version' => '5.4.11.0',
|
||||
'pretty_version' => 'v5.4.19',
|
||||
'version' => '5.4.19.0',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../symfony/console',
|
||||
'aliases' => array(),
|
||||
'reference' => '535846c7ee6bc4dd027ca0d93220601456734b10',
|
||||
'reference' => 'dccb8d251a9017d5994c988b034d3e18aaabf740',
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'symfony/css-selector' => array(
|
||||
@@ -429,12 +429,12 @@
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'symfony/dotenv' => array(
|
||||
'pretty_version' => 'v5.4.5',
|
||||
'version' => '5.4.5.0',
|
||||
'pretty_version' => 'v5.4.19',
|
||||
'version' => '5.4.19.0',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../symfony/dotenv',
|
||||
'aliases' => array(),
|
||||
'reference' => '83a2310904a4f5d4f42526227b5a578ac82232a9',
|
||||
'reference' => '38190ba62566afa26ca723a795d0a004e061bd2a',
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'symfony/error-handler' => array(
|
||||
@@ -489,12 +489,12 @@
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'symfony/framework-bundle' => array(
|
||||
'pretty_version' => 'v5.4.11',
|
||||
'version' => '5.4.11.0',
|
||||
'pretty_version' => 'v5.4.19',
|
||||
'version' => '5.4.19.0',
|
||||
'type' => 'symfony-bundle',
|
||||
'install_path' => __DIR__ . '/../symfony/framework-bundle',
|
||||
'aliases' => array(),
|
||||
'reference' => 'a0660b602357d5c2ceaac1c9f80c5820bbff803d',
|
||||
'reference' => 'a208ee578000f9dedcb50a9784ec7ff8706a7bf1',
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'symfony/http-foundation' => array(
|
||||
@@ -621,12 +621,12 @@
|
||||
),
|
||||
),
|
||||
'symfony/stopwatch' => array(
|
||||
'pretty_version' => 'v5.4.5',
|
||||
'version' => '5.4.5.0',
|
||||
'pretty_version' => 'v5.4.19',
|
||||
'version' => '5.4.19.0',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../symfony/stopwatch',
|
||||
'aliases' => array(),
|
||||
'reference' => '4d04b5c24f3c9a1a168a131f6cbe297155bc0d30',
|
||||
'reference' => 'bd2b066090fd6a67039371098fa25a84cb2679ec',
|
||||
'dev_requirement' => true,
|
||||
),
|
||||
'symfony/string' => array(
|
||||
@@ -657,12 +657,12 @@
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'symfony/twig-bundle' => array(
|
||||
'pretty_version' => 'v5.4.8',
|
||||
'version' => '5.4.8.0',
|
||||
'pretty_version' => 'v5.4.19',
|
||||
'version' => '5.4.19.0',
|
||||
'type' => 'symfony-bundle',
|
||||
'install_path' => __DIR__ . '/../symfony/twig-bundle',
|
||||
'aliases' => array(),
|
||||
'reference' => 'c992b4474c3a31f3c40a1ca593d213833f91b818',
|
||||
'reference' => '286bd9e38b9bcb142f1eda0a75b0bbeb49ff34bd',
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'symfony/var-dumper' => array(
|
||||
@@ -684,21 +684,21 @@
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'symfony/web-profiler-bundle' => array(
|
||||
'pretty_version' => 'v5.4.10',
|
||||
'version' => '5.4.10.0',
|
||||
'pretty_version' => 'v5.4.19',
|
||||
'version' => '5.4.19.0',
|
||||
'type' => 'symfony-bundle',
|
||||
'install_path' => __DIR__ . '/../symfony/web-profiler-bundle',
|
||||
'aliases' => array(),
|
||||
'reference' => 'f61c99d8dbd864b11935851b598f784bcff36fc7',
|
||||
'reference' => 'cd83822071f2bc05583af1e53c1bc46be625a56d',
|
||||
'dev_requirement' => true,
|
||||
),
|
||||
'symfony/yaml' => array(
|
||||
'pretty_version' => 'v5.4.11',
|
||||
'version' => '5.4.11.0',
|
||||
'pretty_version' => 'v5.4.19',
|
||||
'version' => '5.4.19.0',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../symfony/yaml',
|
||||
'aliases' => array(),
|
||||
'reference' => '05d4ea560f3402c6c116afd99fdc66e60eda227e',
|
||||
'reference' => '71c05db20cb9b54d381a28255f17580e2b7e36a5',
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'tecnickcom/tcpdf' => array(
|
||||
|
||||
@@ -276,7 +276,9 @@ class Application implements ResetInterface
|
||||
$alternative = $alternatives[0];
|
||||
|
||||
$style = new SymfonyStyle($input, $output);
|
||||
$style->block(sprintf("\nCommand \"%s\" is not defined.\n", $name), null, 'error');
|
||||
$output->writeln('');
|
||||
$formattedBlock = (new FormatterHelper())->formatBlock(sprintf('Command "%s" is not defined.', $name), 'error', true);
|
||||
$output->writeln($formattedBlock);
|
||||
if (!$style->confirm(sprintf('Do you want to run "%s" instead? ', $alternative), false)) {
|
||||
if (null !== $this->dispatcher) {
|
||||
$event = new ConsoleErrorEvent($input, $output, $e);
|
||||
@@ -933,11 +935,21 @@ class Application implements ResetInterface
|
||||
}
|
||||
|
||||
switch ($shellVerbosity = (int) getenv('SHELL_VERBOSITY')) {
|
||||
case -1: $output->setVerbosity(OutputInterface::VERBOSITY_QUIET); break;
|
||||
case 1: $output->setVerbosity(OutputInterface::VERBOSITY_VERBOSE); break;
|
||||
case 2: $output->setVerbosity(OutputInterface::VERBOSITY_VERY_VERBOSE); break;
|
||||
case 3: $output->setVerbosity(OutputInterface::VERBOSITY_DEBUG); break;
|
||||
default: $shellVerbosity = 0; break;
|
||||
case -1:
|
||||
$output->setVerbosity(OutputInterface::VERBOSITY_QUIET);
|
||||
break;
|
||||
case 1:
|
||||
$output->setVerbosity(OutputInterface::VERBOSITY_VERBOSE);
|
||||
break;
|
||||
case 2:
|
||||
$output->setVerbosity(OutputInterface::VERBOSITY_VERY_VERBOSE);
|
||||
break;
|
||||
case 3:
|
||||
$output->setVerbosity(OutputInterface::VERBOSITY_DEBUG);
|
||||
break;
|
||||
default:
|
||||
$shellVerbosity = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
if (true === $input->hasParameterOption(['--quiet', '-q'], true)) {
|
||||
@@ -983,22 +995,26 @@ class Application implements ResetInterface
|
||||
}
|
||||
}
|
||||
|
||||
if ($command instanceof SignalableCommandInterface && ($this->signalsToDispatchEvent || $command->getSubscribedSignals())) {
|
||||
if (!$this->signalRegistry) {
|
||||
throw new RuntimeException('Unable to subscribe to signal events. Make sure that the `pcntl` extension is installed and that "pcntl_*" functions are not disabled by your php.ini\'s "disable_functions" directive.');
|
||||
}
|
||||
if ($this->signalsToDispatchEvent) {
|
||||
$commandSignals = $command instanceof SignalableCommandInterface ? $command->getSubscribedSignals() : [];
|
||||
|
||||
if (Terminal::hasSttyAvailable()) {
|
||||
$sttyMode = shell_exec('stty -g');
|
||||
if ($commandSignals || null !== $this->dispatcher) {
|
||||
if (!$this->signalRegistry) {
|
||||
throw new RuntimeException('Unable to subscribe to signal events. Make sure that the `pcntl` extension is installed and that "pcntl_*" functions are not disabled by your php.ini\'s "disable_functions" directive.');
|
||||
}
|
||||
|
||||
foreach ([\SIGINT, \SIGTERM] as $signal) {
|
||||
$this->signalRegistry->register($signal, static function () use ($sttyMode) {
|
||||
shell_exec('stty '.$sttyMode);
|
||||
});
|
||||
if (Terminal::hasSttyAvailable()) {
|
||||
$sttyMode = shell_exec('stty -g');
|
||||
|
||||
foreach ([\SIGINT, \SIGTERM] as $signal) {
|
||||
$this->signalRegistry->register($signal, static function () use ($sttyMode) {
|
||||
shell_exec('stty '.$sttyMode);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($this->dispatcher) {
|
||||
if (null !== $this->dispatcher) {
|
||||
foreach ($this->signalsToDispatchEvent as $signal) {
|
||||
$event = new ConsoleSignalEvent($command, $input, $output, $signal);
|
||||
|
||||
@@ -1015,7 +1031,7 @@ class Application implements ResetInterface
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($command->getSubscribedSignals() as $signal) {
|
||||
foreach ($commandSignals as $signal) {
|
||||
$this->signalRegistry->register($signal, [$command, 'handleSignal']);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -93,8 +93,14 @@ EOH
|
||||
if (!file_exists($completionFile)) {
|
||||
$supportedShells = $this->getSupportedShells();
|
||||
|
||||
($output instanceof ConsoleOutputInterface ? $output->getErrorOutput() : $output)
|
||||
->writeln(sprintf('<error>Detected shell "%s", which is not supported by Symfony shell completion (supported shells: "%s").</>', $shell, implode('", "', $supportedShells)));
|
||||
if ($output instanceof ConsoleOutputInterface) {
|
||||
$output = $output->getErrorOutput();
|
||||
}
|
||||
if ($shell) {
|
||||
$output->writeln(sprintf('<error>Detected shell "%s", which is not supported by Symfony shell completion (supported shells: "%s").</>', $shell, implode('", "', $supportedShells)));
|
||||
} else {
|
||||
$output->writeln(sprintf('<error>Shell not detected, Symfony shell completion only supports "%s").</>', implode('", "', $supportedShells)));
|
||||
}
|
||||
|
||||
return self::INVALID;
|
||||
}
|
||||
|
||||
@@ -131,7 +131,7 @@ class ApplicationDescription
|
||||
}
|
||||
|
||||
if ($namespacedCommands) {
|
||||
ksort($namespacedCommands);
|
||||
ksort($namespacedCommands, \SORT_STRING);
|
||||
foreach ($namespacedCommands as $key => $commandsSet) {
|
||||
ksort($commandsSet);
|
||||
$sortedCommands[$key] = $commandsSet;
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
namespace Symfony\Component\Console\Exception;
|
||||
|
||||
/**
|
||||
* Represents an incorrect option name typed in the console.
|
||||
* Represents an incorrect option name or value typed in the console.
|
||||
*
|
||||
* @author Jérôme Tamarelle <jerome@tamarelle.net>
|
||||
*/
|
||||
|
||||
@@ -171,6 +171,8 @@ abstract class Helper implements HelperInterface
|
||||
$string = $formatter->format($string ?? '');
|
||||
// remove already formatted characters
|
||||
$string = preg_replace("/\033\[[^m]*m/", '', $string ?? '');
|
||||
// remove terminal hyperlinks
|
||||
$string = preg_replace('/\\033]8;[^;]*;[^\\033]*\\033\\\\/', '', $string ?? '');
|
||||
$formatter->setDecorated($isDecorated);
|
||||
|
||||
return $string;
|
||||
|
||||
@@ -53,7 +53,6 @@ final class ProgressBar
|
||||
private $startTime;
|
||||
private $stepWidth;
|
||||
private $percent = 0.0;
|
||||
private $formatLineCount;
|
||||
private $messages = [];
|
||||
private $overwrite = true;
|
||||
private $terminal;
|
||||
@@ -446,8 +445,6 @@ final class ProgressBar
|
||||
} else {
|
||||
$this->format = $format;
|
||||
}
|
||||
|
||||
$this->formatLineCount = substr_count($this->format, "\n");
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -464,7 +461,7 @@ final class ProgressBar
|
||||
if ($this->overwrite) {
|
||||
if (null !== $this->previousMessage) {
|
||||
if ($this->output instanceof ConsoleSectionOutput) {
|
||||
$messageLines = explode("\n", $message);
|
||||
$messageLines = explode("\n", $this->previousMessage);
|
||||
$lineCount = \count($messageLines);
|
||||
foreach ($messageLines as $messageLine) {
|
||||
$messageLineLength = Helper::width(Helper::removeDecoration($this->output->getFormatter(), $messageLine));
|
||||
@@ -474,7 +471,8 @@ final class ProgressBar
|
||||
}
|
||||
$this->output->clear($lineCount);
|
||||
} else {
|
||||
for ($i = 0; $i < $this->formatLineCount; ++$i) {
|
||||
$lineCount = substr_count($this->previousMessage, "\n");
|
||||
for ($i = 0; $i < $lineCount; ++$i) {
|
||||
$this->cursor->moveToColumn(1);
|
||||
$this->cursor->clearLine();
|
||||
$this->cursor->moveUp();
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Copyright (c) 2004-2022 Fabien Potencier
|
||||
Copyright (c) 2004-2023 Fabien Potencier
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
||||
@@ -11,20 +11,21 @@ _sf_{{ COMMAND_NAME }}() {
|
||||
local sf_cmd="${COMP_WORDS[0]}"
|
||||
|
||||
# for an alias, get the real script behind it
|
||||
if [[ $(type -t $sf_cmd) == "alias" ]]; then
|
||||
sf_cmd_type=$(type -t $sf_cmd)
|
||||
if [[ $sf_cmd_type == "alias" ]]; then
|
||||
sf_cmd=$(alias $sf_cmd | sed -E "s/alias $sf_cmd='(.*)'/\1/")
|
||||
else
|
||||
elif [[ $sf_cmd_type == "file" ]]; then
|
||||
sf_cmd=$(type -p $sf_cmd)
|
||||
fi
|
||||
|
||||
if [ ! -x "$sf_cmd" ]; then
|
||||
if [[ $sf_cmd_type != "function" && ! -x $sf_cmd ]]; then
|
||||
return 1
|
||||
fi
|
||||
|
||||
local cur prev words cword
|
||||
_get_comp_words_by_ref -n := cur prev words cword
|
||||
|
||||
local completecmd=("$sf_cmd" "_complete" "-sbash" "-c$cword" "-S{{ VERSION }}")
|
||||
local completecmd=("$sf_cmd" "_complete" "--no-interaction" "-sbash" "-c$cword" "-S{{ VERSION }}")
|
||||
for w in ${words[@]}; do
|
||||
w=$(printf -- '%b' "$w")
|
||||
# remove quotes from typed values
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Copyright (c) 2016-2022 Fabien Potencier
|
||||
Copyright (c) 2016-2023 Fabien Potencier
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
||||
@@ -55,11 +55,6 @@ The <info>%command.name%</info> command warms up the cache.
|
||||
|
||||
Before running this command, the cache must be empty.
|
||||
|
||||
This command does not generate the classes cache (as when executing this
|
||||
command, too many classes that should be part of the cache are already loaded
|
||||
in memory). Use <comment>curl</comment> or any other similar tool to warm up
|
||||
the classes cache if you want.
|
||||
|
||||
EOF
|
||||
)
|
||||
;
|
||||
|
||||
@@ -69,7 +69,7 @@ When the option is not provided, <comment>yaml</comment> is used.
|
||||
|
||||
For dumping a specific option, add its path as second argument (only available for the yaml format):
|
||||
|
||||
<info>php %command.full_name% framework profiler.matcher</info>
|
||||
<info>php %command.full_name% framework http_client.default_options</info>
|
||||
|
||||
EOF
|
||||
)
|
||||
@@ -99,7 +99,7 @@ EOF
|
||||
|
||||
$errorIo->comment([
|
||||
'Provide the name of a bundle as the first argument of this command to dump its default configuration. (e.g. <comment>config:dump-reference FrameworkBundle</comment>)',
|
||||
'For dumping a specific option, add its path as the second argument of this command. (e.g. <comment>config:dump-reference FrameworkBundle profiler.matcher</comment> to dump the <comment>framework.profiler.matcher</comment> configuration)',
|
||||
'For dumping a specific option, add its path as the second argument of this command. (e.g. <comment>config:dump-reference FrameworkBundle http_client.default_options</comment> to dump the <comment>framework.http_client.default_options</comment> configuration)',
|
||||
]);
|
||||
|
||||
return 0;
|
||||
|
||||
@@ -407,6 +407,7 @@ EOF
|
||||
{
|
||||
$extractedCatalogue = new MessageCatalogue($locale);
|
||||
$this->extractor->setPrefix($prefix);
|
||||
$transPaths = $this->filterDuplicateTransPaths($transPaths);
|
||||
foreach ($transPaths as $path) {
|
||||
if (is_dir($path) || is_file($path)) {
|
||||
$this->extractor->extract($path, $extractedCatalogue);
|
||||
@@ -416,6 +417,27 @@ EOF
|
||||
return $extractedCatalogue;
|
||||
}
|
||||
|
||||
private function filterDuplicateTransPaths(array $transPaths): array
|
||||
{
|
||||
$transPaths = array_filter(array_map('realpath', $transPaths));
|
||||
|
||||
sort($transPaths);
|
||||
|
||||
$filteredPaths = [];
|
||||
|
||||
foreach ($transPaths as $path) {
|
||||
foreach ($filteredPaths as $filteredPath) {
|
||||
if (str_starts_with($path, $filteredPath.\DIRECTORY_SEPARATOR)) {
|
||||
continue 2;
|
||||
}
|
||||
}
|
||||
|
||||
$filteredPaths[] = $path;
|
||||
}
|
||||
|
||||
return $filteredPaths;
|
||||
}
|
||||
|
||||
private function loadCurrentMessages(string $locale, array $transPaths): MessageCatalogue
|
||||
{
|
||||
$currentCatalogue = new MessageCatalogue($locale);
|
||||
|
||||
@@ -245,7 +245,7 @@ class JsonDescriptor extends Descriptor
|
||||
if ($factory[0] instanceof Reference) {
|
||||
$data['factory_service'] = (string) $factory[0];
|
||||
} elseif ($factory[0] instanceof Definition) {
|
||||
throw new \InvalidArgumentException('Factory is not describable.');
|
||||
$data['factory_service'] = sprintf('inline factory service (%s)', $factory[0]->getClass() ?? 'class not configured');
|
||||
} else {
|
||||
$data['factory_class'] = $factory[0];
|
||||
}
|
||||
@@ -361,7 +361,7 @@ class JsonDescriptor extends Descriptor
|
||||
}
|
||||
$data['name'] = $r->name;
|
||||
|
||||
if ($class = $r->getClosureScopeClass()) {
|
||||
if ($class = \PHP_VERSION_ID >= 80111 ? $r->getClosureCalledClass() : $r->getClosureScopeClass()) {
|
||||
$data['class'] = $class->name;
|
||||
if (!$r->getClosureThis()) {
|
||||
$data['static'] = true;
|
||||
|
||||
@@ -224,7 +224,7 @@ class MarkdownDescriptor extends Descriptor
|
||||
if ($factory[0] instanceof Reference) {
|
||||
$output .= "\n".'- Factory Service: `'.$factory[0].'`';
|
||||
} elseif ($factory[0] instanceof Definition) {
|
||||
throw new \InvalidArgumentException('Factory is not describable.');
|
||||
$output .= "\n".sprintf('- Factory Service: inline factory service (%s)', $factory[0]->getClass() ? sprintf('`%s`', $factory[0]->getClass()) : 'not configured');
|
||||
} else {
|
||||
$output .= "\n".'- Factory Class: `'.$factory[0].'`';
|
||||
}
|
||||
@@ -377,7 +377,7 @@ class MarkdownDescriptor extends Descriptor
|
||||
}
|
||||
$string .= "\n".sprintf('- Name: `%s`', $r->name);
|
||||
|
||||
if ($class = $r->getClosureScopeClass()) {
|
||||
if ($class = \PHP_VERSION_ID >= 80111 ? $r->getClosureCalledClass() : $r->getClosureScopeClass()) {
|
||||
$string .= "\n".sprintf('- Class: `%s`', $class->name);
|
||||
if (!$r->getClosureThis()) {
|
||||
$string .= "\n- Static: yes";
|
||||
|
||||
@@ -315,7 +315,7 @@ class TextDescriptor extends Descriptor
|
||||
if ($factory[0] instanceof Reference) {
|
||||
$tableRows[] = ['Factory Service', $factory[0]];
|
||||
} elseif ($factory[0] instanceof Definition) {
|
||||
throw new \InvalidArgumentException('Factory is not describable.');
|
||||
$tableRows[] = ['Factory Service', sprintf('inline factory service (%s)', $factory[0]->getClass() ?? 'class not configured')];
|
||||
} else {
|
||||
$tableRows[] = ['Factory Class', $factory[0]];
|
||||
}
|
||||
@@ -614,7 +614,7 @@ class TextDescriptor extends Descriptor
|
||||
if (str_contains($r->name, '{closure}')) {
|
||||
return 'Closure()';
|
||||
}
|
||||
if ($class = $r->getClosureScopeClass()) {
|
||||
if ($class = \PHP_VERSION_ID >= 80111 ? $r->getClosureCalledClass() : $r->getClosureScopeClass()) {
|
||||
return sprintf('%s::%s()', $class->name, $r->name);
|
||||
}
|
||||
|
||||
|
||||
@@ -324,7 +324,7 @@ class XmlDescriptor extends Descriptor
|
||||
if ($factory[0] instanceof Reference) {
|
||||
$factoryXML->setAttribute('service', (string) $factory[0]);
|
||||
} elseif ($factory[0] instanceof Definition) {
|
||||
throw new \InvalidArgumentException('Factory is not describable.');
|
||||
$factoryXML->setAttribute('service', sprintf('inline factory service (%s)', $factory[0]->getClass() ?? 'not configured'));
|
||||
} else {
|
||||
$factoryXML->setAttribute('class', $factory[0]);
|
||||
}
|
||||
@@ -548,7 +548,7 @@ class XmlDescriptor extends Descriptor
|
||||
}
|
||||
$callableXML->setAttribute('name', $r->name);
|
||||
|
||||
if ($class = $r->getClosureScopeClass()) {
|
||||
if ($class = \PHP_VERSION_ID >= 80111 ? $r->getClosureCalledClass() : $r->getClosureScopeClass()) {
|
||||
$callableXML->setAttribute('class', $class->name);
|
||||
if (!$r->getClosureThis()) {
|
||||
$callableXML->setAttribute('static', 'true');
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
|
||||
namespace Symfony\Bundle\FrameworkBundle\DependencyInjection\Compiler;
|
||||
|
||||
use Symfony\Component\DependencyInjection\Argument\ServiceClosureArgument;
|
||||
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
|
||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
||||
use Symfony\Component\DependencyInjection\Reference;
|
||||
@@ -38,6 +39,16 @@ class TestServiceContainerRealRefPass implements CompilerPassInterface
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($container->getAliases() as $id => $target) {
|
||||
while ($container->hasAlias($target = (string) $target)) {
|
||||
$target = $container->getAlias($target);
|
||||
}
|
||||
|
||||
if ($definitions[$target]->hasTag('container.private')) {
|
||||
$privateServices[$id] = new ServiceClosureArgument(new Reference($target));
|
||||
}
|
||||
}
|
||||
|
||||
$privateContainer->replaceArgument(0, $privateServices);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1121,7 +1121,7 @@ class Configuration implements ConfigurationInterface
|
||||
->booleanNode('public')->defaultFalse()->end()
|
||||
->scalarNode('default_lifetime')
|
||||
->info('Default lifetime of the pool')
|
||||
->example('"600" for 5 minutes expressed in seconds, "PT5M" for five minutes expressed as ISO 8601 time interval, or "5 minutes" as a date expression')
|
||||
->example('"300" for 5 minutes expressed in seconds, "PT5M" for five minutes expressed as ISO 8601 time interval, or "5 minutes" as a date expression')
|
||||
->end()
|
||||
->scalarNode('provider')
|
||||
->info('Overwrite the setting from the default provider for this adapter.')
|
||||
@@ -1194,48 +1194,48 @@ class Configuration implements ConfigurationInterface
|
||||
$logLevels = (new \ReflectionClass(LogLevel::class))->getConstants();
|
||||
|
||||
$rootNode
|
||||
->fixXmlConfig('exception')
|
||||
->children()
|
||||
->arrayNode('exceptions')
|
||||
->info('Exception handling configuration')
|
||||
->useAttributeAsKey('class')
|
||||
->beforeNormalization()
|
||||
// Handle legacy XML configuration
|
||||
->ifArray()
|
||||
->then(function (array $v): array {
|
||||
if (!\array_key_exists('exception', $v)) {
|
||||
return $v;
|
||||
}
|
||||
|
||||
// Fix XML normalization
|
||||
$data = isset($v['exception'][0]) ? $v['exception'] : [$v['exception']];
|
||||
$exceptions = [];
|
||||
foreach ($data as $exception) {
|
||||
$config = [];
|
||||
if (\array_key_exists('log-level', $exception)) {
|
||||
$config['log_level'] = $exception['log-level'];
|
||||
}
|
||||
if (\array_key_exists('status-code', $exception)) {
|
||||
$config['status_code'] = $exception['status-code'];
|
||||
}
|
||||
$exceptions[$exception['name']] = $config;
|
||||
$v = $v['exception'];
|
||||
unset($v['exception']);
|
||||
|
||||
foreach ($v as &$exception) {
|
||||
$exception['class'] = $exception['name'];
|
||||
unset($exception['name']);
|
||||
}
|
||||
|
||||
return $exceptions;
|
||||
return $v;
|
||||
})
|
||||
->end()
|
||||
->prototype('array')
|
||||
->fixXmlConfig('exception')
|
||||
->children()
|
||||
->scalarNode('log_level')
|
||||
->info('The level of log message. Null to let Symfony decide.')
|
||||
->validate()
|
||||
->ifTrue(function ($v) use ($logLevels) { return !\in_array($v, $logLevels); })
|
||||
->ifTrue(function ($v) use ($logLevels) { return null !== $v && !\in_array($v, $logLevels, true); })
|
||||
->thenInvalid(sprintf('The log level is not valid. Pick one among "%s".', implode('", "', $logLevels)))
|
||||
->end()
|
||||
->defaultNull()
|
||||
->end()
|
||||
->scalarNode('status_code')
|
||||
->info('The status code of the response. Null to let Symfony decide.')
|
||||
->info('The status code of the response. Null or 0 to let Symfony decide.')
|
||||
->beforeNormalization()
|
||||
->ifTrue(function ($v) { return 0 === $v; })
|
||||
->then(function ($v) { return null; })
|
||||
->end()
|
||||
->validate()
|
||||
->ifTrue(function ($v) { return $v < 100 || $v > 599; })
|
||||
->ifTrue(function ($v) { return null !== $v && ($v < 100 || $v > 599); })
|
||||
->thenInvalid('The status code is not valid. Pick a value between 100 and 599.')
|
||||
->end()
|
||||
->defaultNull()
|
||||
@@ -1271,12 +1271,15 @@ class Configuration implements ConfigurationInterface
|
||||
})
|
||||
->end()
|
||||
->addDefaultsIfNotSet()
|
||||
->validate()
|
||||
->ifTrue(static function (array $config) { return $config['enabled'] && !$config['resources']; })
|
||||
->thenInvalid('At least one resource must be defined.')
|
||||
->end()
|
||||
->fixXmlConfig('resource')
|
||||
->children()
|
||||
->arrayNode('resources')
|
||||
->normalizeKeys(false)
|
||||
->useAttributeAsKey('name')
|
||||
->requiresAtLeastOneElement()
|
||||
->defaultValue(['default' => [class_exists(SemaphoreStore::class) && SemaphoreStore::isSupported() ? 'semaphore' : 'flock']])
|
||||
->beforeNormalization()
|
||||
->ifString()->then(function ($v) { return ['default' => $v]; })
|
||||
|
||||
@@ -162,8 +162,10 @@ use Symfony\Component\Notifier\Bridge\Twilio\TwilioTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\Vonage\VonageTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\Yunpian\YunpianTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\Zulip\ZulipTransportFactory;
|
||||
use Symfony\Component\Notifier\ChatterInterface;
|
||||
use Symfony\Component\Notifier\Notifier;
|
||||
use Symfony\Component\Notifier\Recipient\Recipient;
|
||||
use Symfony\Component\Notifier\TexterInterface;
|
||||
use Symfony\Component\Notifier\Transport\TransportFactoryInterface as NotifierTransportFactoryInterface;
|
||||
use Symfony\Component\PropertyAccess\PropertyAccessor;
|
||||
use Symfony\Component\PropertyInfo\Extractor\PhpStanExtractor;
|
||||
@@ -1629,9 +1631,16 @@ class FrameworkExtension extends Extension
|
||||
|
||||
$loader->load('annotations.php');
|
||||
|
||||
// registerUniqueLoader exists since doctrine/annotations v1.6
|
||||
if (!method_exists(AnnotationRegistry::class, 'registerUniqueLoader')) {
|
||||
$container->getDefinition('annotations.dummy_registry')
|
||||
->setMethodCalls([['registerLoader', ['class_exists']]]);
|
||||
// registerLoader exists only in doctrine/annotations v1
|
||||
if (method_exists(AnnotationRegistry::class, 'registerLoader')) {
|
||||
$container->getDefinition('annotations.dummy_registry')
|
||||
->setMethodCalls([['registerLoader', ['class_exists']]]);
|
||||
} else {
|
||||
// remove the dummy registry when doctrine/annotations v2 is used
|
||||
$container->removeDefinition('annotations.dummy_registry');
|
||||
}
|
||||
}
|
||||
|
||||
if ('none' === $config['cache']) {
|
||||
@@ -2489,11 +2498,13 @@ class FrameworkExtension extends Extension
|
||||
$container->getDefinition('chatter.transports')->setArgument(0, $config['chatter_transports']);
|
||||
} else {
|
||||
$container->removeDefinition('chatter');
|
||||
$container->removeAlias(ChatterInterface::class);
|
||||
}
|
||||
if ($config['texter_transports']) {
|
||||
$container->getDefinition('texter.transports')->setArgument(0, $config['texter_transports']);
|
||||
} else {
|
||||
$container->removeDefinition('texter');
|
||||
$container->removeAlias(TexterInterface::class);
|
||||
}
|
||||
|
||||
if ($this->mailerConfigEnabled) {
|
||||
@@ -2583,7 +2594,7 @@ class FrameworkExtension extends Extension
|
||||
}
|
||||
}
|
||||
|
||||
if (ContainerBuilder::willBeAvailable('symfony/mercure-notifier', MercureTransportFactory::class, $parentPackages, true) && ContainerBuilder::willBeAvailable('symfony/mercure-bundle', MercureBundle::class, $parentPackages, true)) {
|
||||
if (ContainerBuilder::willBeAvailable('symfony/mercure-notifier', MercureTransportFactory::class, $parentPackages, true) && ContainerBuilder::willBeAvailable('symfony/mercure-bundle', MercureBundle::class, $parentPackages, true) && \in_array(MercureBundle::class, $container->getParameter('kernel.bundles'), true)) {
|
||||
$container->getDefinition($classToServices[MercureTransportFactory::class])
|
||||
->replaceArgument('$registry', new Reference(HubRegistry::class));
|
||||
} elseif (ContainerBuilder::willBeAvailable('symfony/mercure-notifier', MercureTransportFactory::class, $parentPackages, true)) {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Copyright (c) 2004-2022 Fabien Potencier
|
||||
Copyright (c) 2004-2023 Fabien Potencier
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
||||
@@ -9,6 +9,10 @@
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
if ('cli' !== \PHP_SAPI) {
|
||||
throw new Exception('This script must be run from the command line.');
|
||||
}
|
||||
|
||||
require dirname(__DIR__, 6).'/vendor/autoload.php';
|
||||
|
||||
use Symfony\Bundle\FrameworkBundle\Tests\DependencyInjection\Compiler\UnusedTagsPassUtils;
|
||||
|
||||
@@ -26,7 +26,7 @@ return static function (ContainerConfigurator $container) {
|
||||
->set('annotations.reader', AnnotationReader::class)
|
||||
->call('addGlobalIgnoredName', [
|
||||
'required',
|
||||
service('annotations.dummy_registry'), // dummy arg to register class_exists as annotation loader only when required
|
||||
service('annotations.dummy_registry')->nullOnInvalid(), // dummy arg to register class_exists as annotation loader only when required
|
||||
])
|
||||
|
||||
->set('annotations.dummy_registry', AnnotationRegistry::class)
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
<xsd:element name="workflow" type="workflow" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xsd:element name="php-errors" type="php-errors" minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element name="exceptions" type="exceptions" minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element name="exception" type="new-exception" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xsd:element name="lock" type="lock" minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element name="messenger" type="messenger" minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element name="http-client" type="http_client" minOccurs="0" maxOccurs="1" />
|
||||
@@ -361,14 +362,29 @@
|
||||
|
||||
<xsd:complexType name="exceptions">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="exception" type="exception" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xsd:element name="exception" type="old-exception" minOccurs="0" maxOccurs="unbounded" />
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="exception">
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
<xsd:complexType name="exception" abstract="true">
|
||||
<xsd:attribute name="log-level" type="xsd:string" />
|
||||
<xsd:attribute name="status-code" type="xsd:int" />
|
||||
<xsd:attribute name="status-code" type="xsd:integer" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="old-exception">
|
||||
<xsd:complexContent>
|
||||
<xsd:extension base="exception">
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:extension>
|
||||
</xsd:complexContent>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="new-exception">
|
||||
<xsd:complexContent>
|
||||
<xsd:extension base="exception">
|
||||
<xsd:attribute name="class" type="xsd:string" use="required" />
|
||||
</xsd:extension>
|
||||
</xsd:complexContent>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="marking_store">
|
||||
|
||||
@@ -78,7 +78,8 @@ return static function (ContainerConfigurator $container) {
|
||||
|
||||
// Normalizer
|
||||
->set('serializer.normalizer.constraint_violation_list', ConstraintViolationListNormalizer::class)
|
||||
->args([[], service('serializer.name_converter.metadata_aware')])
|
||||
->args([1 => service('serializer.name_converter.metadata_aware')])
|
||||
->autowire(true)
|
||||
->tag('serializer.normalizer', ['priority' => -915])
|
||||
|
||||
->set('serializer.normalizer.mime_message', MimeMessageNormalizer::class)
|
||||
@@ -124,7 +125,6 @@ return static function (ContainerConfigurator $container) {
|
||||
service('property_info')->ignoreOnInvalid(),
|
||||
service('serializer.mapping.class_discriminator_resolver')->ignoreOnInvalid(),
|
||||
null,
|
||||
[],
|
||||
])
|
||||
->tag('serializer.normalizer', ['priority' => -1000])
|
||||
|
||||
@@ -137,7 +137,6 @@ return static function (ContainerConfigurator $container) {
|
||||
service('property_info')->ignoreOnInvalid(),
|
||||
service('serializer.mapping.class_discriminator_resolver')->ignoreOnInvalid(),
|
||||
null,
|
||||
[],
|
||||
])
|
||||
|
||||
->alias(PropertyNormalizer::class, 'serializer.normalizer.property')
|
||||
@@ -176,6 +175,7 @@ return static function (ContainerConfigurator $container) {
|
||||
->tag('serializer.encoder')
|
||||
|
||||
->set('serializer.encoder.json', JsonEncoder::class)
|
||||
->args([null, null])
|
||||
->tag('serializer.encoder')
|
||||
|
||||
->set('serializer.encoder.yaml', YamlEncoder::class)
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
"symfony/routing": "^5.3|^6.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"doctrine/annotations": "^1.13.1",
|
||||
"doctrine/annotations": "^1.13.1|^2",
|
||||
"doctrine/cache": "^1.11|^2.0",
|
||||
"doctrine/persistence": "^1.3|^2|^3",
|
||||
"symfony/asset": "^5.3|^6.0",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Copyright (c) 2004-2022 Fabien Potencier
|
||||
Copyright (c) 2004-2023 Fabien Potencier
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Copyright (c) 2004-2022 Fabien Potencier
|
||||
Copyright (c) 2004-2023 Fabien Potencier
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
"symfony/yaml": "^4.4|^5.0|^6.0",
|
||||
"symfony/framework-bundle": "^5.0|^6.0",
|
||||
"symfony/web-link": "^4.4|^5.0|^6.0",
|
||||
"doctrine/annotations": "^1.10.4",
|
||||
"doctrine/annotations": "^1.10.4|^2",
|
||||
"doctrine/cache": "^1.0|^2.0"
|
||||
},
|
||||
"conflict": {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Copyright (c) 2004-2022 Fabien Potencier
|
||||
Copyright (c) 2004-2023 Fabien Potencier
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
||||
@@ -90,7 +90,8 @@
|
||||
cursor: pointer;
|
||||
padding: 5px 7px 5px 22px;
|
||||
position: relative;
|
||||
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
.tree .toggle-button {
|
||||
/* provide a bigger clickable area than just 10x10px */
|
||||
@@ -449,7 +450,7 @@
|
||||
{% import _self as tree %}
|
||||
{% set has_error = data.errors is defined and data.errors|length > 0 %}
|
||||
<li>
|
||||
<div class="tree-inner" data-tab-target-id="{{ data.id }}-details">
|
||||
<div class="tree-inner" data-tab-target-id="{{ data.id }}-details" title="{{ name|default('(no name)') }}">
|
||||
{% if has_error %}
|
||||
<div class="badge-error">{{ data.errors|length }}</div>
|
||||
{% endif %}
|
||||
|
||||
@@ -253,10 +253,6 @@
|
||||
{% if has_trace %}
|
||||
{% set trace_id = 'trace-' ~ category ~ '-' ~ log_index %}
|
||||
<span><button type="button" class="btn btn-link text-small sf-toggle" data-toggle-selector="#{{ trace_id }}" data-toggle-alt-content="Hide trace">Show trace</button></span>
|
||||
|
||||
<div id="{{ trace_id }}" class="context sf-toggle-content sf-toggle-hidden">
|
||||
{{ profiler_dump(log.context.exception.trace, maxDepth=1) }}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% if has_context %}
|
||||
|
||||
@@ -108,7 +108,7 @@
|
||||
{{ include('@WebProfiler/Icon/search.svg') }} <span class="hidden-small">Search</span>
|
||||
</a>
|
||||
|
||||
{{ render(controller('web_profiler.controller.profiler::searchBarAction', request.query.all)) }}
|
||||
{{ render(controller('web_profiler.controller.profiler::searchBarAction', query=request.query.all)) }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -90,13 +90,19 @@ class WebProfilerExtension extends ProfilerExtension
|
||||
$message = twig_escape_filter($env, $message);
|
||||
$message = preg_replace('/"(.*?)"/', '"<b>$1</b>"', $message);
|
||||
|
||||
if (null === $context || !str_contains($message, '{')) {
|
||||
$replacements = [];
|
||||
foreach ($context ?? [] as $k => $v) {
|
||||
$k = '{'.twig_escape_filter($env, $k).'}';
|
||||
if (str_contains($message, $k)) {
|
||||
$replacements[$k] = $v;
|
||||
}
|
||||
}
|
||||
|
||||
if (!$replacements) {
|
||||
return '<span class="dump-inline">'.$message.'</span>';
|
||||
}
|
||||
|
||||
$replacements = [];
|
||||
foreach ($context as $k => $v) {
|
||||
$k = '{'.twig_escape_filter($env, $k).'}';
|
||||
foreach ($replacements as $k => $v) {
|
||||
$replacements['"<b>'.$k.'</b>"'] = $replacements['"'.$k.'"'] = $replacements[$k] = $this->dumpData($env, $v);
|
||||
}
|
||||
|
||||
|
||||
@@ -58,6 +58,8 @@ class Dumper
|
||||
|
||||
if ($inline <= 0 || (!\is_array($input) && !$input instanceof TaggedValue && $dumpObjectAsInlineMap) || empty($input)) {
|
||||
$output .= $prefix.Inline::dump($input, $flags);
|
||||
} elseif ($input instanceof TaggedValue) {
|
||||
$output .= $this->dumpTaggedValue($input, $inline, $indent, $flags, $prefix);
|
||||
} else {
|
||||
$dumpAsMap = Inline::isHash($input);
|
||||
|
||||
@@ -137,4 +139,28 @@ class Dumper
|
||||
|
||||
return $output;
|
||||
}
|
||||
|
||||
private function dumpTaggedValue(TaggedValue $value, int $inline, int $indent, int $flags, string $prefix): string
|
||||
{
|
||||
$output = sprintf('%s!%s', $prefix ? $prefix.' ' : '', $value->getTag());
|
||||
|
||||
if (Yaml::DUMP_MULTI_LINE_LITERAL_BLOCK & $flags && \is_string($value->getValue()) && false !== strpos($value->getValue(), "\n") && false === strpos($value->getValue(), "\r\n")) {
|
||||
// If the first line starts with a space character, the spec requires a blockIndicationIndicator
|
||||
// http://www.yaml.org/spec/1.2/spec.html#id2793979
|
||||
$blockIndentationIndicator = (' ' === substr($value->getValue(), 0, 1)) ? (string) $this->indentation : '';
|
||||
$output .= sprintf(' |%s', $blockIndentationIndicator);
|
||||
|
||||
foreach (explode("\n", $value->getValue()) as $row) {
|
||||
$output .= sprintf("\n%s%s%s", $prefix, str_repeat(' ', $this->indentation), $row);
|
||||
}
|
||||
|
||||
return $output;
|
||||
}
|
||||
|
||||
if ($inline - 1 <= 0 || null === $value->getValue() || \is_scalar($value->getValue())) {
|
||||
return $output.' '.$this->dump($value->getValue(), $inline - 1, 0, $flags)."\n";
|
||||
}
|
||||
|
||||
return $output."\n".$this->dump($value->getValue(), $inline - 1, $indent, $flags);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -51,7 +51,7 @@ class Inline
|
||||
* Converts a YAML string to a PHP value.
|
||||
*
|
||||
* @param string $value A YAML string
|
||||
* @param int $flags A bit field of PARSE_* constants to customize the YAML parser behavior
|
||||
* @param int $flags A bit field of Yaml::PARSE_* constants to customize the YAML parser behavior
|
||||
* @param array $references Mapping of variable names to values
|
||||
*
|
||||
* @return mixed
|
||||
@@ -86,7 +86,7 @@ class Inline
|
||||
++$i;
|
||||
break;
|
||||
default:
|
||||
$result = self::parseScalar($value, $flags, null, $i, null === $tag, $references);
|
||||
$result = self::parseScalar($value, $flags, null, $i, true, $references);
|
||||
}
|
||||
|
||||
// some comments are allowed at the end
|
||||
@@ -657,7 +657,6 @@ class Inline
|
||||
}
|
||||
|
||||
return octdec($value);
|
||||
// Optimize for returning strings.
|
||||
case \in_array($scalar[0], ['+', '-', '.'], true) || is_numeric($scalar[0]):
|
||||
if (Parser::preg_match('{^[+-]?[0-9][0-9_]*$}', $scalar)) {
|
||||
$scalar = str_replace('_', '', $scalar);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Copyright (c) 2004-2022 Fabien Potencier
|
||||
Copyright (c) 2004-2023 Fabien Potencier
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
||||
@@ -43,7 +43,7 @@ class Parser
|
||||
* Parses a YAML file into a PHP value.
|
||||
*
|
||||
* @param string $filename The path to the YAML file to be parsed
|
||||
* @param int $flags A bit field of PARSE_* constants to customize the YAML parser behavior
|
||||
* @param int $flags A bit field of Yaml::PARSE_* constants to customize the YAML parser behavior
|
||||
*
|
||||
* @return mixed
|
||||
*
|
||||
@@ -72,7 +72,7 @@ class Parser
|
||||
* Parses a YAML string to a PHP value.
|
||||
*
|
||||
* @param string $value A YAML string
|
||||
* @param int $flags A bit field of PARSE_* constants to customize the YAML parser behavior
|
||||
* @param int $flags A bit field of Yaml::PARSE_* constants to customize the YAML parser behavior
|
||||
*
|
||||
* @return mixed
|
||||
*
|
||||
@@ -711,7 +711,7 @@ class Parser
|
||||
* Parses a YAML value.
|
||||
*
|
||||
* @param string $value A YAML value
|
||||
* @param int $flags A bit field of PARSE_* constants to customize the YAML parser behavior
|
||||
* @param int $flags A bit field of Yaml::PARSE_* constants to customize the YAML parser behavior
|
||||
* @param string $context The parser context (either sequence or mapping)
|
||||
*
|
||||
* @return mixed
|
||||
|
||||
@@ -10,6 +10,10 @@
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
if ('cli' !== \PHP_SAPI) {
|
||||
throw new Exception('This script must be run from the command line.');
|
||||
}
|
||||
|
||||
/**
|
||||
* Runs the Yaml lint command.
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user