|
@@ -60,6 +60,21 @@ class JsonConfigSource implements ConfigSourceInterface
|
|
|
public function addRepository($name, $config)
|
|
|
{
|
|
|
$this->manipulateJson('addRepository', $name, $config, function (&$config, $repo, $repoConfig) {
|
|
|
+ // if converting from an array format to hashmap format, and there is a {"packagist.org":false} repo, we have
|
|
|
+ // to convert it to "packagist.org": false key on the hashmap otherwise it fails schema validation
|
|
|
+ if (isset($config['repositories'])) {
|
|
|
+ foreach ($config['repositories'] as $index => $val) {
|
|
|
+ if ($index === $repo) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ if (is_numeric($index) && ($val === array('packagist' => false) || $val === array('packagist.org' => false))) {
|
|
|
+ unset($config['repositories'][$index]);
|
|
|
+ $config['repositories']['packagist.org'] = false;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
$config['repositories'][$repo] = $repoConfig;
|
|
|
});
|
|
|
}
|