public function reset()
{
// initialize
$requires = [];
$replace = [];
array_set($this->data, 'repositories', [['type' => 'composer', 'url' => $this->packagistUrl]]);
$dir = $this->scanner->getPluginDirectory();
$operation = '>=';
foreach ($this->scanner->scanDirectory() as $plugin) {
$name = array_get($plugin, 'metaData.name');
$version = array_get($plugin, 'metaData.version');
if (is_dir($dir . DIRECTORY_SEPARATOR . $plugin['id'] . DIRECTORY_SEPARATOR . 'vendor')) {
$replace[$name] = '*';
continue;
}
$requires[$name] = $operation . $version;
}
array_set($this->data, 'require', $requires);
array_set($this->data, 'replace', $replace);
// set fix mode
$this->setFixMode();
return $this;
}