Skip to content

Commit 1982880

Browse files
committed
Merge branch '1.8.x' into 1.9.x
2 parents 243a237 + acbb55b commit 1982880

File tree

1 file changed

+13
-4
lines changed

1 file changed

+13
-4
lines changed

src/Internal/ComposerHelper.php

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
namespace PHPStan\Internal;
44

5-
use Composer\InstalledVersions;
65
use Nette\Utils\Json;
76
use Nette\Utils\JsonException;
87
use PHPStan\File\CouldNotReadFileException;
@@ -18,6 +17,8 @@
1817
final class ComposerHelper
1918
{
2019

20+
private static ?string $phpstanVersion = null;
21+
2122
/** @return array<string, mixed> */
2223
public static function getComposerConfig(string $root): ?array
2324
{
@@ -57,14 +58,22 @@ public static function getVendorDirFromComposerConfig(string $root, array $compo
5758

5859
public static function getPhpStanVersion(): string
5960
{
60-
$rootPackage = InstalledVersions::getRootPackage();
61+
if (self::$phpstanVersion !== null) {
62+
return self::$phpstanVersion;
63+
}
64+
65+
$installed = require __DIR__ . '/../../vendor/composer/installed.php';
66+
$rootPackage = $installed['root'] ?? null;
67+
if ($rootPackage === null) {
68+
return self::$phpstanVersion = 'Unknown version';
69+
}
6170

6271
if (preg_match('/[^v\d.]/', $rootPackage['pretty_version']) === 0) {
6372
// Handles tagged versions, see https://github.com/Jean85/pretty-package-versions/blob/2.0.5/src/Version.php#L31
64-
return $rootPackage['pretty_version'];
73+
return self::$phpstanVersion = $rootPackage['pretty_version'];
6574
}
6675

67-
return $rootPackage['pretty_version'] . '@' . substr((string) $rootPackage['reference'], 0, 7);
76+
return self::$phpstanVersion = $rootPackage['pretty_version'] . '@' . substr((string) $rootPackage['reference'], 0, 7);
6877
}
6978

7079
}

0 commit comments

Comments
 (0)