setName('generate:installed-sixshop') ->setDescription('Generate vendor/composer/installedSixShop.php'); } public function handle(): void { $installedSixShopExtensions = [ 'root' => [], 'versions' => [] ]; $referenceMap = []; foreach (InstalledVersions::getAllRawData() as $installed) { foreach ($installed['versions'] as $name => $package) { if (isset($package['type']) && $package['type'] === Plugin::EXTENSION_TYPE) { $installedSixShopExtensions['versions'][$name] = $package; $referenceMap[$name] = $package['reference']; } } } $installedSixShopExtensions['root']['reference'] = hash('md5', json_encode($referenceMap)); $filePath = dirname(InstalledVersions::getInstallPath('composer/composer'), 2) . '/installedSixShop.php'; file_put_contents($filePath, 'output->writeln("Generated: $filePath"); } }