diff --git a/.laminas-ci.json b/.laminas-ci.json index 2c63c085..623a8eca 100644 --- a/.laminas-ci.json +++ b/.laminas-ci.json @@ -1,2 +1,5 @@ { + "ignore_php_platform_requirements": { + "8.3": true + } } diff --git a/composer.json b/composer.json index 9aef20cc..9f7a3aef 100644 --- a/composer.json +++ b/composer.json @@ -32,19 +32,19 @@ } }, "require": { - "php": "~8.1.0 || ~8.2.0", + "php": "~8.1.0 || ~8.2.0 || ~8.3.0", "ext-mbstring": "*", "laminas/laminas-servicemanager": "^3.21.0", "laminas/laminas-stdlib": "^3.13.0" }, "require-dev": { "laminas/laminas-coding-standard": "~2.5.0", - "laminas/laminas-uri": "^2.10", + "laminas/laminas-uri": "^2.11.0", "pear/archive_tar": "^1.4.14", - "phpunit/phpunit": "^10.1.3", + "phpunit/phpunit": "^10.4.2", "psalm/plugin-phpunit": "^0.18.4", "psr/http-factory": "^1.0.2", - "vimeo/psalm": "^5.11" + "vimeo/psalm": "^5.15.0" }, "conflict": { "laminas/laminas-validator": "<2.10.1", diff --git a/composer.lock b/composer.lock index 642afe83..86f24f3b 100644 --- a/composer.lock +++ b/composer.lock @@ -4,25 +4,25 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "e643078a77a92f56305a6ef9831d2164", + "content-hash": "beb092d5157d4cf71a38e327c6e516de", "packages": [ { "name": "laminas/laminas-servicemanager", - "version": "3.21.0", + "version": "3.22.1", "source": { "type": "git", "url": "https://github.com/laminas/laminas-servicemanager.git", - "reference": "625f2aa3bc6dd02688b2da5155b3a69870812bda" + "reference": "de98d297d4743956a0558a6d71616979ff779328" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-servicemanager/zipball/625f2aa3bc6dd02688b2da5155b3a69870812bda", - "reference": "625f2aa3bc6dd02688b2da5155b3a69870812bda", + "url": "https://api.github.com/repos/laminas/laminas-servicemanager/zipball/de98d297d4743956a0558a6d71616979ff779328", + "reference": "de98d297d4743956a0558a6d71616979ff779328", "shasum": "" }, "require": { "laminas/laminas-stdlib": "^3.17", - "php": "~8.1.0 || ~8.2.0", + "php": "~8.1.0 || ~8.2.0 || ~8.3.0", "psr/container": "^1.0" }, "conflict": { @@ -43,10 +43,9 @@ "laminas/laminas-code": "^4.10.0", "laminas/laminas-coding-standard": "~2.5.0", "laminas/laminas-container-config-test": "^0.8", - "laminas/laminas-dependency-plugin": "^2.2", "mikey179/vfsstream": "^1.6.11", "phpbench/phpbench": "^1.2.9", - "phpunit/phpunit": "^10.0.17", + "phpunit/phpunit": "^10.4", "psalm/plugin-phpunit": "^0.18.4", "vimeo/psalm": "^5.8.0" }, @@ -95,34 +94,34 @@ "type": "community_bridge" } ], - "time": "2023-05-14T12:24:54+00:00" + "time": "2023-10-24T11:19:47+00:00" }, { "name": "laminas/laminas-stdlib", - "version": "3.17.0", + "version": "3.18.0", "source": { "type": "git", "url": "https://github.com/laminas/laminas-stdlib.git", - "reference": "dd35c868075bad80b6718959740913e178eb4274" + "reference": "e85b29076c6216e7fc98e72b42dbe1bbc3b95ecf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-stdlib/zipball/dd35c868075bad80b6718959740913e178eb4274", - "reference": "dd35c868075bad80b6718959740913e178eb4274", + "url": "https://api.github.com/repos/laminas/laminas-stdlib/zipball/e85b29076c6216e7fc98e72b42dbe1bbc3b95ecf", + "reference": "e85b29076c6216e7fc98e72b42dbe1bbc3b95ecf", "shasum": "" }, "require": { - "php": "~8.1.0 || ~8.2.0" + "php": "~8.1.0 || ~8.2.0 || ~8.3.0" }, "conflict": { "zendframework/zend-stdlib": "*" }, "require-dev": { "laminas/laminas-coding-standard": "^2.5", - "phpbench/phpbench": "^1.2.9", - "phpunit/phpunit": "^10.0.16", + "phpbench/phpbench": "^1.2.14", + "phpunit/phpunit": "^10.3.3", "psalm/plugin-phpunit": "^0.18.4", - "vimeo/psalm": "^5.8" + "vimeo/psalm": "^5.15.0" }, "type": "library", "autoload": { @@ -154,7 +153,7 @@ "type": "community_bridge" } ], - "time": "2023-03-20T13:51:37+00:00" + "time": "2023-09-19T10:15:21+00:00" }, { "name": "psr/container", @@ -447,16 +446,16 @@ }, { "name": "composer/pcre", - "version": "3.1.0", + "version": "3.1.1", "source": { "type": "git", "url": "https://github.com/composer/pcre.git", - "reference": "4bff79ddd77851fe3cdd11616ed3f92841ba5bd2" + "reference": "00104306927c7a0919b4ced2aaa6782c1e61a3c9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/pcre/zipball/4bff79ddd77851fe3cdd11616ed3f92841ba5bd2", - "reference": "4bff79ddd77851fe3cdd11616ed3f92841ba5bd2", + "url": "https://api.github.com/repos/composer/pcre/zipball/00104306927c7a0919b4ced2aaa6782c1e61a3c9", + "reference": "00104306927c7a0919b4ced2aaa6782c1e61a3c9", "shasum": "" }, "require": { @@ -498,7 +497,7 @@ ], "support": { "issues": "https://github.com/composer/pcre/issues", - "source": "https://github.com/composer/pcre/tree/3.1.0" + "source": "https://github.com/composer/pcre/tree/3.1.1" }, "funding": [ { @@ -514,20 +513,20 @@ "type": "tidelift" } ], - "time": "2022-11-17T09:50:14+00:00" + "time": "2023-10-11T07:11:09+00:00" }, { "name": "composer/semver", - "version": "3.3.2", + "version": "3.4.0", "source": { "type": "git", "url": "https://github.com/composer/semver.git", - "reference": "3953f23262f2bff1919fc82183ad9acb13ff62c9" + "reference": "35e8d0af4486141bc745f23a29cc2091eb624a32" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/semver/zipball/3953f23262f2bff1919fc82183ad9acb13ff62c9", - "reference": "3953f23262f2bff1919fc82183ad9acb13ff62c9", + "url": "https://api.github.com/repos/composer/semver/zipball/35e8d0af4486141bc745f23a29cc2091eb624a32", + "reference": "35e8d0af4486141bc745f23a29cc2091eb624a32", "shasum": "" }, "require": { @@ -577,9 +576,9 @@ "versioning" ], "support": { - "irc": "irc://irc.freenode.org/composer", + "irc": "ircs://irc.libera.chat:6697/composer", "issues": "https://github.com/composer/semver/issues", - "source": "https://github.com/composer/semver/tree/3.3.2" + "source": "https://github.com/composer/semver/tree/3.4.0" }, "funding": [ { @@ -595,7 +594,7 @@ "type": "tidelift" } ], - "time": "2022-04-01T19:23:25+00:00" + "time": "2023-08-31T09:50:34+00:00" }, { "name": "composer/xdebug-handler", @@ -995,33 +994,33 @@ }, { "name": "laminas/laminas-escaper", - "version": "2.12.0", + "version": "2.13.0", "source": { "type": "git", "url": "https://github.com/laminas/laminas-escaper.git", - "reference": "ee7a4c37bf3d0e8c03635d5bddb5bb3184ead490" + "reference": "af459883f4018d0f8a0c69c7a209daef3bf973ba" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-escaper/zipball/ee7a4c37bf3d0e8c03635d5bddb5bb3184ead490", - "reference": "ee7a4c37bf3d0e8c03635d5bddb5bb3184ead490", + "url": "https://api.github.com/repos/laminas/laminas-escaper/zipball/af459883f4018d0f8a0c69c7a209daef3bf973ba", + "reference": "af459883f4018d0f8a0c69c7a209daef3bf973ba", "shasum": "" }, "require": { "ext-ctype": "*", "ext-mbstring": "*", - "php": "^7.4 || ~8.0.0 || ~8.1.0 || ~8.2.0" + "php": "~8.1.0 || ~8.2.0 || ~8.3.0" }, "conflict": { "zendframework/zend-escaper": "*" }, "require-dev": { - "infection/infection": "^0.26.6", - "laminas/laminas-coding-standard": "~2.4.0", + "infection/infection": "^0.27.0", + "laminas/laminas-coding-standard": "~2.5.0", "maglnet/composer-require-checker": "^3.8.0", - "phpunit/phpunit": "^9.5.18", - "psalm/plugin-phpunit": "^0.17.0", - "vimeo/psalm": "^4.22.0" + "phpunit/phpunit": "^9.6.7", + "psalm/plugin-phpunit": "^0.18.4", + "vimeo/psalm": "^5.9" }, "type": "library", "autoload": { @@ -1053,26 +1052,26 @@ "type": "community_bridge" } ], - "time": "2022-10-10T10:11:09+00:00" + "time": "2023-10-10T08:35:13+00:00" }, { "name": "laminas/laminas-uri", - "version": "2.10.0", + "version": "2.11.0", "source": { "type": "git", "url": "https://github.com/laminas/laminas-uri.git", - "reference": "663b050294945c7345cc3a61f3ca661d5f9e1f80" + "reference": "e662c685125061d3115906e5eb30f966842cc226" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-uri/zipball/663b050294945c7345cc3a61f3ca661d5f9e1f80", - "reference": "663b050294945c7345cc3a61f3ca661d5f9e1f80", + "url": "https://api.github.com/repos/laminas/laminas-uri/zipball/e662c685125061d3115906e5eb30f966842cc226", + "reference": "e662c685125061d3115906e5eb30f966842cc226", "shasum": "" }, "require": { "laminas/laminas-escaper": "^2.9", - "laminas/laminas-validator": "^2.15", - "php": "~8.0.0 || ~8.1.0 || ~8.2.0" + "laminas/laminas-validator": "^2.39", + "php": "~8.1.0 || ~8.2.0 || ~8.3.0" }, "conflict": { "zendframework/zend-uri": "*" @@ -1111,26 +1110,26 @@ "type": "community_bridge" } ], - "time": "2022-10-16T15:02:45+00:00" + "time": "2023-10-18T09:56:55+00:00" }, { "name": "laminas/laminas-validator", - "version": "2.31.0", + "version": "2.41.0", "source": { "type": "git", "url": "https://github.com/laminas/laminas-validator.git", - "reference": "7dc274aa5afd5e23be0dbea13363e3d66ba5808b" + "reference": "ca27df621e12cbd4c138dab7abf3e7e5692c582c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-validator/zipball/7dc274aa5afd5e23be0dbea13363e3d66ba5808b", - "reference": "7dc274aa5afd5e23be0dbea13363e3d66ba5808b", + "url": "https://api.github.com/repos/laminas/laminas-validator/zipball/ca27df621e12cbd4c138dab7abf3e7e5692c582c", + "reference": "ca27df621e12cbd4c138dab7abf3e7e5692c582c", "shasum": "" }, "require": { "laminas/laminas-servicemanager": "^3.21.0", "laminas/laminas-stdlib": "^3.13", - "php": "~8.1.0 || ~8.2.0", + "php": "~8.1.0 || ~8.2.0 || ~8.3.0", "psr/http-message": "^1.0.1 || ^2.0.0" }, "conflict": { @@ -1140,15 +1139,14 @@ "laminas/laminas-coding-standard": "^2.5", "laminas/laminas-db": "^2.18", "laminas/laminas-filter": "^2.32", - "laminas/laminas-http": "^2.18", "laminas/laminas-i18n": "^2.23", "laminas/laminas-session": "^2.16", "laminas/laminas-uri": "^2.10.0", - "phpunit/phpunit": "^10.1.3", + "phpunit/phpunit": "^10.3.3", "psalm/plugin-phpunit": "^0.18.4", "psr/http-client": "^1.0.2", "psr/http-factory": "^1.0.2", - "vimeo/psalm": "^5.11" + "vimeo/psalm": "^5.15" }, "suggest": { "laminas/laminas-db": "Laminas\\Db component, required by the (No)RecordExists validator", @@ -1196,7 +1194,7 @@ "type": "community_bridge" } ], - "time": "2023-05-19T09:42:26+00:00" + "time": "2023-10-30T08:22:19+00:00" }, { "name": "myclabs/deep-copy", @@ -1310,16 +1308,16 @@ }, { "name": "nikic/php-parser", - "version": "v4.15.5", + "version": "v4.17.1", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "11e2663a5bc9db5d714eedb4277ee300403b4a9e" + "reference": "a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/11e2663a5bc9db5d714eedb4277ee300403b4a9e", - "reference": "11e2663a5bc9db5d714eedb4277ee300403b4a9e", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d", + "reference": "a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d", "shasum": "" }, "require": { @@ -1360,9 +1358,9 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v4.15.5" + "source": "https://github.com/nikic/PHP-Parser/tree/v4.17.1" }, - "time": "2023-05-19T20:20:00+00:00" + "time": "2023-08-13T19:53:39+00:00" }, { "name": "pear/archive_tar", @@ -1924,16 +1922,16 @@ }, { "name": "phpunit/php-code-coverage", - "version": "10.1.2", + "version": "10.1.7", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "db1497ec8dd382e82c962f7abbe0320e4882ee4e" + "reference": "355324ca4980b8916c18b9db29f3ef484078f26e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/db1497ec8dd382e82c962f7abbe0320e4882ee4e", - "reference": "db1497ec8dd382e82c962f7abbe0320e4882ee4e", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/355324ca4980b8916c18b9db29f3ef484078f26e", + "reference": "355324ca4980b8916c18b9db29f3ef484078f26e", "shasum": "" }, "require": { @@ -1990,7 +1988,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.2" + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.7" }, "funding": [ { @@ -1998,20 +1996,20 @@ "type": "github" } ], - "time": "2023-05-22T09:04:27+00:00" + "time": "2023-10-04T15:34:17+00:00" }, { "name": "phpunit/php-file-iterator", - "version": "4.0.2", + "version": "4.1.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "5647d65443818959172645e7ed999217360654b6" + "reference": "a95037b6d9e608ba092da1b23931e537cadc3c3c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/5647d65443818959172645e7ed999217360654b6", - "reference": "5647d65443818959172645e7ed999217360654b6", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/a95037b6d9e608ba092da1b23931e537cadc3c3c", + "reference": "a95037b6d9e608ba092da1b23931e537cadc3c3c", "shasum": "" }, "require": { @@ -2051,7 +2049,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", "security": "https://github.com/sebastianbergmann/php-file-iterator/security/policy", - "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/4.0.2" + "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/4.1.0" }, "funding": [ { @@ -2059,7 +2057,7 @@ "type": "github" } ], - "time": "2023-05-07T09:13:23+00:00" + "time": "2023-08-31T06:24:48+00:00" }, { "name": "phpunit/php-invoker", @@ -2126,16 +2124,16 @@ }, { "name": "phpunit/php-text-template", - "version": "3.0.0", + "version": "3.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "9f3d3709577a527025f55bcf0f7ab8052c8bb37d" + "reference": "0c7b06ff49e3d5072f057eb1fa59258bf287a748" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/9f3d3709577a527025f55bcf0f7ab8052c8bb37d", - "reference": "9f3d3709577a527025f55bcf0f7ab8052c8bb37d", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/0c7b06ff49e3d5072f057eb1fa59258bf287a748", + "reference": "0c7b06ff49e3d5072f057eb1fa59258bf287a748", "shasum": "" }, "require": { @@ -2173,7 +2171,8 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-text-template/issues", - "source": "https://github.com/sebastianbergmann/php-text-template/tree/3.0.0" + "security": "https://github.com/sebastianbergmann/php-text-template/security/policy", + "source": "https://github.com/sebastianbergmann/php-text-template/tree/3.0.1" }, "funding": [ { @@ -2181,7 +2180,7 @@ "type": "github" } ], - "time": "2023-02-03T06:56:46+00:00" + "time": "2023-08-31T14:07:24+00:00" }, { "name": "phpunit/php-timer", @@ -2244,16 +2243,16 @@ }, { "name": "phpunit/phpunit", - "version": "10.1.3", + "version": "10.4.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "2379ebafc1737e71cdc84f402acb6b7f04198b9d" + "reference": "cacd8b9dd224efa8eb28beb69004126c7ca1a1a1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/2379ebafc1737e71cdc84f402acb6b7f04198b9d", - "reference": "2379ebafc1737e71cdc84f402acb6b7f04198b9d", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/cacd8b9dd224efa8eb28beb69004126c7ca1a1a1", + "reference": "cacd8b9dd224efa8eb28beb69004126c7ca1a1a1", "shasum": "" }, "require": { @@ -2267,7 +2266,7 @@ "phar-io/manifest": "^2.0.3", "phar-io/version": "^3.0.2", "php": ">=8.1", - "phpunit/php-code-coverage": "^10.1.1", + "phpunit/php-code-coverage": "^10.1.5", "phpunit/php-file-iterator": "^4.0", "phpunit/php-invoker": "^4.0", "phpunit/php-text-template": "^3.0", @@ -2277,8 +2276,8 @@ "sebastian/comparator": "^5.0", "sebastian/diff": "^5.0", "sebastian/environment": "^6.0", - "sebastian/exporter": "^5.0", - "sebastian/global-state": "^6.0", + "sebastian/exporter": "^5.1", + "sebastian/global-state": "^6.0.1", "sebastian/object-enumerator": "^5.0", "sebastian/recursion-context": "^5.0", "sebastian/type": "^4.0", @@ -2293,7 +2292,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "10.1-dev" + "dev-main": "10.4-dev" } }, "autoload": { @@ -2325,7 +2324,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.1.3" + "source": "https://github.com/sebastianbergmann/phpunit/tree/10.4.2" }, "funding": [ { @@ -2341,7 +2340,7 @@ "type": "tidelift" } ], - "time": "2023-05-11T05:16:22+00:00" + "time": "2023-10-26T07:21:45+00:00" }, { "name": "psalm/plugin-phpunit", @@ -2730,16 +2729,16 @@ }, { "name": "sebastian/comparator", - "version": "5.0.0", + "version": "5.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "72f01e6586e0caf6af81297897bd112eb7e9627c" + "reference": "2db5010a484d53ebf536087a70b4a5423c102372" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/72f01e6586e0caf6af81297897bd112eb7e9627c", - "reference": "72f01e6586e0caf6af81297897bd112eb7e9627c", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2db5010a484d53ebf536087a70b4a5423c102372", + "reference": "2db5010a484d53ebf536087a70b4a5423c102372", "shasum": "" }, "require": { @@ -2750,7 +2749,7 @@ "sebastian/exporter": "^5.0" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^10.3" }, "type": "library", "extra": { @@ -2794,7 +2793,8 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/comparator/issues", - "source": "https://github.com/sebastianbergmann/comparator/tree/5.0.0" + "security": "https://github.com/sebastianbergmann/comparator/security/policy", + "source": "https://github.com/sebastianbergmann/comparator/tree/5.0.1" }, "funding": [ { @@ -2802,20 +2802,20 @@ "type": "github" } ], - "time": "2023-02-03T07:07:16+00:00" + "time": "2023-08-14T13:18:12+00:00" }, { "name": "sebastian/complexity", - "version": "3.0.0", + "version": "3.1.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/complexity.git", - "reference": "e67d240970c9dc7ea7b2123a6d520e334dd61dc6" + "reference": "68cfb347a44871f01e33ab0ef8215966432f6957" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/e67d240970c9dc7ea7b2123a6d520e334dd61dc6", - "reference": "e67d240970c9dc7ea7b2123a6d520e334dd61dc6", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/68cfb347a44871f01e33ab0ef8215966432f6957", + "reference": "68cfb347a44871f01e33ab0ef8215966432f6957", "shasum": "" }, "require": { @@ -2828,7 +2828,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "3.0-dev" + "dev-main": "3.1-dev" } }, "autoload": { @@ -2851,7 +2851,8 @@ "homepage": "https://github.com/sebastianbergmann/complexity", "support": { "issues": "https://github.com/sebastianbergmann/complexity/issues", - "source": "https://github.com/sebastianbergmann/complexity/tree/3.0.0" + "security": "https://github.com/sebastianbergmann/complexity/security/policy", + "source": "https://github.com/sebastianbergmann/complexity/tree/3.1.0" }, "funding": [ { @@ -2859,7 +2860,7 @@ "type": "github" } ], - "time": "2023-02-03T06:59:47+00:00" + "time": "2023-09-28T11:50:59+00:00" }, { "name": "sebastian/diff", @@ -2994,16 +2995,16 @@ }, { "name": "sebastian/exporter", - "version": "5.0.0", + "version": "5.1.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "f3ec4bf931c0b31e5b413f5b4fc970a7d03338c0" + "reference": "64f51654862e0f5e318db7e9dcc2292c63cdbddc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/f3ec4bf931c0b31e5b413f5b4fc970a7d03338c0", - "reference": "f3ec4bf931c0b31e5b413f5b4fc970a7d03338c0", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/64f51654862e0f5e318db7e9dcc2292c63cdbddc", + "reference": "64f51654862e0f5e318db7e9dcc2292c63cdbddc", "shasum": "" }, "require": { @@ -3017,7 +3018,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "5.0-dev" + "dev-main": "5.1-dev" } }, "autoload": { @@ -3059,7 +3060,8 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/exporter/issues", - "source": "https://github.com/sebastianbergmann/exporter/tree/5.0.0" + "security": "https://github.com/sebastianbergmann/exporter/security/policy", + "source": "https://github.com/sebastianbergmann/exporter/tree/5.1.1" }, "funding": [ { @@ -3067,20 +3069,20 @@ "type": "github" } ], - "time": "2023-02-03T07:06:49+00:00" + "time": "2023-09-24T13:22:09+00:00" }, { "name": "sebastian/global-state", - "version": "6.0.0", + "version": "6.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "aab257c712de87b90194febd52e4d184551c2d44" + "reference": "7ea9ead78f6d380d2a667864c132c2f7b83055e4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/aab257c712de87b90194febd52e4d184551c2d44", - "reference": "aab257c712de87b90194febd52e4d184551c2d44", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/7ea9ead78f6d380d2a667864c132c2f7b83055e4", + "reference": "7ea9ead78f6d380d2a667864c132c2f7b83055e4", "shasum": "" }, "require": { @@ -3120,7 +3122,8 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/global-state/issues", - "source": "https://github.com/sebastianbergmann/global-state/tree/6.0.0" + "security": "https://github.com/sebastianbergmann/global-state/security/policy", + "source": "https://github.com/sebastianbergmann/global-state/tree/6.0.1" }, "funding": [ { @@ -3128,20 +3131,20 @@ "type": "github" } ], - "time": "2023-02-03T07:07:38+00:00" + "time": "2023-07-19T07:19:23+00:00" }, { "name": "sebastian/lines-of-code", - "version": "2.0.0", + "version": "2.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/lines-of-code.git", - "reference": "17c4d940ecafb3d15d2cf916f4108f664e28b130" + "reference": "649e40d279e243d985aa8fb6e74dd5bb28dc185d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/17c4d940ecafb3d15d2cf916f4108f664e28b130", - "reference": "17c4d940ecafb3d15d2cf916f4108f664e28b130", + "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/649e40d279e243d985aa8fb6e74dd5bb28dc185d", + "reference": "649e40d279e243d985aa8fb6e74dd5bb28dc185d", "shasum": "" }, "require": { @@ -3177,7 +3180,8 @@ "homepage": "https://github.com/sebastianbergmann/lines-of-code", "support": { "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", - "source": "https://github.com/sebastianbergmann/lines-of-code/tree/2.0.0" + "security": "https://github.com/sebastianbergmann/lines-of-code/security/policy", + "source": "https://github.com/sebastianbergmann/lines-of-code/tree/2.0.1" }, "funding": [ { @@ -3185,7 +3189,7 @@ "type": "github" } ], - "time": "2023-02-03T07:08:02+00:00" + "time": "2023-08-31T09:25:50+00:00" }, { "name": "sebastian/object-enumerator", @@ -3534,16 +3538,16 @@ }, { "name": "spatie/array-to-xml", - "version": "3.1.6", + "version": "3.2.0", "source": { "type": "git", "url": "https://github.com/spatie/array-to-xml.git", - "reference": "e210b98957987c755372465be105d32113f339a4" + "reference": "f9ab39c808500c347d5a8b6b13310bd5221e39e7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/array-to-xml/zipball/e210b98957987c755372465be105d32113f339a4", - "reference": "e210b98957987c755372465be105d32113f339a4", + "url": "https://api.github.com/repos/spatie/array-to-xml/zipball/f9ab39c808500c347d5a8b6b13310bd5221e39e7", + "reference": "f9ab39c808500c347d5a8b6b13310bd5221e39e7", "shasum": "" }, "require": { @@ -3581,7 +3585,7 @@ "xml" ], "support": { - "source": "https://github.com/spatie/array-to-xml/tree/3.1.6" + "source": "https://github.com/spatie/array-to-xml/tree/3.2.0" }, "funding": [ { @@ -3593,7 +3597,7 @@ "type": "github" } ], - "time": "2023-05-11T14:04:07+00:00" + "time": "2023-07-19T18:30:26+00:00" }, { "name": "squizlabs/php_codesniffer", @@ -3654,23 +3658,23 @@ }, { "name": "symfony/console", - "version": "v6.2.10", + "version": "v6.3.4", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "12288d9f4500f84a4d02254d4aa968b15488476f" + "reference": "eca495f2ee845130855ddf1cf18460c38966c8b6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/12288d9f4500f84a4d02254d4aa968b15488476f", - "reference": "12288d9f4500f84a4d02254d4aa968b15488476f", + "url": "https://api.github.com/repos/symfony/console/zipball/eca495f2ee845130855ddf1cf18460c38966c8b6", + "reference": "eca495f2ee845130855ddf1cf18460c38966c8b6", "shasum": "" }, "require": { "php": ">=8.1", - "symfony/deprecation-contracts": "^2.1|^3", + "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-mbstring": "~1.0", - "symfony/service-contracts": "^1.1|^2|^3", + "symfony/service-contracts": "^2.5|^3", "symfony/string": "^5.4|^6.0" }, "conflict": { @@ -3692,12 +3696,6 @@ "symfony/process": "^5.4|^6.0", "symfony/var-dumper": "^5.4|^6.0" }, - "suggest": { - "psr/log": "For using the console logger", - "symfony/event-dispatcher": "", - "symfony/lock": "", - "symfony/process": "" - }, "type": "library", "autoload": { "psr-4": { @@ -3730,7 +3728,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v6.2.10" + "source": "https://github.com/symfony/console/tree/v6.3.4" }, "funding": [ { @@ -3746,20 +3744,20 @@ "type": "tidelift" } ], - "time": "2023-04-28T13:37:43+00:00" + "time": "2023-08-16T10:10:12+00:00" }, { "name": "symfony/deprecation-contracts", - "version": "v3.2.1", + "version": "v3.3.0", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "e2d1534420bd723d0ef5aec58a22c5fe60ce6f5e" + "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/e2d1534420bd723d0ef5aec58a22c5fe60ce6f5e", - "reference": "e2d1534420bd723d0ef5aec58a22c5fe60ce6f5e", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/7c3aff79d10325257a001fcf92d991f24fc967cf", + "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf", "shasum": "" }, "require": { @@ -3768,7 +3766,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "3.3-dev" + "dev-main": "3.4-dev" }, "thanks": { "name": "symfony/contracts", @@ -3797,7 +3795,7 @@ "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v3.2.1" + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.3.0" }, "funding": [ { @@ -3813,20 +3811,20 @@ "type": "tidelift" } ], - "time": "2023-03-01T10:25:55+00:00" + "time": "2023-05-23T14:45:45+00:00" }, { "name": "symfony/filesystem", - "version": "v6.2.10", + "version": "v6.3.1", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "fd588debf7d1bc16a2c84b4b3b71145d9946b894" + "reference": "edd36776956f2a6fcf577edb5b05eb0e3bdc52ae" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/fd588debf7d1bc16a2c84b4b3b71145d9946b894", - "reference": "fd588debf7d1bc16a2c84b4b3b71145d9946b894", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/edd36776956f2a6fcf577edb5b05eb0e3bdc52ae", + "reference": "edd36776956f2a6fcf577edb5b05eb0e3bdc52ae", "shasum": "" }, "require": { @@ -3860,7 +3858,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v6.2.10" + "source": "https://github.com/symfony/filesystem/tree/v6.3.1" }, "funding": [ { @@ -3876,20 +3874,20 @@ "type": "tidelift" } ], - "time": "2023-04-18T13:46:08+00:00" + "time": "2023-06-01T08:30:39+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.27.0", + "version": "v1.28.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "5bbc823adecdae860bb64756d639ecfec17b050a" + "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/5bbc823adecdae860bb64756d639ecfec17b050a", - "reference": "5bbc823adecdae860bb64756d639ecfec17b050a", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb", + "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb", "shasum": "" }, "require": { @@ -3904,7 +3902,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.27-dev" + "dev-main": "1.28-dev" }, "thanks": { "name": "symfony/polyfill", @@ -3942,7 +3940,7 @@ "portable" ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.27.0" + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.28.0" }, "funding": [ { @@ -3958,20 +3956,20 @@ "type": "tidelift" } ], - "time": "2022-11-03T14:55:06+00:00" + "time": "2023-01-26T09:26:14+00:00" }, { "name": "symfony/polyfill-intl-grapheme", - "version": "v1.27.0", + "version": "v1.28.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "511a08c03c1960e08a883f4cffcacd219b758354" + "reference": "875e90aeea2777b6f135677f618529449334a612" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/511a08c03c1960e08a883f4cffcacd219b758354", - "reference": "511a08c03c1960e08a883f4cffcacd219b758354", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/875e90aeea2777b6f135677f618529449334a612", + "reference": "875e90aeea2777b6f135677f618529449334a612", "shasum": "" }, "require": { @@ -3983,7 +3981,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.27-dev" + "dev-main": "1.28-dev" }, "thanks": { "name": "symfony/polyfill", @@ -4023,7 +4021,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.27.0" + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.28.0" }, "funding": [ { @@ -4039,20 +4037,20 @@ "type": "tidelift" } ], - "time": "2022-11-03T14:55:06+00:00" + "time": "2023-01-26T09:26:14+00:00" }, { "name": "symfony/polyfill-intl-normalizer", - "version": "v1.27.0", + "version": "v1.28.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6" + "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/19bd1e4fcd5b91116f14d8533c57831ed00571b6", - "reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92", + "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92", "shasum": "" }, "require": { @@ -4064,7 +4062,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.27-dev" + "dev-main": "1.28-dev" }, "thanks": { "name": "symfony/polyfill", @@ -4107,7 +4105,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.27.0" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.28.0" }, "funding": [ { @@ -4123,20 +4121,20 @@ "type": "tidelift" } ], - "time": "2022-11-03T14:55:06+00:00" + "time": "2023-01-26T09:26:14+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.27.0", + "version": "v1.28.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534" + "reference": "42292d99c55abe617799667f454222c54c60e229" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/8ad114f6b39e2c98a8b0e3bd907732c207c2b534", - "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/42292d99c55abe617799667f454222c54c60e229", + "reference": "42292d99c55abe617799667f454222c54c60e229", "shasum": "" }, "require": { @@ -4151,7 +4149,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.27-dev" + "dev-main": "1.28-dev" }, "thanks": { "name": "symfony/polyfill", @@ -4190,7 +4188,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.27.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.28.0" }, "funding": [ { @@ -4206,7 +4204,7 @@ "type": "tidelift" } ], - "time": "2022-11-03T14:55:06+00:00" + "time": "2023-07-28T09:04:16+00:00" }, { "name": "symfony/service-contracts", @@ -4293,16 +4291,16 @@ }, { "name": "symfony/string", - "version": "v6.2.8", + "version": "v6.3.5", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "193e83bbd6617d6b2151c37fff10fa7168ebddef" + "reference": "13d76d0fb049051ed12a04bef4f9de8715bea339" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/193e83bbd6617d6b2151c37fff10fa7168ebddef", - "reference": "193e83bbd6617d6b2151c37fff10fa7168ebddef", + "url": "https://api.github.com/repos/symfony/string/zipball/13d76d0fb049051ed12a04bef4f9de8715bea339", + "reference": "13d76d0fb049051ed12a04bef4f9de8715bea339", "shasum": "" }, "require": { @@ -4313,13 +4311,13 @@ "symfony/polyfill-mbstring": "~1.0" }, "conflict": { - "symfony/translation-contracts": "<2.0" + "symfony/translation-contracts": "<2.5" }, "require-dev": { "symfony/error-handler": "^5.4|^6.0", "symfony/http-client": "^5.4|^6.0", "symfony/intl": "^6.2", - "symfony/translation-contracts": "^2.0|^3.0", + "symfony/translation-contracts": "^2.5|^3.0", "symfony/var-exporter": "^5.4|^6.0" }, "type": "library", @@ -4359,7 +4357,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v6.2.8" + "source": "https://github.com/symfony/string/tree/v6.3.5" }, "funding": [ { @@ -4375,7 +4373,7 @@ "type": "tidelift" } ], - "time": "2023-03-20T16:06:02+00:00" + "time": "2023-09-18T10:38:32+00:00" }, { "name": "theseer/tokenizer", @@ -4429,16 +4427,16 @@ }, { "name": "vimeo/psalm", - "version": "5.11.0", + "version": "5.15.0", "source": { "type": "git", "url": "https://github.com/vimeo/psalm.git", - "reference": "c9b192ab8400fdaf04b2b13d110575adc879aa90" + "reference": "5c774aca4746caf3d239d9c8cadb9f882ca29352" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/vimeo/psalm/zipball/c9b192ab8400fdaf04b2b13d110575adc879aa90", - "reference": "c9b192ab8400fdaf04b2b13d110575adc879aa90", + "url": "https://api.github.com/repos/vimeo/psalm/zipball/5c774aca4746caf3d239d9c8cadb9f882ca29352", + "reference": "5c774aca4746caf3d239d9c8cadb9f882ca29352", "shasum": "" }, "require": { @@ -4459,13 +4457,16 @@ "felixfbecker/language-server-protocol": "^1.5.2", "fidry/cpu-core-counter": "^0.4.1 || ^0.5.1", "netresearch/jsonmapper": "^1.0 || ^2.0 || ^3.0 || ^4.0", - "nikic/php-parser": "^4.14", - "php": "^7.4 || ~8.0.0 || ~8.1.0 || ~8.2.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", "spatie/array-to-xml": "^2.17.0 || ^3.0", "symfony/console": "^4.1.6 || ^5.0 || ^6.0", "symfony/filesystem": "^5.4 || ^6.0" }, + "conflict": { + "nikic/php-parser": "4.17.0" + }, "provide": { "psalm/psalm": "self.version" }, @@ -4529,9 +4530,9 @@ ], "support": { "issues": "https://github.com/vimeo/psalm/issues", - "source": "https://github.com/vimeo/psalm/tree/5.11.0" + "source": "https://github.com/vimeo/psalm/tree/5.15.0" }, - "time": "2023-05-04T21:35:44+00:00" + "time": "2023-08-20T23:07:30+00:00" }, { "name": "webimpress/coding-standard", @@ -4653,12 +4654,12 @@ "prefer-stable": false, "prefer-lowest": false, "platform": { - "php": "~8.1.0 || ~8.2.0", + "php": "~8.1.0 || ~8.2.0 || ~8.3.0", "ext-mbstring": "*" }, "platform-dev": [], "platform-overrides": { "php": "8.1.99" }, - "plugin-api-version": "2.3.0" + "plugin-api-version": "2.6.0" } diff --git a/psalm-baseline.xml b/psalm-baseline.xml index 7876e73b..14a3bdea 100644 --- a/psalm-baseline.xml +++ b/psalm-baseline.xml @@ -1,9 +1,12 @@ - + filterable + + $value + setNullOnAllEmpty setNullOnEmpty @@ -360,6 +363,11 @@ getCode()]]> + + + $value + + ! is_string($value) @@ -718,6 +726,9 @@ + + array_values($processedParts) + $spec[0] @@ -779,10 +790,6 @@ $source - - $reference - $target - self @@ -800,6 +807,10 @@ (string) $target (string) $value + + $reference + $target + @@ -816,6 +827,9 @@ + + $pattern + @@ -1237,32 +1251,6 @@ 1234 1234 - - newDir]]> - newDir]]> - newDirFile]]> - newFile]]> - newFile]]> - newFile]]> - newFile]]> - newFile]]> - newFile]]> - newFile]]> - oldFile]]> - oldFile]]> - oldFile]]> - oldFile]]> - oldFile]]> - oldFile]]> - oldFile]]> - oldFile]]> - origFile]]> - tmpPath]]> - - - tmpPath]]> - tmpPath]]> - returnUnfilteredDataProvider @@ -1328,6 +1316,10 @@ + + assertNull + assertSame + $rule $rule @@ -1368,9 +1360,6 @@ $rules $rules - - UnusedVariable - $filtered $rule diff --git a/src/AllowList.php b/src/AllowList.php index 27961dcc..ca348a4a 100644 --- a/src/AllowList.php +++ b/src/AllowList.php @@ -17,6 +17,7 @@ * ... * } * @extends AbstractFilter + * @final */ class AllowList extends AbstractFilter { diff --git a/src/BaseName.php b/src/BaseName.php index e633add0..2eedf935 100644 --- a/src/BaseName.php +++ b/src/BaseName.php @@ -10,6 +10,7 @@ /** * @psalm-type Options = array{} * @extends AbstractFilter + * @final */ class BaseName extends AbstractFilter { diff --git a/src/Boolean.php b/src/Boolean.php index 0711ba74..e88c0742 100644 --- a/src/Boolean.php +++ b/src/Boolean.php @@ -25,6 +25,7 @@ * translations?: array, * } * @extends AbstractFilter + * @final */ class Boolean extends AbstractFilter { diff --git a/src/Callback.php b/src/Callback.php index 89af8231..22e23e23 100644 --- a/src/Callback.php +++ b/src/Callback.php @@ -19,6 +19,7 @@ * ... * } * @extends AbstractFilter + * @final */ class Callback extends AbstractFilter { diff --git a/src/Compress/Bz2.php b/src/Compress/Bz2.php index a1fcca1c..e519a4fe 100644 --- a/src/Compress/Bz2.php +++ b/src/Compress/Bz2.php @@ -25,6 +25,7 @@ * archive?: string|null, * } * @extends AbstractCompressionAlgorithm + * @final */ class Bz2 extends AbstractCompressionAlgorithm { diff --git a/src/Compress/Gz.php b/src/Compress/Gz.php index 548095b5..6b4cb8eb 100644 --- a/src/Compress/Gz.php +++ b/src/Compress/Gz.php @@ -36,6 +36,7 @@ * archive?: string|null, * } * @extends AbstractCompressionAlgorithm + * @final */ class Gz extends AbstractCompressionAlgorithm { diff --git a/src/Compress/Tar.php b/src/Compress/Tar.php index addf90a7..4a41181c 100644 --- a/src/Compress/Tar.php +++ b/src/Compress/Tar.php @@ -30,6 +30,7 @@ * mode?: 'gz'|'bz2'|null, * } * @extends AbstractCompressionAlgorithm + * @final */ class Tar extends AbstractCompressionAlgorithm { diff --git a/src/Compress/Zip.php b/src/Compress/Zip.php index 376c1815..79af19f6 100644 --- a/src/Compress/Zip.php +++ b/src/Compress/Zip.php @@ -33,6 +33,7 @@ * target?: string|null, * } * @extends AbstractCompressionAlgorithm + * @final */ class Zip extends AbstractCompressionAlgorithm { diff --git a/src/DataUnitFormatter.php b/src/DataUnitFormatter.php index bc0af3a8..62c657f9 100644 --- a/src/DataUnitFormatter.php +++ b/src/DataUnitFormatter.php @@ -22,6 +22,7 @@ * prefixes?: list, * } * @extends AbstractFilter + * @final */ final class DataUnitFormatter extends AbstractFilter { diff --git a/src/DateSelect.php b/src/DateSelect.php index 647aae28..72c39e70 100644 --- a/src/DateSelect.php +++ b/src/DateSelect.php @@ -12,6 +12,7 @@ * } * @template TOptions of Options * @template-extends AbstractDateDropdown + * @final */ class DateSelect extends AbstractDateDropdown { diff --git a/src/DateTimeFormatter.php b/src/DateTimeFormatter.php index fb8da553..2aad025a 100644 --- a/src/DateTimeFormatter.php +++ b/src/DateTimeFormatter.php @@ -17,6 +17,7 @@ * ... * } * @extends AbstractFilter + * @final */ class DateTimeFormatter extends AbstractFilter { diff --git a/src/DateTimeSelect.php b/src/DateTimeSelect.php index b95ee420..b309cb8c 100644 --- a/src/DateTimeSelect.php +++ b/src/DateTimeSelect.php @@ -16,6 +16,7 @@ * } * @template TOptions of Options * @template-extends AbstractDateDropdown + * @final */ class DateTimeSelect extends AbstractDateDropdown { diff --git a/src/Decompress.php b/src/Decompress.php index 196ebd50..51896e85 100644 --- a/src/Decompress.php +++ b/src/Decompress.php @@ -8,6 +8,8 @@ /** * Decompresses a given string + * + * @final */ class Decompress extends Compress { diff --git a/src/DenyList.php b/src/DenyList.php index 06fb44d7..6f66850f 100644 --- a/src/DenyList.php +++ b/src/DenyList.php @@ -17,6 +17,7 @@ * ... * } * @extends AbstractFilter + * @final */ class DenyList extends AbstractFilter { diff --git a/src/Digits.php b/src/Digits.php index 29f0c504..9414c2de 100644 --- a/src/Digits.php +++ b/src/Digits.php @@ -14,6 +14,7 @@ /** * @psalm-type Options = array{} * @extends AbstractFilter + * @final */ class Digits extends AbstractFilter { diff --git a/src/Dir.php b/src/Dir.php index 5023ccbf..24862495 100644 --- a/src/Dir.php +++ b/src/Dir.php @@ -10,6 +10,7 @@ /** * @psalm-type Options = array{} * @extends AbstractFilter + * @final */ class Dir extends AbstractFilter { diff --git a/src/File/LowerCase.php b/src/File/LowerCase.php index 377cd73e..615733e3 100644 --- a/src/File/LowerCase.php +++ b/src/File/LowerCase.php @@ -16,6 +16,7 @@ use function is_string; use function is_writable; +/** @final */ class LowerCase extends StringToLower { /** diff --git a/src/File/Rename.php b/src/File/Rename.php index 9e4a66df..66810dc6 100644 --- a/src/File/Rename.php +++ b/src/File/Rename.php @@ -33,6 +33,7 @@ * } * @template TOptions of Options * @template-extends Filter\AbstractFilter + * @final */ class Rename extends Filter\AbstractFilter { diff --git a/src/File/UpperCase.php b/src/File/UpperCase.php index 526367cf..cddd91da 100644 --- a/src/File/UpperCase.php +++ b/src/File/UpperCase.php @@ -14,6 +14,7 @@ use function is_scalar; use function is_writable; +/** @final */ class UpperCase extends StringToUpper { /** diff --git a/src/HtmlEntities.php b/src/HtmlEntities.php index fa5e6197..8a2584d0 100644 --- a/src/HtmlEntities.php +++ b/src/HtmlEntities.php @@ -26,6 +26,7 @@ * ... * } * @extends AbstractFilter + * @final */ class HtmlEntities extends AbstractFilter { diff --git a/src/Inflector.php b/src/Inflector.php index 310333d5..ea626cd1 100644 --- a/src/Inflector.php +++ b/src/Inflector.php @@ -35,6 +35,7 @@ * pluginManager?: FilterPluginManager, * } * @extends AbstractFilter + * @final */ class Inflector extends AbstractFilter { diff --git a/src/MonthSelect.php b/src/MonthSelect.php index 8a8e5fa0..2722f28f 100644 --- a/src/MonthSelect.php +++ b/src/MonthSelect.php @@ -12,6 +12,7 @@ * } * @template TOptions of Options * @template-extends AbstractDateDropdown + * @final */ class MonthSelect extends AbstractDateDropdown { diff --git a/src/PregReplace.php b/src/PregReplace.php index 58d9f6d3..c7c300f1 100644 --- a/src/PregReplace.php +++ b/src/PregReplace.php @@ -25,6 +25,7 @@ * replacement?: string|list, * } * @extends AbstractFilter + * @final */ class PregReplace extends AbstractFilter { diff --git a/src/RealPath.php b/src/RealPath.php index 73ea9f22..593c7bab 100644 --- a/src/RealPath.php +++ b/src/RealPath.php @@ -29,6 +29,7 @@ * } * @template TOptions of Options * @extends AbstractFilter + * @final */ class RealPath extends AbstractFilter { diff --git a/src/StringPrefix.php b/src/StringPrefix.php index 37335b70..af3d870e 100644 --- a/src/StringPrefix.php +++ b/src/StringPrefix.php @@ -15,6 +15,7 @@ * prefix?: null|string, * } * @extends AbstractFilter + * @final */ class StringPrefix extends AbstractFilter { diff --git a/src/StringSuffix.php b/src/StringSuffix.php index 632d006a..1b5d7f50 100644 --- a/src/StringSuffix.php +++ b/src/StringSuffix.php @@ -15,6 +15,7 @@ * suffix?: null|string, * } * @extends AbstractFilter + * @final */ class StringSuffix extends AbstractFilter { diff --git a/src/StringTrim.php b/src/StringTrim.php index bda8714a..917a155f 100644 --- a/src/StringTrim.php +++ b/src/StringTrim.php @@ -16,6 +16,7 @@ * charlist?: string|null, * } * @extends AbstractFilter + * @final */ class StringTrim extends AbstractFilter { diff --git a/src/StripNewlines.php b/src/StripNewlines.php index 35e2db5a..7feb4eac 100644 --- a/src/StripNewlines.php +++ b/src/StripNewlines.php @@ -11,6 +11,7 @@ /** * @psalm-type Options = array{} * @extends AbstractFilter + * @final */ class StripNewlines extends AbstractFilter { diff --git a/src/StripTags.php b/src/StripTags.php index c3c40222..0436f8e8 100644 --- a/src/StripTags.php +++ b/src/StripTags.php @@ -31,6 +31,7 @@ * ... * } * @extends AbstractFilter + * @final */ class StripTags extends AbstractFilter { diff --git a/src/ToFloat.php b/src/ToFloat.php index 4a1c3719..f7613e5d 100644 --- a/src/ToFloat.php +++ b/src/ToFloat.php @@ -9,6 +9,7 @@ /** * @psalm-type Options = array{} * @extends AbstractFilter + * @final */ class ToFloat extends AbstractFilter { diff --git a/src/ToInt.php b/src/ToInt.php index cffa851e..be86fd13 100644 --- a/src/ToInt.php +++ b/src/ToInt.php @@ -9,6 +9,7 @@ /** * @psalm-type Options = array{} * @extends AbstractFilter + * @final */ class ToInt extends AbstractFilter { diff --git a/src/ToNull.php b/src/ToNull.php index 1d301ea2..a2dbaeae 100644 --- a/src/ToNull.php +++ b/src/ToNull.php @@ -21,6 +21,7 @@ * type?: int-mask-of, * } * @extends AbstractFilter + * @final */ class ToNull extends AbstractFilter { diff --git a/src/UriNormalize.php b/src/UriNormalize.php index 6ca48927..547afe68 100644 --- a/src/UriNormalize.php +++ b/src/UriNormalize.php @@ -23,6 +23,7 @@ * } * @template TOptions of Options * @template-extends AbstractFilter + * @final */ class UriNormalize extends AbstractFilter { diff --git a/src/Word/CamelCaseToDash.php b/src/Word/CamelCaseToDash.php index d5e73af5..7c4a37f2 100644 --- a/src/Word/CamelCaseToDash.php +++ b/src/Word/CamelCaseToDash.php @@ -11,6 +11,7 @@ * } * @template TOptions of Options * @extends CamelCaseToSeparator + * @final */ class CamelCaseToDash extends CamelCaseToSeparator { diff --git a/src/Word/CamelCaseToUnderscore.php b/src/Word/CamelCaseToUnderscore.php index 1e5da579..c26339d8 100644 --- a/src/Word/CamelCaseToUnderscore.php +++ b/src/Word/CamelCaseToUnderscore.php @@ -11,6 +11,7 @@ * } * @template TOptions of Options * @extends CamelCaseToSeparator + * @final */ class CamelCaseToUnderscore extends CamelCaseToSeparator { diff --git a/src/Word/DashToCamelCase.php b/src/Word/DashToCamelCase.php index 705d95dc..e566d6b7 100644 --- a/src/Word/DashToCamelCase.php +++ b/src/Word/DashToCamelCase.php @@ -11,6 +11,7 @@ * } * @template TOptions of Options * @extends SeparatorToCamelCase + * @final */ class DashToCamelCase extends SeparatorToCamelCase { diff --git a/src/Word/DashToSeparator.php b/src/Word/DashToSeparator.php index 7652128d..76dc898c 100644 --- a/src/Word/DashToSeparator.php +++ b/src/Word/DashToSeparator.php @@ -15,6 +15,7 @@ * } * @template TOptions of Options * @extends AbstractSeparator + * @final */ class DashToSeparator extends AbstractSeparator { diff --git a/src/Word/DashToUnderscore.php b/src/Word/DashToUnderscore.php index 7e4138d3..08f6a065 100644 --- a/src/Word/DashToUnderscore.php +++ b/src/Word/DashToUnderscore.php @@ -12,6 +12,7 @@ * } * @template TOptions of Options * @template-extends SeparatorToSeparator + * @final */ class DashToUnderscore extends SeparatorToSeparator { diff --git a/src/Word/SeparatorToDash.php b/src/Word/SeparatorToDash.php index 3834cd45..af150094 100644 --- a/src/Word/SeparatorToDash.php +++ b/src/Word/SeparatorToDash.php @@ -12,6 +12,7 @@ * } * @template TOptions of Options * @template-extends SeparatorToSeparator + * @final */ class SeparatorToDash extends SeparatorToSeparator { diff --git a/src/Word/Service/SeparatorToSeparatorFactory.php b/src/Word/Service/SeparatorToSeparatorFactory.php index cfe360a4..416701c5 100644 --- a/src/Word/Service/SeparatorToSeparatorFactory.php +++ b/src/Word/Service/SeparatorToSeparatorFactory.php @@ -16,6 +16,7 @@ use function iterator_to_array; use function sprintf; +/** @final */ class SeparatorToSeparatorFactory implements FactoryInterface { /** diff --git a/src/Word/UnderscoreToDash.php b/src/Word/UnderscoreToDash.php index 2f82dabe..456ac873 100644 --- a/src/Word/UnderscoreToDash.php +++ b/src/Word/UnderscoreToDash.php @@ -12,6 +12,7 @@ * } * @template TOptions of Options * @template-extends SeparatorToSeparator + * @final */ class UnderscoreToDash extends SeparatorToSeparator { diff --git a/src/Word/UnderscoreToStudlyCase.php b/src/Word/UnderscoreToStudlyCase.php index f33d4abd..461d1be2 100755 --- a/src/Word/UnderscoreToStudlyCase.php +++ b/src/Word/UnderscoreToStudlyCase.php @@ -20,6 +20,7 @@ * } * @template TOptions of Options * @template-extends UnderscoreToCamelCase + * @final */ class UnderscoreToStudlyCase extends UnderscoreToCamelCase { diff --git a/test/Compress/TarTest.php b/test/Compress/TarTest.php index 1871922d..76a24bc6 100644 --- a/test/Compress/TarTest.php +++ b/test/Compress/TarTest.php @@ -9,6 +9,7 @@ use PHPUnit\Framework\TestCase; use function dirname; +use function extension_loaded; use function file_exists; use function file_get_contents; use function file_put_contents; @@ -185,6 +186,10 @@ public function testTarCompressDirectory(): void public function testSetModeShouldWorkWithCaseInsensitive(): void { + if (! extension_loaded('bz2')) { + self::markTestSkipped('This adapter needs the bz2 extension'); + } + $filter = new TarCompression(); $filter->setTarget($this->tmp . '/zipextracted.txt'); diff --git a/test/File/RenameTest.php b/test/File/RenameTest.php index 2fa5f93d..a6bded2b 100644 --- a/test/File/RenameTest.php +++ b/test/File/RenameTest.php @@ -26,12 +26,12 @@ class RenameTest extends TestCase { - private ?string $tmpPath = null; - private ?string $origFile = null; - private ?string $oldFile = null; - private ?string $newFile = null; - private ?string $newDir = null; - private ?string $newDirFile = null; + private string $tmpPath; + private string $origFile; + private string $oldFile; + private string $newFile; + private string $newDir; + private string $newDirFile; /** * Sets the path to test files @@ -353,9 +353,6 @@ public function testConstructTruncatedSourceDirectory(): void public function testAddSameFileAgainAndOverwriteExistingTarget(): void { - self::assertIsString($this->oldFile); - self::assertIsString($this->newFile); - $filter = new FileRename([ 'source' => $this->oldFile, 'target' => $this->newDir, diff --git a/test/InflectorTest.php b/test/InflectorTest.php index 9b9849ca..3a3304c0 100644 --- a/test/InflectorTest.php +++ b/test/InflectorTest.php @@ -71,7 +71,6 @@ public function testSetTargetByReferenceWorks(): void $this->inflector->setTargetReference($target); self::assertSame('foo/:bar/:baz', $this->inflector->getTarget()); /* this variable is used by-ref through `setTargetReference` above */ - /** @psalm-suppress UnusedVariable */ $target .= '/:bat'; self::assertSame('foo/:bar/:baz/:bat', $this->inflector->getTarget()); } diff --git a/test/Word/CamelCaseToSeparatorNoPcreUnicodeTest.php b/test/Word/CamelCaseToSeparatorNoPcreUnicodeTest.php index 5205f50f..b8624913 100644 --- a/test/Word/CamelCaseToSeparatorNoPcreUnicodeTest.php +++ b/test/Word/CamelCaseToSeparatorNoPcreUnicodeTest.php @@ -5,7 +5,7 @@ namespace LaminasTest\Filter\Word; use Laminas\Stdlib\StringUtils; -use ReflectionProperty; +use ReflectionClass; /** * Test class for Laminas\Filter\Word\CamelCaseToSeparator which simulates the @@ -13,20 +13,19 @@ */ class CamelCaseToSeparatorNoPcreUnicodeTest extends CamelCaseToSeparatorTest { - protected ReflectionProperty $reflection; - public function setUp(): void { if (! StringUtils::hasPcreUnicodeSupport()) { self::markTestSkipped('PCRE is not compiled with Unicode support'); } - $this->reflection = new ReflectionProperty(StringUtils::class, 'hasPcreUnicodeSupport'); - $this->reflection->setValue(false); + $reflectionClass = new ReflectionClass(StringUtils::class); + $reflectionClass->setStaticPropertyValue('hasPcreUnicodeSupport', false); } public function tearDown(): void { - $this->reflection->setValue(true); + $reflectionClass = new ReflectionClass(StringUtils::class); + $reflectionClass->setStaticPropertyValue('hasPcreUnicodeSupport', true); } }