/**
* Generate composer file.
*
* @param \JonathanTorres\Construct\Helpers\Git $git The git helper.
*
* @return void
*/
protected function composer(Git $git)
{
$composerFile = 'composer.' . $this->settings->getTestingFramework();
$file = $this->file->get(__DIR__ . '/stubs/composer/' . $composerFile . '.stub');
$user = $git->getUser();
$stubs = ['{project_upper}', '{project_lower}', '{vendor_lower}', '{vendor_upper}', '{testing}', '{namespace}', '{license}', '{author_name}', '{author_email}', '{keywords}', '{php_version}'];
$values = [$this->projectUpper, $this->projectLower, $this->vendorLower, $this->vendorUpper, $this->settings->getTestingFramework(), $this->createNamespace(true), $this->settings->getLicense(), $user['name'], $user['email'], $this->str->toQuotedKeywords($this->settings->getComposerKeywords()), $this->settings->getPhpVersion()];
$content = str_replace($stubs, $values, $file);
if ($this->settings->withPhpcsConfiguration() && !$this->str->isWindows()) {
$composer = json_decode($content, true);
$composer['scripts']['cs-fix'] = 'php-cs-fixer fix . -vv || true';
$composer['scripts']['cs-lint'] = 'php-cs-fixer fix --diff --verbose --dry-run';
$content = json_encode($composer, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES);
$content .= PHP_EOL;
}
$this->file->put($this->projectLower . '/' . 'composer.json', $content);
}