From 58525de2c5ebd67b3f0ee6561f0c919c8b7b1db6 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 26 Nov 2024 13:24:20 +0000 Subject: [PATCH 1/7] [TASK] Update sebastianfeldmann/cli to v3.4.2 (#662) | datasource | package | from | to | | ---------- | --------------------- | ----- | ----- | | packagist | sebastianfeldmann/cli | 3.4.1 | 3.4.2 | Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- composer.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/composer.lock b/composer.lock index 935c2af0..08df1939 100644 --- a/composer.lock +++ b/composer.lock @@ -1205,16 +1205,16 @@ }, { "name": "sebastianfeldmann/cli", - "version": "3.4.1", + "version": "3.4.2", "source": { "type": "git", "url": "https://github.com/sebastianfeldmann/cli.git", - "reference": "8a932e99e9455981fb32fa6c085492462fe8f8cf" + "reference": "6fa122afd528dae7d7ec988a604aa6c600f5d9b5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianfeldmann/cli/zipball/8a932e99e9455981fb32fa6c085492462fe8f8cf", - "reference": "8a932e99e9455981fb32fa6c085492462fe8f8cf", + "url": "https://api.github.com/repos/sebastianfeldmann/cli/zipball/6fa122afd528dae7d7ec988a604aa6c600f5d9b5", + "reference": "6fa122afd528dae7d7ec988a604aa6c600f5d9b5", "shasum": "" }, "require": { @@ -1251,7 +1251,7 @@ ], "support": { "issues": "https://github.com/sebastianfeldmann/cli/issues", - "source": "https://github.com/sebastianfeldmann/cli/tree/3.4.1" + "source": "https://github.com/sebastianfeldmann/cli/tree/3.4.2" }, "funding": [ { @@ -1259,7 +1259,7 @@ "type": "github" } ], - "time": "2021-12-20T14:59:49+00:00" + "time": "2024-11-26T10:19:01+00:00" }, { "name": "symfony/cache", From 8f913938880cfa39817a148d474da1a0b76b3981 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 29 Nov 2024 01:52:25 +0100 Subject: [PATCH 2/7] [TASK] Update phpstan/phpstan to v1.12.12 (#663) | datasource | package | from | to | | ---------- | --------------- | ------- | ------- | | packagist | phpstan/phpstan | 1.12.11 | 1.12.12 | Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- composer.lock | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/composer.lock b/composer.lock index 08df1939..4e0540d3 100644 --- a/composer.lock +++ b/composer.lock @@ -5271,16 +5271,16 @@ }, { "name": "phpstan/phpstan", - "version": "1.12.11", + "version": "1.12.12", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "0d1fc20a962a91be578bcfe7cf939e6e1a2ff733" + "reference": "b5ae1b88f471d3fd4ba1aa0046234b5ca3776dd0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/0d1fc20a962a91be578bcfe7cf939e6e1a2ff733", - "reference": "0d1fc20a962a91be578bcfe7cf939e6e1a2ff733", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/b5ae1b88f471d3fd4ba1aa0046234b5ca3776dd0", + "reference": "b5ae1b88f471d3fd4ba1aa0046234b5ca3776dd0", "shasum": "" }, "require": { @@ -5325,7 +5325,7 @@ "type": "github" } ], - "time": "2024-11-17T14:08:01+00:00" + "time": "2024-11-28T22:13:23+00:00" }, { "name": "phpstan/phpstan-deprecation-rules", From 59b22400cdb1c37a2e295a857f3ba212471245ca Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 2 Dec 2024 01:34:03 +0100 Subject: [PATCH 3/7] [TASK] Update all dependencies (#665) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- composer.lock | 204 +++++++++++++++++++------------------------------- 1 file changed, 75 insertions(+), 129 deletions(-) diff --git a/composer.lock b/composer.lock index 4e0540d3..5117dab4 100644 --- a/composer.lock +++ b/composer.lock @@ -1263,16 +1263,16 @@ }, { "name": "symfony/cache", - "version": "v6.4.14", + "version": "v6.4.16", "source": { "type": "git", "url": "https://github.com/symfony/cache.git", - "reference": "36fb8aa88833708e9f29014b6f15fac051a8b613" + "reference": "70d60e9a3603108563010f8592dff15a6f15dfae" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache/zipball/36fb8aa88833708e9f29014b6f15fac051a8b613", - "reference": "36fb8aa88833708e9f29014b6f15fac051a8b613", + "url": "https://api.github.com/repos/symfony/cache/zipball/70d60e9a3603108563010f8592dff15a6f15dfae", + "reference": "70d60e9a3603108563010f8592dff15a6f15dfae", "shasum": "" }, "require": { @@ -1339,7 +1339,7 @@ "psr6" ], "support": { - "source": "https://github.com/symfony/cache/tree/v6.4.14" + "source": "https://github.com/symfony/cache/tree/v6.4.16" }, "funding": [ { @@ -1355,20 +1355,20 @@ "type": "tidelift" } ], - "time": "2024-11-05T15:34:40+00:00" + "time": "2024-11-20T10:10:54+00:00" }, { "name": "symfony/cache-contracts", - "version": "v3.5.0", + "version": "v3.5.1", "source": { "type": "git", "url": "https://github.com/symfony/cache-contracts.git", - "reference": "df6a1a44c890faded49a5fca33c2d5c5fd3c2197" + "reference": "15a4f8e5cd3bce9aeafc882b1acab39ec8de2c1b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache-contracts/zipball/df6a1a44c890faded49a5fca33c2d5c5fd3c2197", - "reference": "df6a1a44c890faded49a5fca33c2d5c5fd3c2197", + "url": "https://api.github.com/repos/symfony/cache-contracts/zipball/15a4f8e5cd3bce9aeafc882b1acab39ec8de2c1b", + "reference": "15a4f8e5cd3bce9aeafc882b1acab39ec8de2c1b", "shasum": "" }, "require": { @@ -1415,7 +1415,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/cache-contracts/tree/v3.5.0" + "source": "https://github.com/symfony/cache-contracts/tree/v3.5.1" }, "funding": [ { @@ -1431,7 +1431,7 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:32:20+00:00" + "time": "2024-09-25T14:20:29+00:00" }, { "name": "symfony/config", @@ -1604,16 +1604,16 @@ }, { "name": "symfony/dependency-injection", - "version": "v6.4.15", + "version": "v6.4.16", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "70ab1f65a4516ef741e519ea938e6aa465e6aa36" + "reference": "7a379d8871f6a36f01559c14e11141cc02eb8dc8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/70ab1f65a4516ef741e519ea938e6aa465e6aa36", - "reference": "70ab1f65a4516ef741e519ea938e6aa465e6aa36", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/7a379d8871f6a36f01559c14e11141cc02eb8dc8", + "reference": "7a379d8871f6a36f01559c14e11141cc02eb8dc8", "shasum": "" }, "require": { @@ -1665,7 +1665,7 @@ "description": "Allows you to standardize and centralize the way objects are constructed in your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/dependency-injection/tree/v6.4.15" + "source": "https://github.com/symfony/dependency-injection/tree/v6.4.16" }, "funding": [ { @@ -1681,20 +1681,20 @@ "type": "tidelift" } ], - "time": "2024-11-09T06:56:25+00:00" + "time": "2024-11-25T14:52:46+00:00" }, { "name": "symfony/deprecation-contracts", - "version": "v3.5.0", + "version": "v3.5.1", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1" + "reference": "74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1", - "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6", + "reference": "74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6", "shasum": "" }, "require": { @@ -1732,7 +1732,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.5.0" + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.1" }, "funding": [ { @@ -1748,7 +1748,7 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:32:20+00:00" + "time": "2024-09-25T14:20:29+00:00" }, { "name": "symfony/event-dispatcher", @@ -1832,16 +1832,16 @@ }, { "name": "symfony/event-dispatcher-contracts", - "version": "v3.5.0", + "version": "v3.5.1", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "8f93aec25d41b72493c6ddff14e916177c9efc50" + "reference": "7642f5e970b672283b7823222ae8ef8bbc160b9f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/8f93aec25d41b72493c6ddff14e916177c9efc50", - "reference": "8f93aec25d41b72493c6ddff14e916177c9efc50", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/7642f5e970b672283b7823222ae8ef8bbc160b9f", + "reference": "7642f5e970b672283b7823222ae8ef8bbc160b9f", "shasum": "" }, "require": { @@ -1888,7 +1888,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.5.0" + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.5.1" }, "funding": [ { @@ -1904,7 +1904,7 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:32:20+00:00" + "time": "2024-09-25T14:20:29+00:00" }, { "name": "symfony/expression-language", @@ -2557,16 +2557,16 @@ }, { "name": "symfony/service-contracts", - "version": "v3.5.0", + "version": "v3.5.1", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f" + "reference": "e53260aabf78fb3d63f8d79d69ece59f80d5eda0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/bd1d9e59a81d8fa4acdcea3f617c581f7475a80f", - "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/e53260aabf78fb3d63f8d79d69ece59f80d5eda0", + "reference": "e53260aabf78fb3d63f8d79d69ece59f80d5eda0", "shasum": "" }, "require": { @@ -2620,7 +2620,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/service-contracts/tree/v3.5.0" + "source": "https://github.com/symfony/service-contracts/tree/v3.5.1" }, "funding": [ { @@ -2636,7 +2636,7 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:32:20+00:00" + "time": "2024-09-25T14:20:29+00:00" }, { "name": "symfony/string", @@ -2875,16 +2875,16 @@ }, { "name": "twig/twig", - "version": "v3.15.0", + "version": "v3.16.0", "source": { "type": "git", "url": "https://github.com/twigphp/Twig.git", - "reference": "2d5b3964cc21d0188633d7ddce732dc8e874db02" + "reference": "475ad2dc97d65d8631393e721e7e44fb544f0561" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/2d5b3964cc21d0188633d7ddce732dc8e874db02", - "reference": "2d5b3964cc21d0188633d7ddce732dc8e874db02", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/475ad2dc97d65d8631393e721e7e44fb544f0561", + "reference": "475ad2dc97d65d8631393e721e7e44fb544f0561", "shasum": "" }, "require": { @@ -2895,6 +2895,7 @@ "symfony/polyfill-php81": "^1.29" }, "require-dev": { + "phpstan/phpstan": "^2.0", "psr/container": "^1.0|^2.0", "symfony/phpunit-bridge": "^5.4.9|^6.4|^7.0" }, @@ -2938,7 +2939,7 @@ ], "support": { "issues": "https://github.com/twigphp/Twig/issues", - "source": "https://github.com/twigphp/Twig/tree/v3.15.0" + "source": "https://github.com/twigphp/Twig/tree/v3.16.0" }, "funding": [ { @@ -2950,7 +2951,7 @@ "type": "tidelift" } ], - "time": "2024-11-17T15:59:19+00:00" + "time": "2024-11-29T08:27:05+00:00" }, { "name": "webmozart/assert", @@ -3136,16 +3137,16 @@ }, { "name": "composer/ca-bundle", - "version": "1.5.3", + "version": "1.5.4", "source": { "type": "git", "url": "https://github.com/composer/ca-bundle.git", - "reference": "3b1fc3f0be055baa7c6258b1467849c3e8204eb2" + "reference": "bc0593537a463e55cadf45fd938d23b75095b7e1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/ca-bundle/zipball/3b1fc3f0be055baa7c6258b1467849c3e8204eb2", - "reference": "3b1fc3f0be055baa7c6258b1467849c3e8204eb2", + "url": "https://api.github.com/repos/composer/ca-bundle/zipball/bc0593537a463e55cadf45fd938d23b75095b7e1", + "reference": "bc0593537a463e55cadf45fd938d23b75095b7e1", "shasum": "" }, "require": { @@ -3192,7 +3193,7 @@ "support": { "irc": "irc://irc.freenode.org/composer", "issues": "https://github.com/composer/ca-bundle/issues", - "source": "https://github.com/composer/ca-bundle/tree/1.5.3" + "source": "https://github.com/composer/ca-bundle/tree/1.5.4" }, "funding": [ { @@ -3208,20 +3209,20 @@ "type": "tidelift" } ], - "time": "2024-11-04T10:15:26+00:00" + "time": "2024-11-27T15:35:25+00:00" }, { "name": "composer/class-map-generator", - "version": "1.4.0", + "version": "1.5.0", "source": { "type": "git", "url": "https://github.com/composer/class-map-generator.git", - "reference": "98bbf6780e56e0fd2404fe4b82eb665a0f93b783" + "reference": "4b0a223cf5be7c9ee7e0ef1bc7db42b4a97c9915" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/class-map-generator/zipball/98bbf6780e56e0fd2404fe4b82eb665a0f93b783", - "reference": "98bbf6780e56e0fd2404fe4b82eb665a0f93b783", + "url": "https://api.github.com/repos/composer/class-map-generator/zipball/4b0a223cf5be7c9ee7e0ef1bc7db42b4a97c9915", + "reference": "4b0a223cf5be7c9ee7e0ef1bc7db42b4a97c9915", "shasum": "" }, "require": { @@ -3230,10 +3231,10 @@ "symfony/finder": "^4.4 || ^5.3 || ^6 || ^7" }, "require-dev": { - "phpstan/phpstan": "^1.6", - "phpstan/phpstan-deprecation-rules": "^1", - "phpstan/phpstan-phpunit": "^1", - "phpstan/phpstan-strict-rules": "^1.1", + "phpstan/phpstan": "^1.12 || ^2", + "phpstan/phpstan-deprecation-rules": "^1 || ^2", + "phpstan/phpstan-phpunit": "^1 || ^2", + "phpstan/phpstan-strict-rules": "^1.1 || ^2", "phpunit/phpunit": "^8", "symfony/filesystem": "^5.4 || ^6" }, @@ -3265,7 +3266,7 @@ ], "support": { "issues": "https://github.com/composer/class-map-generator/issues", - "source": "https://github.com/composer/class-map-generator/tree/1.4.0" + "source": "https://github.com/composer/class-map-generator/tree/1.5.0" }, "funding": [ { @@ -3281,7 +3282,7 @@ "type": "tidelift" } ], - "time": "2024-10-03T18:14:00+00:00" + "time": "2024-11-25T16:11:06+00:00" }, { "name": "composer/composer", @@ -3338,13 +3339,13 @@ ], "type": "library", "extra": { - "branch-alias": { - "dev-main": "2.8-dev" - }, "phpstan": { "includes": [ "phpstan/rules.neon" ] + }, + "branch-alias": { + "dev-main": "2.8-dev" } }, "autoload": { @@ -3828,21 +3829,21 @@ }, { "name": "cypresslab/gitelephant", - "version": "v4.5.0", + "version": "v4.6.0", "source": { "type": "git", "url": "https://github.com/matteosister/GitElephant.git", - "reference": "6f396bdb41fa0b2e5e414e16188f6eb107021947" + "reference": "4e546eee4c9ad1e0226054f5756c4ef5217e2929" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/matteosister/GitElephant/zipball/6f396bdb41fa0b2e5e414e16188f6eb107021947", - "reference": "6f396bdb41fa0b2e5e414e16188f6eb107021947", + "url": "https://api.github.com/repos/matteosister/GitElephant/zipball/4e546eee4c9ad1e0226054f5756c4ef5217e2929", + "reference": "4e546eee4c9ad1e0226054f5756c4ef5217e2929", "shasum": "" }, "require": { "php": ">=7.2.0", - "phpcollection/phpcollection": "~0.4|~0.5", + "phpoption/phpoption": "1.*", "symfony/filesystem": ">=3.4", "symfony/finder": ">=3.4", "symfony/process": ">=3.4" @@ -3879,7 +3880,7 @@ ], "support": { "issues": "https://github.com/matteosister/GitElephant/issues", - "source": "https://github.com/matteosister/GitElephant/tree/v4.5.0" + "source": "https://github.com/matteosister/GitElephant/tree/v4.6.0" }, "funding": [ { @@ -3887,7 +3888,7 @@ "type": "tidelift" } ], - "time": "2022-10-08T12:56:52+00:00" + "time": "2024-11-26T16:23:11+00:00" }, { "name": "donatj/mock-webserver", @@ -5091,61 +5092,6 @@ }, "time": "2022-02-21T01:04:05+00:00" }, - { - "name": "phpcollection/phpcollection", - "version": "0.6.0", - "source": { - "type": "git", - "url": "https://github.com/schmittjoh/php-collection.git", - "reference": "56d18c8c2c0400f2838703246ac7de919a605763" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/php-collection/zipball/56d18c8c2c0400f2838703246ac7de919a605763", - "reference": "56d18c8c2c0400f2838703246ac7de919a605763", - "shasum": "" - }, - "require": { - "phpoption/phpoption": "1.*" - }, - "require-dev": { - "phpunit/phpunit": "^9.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "0.4-dev" - } - }, - "autoload": { - "psr-0": { - "PhpCollection": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache2" - ], - "authors": [ - { - "name": "Johannes M. Schmitt", - "email": "schmittjoh@gmail.com" - } - ], - "description": "General-Purpose Collection Library for PHP", - "keywords": [ - "collection", - "list", - "map", - "sequence", - "set" - ], - "support": { - "issues": "https://github.com/schmittjoh/php-collection/issues", - "source": "https://github.com/schmittjoh/php-collection/tree/0.6.0" - }, - "time": "2022-03-21T13:02:41+00:00" - }, { "name": "phpoption/phpoption", "version": "1.9.3", @@ -7785,16 +7731,16 @@ }, { "name": "symfony/options-resolver", - "version": "v6.4.13", + "version": "v6.4.16", "source": { "type": "git", "url": "https://github.com/symfony/options-resolver.git", - "reference": "0a62a9f2504a8dd27083f89d21894ceb01cc59db" + "reference": "368128ad168f20e22c32159b9f761e456cec0c78" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/0a62a9f2504a8dd27083f89d21894ceb01cc59db", - "reference": "0a62a9f2504a8dd27083f89d21894ceb01cc59db", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/368128ad168f20e22c32159b9f761e456cec0c78", + "reference": "368128ad168f20e22c32159b9f761e456cec0c78", "shasum": "" }, "require": { @@ -7832,7 +7778,7 @@ "options" ], "support": { - "source": "https://github.com/symfony/options-resolver/tree/v6.4.13" + "source": "https://github.com/symfony/options-resolver/tree/v6.4.16" }, "funding": [ { @@ -7848,7 +7794,7 @@ "type": "tidelift" } ], - "time": "2024-09-25T14:18:03+00:00" + "time": "2024-11-20T10:57:02+00:00" }, { "name": "symfony/polyfill-intl-idn", From ee340151ad45d275c79d975d6ba44f73aabc361f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 2 Dec 2024 03:12:48 +0000 Subject: [PATCH 4/7] [TASK] Update PHPStan packages to v2 | datasource | package | from | to | | ---------- | --------------------------------- | ------- | ----- | | packagist | phpstan/phpstan | 1.12.12 | 2.0.3 | | packagist | phpstan/phpstan-deprecation-rules | 1.2.1 | 2.0.1 | | packagist | phpstan/phpstan-phpunit | 1.4.1 | 2.0.1 | | packagist | phpstan/phpstan-strict-rules | 1.6.1 | 2.0.0 | | packagist | phpstan/phpstan-symfony | 1.4.12 | 2.0.0 | | packagist | phpstan/phpstan-webmozart-assert | 1.2.11 | 2.0.0 | --- composer.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/composer.json b/composer.json index 454e5751..baf7235b 100644 --- a/composer.json +++ b/composer.json @@ -52,12 +52,12 @@ "eliashaeussler/version-bumper": "^1.2", "ergebnis/composer-normalize": "^2.26", "phpstan/extension-installer": "^1.2", - "phpstan/phpstan": "^1.9", - "phpstan/phpstan-deprecation-rules": "^1.1", - "phpstan/phpstan-phpunit": "^1.1", - "phpstan/phpstan-strict-rules": "^1.2", - "phpstan/phpstan-symfony": "^1.2", - "phpstan/phpstan-webmozart-assert": "^1.2", + "phpstan/phpstan": "^2.0", + "phpstan/phpstan-deprecation-rules": "^2.0", + "phpstan/phpstan-phpunit": "^2.0", + "phpstan/phpstan-strict-rules": "^2.0", + "phpstan/phpstan-symfony": "^2.0", + "phpstan/phpstan-webmozart-assert": "^2.0", "phpunit/phpunit": "^10.1 || ^11.0", "rector/rector": "^1.0.0", "seld/jsonlint": "^1.9" From 7f6507e4c99068c16dab115ea1b4a379e635f6f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Elias=20H=C3=A4u=C3=9Fler?= Date: Wed, 4 Dec 2024 11:54:53 +0100 Subject: [PATCH 5/7] [TASK] Allow release candidate of Rector v2 --- composer.json | 2 +- composer.lock | 147 +++++++++++++++++++++++++------------------------- 2 files changed, 74 insertions(+), 75 deletions(-) diff --git a/composer.json b/composer.json index baf7235b..9b910a4a 100644 --- a/composer.json +++ b/composer.json @@ -59,7 +59,7 @@ "phpstan/phpstan-symfony": "^2.0", "phpstan/phpstan-webmozart-assert": "^2.0", "phpunit/phpunit": "^10.1 || ^11.0", - "rector/rector": "^1.0.0", + "rector/rector": "^2.0@rc", "seld/jsonlint": "^1.9" }, "autoload": { diff --git a/composer.lock b/composer.lock index 5117dab4..142456ce 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": "27a46fbc3347940bc588d924e4310598", + "content-hash": "c7fec4f03e8607c5205cd62604beae56", "packages": [ { "name": "cocur/slugify", @@ -5217,20 +5217,20 @@ }, { "name": "phpstan/phpstan", - "version": "1.12.12", + "version": "2.0.3", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "b5ae1b88f471d3fd4ba1aa0046234b5ca3776dd0" + "reference": "46b4d3529b12178112d9008337beda0cc2a1a6b4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/b5ae1b88f471d3fd4ba1aa0046234b5ca3776dd0", - "reference": "b5ae1b88f471d3fd4ba1aa0046234b5ca3776dd0", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/46b4d3529b12178112d9008337beda0cc2a1a6b4", + "reference": "46b4d3529b12178112d9008337beda0cc2a1a6b4", "shasum": "" }, "require": { - "php": "^7.2|^8.0" + "php": "^7.4|^8.0" }, "conflict": { "phpstan/phpstan-shim": "*" @@ -5271,30 +5271,30 @@ "type": "github" } ], - "time": "2024-11-28T22:13:23+00:00" + "time": "2024-11-28T22:19:37+00:00" }, { "name": "phpstan/phpstan-deprecation-rules", - "version": "1.2.1", + "version": "2.0.1", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan-deprecation-rules.git", - "reference": "f94d246cc143ec5a23da868f8f7e1393b50eaa82" + "reference": "1cc1259cb91ee4cfbb5c39bca9f635f067c910b4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan-deprecation-rules/zipball/f94d246cc143ec5a23da868f8f7e1393b50eaa82", - "reference": "f94d246cc143ec5a23da868f8f7e1393b50eaa82", + "url": "https://api.github.com/repos/phpstan/phpstan-deprecation-rules/zipball/1cc1259cb91ee4cfbb5c39bca9f635f067c910b4", + "reference": "1cc1259cb91ee4cfbb5c39bca9f635f067c910b4", "shasum": "" }, "require": { - "php": "^7.2 || ^8.0", - "phpstan/phpstan": "^1.12" + "php": "^7.4 || ^8.0", + "phpstan/phpstan": "^2.0" }, "require-dev": { "php-parallel-lint/php-parallel-lint": "^1.2", - "phpstan/phpstan-phpunit": "^1.0", - "phpunit/phpunit": "^9.5" + "phpstan/phpstan-phpunit": "^2.0", + "phpunit/phpunit": "^9.6" }, "type": "phpstan-extension", "extra": { @@ -5316,36 +5316,35 @@ "description": "PHPStan rules for detecting usage of deprecated classes, methods, properties, constants and traits.", "support": { "issues": "https://github.com/phpstan/phpstan-deprecation-rules/issues", - "source": "https://github.com/phpstan/phpstan-deprecation-rules/tree/1.2.1" + "source": "https://github.com/phpstan/phpstan-deprecation-rules/tree/2.0.1" }, - "time": "2024-09-11T15:52:35+00:00" + "time": "2024-11-28T21:56:36+00:00" }, { "name": "phpstan/phpstan-phpunit", - "version": "1.4.1", + "version": "2.0.1", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan-phpunit.git", - "reference": "11d4235fbc6313ecbf93708606edfd3222e44949" + "reference": "4b6ad7fab8683ff4efd7887ba26ef8ee171c7475" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan-phpunit/zipball/11d4235fbc6313ecbf93708606edfd3222e44949", - "reference": "11d4235fbc6313ecbf93708606edfd3222e44949", + "url": "https://api.github.com/repos/phpstan/phpstan-phpunit/zipball/4b6ad7fab8683ff4efd7887ba26ef8ee171c7475", + "reference": "4b6ad7fab8683ff4efd7887ba26ef8ee171c7475", "shasum": "" }, "require": { - "php": "^7.2 || ^8.0", - "phpstan/phpstan": "^1.12" + "php": "^7.4 || ^8.0", + "phpstan/phpstan": "^2.0" }, "conflict": { "phpunit/phpunit": "<7.0" }, "require-dev": { - "nikic/php-parser": "^4.13.0", "php-parallel-lint/php-parallel-lint": "^1.2", - "phpstan/phpstan-strict-rules": "^1.5.1", - "phpunit/phpunit": "^9.5" + "phpstan/phpstan-strict-rules": "^2.0", + "phpunit/phpunit": "^9.6" }, "type": "phpstan-extension", "extra": { @@ -5368,34 +5367,33 @@ "description": "PHPUnit extensions and rules for PHPStan", "support": { "issues": "https://github.com/phpstan/phpstan-phpunit/issues", - "source": "https://github.com/phpstan/phpstan-phpunit/tree/1.4.1" + "source": "https://github.com/phpstan/phpstan-phpunit/tree/2.0.1" }, - "time": "2024-11-12T12:43:59+00:00" + "time": "2024-11-12T12:48:00+00:00" }, { "name": "phpstan/phpstan-strict-rules", - "version": "1.6.1", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan-strict-rules.git", - "reference": "daeec748b53de80a97498462513066834ec28f8b" + "reference": "a4a6a08bd4a461e516b9c3b8fdbf0f1883b34158" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan-strict-rules/zipball/daeec748b53de80a97498462513066834ec28f8b", - "reference": "daeec748b53de80a97498462513066834ec28f8b", + "url": "https://api.github.com/repos/phpstan/phpstan-strict-rules/zipball/a4a6a08bd4a461e516b9c3b8fdbf0f1883b34158", + "reference": "a4a6a08bd4a461e516b9c3b8fdbf0f1883b34158", "shasum": "" }, "require": { - "php": "^7.2 || ^8.0", - "phpstan/phpstan": "^1.12.4" + "php": "^7.4 || ^8.0", + "phpstan/phpstan": "^2.0" }, "require-dev": { - "nikic/php-parser": "^4.13.0", "php-parallel-lint/php-parallel-lint": "^1.2", - "phpstan/phpstan-deprecation-rules": "^1.1", - "phpstan/phpstan-phpunit": "^1.0", - "phpunit/phpunit": "^9.5" + "phpstan/phpstan-deprecation-rules": "^2.0", + "phpstan/phpstan-phpunit": "^2.0", + "phpunit/phpunit": "^9.6" }, "type": "phpstan-extension", "extra": { @@ -5417,38 +5415,37 @@ "description": "Extra strict and opinionated rules for PHPStan", "support": { "issues": "https://github.com/phpstan/phpstan-strict-rules/issues", - "source": "https://github.com/phpstan/phpstan-strict-rules/tree/1.6.1" + "source": "https://github.com/phpstan/phpstan-strict-rules/tree/2.0.0" }, - "time": "2024-09-20T14:04:44+00:00" + "time": "2024-10-26T16:04:33+00:00" }, { "name": "phpstan/phpstan-symfony", - "version": "1.4.12", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan-symfony.git", - "reference": "c7b7e7f520893621558bfbfdb2694d4364565c1d" + "reference": "1ef4dce2baabd464c2dd3109d051bad94efa1e79" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan-symfony/zipball/c7b7e7f520893621558bfbfdb2694d4364565c1d", - "reference": "c7b7e7f520893621558bfbfdb2694d4364565c1d", + "url": "https://api.github.com/repos/phpstan/phpstan-symfony/zipball/1ef4dce2baabd464c2dd3109d051bad94efa1e79", + "reference": "1ef4dce2baabd464c2dd3109d051bad94efa1e79", "shasum": "" }, "require": { "ext-simplexml": "*", - "php": "^7.2 || ^8.0", - "phpstan/phpstan": "^1.12" + "php": "^7.4 || ^8.0", + "phpstan/phpstan": "^2.0" }, "conflict": { "symfony/framework-bundle": "<3.0" }, "require-dev": { - "nikic/php-parser": "^4.13.0", "php-parallel-lint/php-parallel-lint": "^1.2", - "phpstan/phpstan-phpunit": "^1.3.11", - "phpstan/phpstan-strict-rules": "^1.5.1", - "phpunit/phpunit": "^8.5.29 || ^9.5", + "phpstan/phpstan-phpunit": "^2.0", + "phpstan/phpstan-strict-rules": "^2.0", + "phpunit/phpunit": "^9.6", "psr/container": "1.0 || 1.1.1", "symfony/config": "^5.4 || ^6.1", "symfony/console": "^5.4 || ^6.1", @@ -5489,35 +5486,35 @@ "description": "Symfony Framework extensions and rules for PHPStan", "support": { "issues": "https://github.com/phpstan/phpstan-symfony/issues", - "source": "https://github.com/phpstan/phpstan-symfony/tree/1.4.12" + "source": "https://github.com/phpstan/phpstan-symfony/tree/2.0.0" }, - "time": "2024-11-06T10:13:18+00:00" + "time": "2024-11-06T10:13:40+00:00" }, { "name": "phpstan/phpstan-webmozart-assert", - "version": "1.2.11", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan-webmozart-assert.git", - "reference": "960dd44e8466191590dd0d7940d3e9496eebebbd" + "reference": "0c641817d2a8f05c7157f92d91986e74d3c8ab0c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan-webmozart-assert/zipball/960dd44e8466191590dd0d7940d3e9496eebebbd", - "reference": "960dd44e8466191590dd0d7940d3e9496eebebbd", + "url": "https://api.github.com/repos/phpstan/phpstan-webmozart-assert/zipball/0c641817d2a8f05c7157f92d91986e74d3c8ab0c", + "reference": "0c641817d2a8f05c7157f92d91986e74d3c8ab0c", "shasum": "" }, "require": { - "php": "^7.2 || ^8.0", - "phpstan/phpstan": "^1.12" + "php": "^7.4 || ^8.0", + "phpstan/phpstan": "^2.0" }, "require-dev": { - "nikic/php-parser": "^4.13.0", + "nikic/php-parser": "^5.1", "php-parallel-lint/php-parallel-lint": "^1.2", - "phpstan/phpstan-deprecation-rules": "^1.2", - "phpstan/phpstan-phpunit": "^1.4", - "phpstan/phpstan-strict-rules": "^1.6", - "phpunit/phpunit": "^9.5", + "phpstan/phpstan-deprecation-rules": "^2.0", + "phpstan/phpstan-phpunit": "^2.0", + "phpstan/phpstan-strict-rules": "^2.0", + "phpunit/phpunit": "^9.6", "webmozart/assert": "^1.11.0" }, "type": "phpstan-extension", @@ -5540,9 +5537,9 @@ "description": "PHPStan webmozart/assert extension", "support": { "issues": "https://github.com/phpstan/phpstan-webmozart-assert/issues", - "source": "https://github.com/phpstan/phpstan-webmozart-assert/tree/1.2.11" + "source": "https://github.com/phpstan/phpstan-webmozart-assert/tree/2.0.0" }, - "time": "2024-09-11T15:48:08+00:00" + "time": "2024-10-14T03:45:26+00:00" }, { "name": "phpunit/php-code-coverage", @@ -6498,21 +6495,21 @@ }, { "name": "rector/rector", - "version": "1.2.10", + "version": "2.0.0-rc2", "source": { "type": "git", "url": "https://github.com/rectorphp/rector.git", - "reference": "40f9cf38c05296bd32f444121336a521a293fa61" + "reference": "3877f3d6f48ebaad4bca7ac73902ba03c74d133b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/rectorphp/rector/zipball/40f9cf38c05296bd32f444121336a521a293fa61", - "reference": "40f9cf38c05296bd32f444121336a521a293fa61", + "url": "https://api.github.com/repos/rectorphp/rector/zipball/3877f3d6f48ebaad4bca7ac73902ba03c74d133b", + "reference": "3877f3d6f48ebaad4bca7ac73902ba03c74d133b", "shasum": "" }, "require": { - "php": "^7.2|^8.0", - "phpstan/phpstan": "^1.12.5" + "php": "^7.4|^8.0", + "phpstan/phpstan": "^2.0.1" }, "conflict": { "rector/rector-doctrine": "*", @@ -6545,7 +6542,7 @@ ], "support": { "issues": "https://github.com/rectorphp/rector/issues", - "source": "https://github.com/rectorphp/rector/tree/1.2.10" + "source": "https://github.com/rectorphp/rector/tree/2.0.0-rc2" }, "funding": [ { @@ -6553,7 +6550,7 @@ "type": "github" } ], - "time": "2024-11-08T13:59:10+00:00" + "time": "2024-12-03T19:20:54+00:00" }, { "name": "sebastian/cli-parser", @@ -8150,7 +8147,9 @@ ], "aliases": [], "minimum-stability": "stable", - "stability-flags": {}, + "stability-flags": { + "rector/rector": 5 + }, "prefer-stable": false, "prefer-lowest": false, "platform": { From 81040546d94713c420c9647dc8e3a58ee3ffed64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Elias=20H=C3=A4u=C3=9Fler?= Date: Wed, 4 Dec 2024 11:55:17 +0100 Subject: [PATCH 6/7] [TASK] Stay at PHPStan level 9 for the moment --- phpstan.neon | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpstan.neon b/phpstan.neon index b47e44cd..65d38254 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -2,7 +2,7 @@ includes: - .build/vendor/phpstan/phpstan/conf/bleedingEdge.neon parameters: - level: max + level: 9 paths: - src - tests/src From e5453413c2aa777eeb3b289a19d16f4f080fd0e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Elias=20H=C3=A4u=C3=9Fler?= Date: Wed, 4 Dec 2024 12:15:27 +0100 Subject: [PATCH 7/7] [TASK] Migrate codebase to PHPStan level 10 --- phpstan.neon | 2 +- .../CompilerPass/EventListenerPass.php | 7 ++-- .../InvalidConfigurationException.php | 1 + src/Helper/ArrayHelper.php | 3 ++ src/Resource/Http/PhpApiClient.php | 3 +- src/Resource/Local/Git.php | 9 +++-- src/Template/Provider/BaseProvider.php | 4 ++- src/Twig/Renderer.php | 1 + .../Template/Provider/BaseProviderTest.php | 36 ++++++++++++++----- 9 files changed, 49 insertions(+), 17 deletions(-) diff --git a/phpstan.neon b/phpstan.neon index 65d38254..b47e44cd 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -2,7 +2,7 @@ includes: - .build/vendor/phpstan/phpstan/conf/bleedingEdge.neon parameters: - level: 9 + level: max paths: - src - tests/src diff --git a/src/DependencyInjection/CompilerPass/EventListenerPass.php b/src/DependencyInjection/CompilerPass/EventListenerPass.php index f51b1845..b6ff694b 100644 --- a/src/DependencyInjection/CompilerPass/EventListenerPass.php +++ b/src/DependencyInjection/CompilerPass/EventListenerPass.php @@ -62,13 +62,16 @@ public function process(DependencyInjection\ContainerBuilder $container): void continue; } - if (null === ($className = $service->getClass())) { + /** @var class-string|null $className */ + $className = $service->getClass(); + + if (null === $className) { throw Exception\ShouldNotHappenException::create(); } + /** @var array{method?: string, event?: class-string} $tag */ foreach ($tags as $tag) { $method = $tag['method'] ?? '__invoke'; - /** @var class-string $className */ $event = $tag['event'] ?? $this->determineEventFromClassMethod($className, $method); $dispatcher->addMethodCall( diff --git a/src/Exception/InvalidConfigurationException.php b/src/Exception/InvalidConfigurationException.php index af5d8a36..23496e2f 100644 --- a/src/Exception/InvalidConfigurationException.php +++ b/src/Exception/InvalidConfigurationException.php @@ -86,6 +86,7 @@ public static function forValidationErrors(?JsonSchema\Errors\ValidationError $e if (null !== $error) { $formatter = new JsonSchema\Errors\ErrorFormatter(); + /** @var array $formattedErrors */ $formattedErrors = $formatter->format($error, false); foreach ($formattedErrors as $path => $errorMessage) { diff --git a/src/Helper/ArrayHelper.php b/src/Helper/ArrayHelper.php index 510501ad..2b28ff59 100644 --- a/src/Helper/ArrayHelper.php +++ b/src/Helper/ArrayHelper.php @@ -96,6 +96,9 @@ public static function trimExplode(string $subject, string $delimiter = ','): ar ); } + /** + * @phpstan-assert-if-true array|ArrayObject $subject + */ private static function pathSegmentExists(mixed $subject, string $pathSegment): bool { if (!is_array($subject) && !($subject instanceof ArrayObject)) { diff --git a/src/Resource/Http/PhpApiClient.php b/src/Resource/Http/PhpApiClient.php index c712d26f..2b40e700 100644 --- a/src/Resource/Http/PhpApiClient.php +++ b/src/Resource/Http/PhpApiClient.php @@ -30,6 +30,7 @@ use Psr\Http\Message; use stdClass; +use function is_string; use function property_exists; /** @@ -65,7 +66,7 @@ public function getLatestStableVersion(string $branch): string $json = Utils::jsonDecode((string) $response->getBody()); // Fall back to .0 release if version cannot be determined via API - if (!($json instanceof stdClass) || !property_exists($json, 'version')) { + if (!($json instanceof stdClass) || !property_exists($json, 'version') || !is_string($json->version)) { return $branch.'.0'; } diff --git a/src/Resource/Local/Git.php b/src/Resource/Local/Git.php index edc1635e..b0da11e7 100644 --- a/src/Resource/Local/Git.php +++ b/src/Resource/Local/Git.php @@ -25,6 +25,7 @@ use SebastianFeldmann\Cli; +use function reset; use function trim; /** @@ -66,13 +67,15 @@ private function readConfig(string $configPath): ?string private function run(Cli\Command $command): ?string { $result = $this->runner->run($command); + /** @var list $output */ + $output = $result->getBufferedOutput(); - if (!$result->isSuccessful() || [] === $result->getBufferedOutput()) { + if (!$result->isSuccessful() || [] === $output) { return null; } - $output = $result->getBufferedOutput()[0]; + $output = reset($output); - return '' !== trim((string) $output) ? trim((string) $output) : null; + return '' !== trim($output) ? trim($output) : null; } } diff --git a/src/Template/Provider/BaseProvider.php b/src/Template/Provider/BaseProvider.php index 57464917..b2330502 100644 --- a/src/Template/Provider/BaseProvider.php +++ b/src/Template/Provider/BaseProvider.php @@ -244,8 +244,10 @@ protected function isPackageSupported(Package\BasePackage $package): bool return false; } + /** @var array $extra */ + $extra = $package->getExtra(); $excludeFromListing = (bool) Helper\ArrayHelper::getValueByPath( - $package->getExtra(), + $extra, 'cpsit/project-builder.exclude-from-listing', ); diff --git a/src/Twig/Renderer.php b/src/Twig/Renderer.php index 230e6132..5a5c8d3a 100644 --- a/src/Twig/Renderer.php +++ b/src/Twig/Renderer.php @@ -56,6 +56,7 @@ public function render( ?string $template = null, array $variables = [], ): string { + /** @var array $mergedVariables */ $mergedVariables = array_replace_recursive($instructions->getTemplateVariables(), $variables); $event = new Event\BeforeTemplateRenderedEvent($this->twig, $instructions, $mergedVariables); $template ??= $this->defaultTemplate; diff --git a/tests/src/Template/Provider/BaseProviderTest.php b/tests/src/Template/Provider/BaseProviderTest.php index 58b8502c..e0b65f19 100644 --- a/tests/src/Template/Provider/BaseProviderTest.php +++ b/tests/src/Template/Provider/BaseProviderTest.php @@ -39,6 +39,7 @@ use function array_map; use function array_reduce; use function dirname; +use function is_array; use function json_encode; use function reset; use function sprintf; @@ -276,24 +277,35 @@ public static function listTemplateSourcesListsAllAvailableTemplateSourcesDataPr ], [], ]; + + $package1 = self::createPackage('foo/baz-2'); + $package2 = self::createPackage('foo/baz-3'); + yield 'unsupported and supported packages' => [ [ self::createPackage('foo/baz-1', 'library'), - $package1 = self::createPackage('foo/baz-2'), - $package2 = self::createPackage('foo/baz-3'), + $package1, + $package2, ], [ $package1, $package2, ], ]; + + $abandonedPackage1 = self::createPackage(name: 'foo/baz-1', abandoned: true); + $abandonedPackage2 = self::createPackage(name: 'foo/baz-3', abandoned: 'foo/bar-3'); + $package1 = self::createPackage('foo/baz-2'); + $package2 = self::createPackage('foo/baz-4'); + $package3 = self::createPackage('foo/baz-5'); + yield 'abandoned packages after maintained' => [ [ - $abandonedPackage1 = self::createPackage(name: 'foo/baz-1', abandoned: true), - $package1 = self::createPackage('foo/baz-2'), - $abandonedPackage2 = self::createPackage(name: 'foo/baz-3', abandoned: 'foo/bar-3'), - $package2 = self::createPackage('foo/baz-4'), - $package3 = self::createPackage('foo/baz-5'), + $abandonedPackage1, + $package1, + $abandonedPackage2, + $package2, + $package3, ], [ $package1, @@ -385,8 +397,14 @@ private function mockPackagesServerResponse(array $packages): void [ 'packages' => array_reduce( $packages, - function (array $carry, Package\PackageInterface $package) use ($dumper): array { - $carry[$package->getName()][$package->getPrettyVersion()] = $dumper->dump($package); + static function (array $carry, Package\PackageInterface $package) use ($dumper): array { + $packageName = $package->getName(); + + if (!is_array($carry[$packageName] ?? null)) { + $carry[$packageName] = []; + } + + $carry[$packageName][$package->getPrettyVersion()] = $dumper->dump($package); return $carry; },