| @@ -97,9 +97,9 @@ | ||
| 97 | 97 | public static function isInstalled($packageName, $includeDevRequirements = true) |
| 98 | 98 | { |
| 99 | 99 | foreach (self::getInstalled() as $installed) { |
| 100 | 100 | if (isset($installed['versions'][$packageName])) { |
| 101 | - return $includeDevRequirements || !isset($installed['versions'][$packageName]['dev_requirement']) || $installed['versions'][$packageName]['dev_requirement'] === false; | |
| 101 | + return $includeDevRequirements || empty($installed['versions'][$packageName]['dev_requirement']); | |
| 102 | 102 | } |
| 103 | 103 | } |
| 104 | 104 | |
| 105 | 105 | return false; |
| @@ -118,9 +118,9 @@ | ||
| 118 | 118 | * @return bool |
| 119 | 119 | */ |
| 120 | 120 | public static function satisfies(VersionParser $parser, $packageName, $constraint) |
| 121 | 121 | { |
| 122 | - $constraint = $parser->parseConstraints((string) $constraint); | |
| 122 | + $constraint = $parser->parseConstraints($constraint); | |
| 123 | 123 | $provided = $parser->parseConstraints(self::getVersionRanges($packageName)); |
| 124 | 124 | |
| 125 | 125 | return $provided->matches($constraint); |
| 126 | 126 | } |
| @@ -327,11 +327,9 @@ | ||
| 327 | 327 | foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) { |
| 328 | 328 | if (isset(self::$installedByVendor[$vendorDir])) { |
| 329 | 329 | $installed[] = self::$installedByVendor[$vendorDir]; |
| 330 | 330 | } elseif (is_file($vendorDir.'/composer/installed.php')) { |
| 331 | - /** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $required */ | |
| 332 | - $required = require $vendorDir.'/composer/installed.php'; | |
| 333 | - $installed[] = self::$installedByVendor[$vendorDir] = $required; | |
| 331 | + $installed[] = self::$installedByVendor[$vendorDir] = require $vendorDir.'/composer/installed.php'; | |
| 334 | 332 | if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) { |
| 335 | 333 | self::$installed = $installed[count($installed) - 1]; |
| 336 | 334 | } |
| 337 | 335 | } |
| @@ -341,19 +339,14 @@ | ||
| 341 | 339 | if (null === self::$installed) { |
| 342 | 340 | // only require the installed.php file if this file is loaded from its dumped location, |
| 343 | 341 | // and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937 |
| 344 | 342 | if (substr(__DIR__, -8, 1) !== 'C') { |
| 345 | - /** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $required */ | |
| 346 | - $required = require __DIR__ . '/installed.php'; | |
| 347 | - self::$installed = $required; | |
| 343 | + self::$installed = require __DIR__ . '/installed.php'; | |
| 348 | 344 | } else { |
| 349 | 345 | self::$installed = array(); |
| 350 | 346 | } |
| 351 | 347 | } |
| 352 | - | |
| 353 | - if (self::$installed !== array()) { | |
| 354 | - $installed[] = self::$installed; | |
| 355 | - } | |
| 348 | + $installed[] = self::$installed; | |
| 356 | 349 | |
| 357 | 350 | return $installed; |
| 358 | 351 | } |
| 359 | 352 | } |