Unbreak CI due to bad upstream release in PHPStan or `shipmonk/dead-code-detector`
Nightly CI reported a need for updates: https://git.drupalcode.org/project/canvas/-/jobs/10655367: ``` PHPStan dependencies are outdated. Diff: --- composer.json.orig 2026-07-01 03:04:59.668852190 +0000 +++ composer.json 2026-07-01 03:05:02.678857558 +0000 @@ -31,9 +31,9 @@ "league/openapi-psr7-validator": "^0.22.0", "mglaman/phpstan-drupal": "2.0.15", "phpat/phpat": "0.12.4", - "phpstan/phpstan": "2.2.2", + "phpstan/phpstan": "2.2.3", "phpstan/phpstan-strict-rules": "2.0.11", - "shipmonk/dead-code-detector": "1.2.0" + "shipmonk/dead-code-detector": "1.3.0" }, ``` :warning: Noticed in https://git.drupalcode.org/project/canvas/-/pipelines/871694 that this FAILS MRs. Breakage reported by @ravi.maniyar.123 for !1183 too. Result: ``` Your requirements could not be resolved to an installable set of packages. Problem 1 - Root composer.json requires phpstan/phpstan 2.2.2 (exact version match: 2.2.2 or 2.2.2.0), found phpstan/phpstan[2.2.2] but these were not loaded, likely because it conflicts with another require. Problem 2 - drupal/core-dev is locked to version 11.2.12 and an update of this package was not requested. - drupal/core-dev 11.2.12 requires phpstan/phpstan ^1.12.27 || ^2.1.17 -> found phpstan/phpstan[1.12.27, ..., 1.12.x-dev, 2.1.17, ..., 2.2.x-dev] but these were not loaded, likely because it conflicts with another require. Problem 3 - Root composer.json requires jangregor/phpstan-prophecy 2.3.0 -> satisfiable by jangregor/phpstan-prophecy[2.3.0]. - jangregor/phpstan-prophecy 2.3.0 requires phpstan/phpstan ^2.1.5 -> found phpstan/phpstan[2.1.5, ..., 2.2.x-dev] but these were not loaded, likely because it conflicts with another require. Problem 4 - Root composer.json requires mglaman/phpstan-drupal 2.0.15 -> satisfiable by mglaman/phpstan-drupal[2.0.15]. - mglaman/phpstan-drupal 2.0.15 requires phpstan/phpstan ^2.1 -> found phpstan/phpstan[2.1.0, ..., 2.2.x-dev] but these were not loaded, likely because it conflicts with another require. Problem 5 - Root composer.json requires phpat/phpat 0.12.4 -> satisfiable by phpat/phpat[0.12.4]. - phpat/phpat 0.12.4 requires phpstan/phpstan ^2.1 -> found phpstan/phpstan[2.1.0, ..., 2.2.x-dev] but these were not loaded, likely because it conflicts with another require. Problem 6 - Root composer.json requires phpstan/phpstan-strict-rules 2.0.11 -> satisfiable by phpstan/phpstan-strict-rules[2.0.11]. - phpstan/phpstan-strict-rules 2.0.11 requires phpstan/phpstan ^2.1.39 -> found phpstan/phpstan[2.1.39, ..., 2.2.x-dev] but these were not loaded, likely because it conflicts with another require. Problem 7 - Root composer.json requires shipmonk/dead-code-detector 1.2.0 -> satisfiable by shipmonk/dead-code-detector[1.2.0]. - shipmonk/dead-code-detector 1.2.0 requires phpstan/phpstan ^2.1.41 -> found phpstan/phpstan[2.1.41, ..., 2.2.x-dev] but these were not loaded, likely because it conflicts with another require. Installation failed, reverting ./composer.json and ./composer.lock to their original content. ```
issue