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);
        }
    }
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);
        }
    }
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 ) ; } }
Update the JSON file.

@param JsonFile $jsonFile
@param array    $package
@param bool     $isPostInstall
Update the JSON file .