N°6002 - Update Symfony libs to 5.4.19

This commit is contained in:
Molkobain
2023-02-22 18:19:56 +01:00
parent 5ee603f2ba
commit d997e36de0
43 changed files with 337 additions and 228 deletions

88
composer.lock generated
View File

@@ -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": [],

View File

@@ -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',

View File

@@ -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',

View File

@@ -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": [
{

View File

@@ -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(

View File

@@ -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']);
}
}

View File

@@ -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;
}

View File

@@ -131,7 +131,7 @@ class ApplicationDescription
}
if ($namespacedCommands) {
ksort($namespacedCommands);
ksort($namespacedCommands, \SORT_STRING);
foreach ($namespacedCommands as $key => $commandsSet) {
ksort($commandsSet);
$sortedCommands[$key] = $commandsSet;

View File

@@ -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>
*/

View File

@@ -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;

View File

@@ -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();

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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
)
;

View File

@@ -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;

View File

@@ -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);

View File

@@ -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;

View File

@@ -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";

View File

@@ -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);
}

View File

@@ -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');

View File

@@ -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);
}
}

View File

@@ -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]; })

View File

@@ -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)) {

View File

@@ -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

View File

@@ -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;

View File

@@ -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)

View File

@@ -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">

View File

@@ -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)

View File

@@ -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",

View File

@@ -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

View File

@@ -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

View File

@@ -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": {

View File

@@ -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

View File

@@ -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 %}

View File

@@ -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 %}

View File

@@ -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>

View File

@@ -90,13 +90,19 @@ class WebProfilerExtension extends ProfilerExtension
$message = twig_escape_filter($env, $message);
$message = preg_replace('/&quot;(.*?)&quot;/', '&quot;<b>$1</b>&quot;', $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['&quot;<b>'.$k.'</b>&quot;'] = $replacements['&quot;'.$k.'&quot;'] = $replacements[$k] = $this->dumpData($env, $v);
}

View File

@@ -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);
}
}

View File

@@ -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);

View File

@@ -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

View File

@@ -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

View File

@@ -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.
*