} */ public static function getInstalledSixShopExtensions(): array { if (self::$installedSixShopExtensions) { return self::$installedSixShopExtensions; } $versions = []; $referenceMap = []; foreach (InstalledVersions::getInstalledPackagesByType(self::EXTENSION_TYPE) as $name) { $versions[$name] = [ 'name' => $name, 'version' => InstalledVersions::getPrettyVersion($name) ?? 'dev-main', 'reference' => InstalledVersions::getReference($name), 'install_path' => InstalledVersions::getInstallPath($name), ]; $referenceMap[$name] = InstalledVersions::getReference($name) ?: $versions[$name]['version']; } return self::$installedSixShopExtensions = [ 'root' => ['reference' => hash('md5', json_encode($referenceMap))], 'versions' => $versions, ]; } }