private function updateComposerJson(JsonFile $jsonFile, array $package, $isPostInstall)
{
$composerJson = $jsonFile->parse();
$sortPackages = $this->getOptions()->sortPackages();
$requireKey = $this->getOptions()->dev() ? 'require-dev' : 'require';
$removeKey = $this->getOptions()->dev() ? 'require' : 'require-dev';
$baseRequirements = array_key_exists($requireKey, $composerJson) ? $composerJson[$requireKey] : [];
if (!$this->updateFileCleanly($jsonFile, $package, $requireKey, $removeKey, $sortPackages, $isPostInstall)) {
foreach ($package as $name => $version) {
$baseRequirements[$name] = $version;
if (isset($composerJson[$removeKey][$name])) {
unset($composerJson[$removeKey][$name]);
}
}
$composerJson[$requireKey] = $baseRequirements;
$jsonFile->dump($composerJson);
}
}