From 3eaafe74504ac4ded65fd0f94fa1f8bbca0ca9c8 Mon Sep 17 00:00:00 2001 From: George Steel Date: Tue, 5 Mar 2024 11:13:31 +0000 Subject: [PATCH 1/7] Bump dev deps, refresh lock Signed-off-by: George Steel --- composer.json | 6 +- composer.lock | 304 +++++++++++++++++++++++++------------------------- 2 files changed, 153 insertions(+), 157 deletions(-) diff --git a/composer.json b/composer.json index b1ded32..09dd3f9 100644 --- a/composer.json +++ b/composer.json @@ -38,10 +38,10 @@ }, "require-dev": { "laminas/laminas-coding-standard": "~2.5.0", - "laminas/laminas-i18n": "^2.23.1", - "phpunit/phpunit": "^10.4.2", + "laminas/laminas-i18n": "^2.26.0", + "phpunit/phpunit": "^10.5.11", "psalm/plugin-phpunit": "^0.18.4", - "vimeo/psalm": "^5.15.0" + "vimeo/psalm": "^5.22.2" }, "suggest": { "laminas/laminas-i18n": "^2.15.0 if defining translatable HTTP path segments" diff --git a/composer.lock b/composer.lock index 422927a..85cf6da 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "7ed643c60de1d3ae97ae99f0a3535e26", + "content-hash": "552dc72b20f29168210174624ba0875b", "packages": [ { "name": "laminas/laminas-escaper", @@ -281,16 +281,16 @@ }, { "name": "laminas/laminas-stdlib", - "version": "3.18.0", + "version": "3.19.0", "source": { "type": "git", "url": "https://github.com/laminas/laminas-stdlib.git", - "reference": "e85b29076c6216e7fc98e72b42dbe1bbc3b95ecf" + "reference": "6a192dd0882b514e45506f533b833b623b78fff3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-stdlib/zipball/e85b29076c6216e7fc98e72b42dbe1bbc3b95ecf", - "reference": "e85b29076c6216e7fc98e72b42dbe1bbc3b95ecf", + "url": "https://api.github.com/repos/laminas/laminas-stdlib/zipball/6a192dd0882b514e45506f533b833b623b78fff3", + "reference": "6a192dd0882b514e45506f533b833b623b78fff3", "shasum": "" }, "require": { @@ -301,10 +301,10 @@ }, "require-dev": { "laminas/laminas-coding-standard": "^2.5", - "phpbench/phpbench": "^1.2.14", - "phpunit/phpunit": "^10.3.3", + "phpbench/phpbench": "^1.2.15", + "phpunit/phpunit": "^10.5.8", "psalm/plugin-phpunit": "^0.18.4", - "vimeo/psalm": "^5.15.0" + "vimeo/psalm": "^5.20.0" }, "type": "library", "autoload": { @@ -336,7 +336,7 @@ "type": "community_bridge" } ], - "time": "2023-09-19T10:15:21+00:00" + "time": "2024-01-19T12:39:49+00:00" }, { "name": "laminas/laminas-uri", @@ -398,16 +398,16 @@ }, { "name": "laminas/laminas-validator", - "version": "2.46.0", + "version": "2.49.0", "source": { "type": "git", "url": "https://github.com/laminas/laminas-validator.git", - "reference": "98330256f8d8a1357a93f6f7f1a987036aff6329" + "reference": "d58c2e7d3cd420554400dd8cca694fafa3b8e45f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-validator/zipball/98330256f8d8a1357a93f6f7f1a987036aff6329", - "reference": "98330256f8d8a1357a93f6f7f1a987036aff6329", + "url": "https://api.github.com/repos/laminas/laminas-validator/zipball/d58c2e7d3cd420554400dd8cca694fafa3b8e45f", + "reference": "d58c2e7d3cd420554400dd8cca694fafa3b8e45f", "shasum": "" }, "require": { @@ -421,16 +421,16 @@ }, "require-dev": { "laminas/laminas-coding-standard": "^2.5", - "laminas/laminas-db": "^2.18", - "laminas/laminas-filter": "^2.33", - "laminas/laminas-i18n": "^2.24.1", - "laminas/laminas-session": "^2.17", + "laminas/laminas-db": "^2.19", + "laminas/laminas-filter": "^2.34", + "laminas/laminas-i18n": "^2.26.0", + "laminas/laminas-session": "^2.18", "laminas/laminas-uri": "^2.11.0", - "phpunit/phpunit": "^10.5.2", + "phpunit/phpunit": "^10.5.10", "psalm/plugin-phpunit": "^0.18.4", "psr/http-client": "^1.0.3", "psr/http-factory": "^1.0.2", - "vimeo/psalm": "^5.17" + "vimeo/psalm": "^5.22.1" }, "suggest": { "laminas/laminas-db": "Laminas\\Db component, required by the (No)RecordExists validator", @@ -478,7 +478,7 @@ "type": "community_bridge" } ], - "time": "2024-01-03T12:43:04+00:00" + "time": "2024-02-22T16:46:06+00:00" }, { "name": "psr/container", @@ -1255,16 +1255,16 @@ }, { "name": "fidry/cpu-core-counter", - "version": "1.0.0", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/theofidry/cpu-core-counter.git", - "reference": "85193c0b0cb5c47894b5eaec906e946f054e7077" + "reference": "f92996c4d5c1a696a6a970e20f7c4216200fcc42" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/theofidry/cpu-core-counter/zipball/85193c0b0cb5c47894b5eaec906e946f054e7077", - "reference": "85193c0b0cb5c47894b5eaec906e946f054e7077", + "url": "https://api.github.com/repos/theofidry/cpu-core-counter/zipball/f92996c4d5c1a696a6a970e20f7c4216200fcc42", + "reference": "f92996c4d5c1a696a6a970e20f7c4216200fcc42", "shasum": "" }, "require": { @@ -1304,7 +1304,7 @@ ], "support": { "issues": "https://github.com/theofidry/cpu-core-counter/issues", - "source": "https://github.com/theofidry/cpu-core-counter/tree/1.0.0" + "source": "https://github.com/theofidry/cpu-core-counter/tree/1.1.0" }, "funding": [ { @@ -1312,7 +1312,7 @@ "type": "github" } ], - "time": "2023-09-17T21:38:23+00:00" + "time": "2024-02-07T09:43:46+00:00" }, { "name": "laminas/laminas-coding-standard", @@ -1516,16 +1516,16 @@ }, { "name": "netresearch/jsonmapper", - "version": "v4.2.0", + "version": "v4.4.1", "source": { "type": "git", "url": "https://github.com/cweiske/jsonmapper.git", - "reference": "f60565f8c0566a31acf06884cdaa591867ecc956" + "reference": "132c75c7dd83e45353ebb9c6c9f591952995bbf0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/f60565f8c0566a31acf06884cdaa591867ecc956", - "reference": "f60565f8c0566a31acf06884cdaa591867ecc956", + "url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/132c75c7dd83e45353ebb9c6c9f591952995bbf0", + "reference": "132c75c7dd83e45353ebb9c6c9f591952995bbf0", "shasum": "" }, "require": { @@ -1536,7 +1536,7 @@ "php": ">=7.1" }, "require-dev": { - "phpunit/phpunit": "~7.5 || ~8.0 || ~9.0", + "phpunit/phpunit": "~7.5 || ~8.0 || ~9.0 || ~10.0", "squizlabs/php_codesniffer": "~3.5" }, "type": "library", @@ -1561,9 +1561,9 @@ "support": { "email": "cweiske@cweiske.de", "issues": "https://github.com/cweiske/jsonmapper/issues", - "source": "https://github.com/cweiske/jsonmapper/tree/v4.2.0" + "source": "https://github.com/cweiske/jsonmapper/tree/v4.4.1" }, - "time": "2023-04-09T17:37:40+00:00" + "time": "2024-01-31T06:18:54+00:00" }, { "name": "nikic/php-parser", @@ -1623,20 +1623,21 @@ }, { "name": "phar-io/manifest", - "version": "2.0.3", + "version": "2.0.4", "source": { "type": "git", "url": "https://github.com/phar-io/manifest.git", - "reference": "97803eca37d319dfa7826cc2437fc020857acb53" + "reference": "54750ef60c58e43759730615a392c31c80e23176" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53", - "reference": "97803eca37d319dfa7826cc2437fc020857acb53", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/54750ef60c58e43759730615a392c31c80e23176", + "reference": "54750ef60c58e43759730615a392c31c80e23176", "shasum": "" }, "require": { "ext-dom": "*", + "ext-libxml": "*", "ext-phar": "*", "ext-xmlwriter": "*", "phar-io/version": "^3.0.1", @@ -1677,9 +1678,15 @@ "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", "support": { "issues": "https://github.com/phar-io/manifest/issues", - "source": "https://github.com/phar-io/manifest/tree/2.0.3" + "source": "https://github.com/phar-io/manifest/tree/2.0.4" }, - "time": "2021-07-20T11:28:43+00:00" + "funding": [ + { + "url": "https://github.com/theseer", + "type": "github" + } + ], + "time": "2024-03-03T12:33:53+00:00" }, { "name": "phar-io/version", @@ -1943,16 +1950,16 @@ }, { "name": "phpunit/php-code-coverage", - "version": "10.1.11", + "version": "10.1.12", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "78c3b7625965c2513ee96569a4dbb62601784145" + "reference": "842f72662d6b9edda84c4b6f13885fd9cd53dc63" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/78c3b7625965c2513ee96569a4dbb62601784145", - "reference": "78c3b7625965c2513ee96569a4dbb62601784145", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/842f72662d6b9edda84c4b6f13885fd9cd53dc63", + "reference": "842f72662d6b9edda84c4b6f13885fd9cd53dc63", "shasum": "" }, "require": { @@ -2009,7 +2016,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.11" + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.12" }, "funding": [ { @@ -2017,7 +2024,7 @@ "type": "github" } ], - "time": "2023-12-21T15:38:30+00:00" + "time": "2024-03-02T07:22:05+00:00" }, { "name": "phpunit/php-file-iterator", @@ -2264,16 +2271,16 @@ }, { "name": "phpunit/phpunit", - "version": "10.5.7", + "version": "10.5.11", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "e5c5b397a95cb0db013270a985726fcae93e61b8" + "reference": "0d968f6323deb3dbfeba5bfd4929b9415eb7a9a4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/e5c5b397a95cb0db013270a985726fcae93e61b8", - "reference": "e5c5b397a95cb0db013270a985726fcae93e61b8", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/0d968f6323deb3dbfeba5bfd4929b9415eb7a9a4", + "reference": "0d968f6323deb3dbfeba5bfd4929b9415eb7a9a4", "shasum": "" }, "require": { @@ -2345,7 +2352,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.7" + "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.11" }, "funding": [ { @@ -2361,7 +2368,7 @@ "type": "tidelift" } ], - "time": "2024-01-14T16:40:30+00:00" + "time": "2024-02-25T14:05:00+00:00" }, { "name": "psalm/plugin-phpunit", @@ -2475,16 +2482,16 @@ }, { "name": "sebastian/cli-parser", - "version": "2.0.0", + "version": "2.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/cli-parser.git", - "reference": "efdc130dbbbb8ef0b545a994fd811725c5282cae" + "reference": "c34583b87e7b7a8055bf6c450c2c77ce32a24084" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/efdc130dbbbb8ef0b545a994fd811725c5282cae", - "reference": "efdc130dbbbb8ef0b545a994fd811725c5282cae", + "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/c34583b87e7b7a8055bf6c450c2c77ce32a24084", + "reference": "c34583b87e7b7a8055bf6c450c2c77ce32a24084", "shasum": "" }, "require": { @@ -2519,7 +2526,8 @@ "homepage": "https://github.com/sebastianbergmann/cli-parser", "support": { "issues": "https://github.com/sebastianbergmann/cli-parser/issues", - "source": "https://github.com/sebastianbergmann/cli-parser/tree/2.0.0" + "security": "https://github.com/sebastianbergmann/cli-parser/security/policy", + "source": "https://github.com/sebastianbergmann/cli-parser/tree/2.0.1" }, "funding": [ { @@ -2527,7 +2535,7 @@ "type": "github" } ], - "time": "2023-02-03T06:58:15+00:00" + "time": "2024-03-02T07:12:49+00:00" }, { "name": "sebastian/code-unit", @@ -2777,16 +2785,16 @@ }, { "name": "sebastian/diff", - "version": "5.1.0", + "version": "5.1.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "fbf413a49e54f6b9b17e12d900ac7f6101591b7f" + "reference": "c41e007b4b62af48218231d6c2275e4c9b975b2e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/fbf413a49e54f6b9b17e12d900ac7f6101591b7f", - "reference": "fbf413a49e54f6b9b17e12d900ac7f6101591b7f", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/c41e007b4b62af48218231d6c2275e4c9b975b2e", + "reference": "c41e007b4b62af48218231d6c2275e4c9b975b2e", "shasum": "" }, "require": { @@ -2794,7 +2802,7 @@ }, "require-dev": { "phpunit/phpunit": "^10.0", - "symfony/process": "^4.2 || ^5" + "symfony/process": "^6.4" }, "type": "library", "extra": { @@ -2832,7 +2840,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/diff/issues", "security": "https://github.com/sebastianbergmann/diff/security/policy", - "source": "https://github.com/sebastianbergmann/diff/tree/5.1.0" + "source": "https://github.com/sebastianbergmann/diff/tree/5.1.1" }, "funding": [ { @@ -2840,7 +2848,7 @@ "type": "github" } ], - "time": "2023-12-22T10:55:06+00:00" + "time": "2024-03-02T07:15:17+00:00" }, { "name": "sebastian/environment", @@ -2908,16 +2916,16 @@ }, { "name": "sebastian/exporter", - "version": "5.1.1", + "version": "5.1.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "64f51654862e0f5e318db7e9dcc2292c63cdbddc" + "reference": "955288482d97c19a372d3f31006ab3f37da47adf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/64f51654862e0f5e318db7e9dcc2292c63cdbddc", - "reference": "64f51654862e0f5e318db7e9dcc2292c63cdbddc", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/955288482d97c19a372d3f31006ab3f37da47adf", + "reference": "955288482d97c19a372d3f31006ab3f37da47adf", "shasum": "" }, "require": { @@ -2974,7 +2982,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/exporter/issues", "security": "https://github.com/sebastianbergmann/exporter/security/policy", - "source": "https://github.com/sebastianbergmann/exporter/tree/5.1.1" + "source": "https://github.com/sebastianbergmann/exporter/tree/5.1.2" }, "funding": [ { @@ -2982,20 +2990,20 @@ "type": "github" } ], - "time": "2023-09-24T13:22:09+00:00" + "time": "2024-03-02T07:17:12+00:00" }, { "name": "sebastian/global-state", - "version": "6.0.1", + "version": "6.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "7ea9ead78f6d380d2a667864c132c2f7b83055e4" + "reference": "987bafff24ecc4c9ac418cab1145b96dd6e9cbd9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/7ea9ead78f6d380d2a667864c132c2f7b83055e4", - "reference": "7ea9ead78f6d380d2a667864c132c2f7b83055e4", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/987bafff24ecc4c9ac418cab1145b96dd6e9cbd9", + "reference": "987bafff24ecc4c9ac418cab1145b96dd6e9cbd9", "shasum": "" }, "require": { @@ -3029,14 +3037,14 @@ } ], "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", + "homepage": "https://www.github.com/sebastianbergmann/global-state", "keywords": [ "global state" ], "support": { "issues": "https://github.com/sebastianbergmann/global-state/issues", "security": "https://github.com/sebastianbergmann/global-state/security/policy", - "source": "https://github.com/sebastianbergmann/global-state/tree/6.0.1" + "source": "https://github.com/sebastianbergmann/global-state/tree/6.0.2" }, "funding": [ { @@ -3044,7 +3052,7 @@ "type": "github" } ], - "time": "2023-07-19T07:19:23+00:00" + "time": "2024-03-02T07:19:19+00:00" }, { "name": "sebastian/lines-of-code", @@ -3451,16 +3459,16 @@ }, { "name": "spatie/array-to-xml", - "version": "3.2.2", + "version": "3.2.3", "source": { "type": "git", "url": "https://github.com/spatie/array-to-xml.git", - "reference": "96be97e664c87613121d073ea39af4c74e57a7f8" + "reference": "c95fd4db94ec199f798d4b5b4a81757bd20d88ab" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/array-to-xml/zipball/96be97e664c87613121d073ea39af4c74e57a7f8", - "reference": "96be97e664c87613121d073ea39af4c74e57a7f8", + "url": "https://api.github.com/repos/spatie/array-to-xml/zipball/c95fd4db94ec199f798d4b5b4a81757bd20d88ab", + "reference": "c95fd4db94ec199f798d4b5b4a81757bd20d88ab", "shasum": "" }, "require": { @@ -3498,7 +3506,7 @@ "xml" ], "support": { - "source": "https://github.com/spatie/array-to-xml/tree/3.2.2" + "source": "https://github.com/spatie/array-to-xml/tree/3.2.3" }, "funding": [ { @@ -3510,20 +3518,20 @@ "type": "github" } ], - "time": "2023-11-14T14:08:51+00:00" + "time": "2024-02-07T10:39:02+00:00" }, { "name": "squizlabs/php_codesniffer", - "version": "3.8.1", + "version": "3.9.0", "source": { "type": "git", "url": "https://github.com/PHPCSStandards/PHP_CodeSniffer.git", - "reference": "14f5fff1e64118595db5408e946f3a22c75807f7" + "reference": "d63cee4890a8afaf86a22e51ad4d97c91dd4579b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/14f5fff1e64118595db5408e946f3a22c75807f7", - "reference": "14f5fff1e64118595db5408e946f3a22c75807f7", + "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/d63cee4890a8afaf86a22e51ad4d97c91dd4579b", + "reference": "d63cee4890a8afaf86a22e51ad4d97c91dd4579b", "shasum": "" }, "require": { @@ -3590,20 +3598,20 @@ "type": "open_collective" } ], - "time": "2024-01-11T20:47:48+00:00" + "time": "2024-02-16T15:06:51+00:00" }, { "name": "symfony/console", - "version": "v6.4.2", + "version": "v6.4.4", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "0254811a143e6bc6c8deea08b589a7e68a37f625" + "reference": "0d9e4eb5ad413075624378f474c4167ea202de78" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/0254811a143e6bc6c8deea08b589a7e68a37f625", - "reference": "0254811a143e6bc6c8deea08b589a7e68a37f625", + "url": "https://api.github.com/repos/symfony/console/zipball/0d9e4eb5ad413075624378f474c4167ea202de78", + "reference": "0d9e4eb5ad413075624378f474c4167ea202de78", "shasum": "" }, "require": { @@ -3668,7 +3676,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v6.4.2" + "source": "https://github.com/symfony/console/tree/v6.4.4" }, "funding": [ { @@ -3684,7 +3692,7 @@ "type": "tidelift" } ], - "time": "2023-12-10T16:15:48+00:00" + "time": "2024-02-22T20:27:10+00:00" }, { "name": "symfony/deprecation-contracts", @@ -3755,16 +3763,16 @@ }, { "name": "symfony/filesystem", - "version": "v6.4.0", + "version": "v6.4.3", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "952a8cb588c3bc6ce76f6023000fb932f16a6e59" + "reference": "7f3b1755eb49297a0827a7575d5d2b2fd11cc9fb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/952a8cb588c3bc6ce76f6023000fb932f16a6e59", - "reference": "952a8cb588c3bc6ce76f6023000fb932f16a6e59", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/7f3b1755eb49297a0827a7575d5d2b2fd11cc9fb", + "reference": "7f3b1755eb49297a0827a7575d5d2b2fd11cc9fb", "shasum": "" }, "require": { @@ -3798,7 +3806,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v6.4.0" + "source": "https://github.com/symfony/filesystem/tree/v6.4.3" }, "funding": [ { @@ -3814,20 +3822,20 @@ "type": "tidelift" } ], - "time": "2023-07-26T17:27:13+00:00" + "time": "2024-01-23T14:51:35+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.28.0", + "version": "v1.29.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb" + "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb", - "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ef4d7e442ca910c4764bce785146269b30cb5fc4", + "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4", "shasum": "" }, "require": { @@ -3841,9 +3849,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -3880,7 +3885,7 @@ "portable" ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.29.0" }, "funding": [ { @@ -3896,20 +3901,20 @@ "type": "tidelift" } ], - "time": "2023-01-26T09:26:14+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { "name": "symfony/polyfill-intl-grapheme", - "version": "v1.28.0", + "version": "v1.29.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "875e90aeea2777b6f135677f618529449334a612" + "reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/875e90aeea2777b6f135677f618529449334a612", - "reference": "875e90aeea2777b6f135677f618529449334a612", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/32a9da87d7b3245e09ac426c83d334ae9f06f80f", + "reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f", "shasum": "" }, "require": { @@ -3920,9 +3925,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -3961,7 +3963,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.29.0" }, "funding": [ { @@ -3977,20 +3979,20 @@ "type": "tidelift" } ], - "time": "2023-01-26T09:26:14+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { "name": "symfony/polyfill-intl-normalizer", - "version": "v1.28.0", + "version": "v1.29.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92" + "reference": "bc45c394692b948b4d383a08d7753968bed9a83d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92", - "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/bc45c394692b948b4d383a08d7753968bed9a83d", + "reference": "bc45c394692b948b4d383a08d7753968bed9a83d", "shasum": "" }, "require": { @@ -4001,9 +4003,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -4045,7 +4044,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.29.0" }, "funding": [ { @@ -4061,20 +4060,20 @@ "type": "tidelift" } ], - "time": "2023-01-26T09:26:14+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.28.0", + "version": "v1.29.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "42292d99c55abe617799667f454222c54c60e229" + "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/42292d99c55abe617799667f454222c54c60e229", - "reference": "42292d99c55abe617799667f454222c54c60e229", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9773676c8a1bb1f8d4340a62efe641cf76eda7ec", + "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec", "shasum": "" }, "require": { @@ -4088,9 +4087,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -4128,7 +4124,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.29.0" }, "funding": [ { @@ -4144,7 +4140,7 @@ "type": "tidelift" } ], - "time": "2023-07-28T09:04:16+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { "name": "symfony/service-contracts", @@ -4230,16 +4226,16 @@ }, { "name": "symfony/string", - "version": "v6.4.2", + "version": "v6.4.4", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "7cb80bc10bfcdf6b5492741c0b9357dac66940bc" + "reference": "4e465a95bdc32f49cf4c7f07f751b843bbd6dcd9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/7cb80bc10bfcdf6b5492741c0b9357dac66940bc", - "reference": "7cb80bc10bfcdf6b5492741c0b9357dac66940bc", + "url": "https://api.github.com/repos/symfony/string/zipball/4e465a95bdc32f49cf4c7f07f751b843bbd6dcd9", + "reference": "4e465a95bdc32f49cf4c7f07f751b843bbd6dcd9", "shasum": "" }, "require": { @@ -4296,7 +4292,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v6.4.2" + "source": "https://github.com/symfony/string/tree/v6.4.4" }, "funding": [ { @@ -4312,20 +4308,20 @@ "type": "tidelift" } ], - "time": "2023-12-10T16:15:48+00:00" + "time": "2024-02-01T13:16:41+00:00" }, { "name": "theseer/tokenizer", - "version": "1.2.2", + "version": "1.2.3", "source": { "type": "git", "url": "https://github.com/theseer/tokenizer.git", - "reference": "b2ad5003ca10d4ee50a12da31de12a5774ba6b96" + "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/theseer/tokenizer/zipball/b2ad5003ca10d4ee50a12da31de12a5774ba6b96", - "reference": "b2ad5003ca10d4ee50a12da31de12a5774ba6b96", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2", + "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2", "shasum": "" }, "require": { @@ -4354,7 +4350,7 @@ "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", "support": { "issues": "https://github.com/theseer/tokenizer/issues", - "source": "https://github.com/theseer/tokenizer/tree/1.2.2" + "source": "https://github.com/theseer/tokenizer/tree/1.2.3" }, "funding": [ { @@ -4362,20 +4358,20 @@ "type": "github" } ], - "time": "2023-11-20T00:12:19+00:00" + "time": "2024-03-03T12:36:25+00:00" }, { "name": "vimeo/psalm", - "version": "5.19.0", + "version": "5.22.2", "source": { "type": "git", "url": "https://github.com/vimeo/psalm.git", - "reference": "06b71be009a6bd6d81b9811855d6629b9fe90e1b" + "reference": "d768d914152dbbf3486c36398802f74e80cfde48" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/vimeo/psalm/zipball/06b71be009a6bd6d81b9811855d6629b9fe90e1b", - "reference": "06b71be009a6bd6d81b9811855d6629b9fe90e1b", + "url": "https://api.github.com/repos/vimeo/psalm/zipball/d768d914152dbbf3486c36398802f74e80cfde48", + "reference": "d768d914152dbbf3486c36398802f74e80cfde48", "shasum": "" }, "require": { @@ -4398,7 +4394,7 @@ "netresearch/jsonmapper": "^1.0 || ^2.0 || ^3.0 || ^4.0", "nikic/php-parser": "^4.16", "php": "^7.4 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0", - "sebastian/diff": "^4.0 || ^5.0", + "sebastian/diff": "^4.0 || ^5.0 || ^6.0", "spatie/array-to-xml": "^2.17.0 || ^3.0", "symfony/console": "^4.1.6 || ^5.0 || ^6.0 || ^7.0", "symfony/filesystem": "^5.4 || ^6.0 || ^7.0" @@ -4472,7 +4468,7 @@ "issues": "https://github.com/vimeo/psalm/issues", "source": "https://github.com/vimeo/psalm" }, - "time": "2024-01-09T21:02:43+00:00" + "time": "2024-02-22T23:39:07+00:00" }, { "name": "webimpress/coding-standard", From ea9496df08b26e5ceea613c42864476e5f4067cb Mon Sep 17 00:00:00 2001 From: George Steel Date: Tue, 5 Mar 2024 11:14:22 +0000 Subject: [PATCH 2/7] Fix new RiskyTruthyFalsyComparison issues Signed-off-by: George Steel --- src/Http/Chain.php | 3 ++- src/Http/TreeRouteStack.php | 4 ++-- src/RouteInvokableFactory.php | 4 ++-- src/RoutePluginManagerFactory.php | 2 +- src/RouterFactory.php | 2 +- 5 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/Http/Chain.php b/src/Http/Chain.php index 8ae201e..4a0346a 100644 --- a/src/Http/Chain.php +++ b/src/Http/Chain.php @@ -18,6 +18,7 @@ use function array_reverse; use function assert; use function is_array; +use function is_bool; use function method_exists; use function sprintf; use function strlen; @@ -175,7 +176,7 @@ public function assemble(array $params = [], array $options = []) foreach ($routes as $key => $route) { $chainOptions = $options; - $hasChild = $options['has_child'] ?? false; + $hasChild = isset($options['has_child']) && is_bool($options['has_child']) && $options['has_child']; $chainOptions['has_child'] = $hasChild || $key !== $lastRouteKey; diff --git a/src/Http/TreeRouteStack.php b/src/Http/TreeRouteStack.php index 150f435..957041b 100644 --- a/src/Http/TreeRouteStack.php +++ b/src/Http/TreeRouteStack.php @@ -387,7 +387,7 @@ public function assemble(array $params = [], array $options = []) return $this->baseUrl . $route->assemble(array_merge($this->defaultParams, $params), $options); } - if (! isset($options['uri'])) { + if (! isset($options['uri']) || ! $options['uri'] instanceof HttpUri) { $uri = new HttpUri(); if (isset($options['force_canonical']) && $options['force_canonical']) { @@ -440,7 +440,7 @@ public function assemble(array $params = [], array $options = []) } return $uri->toString(); - } elseif (! $uri->isAbsolute() && $uri->isValidRelative()) { + } elseif ($uri->isAbsolute() === false && $uri->isValidRelative() === true) { $uri->setPath($path); if (! isset($options['normalize_path']) || $options['normalize_path']) { diff --git a/src/RouteInvokableFactory.php b/src/RouteInvokableFactory.php index c490e23..733488b 100644 --- a/src/RouteInvokableFactory.php +++ b/src/RouteInvokableFactory.php @@ -83,7 +83,7 @@ public function canCreateServiceWithName(ServiceLocatorInterface $container, $no */ public function __invoke(ContainerInterface $container, $routeName, ?array $options = null) { - $options = $options ?: []; + $options = $options ?? []; if (! class_exists($routeName)) { throw new ServiceNotCreatedException(sprintf( @@ -134,7 +134,7 @@ public function createServiceWithName(ServiceLocatorInterface $container, $norma */ public function createService(ServiceLocatorInterface $container, $normalizedName = null, $routeName = null) { - $routeName = $routeName ?: RouteInterface::class; + $routeName = $routeName ?? RouteInterface::class; return $this($container, $routeName, $this->creationOptions); } diff --git a/src/RoutePluginManagerFactory.php b/src/RoutePluginManagerFactory.php index 7fc5eeb..ff7380b 100644 --- a/src/RoutePluginManagerFactory.php +++ b/src/RoutePluginManagerFactory.php @@ -20,7 +20,7 @@ class RoutePluginManagerFactory implements FactoryInterface */ public function __invoke(ContainerInterface $container, $name, ?array $options = null) { - $options = $options ?: []; + $options = $options ?? []; return new RoutePluginManager($container, $options); } diff --git a/src/RouterFactory.php b/src/RouterFactory.php index b50c330..9a2e8c2 100644 --- a/src/RouterFactory.php +++ b/src/RouterFactory.php @@ -38,7 +38,7 @@ public function __invoke(ContainerInterface $container, $name, ?array $options = */ public function createService(ServiceLocatorInterface $container, $normalizedName = null, $requestedName = null) { - $requestedName = $requestedName ?: 'Router'; + $requestedName = $requestedName ?? 'Router'; return $this($container, $requestedName); } } From 8eeb12d1a81fc1763688dc97a7897c1e30713a38 Mon Sep 17 00:00:00 2001 From: George Steel Date: Tue, 5 Mar 2024 11:15:17 +0000 Subject: [PATCH 3/7] Remove inline psalm suppressions in favour of baseline Signed-off-by: George Steel --- psalm-baseline.xml | 971 +++++++++++++++--------------- src/Http/HttpRouterFactory.php | 1 - src/RoutePluginManagerFactory.php | 1 - src/RouterFactory.php | 1 - 4 files changed, 480 insertions(+), 494 deletions(-) diff --git a/psalm-baseline.xml b/psalm-baseline.xml index 22ca33b..737fdd3 100644 --- a/psalm-baseline.xml +++ b/psalm-baseline.xml @@ -1,5 +1,5 @@ - + - Part + @@ -19,30 +19,29 @@ getPath()]]> - $hasChild - $uri + - getPath + assemble($params, $chainOptions)]]> - $prototypes - null - null + + + - Chain - Chain + + chainRoutes !== null]]> chainRoutes !== null]]> - match + - $part[1] - $part[1] + + - is_array($options) + assembledParams]]> - $levelParts[$level] + @@ -73,52 +72,52 @@ defaults, $params)]]> - $levelParts[$level][count($levelParts[$level]) - 1] - $levelParts[$level][count($levelParts[$level]) - 1][1] + + - $levelParts[$level][] - $levelParts[$level][] - $levelParts[$level][] + + + - $params[$name] + - $levelParts[$level + 1] - $name + + - Parts + - setHost + - $constraints[$part[1]] + - $parts + - $part[1] - $part[1] + + - $constraints[$part[1]] - $levelParts[$level][count($levelParts[$level]) - 1] - $mergedParams[$part[1]] - $mergedParams[$part[1]] + + + + defaults[$part[1]]]]> - $part[1] + - $part[1] + - $part[2] + @@ -128,38 +127,41 @@ + + + createRouter($class, $config, $container)]]> - $config + - $config - $config + + - RouteStackInterface + - is_array($options) + - $path + - $path - $uri + + - getPath + @@ -167,7 +169,7 @@ - is_array($options) + @@ -190,31 +192,31 @@ getPath()]]> - $locale + - $path - $uri + + - getPath + - $path + - $route + - $prototypes + - Part - Part + + - match - match + + - is_array($options) + @@ -236,26 +238,26 @@ - is_array($options) + - $path - $path + + - $path - $uri - $value + + + - getPath + - is_int($key) - is_numeric($key) || is_int($key) + + @@ -266,24 +268,24 @@ matchedRouteName === null]]> - RouteMatch + - is_array($options) + - $scheme - $uri + + - getScheme - setScheme + + @@ -291,103 +293,103 @@ - is_array($options) + - $pathOffset + - $key - $levelParts[$level] - $locale + + + - $part[1] - $part[1] - $part[1] - $part[1] - $path - $path - $textDomain + + + + + + + - $levelParts[$level][count($levelParts[$level]) - 1] - $levelParts[$level][count($levelParts[$level]) - 1][1] - $part[0] - $part[0] - $part[1] - $part[1] - $part[1] - $part[1] - $part[1] - $part[1] - $part[1] - $part[1] - $part[1] - $part[1] - $part[1] - $part[1] - $part[1] - $part[1] - $part[2] - $part[2] + + + + + + + + + + + + + + + + + + + + - $levelParts[$level][] - $levelParts[$level][] - $levelParts[$level][] - $levelParts[$level][] + + + + - $constraints[$part[1]] - $constraints[$part[1]] - $mergedParams[$part[1]] - $mergedParams[$part[1]] - $mergedParams[$part[1]] - $params[$name] + + + + + + defaults[$part[1]]]]> defaults[$part[1]]]]> - $key - $levelParts[$level + 1] - $locale - $locale - $name - $part - $part - $path - $textDomain - $textDomain - $uri + + + + + + + + + + + - array + - getPath - translate + + - $constraints[$part[1]] - $key - $part[1] - $part[1] - $part[2] + + + + + translate($part[1], $textDomain, $locale)]]> - $parts + - $levelParts[$level][count($levelParts[$level]) - 1] + - $locale - $textDomain - $translator + + + @@ -398,17 +400,17 @@ - TreeRouteStack - TreeRouteStack - self + + + - $translator + - $translator - TranslatorAwareTreeRouteStack - TranslatorAwareTreeRouteStack + + + translator !== null]]> @@ -416,11 +418,11 @@ - Wildcard::class - Wildcard::class - Wildcard::class - Wildcard::class - Wildcard::class + + + + + [ 'chain' => Chain::class, @@ -477,91 +479,72 @@ requestUri === null]]> requestUri === null]]> getHost() === null || $uri->getScheme() === null) && $this->requestUri === null]]> - is_array($options) - is_array($specs) + + - $name + getBaseUrl()]]> - $uri + - $paramName - $paramName + + - $name - $priority - $route - $route - $uri - $uri - $value + + + + + + - TRoute + - getHost - getHost - getHost - getPath - getScheme - getScheme - getScheme - isAbsolute - isValidRelative - normalize - normalize - setFragment - setHost - setPath - setPath - setQuery - setScheme - toString - toString + assemble(array_merge($this->defaultParams, $params), $options)]]> assemble(array_merge($this->defaultParams, $params), $options)]]> - $route + - $route - $route + + priority]]> - $route - $route + + - $baseUrlLength + - $baseUrl - $requestUri + + baseUrl]]> - match + - addPrototypes + @@ -570,24 +553,24 @@ paramDelimiter]]> - is_array($options) + - $path - $path + + - $key + - $path - $uri + + - getPath + @@ -595,51 +578,54 @@ - RouteInvokableFactory - RouteInvokableFactory + + - setCreationOptions + - $container - $container - $container - $normalizedName - $normalizedName - $routeName - $routeName - $routeName + + + + + + + + - $matchedRouteName + - $config + - ContainerInterface|ConfigInterface + - validatePlugin + - $instanceOf + - $options + + + + @@ -647,98 +633,101 @@ - $routePluginManager + - RouteInterface + + + + - RouteStackInterface + get('HttpRouter')]]> - $container + - is_array($options) - is_array($specs) + + - $name + - $priority - $route - $routePluginManager + + + - $paramName - $paramName + + - $name - $priority - $route - $route - $routePluginManager - $value + + + + + + - TRoute + - $route + - $route - $route + + priority]]> - $route + - $priority + - new static($routePluginManager) + - $exceptionMessage + - $exceptionMessage + - Wildcard::class + - testAssembling - testFactory - testMatching + + + - $key + - $result - $value + + @@ -746,65 +735,65 @@ 'bat']]> - testAssembling - testAssemblingWithMissingParameter - testFactory - testFailedHostnameSegmentMatchDoesNotEmitErrors - testGetAssembledParams - testMatching - testNoMatchWithoutUriMethod + + + + + + + - $key + - $path - $value + + - $services + new RoutePluginManager($services)]]> - $services + - testAssembling - testEmptyLiteral - testFactory - testGetAssembledParams - testMatching - testNoMatchWithoutUriMethod + + + + + + - $result + - testFactory - testMatching - testNoMatchWithoutVerb + + + - new RoutePluginManager(new ServiceManager()) + - Wildcard::class - Wildcard::class - Wildcard::class - Wildcard::class - Wildcard::class - Wildcard::class - Wildcard::class + + + + + + + [ @@ -847,201 +836,201 @@ ])]]> - testAssembleNonTerminatedRoute - testAssembling - testBaseRouteMayNotBePartRoute - testFactory - testFactoryShouldAcceptTraversableChildRoutes - testGetAssembledParams - testMatching - testNoMatchWithoutUriMethod - testPartRouteMarkedAsMayTerminateButWithQueryRouteChildWillMatchChildRoute - testPartRouteMarkedAsMayTerminateCanMatchWhenQueryStringPresent + + + + + + + + + + - $key + - $query - $query - $result - $value + + + + ]]> - testAssembling - testMatching + + - $query - $query - $route + + + - testAssembling - testFactory - testGetAssembledParams - testMatch - testPlaceholderDefault + + + + + - testAssembling - testEncodedDecode - testFactory - testGetAssembledParams - testMatching - testNoMatchWithoutUriMethod - testRawDecode + + + + + + + - $key + - $result - $value + + - getParam - getParam + + - testLengthIsMerged - testLengthIsStored - testMatchedRouteNameIsOverriddenOnMerge - testMatchedRouteNameIsPrependedWhenAlreadySet - testMatchedRouteNameIsSet - testParamsAreStored + + + + + + - testAssembling - testFactory - testGetAssembledParams - testMatching - testNoMatchWithoutUriMethod - testNoMatchingOnDifferentScheme + + + + + + - $path + - $exceptionName + - $offset - $offset + + - assemblingWithL10n - matchingWithL10n - testAssemblingWithExistingChild - testAssemblingWithMissingParameterInRoot - testEncodeCache - testEncodedDecode - testFactory - testNoMatchWithoutUriMethod - testParseExceptions - testRawDecode - testTranslatedAssemblingThrowsExceptionWithoutTranslator - testTranslatedMatchingThrowsExceptionWithoutTranslator + + + + + + + + + + + + - $key - $key + + - $path - $result - $result - $value - $value + + + + + - null - null - null + + + - getParam - getParam + + - new static() + - testAddRouteAcceptsTraversable - testAddRouteRequiresHttpSpecificRoute - testAddRouteViaStringRequiresHttpSpecificRoute - testAssemble - testAssembleCanonicalUriWithGivenUri - testAssembleCanonicalUriWithHostnameRoute - testAssembleCanonicalUriWithHostnameRouteAndRequestUriWithoutScheme - testAssembleCanonicalUriWithHostnameRouteWithoutScheme - testAssembleCanonicalUriWithRequestUri - testAssembleCanonicalUriWithoutRequestUri - testAssembleNonExistentChildRoute - testAssembleNonExistentRoute - testAssembleWithEncodedPath - testAssembleWithEncodedPathAndQueryParams - testAssembleWithFragment - testAssembleWithQueryParams - testAssembleWithScheme - testAssembleWithoutNameOption - testBaseUrlLengthIsPassedAsOffset - testChainRouteAssembling - testChainRouteAssemblingWithChildrenAndSecureScheme - testDefaultParamDoesNotOverrideParam - testDefaultParamDoesNotOverrideParamForAssembling - testDefaultParamIsAddedToMatch - testDefaultParamIsUsedForAssembling - testFactory - testNoMatchWithoutUriMethod - testNoOffsetIsPassedWithoutBaseUrl - testPriorityIsPassedToPartRoute - testPrototypeRoute - testSetBaseUrl - testSetBaseUrlFromFirstMatch - testSetRequestUri + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - $routes + - get + get('foo')->priority]]> - getParam - getParam - getParam - getParam + + + + - setAccessible + - Wildcard - Wildcard - Wildcard::class + + + 'baz'])]]> - new Wildcard() - new Wildcard() - new Wildcard() - new Wildcard() - new Wildcard() - new Wildcard() - new Wildcard() - new Wildcard() - new Wildcard() - new Wildcard() - new Wildcard() + + + + + + + + + + + - testAssembling - testEncodedDecode - testFactory - testGetAssembledParams - testMatching - testNoMatchWithoutUriMethod - testPathAssemblyShouldSkipAnyNonScalarValues - testRawDecode + + + + + + + + - $key + - $path - $result - $value + + + ]]> - getParam - getParam + + - ConnectMiddleware - Handler + + - testClear - testGet - testInsert - testLIFOOnly - testLIFOWithPriority - testPriorityOnly - testPriorityWithNegativesAndNull - testRemove - testRemovingNonExistentRouteDoesNotYieldError + + + + + + + + + - null + - testGetNonExistentParamWithDefault - testGetNonExistentParamWithoutDefault - testGetParam - testMatchedRouteNameIsSet - testParamsAreStored - testSetParam + + + + + + - createService + - $container + $this->createMock(RouteInterface::class)]]> - testCreateServiceReturnsAPluginManager - testInvocationCanProvideOptionsToThePluginManager - testInvocationReturnsAPluginManager + + + container]]> container]]> - $container + - testCanLoadAnyRoute - testLoadNonExistentRoute + + @@ -1267,13 +1256,13 @@ ]))]]> - $services + new RoutePluginManager($services)]]> - $services + @@ -1288,60 +1277,60 @@ - testAddRouteAsArrayWithOptions - testAddRouteAsArrayWithPriority - testAddRouteAsArrayWithoutOptions - testAddRouteAsArrayWithoutType - testAddRouteAsTraversable - testAddRouteWithInvalidArgument - testAddRouteWithPriority - testAddRoutesAsArray - testAddRoutesAsTraversable - testAddRoutesWithInvalidArgument - testAssemble - testAssembleNonExistentRoute - testAssembleWithoutNameOption - testDefaultParamDoesNotOverrideParam - testDefaultParamDoesNotOverrideParamForAssembling - testDefaultParamIsAddedToMatch - testDefaultParamIsUsedForAssembling - testFactory - testGetRouteByName - testGetRoutes - testHasRoute - testSetRoutePluginManager - testSetRoutesAsArray - testSetRoutesAsTraversable - testSetRoutesWithInvalidArgument - testremoveRouteAsArray + + + + + + + + + + + + + + + + + + + + + + + + + + priority]]> - getParam - getParam - getParam - getParam + + + + - new static() + - RouteMatch|null + - mixed + - RouteMatch|null + - new static() + diff --git a/src/Http/HttpRouterFactory.php b/src/Http/HttpRouterFactory.php index a23f54d..b3099b9 100644 --- a/src/Http/HttpRouterFactory.php +++ b/src/Http/HttpRouterFactory.php @@ -10,7 +10,6 @@ use Laminas\ServiceManager\ServiceLocatorInterface; use Psr\Container\ContainerInterface; -/** @psalm-suppress DeprecatedInterface */ class HttpRouterFactory implements FactoryInterface { use RouterConfigTrait; diff --git a/src/RoutePluginManagerFactory.php b/src/RoutePluginManagerFactory.php index ff7380b..f1576ba 100644 --- a/src/RoutePluginManagerFactory.php +++ b/src/RoutePluginManagerFactory.php @@ -8,7 +8,6 @@ use Laminas\ServiceManager\ServiceLocatorInterface; use Psr\Container\ContainerInterface; -/** @psalm-suppress DeprecatedInterface */ class RoutePluginManagerFactory implements FactoryInterface { /** diff --git a/src/RouterFactory.php b/src/RouterFactory.php index 9a2e8c2..3de5af7 100644 --- a/src/RouterFactory.php +++ b/src/RouterFactory.php @@ -8,7 +8,6 @@ use Laminas\ServiceManager\ServiceLocatorInterface; use Psr\Container\ContainerInterface; -/** @psalm-suppress DeprecatedInterface */ class RouterFactory implements FactoryInterface { /** From a4030db14c48406f7fee71258eab25405bb8fe42 Mon Sep 17 00:00:00 2001 From: George Steel Date: Tue, 5 Mar 2024 11:17:31 +0000 Subject: [PATCH 4/7] Update defaults for Psalm and baseline `unused` issues Signed-off-by: George Steel --- psalm-baseline.xml | 53 ++++++++++++++++++++++++++++++++++++++++++++++ psalm.xml.dist | 16 ++------------ 2 files changed, 55 insertions(+), 14 deletions(-) diff --git a/psalm-baseline.xml b/psalm-baseline.xml index 737fdd3..20d8712 100644 --- a/psalm-baseline.xml +++ b/psalm-baseline.xml @@ -119,6 +119,9 @@ + + + @@ -163,6 +166,9 @@ + + + @@ -176,6 +182,9 @@ getMethod()]]> + + + @@ -232,6 +241,9 @@ + + + @@ -255,6 +267,9 @@ + + + @@ -287,6 +302,9 @@ + + + @@ -391,6 +409,9 @@ + + + @@ -533,6 +554,15 @@ + + + + + + + + + @@ -576,6 +606,11 @@ + + + + + @@ -594,6 +629,9 @@ + + + @@ -618,6 +656,12 @@ + + + + + + @@ -627,6 +671,12 @@ + + + + + + @@ -1315,6 +1365,9 @@ + + + diff --git a/psalm.xml.dist b/psalm.xml.dist index 0fc7abc..d71a580 100644 --- a/psalm.xml.dist +++ b/psalm.xml.dist @@ -6,6 +6,8 @@ xmlns="https://getpsalm.org/schema/config" xsi:schemaLocation="https://getpsalm.org/schema/config vendor/vimeo/psalm/config.xsd" errorBaseline="psalm-baseline.xml" + findUnusedBaselineEntry="true" + findUnusedCode="true" > @@ -16,20 +18,6 @@ - - - - - - - - - - - - - - From 4ea33f21e6a213db0799c92df8c19853ab90956e Mon Sep 17 00:00:00 2001 From: George Steel Date: Tue, 5 Mar 2024 11:18:08 +0000 Subject: [PATCH 5/7] Stop ignoring platform requirements Signed-off-by: George Steel --- .laminas-ci.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.laminas-ci.json b/.laminas-ci.json index c6aab18..5e85b2f 100644 --- a/.laminas-ci.json +++ b/.laminas-ci.json @@ -1,5 +1,5 @@ { "ignore_php_platform_requirements": { - "8.3": true + "8.3": false } } From 1cf587a84a090a70d58351e2959ec85a80e1f03b Mon Sep 17 00:00:00 2001 From: George Steel Date: Tue, 5 Mar 2024 11:22:26 +0000 Subject: [PATCH 6/7] Remove coveralls config and update export-ignores Signed-off-by: George Steel --- .coveralls.yml | 2 -- .gitattributes | 8 ++++++-- 2 files changed, 6 insertions(+), 4 deletions(-) delete mode 100644 .coveralls.yml diff --git a/.coveralls.yml b/.coveralls.yml deleted file mode 100644 index bc71b62..0000000 --- a/.coveralls.yml +++ /dev/null @@ -1,2 +0,0 @@ -coverage_clover: clover.xml -json_path: coveralls-upload.json diff --git a/.gitattributes b/.gitattributes index af3dc9d..b8f855a 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,9 +1,13 @@ -/.coveralls.yml export-ignore /.gitattributes export-ignore /.github/ export-ignore /.gitignore export-ignore /docs/ export-ignore /mkdocs.yml export-ignore -/phpcs.xml export-ignore +/phpcs.xml.dist export-ignore /phpunit.xml.dist export-ignore +/psalm.xml.dist export-ignore +/psalm-baseline.xml export-ignore /test/ export-ignore +.laminas-ci.json export-ignore +composer.lock export-ignore +renovate.json export-ignore From 44d7bd92543cd36df2bfdaca0b5909dc85dad071 Mon Sep 17 00:00:00 2001 From: George Steel Date: Tue, 5 Mar 2024 12:27:23 +0000 Subject: [PATCH 7/7] Revert useless addition of strict equality comparison Signed-off-by: George Steel --- src/Http/TreeRouteStack.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Http/TreeRouteStack.php b/src/Http/TreeRouteStack.php index 957041b..708f049 100644 --- a/src/Http/TreeRouteStack.php +++ b/src/Http/TreeRouteStack.php @@ -440,7 +440,7 @@ public function assemble(array $params = [], array $options = []) } return $uri->toString(); - } elseif ($uri->isAbsolute() === false && $uri->isValidRelative() === true) { + } elseif (! $uri->isAbsolute() && $uri->isValidRelative()) { $uri->setPath($path); if (! isset($options['normalize_path']) || $options['normalize_path']) {