protected function downloadByComposerConfig(InputInterface $input, OutputInterface $output, $config, $targetFolder, $preferSource = true)
{
$dm = $this->getComposerDownloadManager($input, $output);
if (!$config instanceof PackageInterface) {
$package = $this->createComposerPackageByConfig($config);
} else {
$package = $config;
}
$helper = new \N98\Util\Console\Helper\MagentoHelper();
$helper->detect($targetFolder);
if ($this->isSourceTypeRepository($package->getSourceType()) && $helper->getRootFolder() == $targetFolder) {
$package->setInstallationSource('source');
$this->checkRepository($package, $targetFolder);
$dm->update($package, $package, $targetFolder);
} else {
$dm->download($package, $targetFolder, $preferSource);
}
return $package;
}