public getRequiredPackages ( ) : array | ||
return | array |
public function getRequiredPackages()
{
$packages = [];
$content = $this->getFileContents('composer.json');
foreach (['require', 'require-dev'] as $key) {
if (!isset($content[$key])) {
continue;
}
foreach ($content[$key] as $name => $version) {
if (!strstr($name, '/')) {
continue;
}
$packages[$name] = ['name' => $name, 'version' => $version, 'devDependency' => $key === 'require-dev'];
}
}
if (empty($packages)) {
throw new LogicException('We couldn\'t find any required packages.');
}
return $packages;
}
/** * Get outdated packages with their current and latest version. * * @return array */ public function getOutdatedPackages() { // Get all installed and required packages. $installed = $this->composer->getInstalledPackages(); $required = $this->composer->getRequiredPackages(); $outdated = []; // Get the installed version number of the required packages. $packages = array_intersect_key($installed, $required); foreach ($packages as $name => $version) { $package = new Package($name, Version::normalize($version), $required[$name]); if ($package->isOutdated()) { $outdated[] = $package; } } return $outdated; }