@ -21,12 +21,14 @@ use Composer\Semver\VersionParser;
* See also https://getcomposer.org/doc/07-runtime.md#installed-versions
* See also https://getcomposer.org/doc/07-runtime.md#installed-versions
*
*
* To require its presence, you can require `composer-runtime-api ^2.0`
* To require its presence, you can require `composer-runtime-api ^2.0`
*
* @final
*/
*/
class InstalledVersions
class InstalledVersions
{
{
/**
/**
* @var mixed[]|null
* @var mixed[]|null
* @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
* @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
*/
*/
private static $installed;
private static $installed;
@ -37,7 +39,7 @@ class InstalledVersions
/**
/**
* @var array[]
* @var array[]
* @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 } > }>
* @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 [ ] } > }>
*/
*/
private static $installedByVendor = array();
private static $installedByVendor = array();
@ -241,7 +243,7 @@ class InstalledVersions
/**
/**
* @return array
* @return array
* @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string }
* @psalm-return array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool }
*/
*/
public static function getRootPackage()
public static function getRootPackage()
{
{
@ -255,7 +257,7 @@ class InstalledVersions
*
*
* @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.
* @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.
* @return array[]
* @return array[]
* @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 } > }
* @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 [ ] } > }
*/
*/
public static function getRawData()
public static function getRawData()
{
{
@ -278,7 +280,7 @@ class InstalledVersions
* Returns the raw data of all installed.php which are currently loaded for custom implementations
* Returns the raw data of all installed.php which are currently loaded for custom implementations
*
*
* @return array[]
* @return array[]
* @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 } > }>
* @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 [ ] } > }>
*/
*/
public static function getAllRawData()
public static function getAllRawData()
{
{
@ -301,7 +303,7 @@ class InstalledVersions
* @param array[] $data A vendor/composer/installed.php data set
* @param array[] $data A vendor/composer/installed.php data set
* @return void
* @return void
*
*
* @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
* @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
*/
*/
public static function reload($data)
public static function reload($data)
{
{
@ -311,7 +313,7 @@ class InstalledVersions
/**
/**
* @return array[]
* @return array[]
* @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 } > }>
* @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 [ ] } > }>
*/
*/
private static function getInstalled()
private static function getInstalled()
{
{