Skip to content

Commit 25c3495

Browse files
committed
Removing duplicate packages from Composer before generating dump
1 parent ca371bd commit 25c3495

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

src/AssetsBuilder.php

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -48,18 +48,23 @@ public function __construct(InstallationManager $installationManager, IOInterfac
4848
public function findAssetTypes(RepositoryInterface $repository) : array
4949
{
5050
$unorderedPackagesList = $repository->getPackages();
51-
var_dump(count($unorderedPackagesList));
5251

53-
$orderedPackageList = PackagesOrderer::reorderPackages($unorderedPackagesList);
54-
var_dump(count($orderedPackageList));
52+
// For some weird reason, some packages can be in double in the repository.
53+
// This has been observed when doing a "composer install" on an empty vendor directory.
54+
// Let's ensure each package is represented only once.
55+
$dedupPackages = [];
56+
foreach($unorderedPackagesList as $package) {
57+
$dedupPackages[$package->getName()] = $package;
58+
}
59+
$dedupPackages = array_values($dedupPackages);
60+
61+
$orderedPackageList = PackagesOrderer::reorderPackages($dedupPackages);
5562

5663
$packages = array_filter($orderedPackageList, function (PackageInterface $package) {
5764
$packageInstallPath = $this->getInstallPath($package);
5865

5966
return file_exists($packageInstallPath.'/discovery.json');
6067
});
61-
var_dump(count($packages));
62-
var_dump($packages);
6368

6469
return $this->buildAssetTypes($packages);
6570
}

0 commit comments

Comments
 (0)