PluginProbe
Visualizer – Tables & Charts Manager with Built-in AI Generator / 3.7.1
Visualizer – Tables & Charts Manager with Built-in AI Generator v3.7.1
4.0.8 4.0.7 4.0.6 4.0.5 4.0.4 4.0.3 3.0.5 3.0.6 3.0.7 3.0.8 3.0.9 3.1.0 3.1.1 3.1.2 3.1.3 3.10.0 3.10.1 3.10.10 3.10.11 3.10.12 3.10.13 3.10.14 3.10.15 3.10.2 3.10.3 All 149 releases
← All changes | vendor/composer/InstalledVersions.php +12 -21 3.10.133.7.1 View file →
@@ -20,16 +20,14 @@
20 20 *
21 21 * See also https://getcomposer.org/doc/07-runtime.md#installed-versions
22 22 *
23 23 * To require its presence, you can require `composer-runtime-api ^2.0`
24 - *
25 - * @final
26 24 */
27 25 class InstalledVersions
28 26 {
29 27 /**
30 28 * @var mixed[]|null
31 - * @psalm-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[]}>}|array{}|null
29 + * @psalm-var array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}|array{}|null
32 30 */
33 31 private static $installed;
34 32
35 33 /**
@@ -38,9 +36,9 @@
38 36 private static $canGetVendors;
39 37
40 38 /**
41 39 * @var array[]
42 - * @psalm-var array<string, 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[]}>}>
40 + * @psalm-var array<string, array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
43 41 */
44 42 private static $installedByVendor = array();
45 43
46 44 /**
@@ -97,9 +95,9 @@
97 95 public static function isInstalled($packageName, $includeDevRequirements = true)
98 96 {
99 97 foreach (self::getInstalled() as $installed) {
100 98 if (isset($installed['versions'][$packageName])) {
101 - return $includeDevRequirements || !isset($installed['versions'][$packageName]['dev_requirement']) || $installed['versions'][$packageName]['dev_requirement'] === false;
99 + return $includeDevRequirements || empty($installed['versions'][$packageName]['dev_requirement']);
102 100 }
103 101 }
104 102
105 103 return false;
@@ -118,9 +116,9 @@
118 116 * @return bool
119 117 */
120 118 public static function satisfies(VersionParser $parser, $packageName, $constraint)
121 119 {
122 - $constraint = $parser->parseConstraints((string) $constraint);
120 + $constraint = $parser->parseConstraints($constraint);
123 121 $provided = $parser->parseConstraints(self::getVersionRanges($packageName));
124 122
125 123 return $provided->matches($constraint);
126 124 }
@@ -242,9 +240,9 @@
242 240 }
243 241
244 242 /**
245 243 * @return array
246 - * @psalm-return array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}
244 + * @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}
247 245 */
248 246 public static function getRootPackage()
249 247 {
250 248 $installed = self::getInstalled();
@@ -256,9 +254,9 @@
256 254 * Returns the raw installed.php data for custom implementations
257 255 *
258 256 * @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
259 257 * @return array[]
260 - * @psalm-return 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[]}>}
258 + * @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}
261 259 */
262 260 public static function getRawData()
263 261 {
264 262 @trigger_error('getRawData only returns the first dataset loaded, which may not be what you expect. Use getAllRawData() instead which returns all datasets for all autoloaders present in the process.', E_USER_DEPRECATED);
@@ -279,9 +277,9 @@
279 277 /**
280 278 * Returns the raw data of all installed.php which are currently loaded for custom implementations
281 279 *
282 280 * @return array[]
283 - * @psalm-return list<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[]}>}>
281 + * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
284 282 */
285 283 public static function getAllRawData()
286 284 {
287 285 return self::getInstalled();
@@ -302,9 +300,9 @@
302 300 *
303 301 * @param array[] $data A vendor/composer/installed.php data set
304 302 * @return void
305 303 *
306 - * @psalm-param 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[]}>} $data
304 + * @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>} $data
307 305 */
308 306 public static function reload($data)
309 307 {
310 308 self::$installed = $data;
@@ -312,9 +310,9 @@
312 310 }
313 311
314 312 /**
315 313 * @return array[]
316 - * @psalm-return list<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[]}>}>
314 + * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
317 315 */
318 316 private static function getInstalled()
319 317 {
320 318 if (null === self::$canGetVendors) {
@@ -327,11 +325,9 @@
327 325 foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) {
328 326 if (isset(self::$installedByVendor[$vendorDir])) {
329 327 $installed[] = self::$installedByVendor[$vendorDir];
330 328 } 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;
329 + $installed[] = self::$installedByVendor[$vendorDir] = require $vendorDir.'/composer/installed.php';
334 330 if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) {
335 331 self::$installed = $installed[count($installed) - 1];
336 332 }
337 333 }
@@ -341,19 +337,14 @@
341 337 if (null === self::$installed) {
342 338 // only require the installed.php file if this file is loaded from its dumped location,
343 339 // and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937
344 340 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;
341 + self::$installed = require __DIR__ . '/installed.php';
348 342 } else {
349 343 self::$installed = array();
350 344 }
351 345 }
352 -
353 - if (self::$installed !== array()) {
354 - $installed[] = self::$installed;
355 - }
346 + $installed[] = self::$installed;
356 347
357 348 return $installed;
358 349 }
359 350 }