Edit File by line
/home/zeestwma/ajeebong.../wp-conte.../plugins/code-sni.../vendor/typistte.../imposter/src
File: ConfigCollectionFactory.php
<?php
[0] Fix | Delete
[1] Fix | Delete
declare(strict_types=1);
[2] Fix | Delete
[3] Fix | Delete
namespace TypistTech\Imposter;
[4] Fix | Delete
[5] Fix | Delete
class ConfigCollectionFactory
[6] Fix | Delete
{
[7] Fix | Delete
public static function forProject(
[8] Fix | Delete
ProjectConfigInterface $projectConfig,
[9] Fix | Delete
Filesystem $filesystem
[10] Fix | Delete
): ConfigCollectionInterface {
[11] Fix | Delete
return static::addRequiredPackageConfigsRecursively(
[12] Fix | Delete
new ConfigCollection(),
[13] Fix | Delete
$projectConfig,
[14] Fix | Delete
$projectConfig,
[15] Fix | Delete
$filesystem
[16] Fix | Delete
);
[17] Fix | Delete
}
[18] Fix | Delete
[19] Fix | Delete
private static function addRequiredPackageConfigsRecursively(
[20] Fix | Delete
ConfigCollectionInterface $configCollection,
[21] Fix | Delete
ProjectConfigInterface $projectConfig,
[22] Fix | Delete
ConfigInterface $config,
[23] Fix | Delete
Filesystem $filesystem
[24] Fix | Delete
): ConfigCollectionInterface {
[25] Fix | Delete
$filteredRequires = static::getFilteredPackages($projectConfig, $config);
[26] Fix | Delete
[27] Fix | Delete
foreach ($filteredRequires as $package) {
[28] Fix | Delete
$packageConfig = ConfigFactory::build(
[29] Fix | Delete
$projectConfig->getVendorDir() . $package . '/composer.json',
[30] Fix | Delete
$filesystem
[31] Fix | Delete
);
[32] Fix | Delete
[33] Fix | Delete
$configCollection->add($packageConfig);
[34] Fix | Delete
[35] Fix | Delete
static::addRequiredPackageConfigsRecursively(
[36] Fix | Delete
$configCollection,
[37] Fix | Delete
$projectConfig,
[38] Fix | Delete
$packageConfig,
[39] Fix | Delete
$filesystem
[40] Fix | Delete
);
[41] Fix | Delete
}
[42] Fix | Delete
[43] Fix | Delete
return $configCollection;
[44] Fix | Delete
}
[45] Fix | Delete
[46] Fix | Delete
/**
[47] Fix | Delete
* @param ProjectConfigInterface $projectConfig
[48] Fix | Delete
* @param ConfigInterface $config
[49] Fix | Delete
*
[50] Fix | Delete
* @return string[]
[51] Fix | Delete
*/
[52] Fix | Delete
private static function getFilteredPackages(ProjectConfigInterface $projectConfig, ConfigInterface $config): array
[53] Fix | Delete
{
[54] Fix | Delete
$requiredPackages = array_filter($config->getRequires(), function (string $package) {
[55] Fix | Delete
return (false !== strpos($package, '/'));
[56] Fix | Delete
});
[57] Fix | Delete
[58] Fix | Delete
$nonComposerPackages = array_filter($requiredPackages, function (string $package) {
[59] Fix | Delete
return (false === strpos($package, 'composer/'));
[60] Fix | Delete
});
[61] Fix | Delete
[62] Fix | Delete
return array_filter($nonComposerPackages, function (string $package) use ($projectConfig) {
[63] Fix | Delete
return ! in_array($package, $projectConfig->getExcludes(), true);
[64] Fix | Delete
});
[65] Fix | Delete
}
[66] Fix | Delete
}
[67] Fix | Delete
[68] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function