From 4cda7e0a44d608f5bb6071003790046594535549 Mon Sep 17 00:00:00 2001 From: Stephen Beemsterboer Date: Tue, 23 May 2017 19:17:18 -0400 Subject: [PATCH] Take into account a package's "provide" and "replace" fields A package can satisfy a require by its "provide" or "replace" fields, so this leverages the getNames() method which returns these alternate names as well. --- src/Composer/Installer.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Composer/Installer.php b/src/Composer/Installer.php index ce981d3cb..8f8bcc957 100644 --- a/src/Composer/Installer.php +++ b/src/Composer/Installer.php @@ -755,9 +755,9 @@ class Installer continue; } - if ($package->getType() === 'composer-plugin' + if ($package->getType() === 'composer-plugin' || $package->getType() === 'composer-installer' - || in_array($package->getName(), $installerRequires) + || count(array_intersect($package->getNames(), $installerRequires)) ) { // capture the requirements for this package so those packages will be moved up as well $installerRequires = array_merge($installerRequires, array_keys($package->getRequires()));