mirror of
https://github.com/opdavies/versa.git
synced 2025-02-02 07:57:32 +00:00
Extract methods to determine project type
This commit is contained in:
parent
b44c713acf
commit
3cccf56482
|
@ -44,13 +44,14 @@ final class BuildCommand extends AbstractCommand
|
||||||
associative: true,
|
associative: true,
|
||||||
);
|
);
|
||||||
|
|
||||||
|
/** @var non-empty-array<int, non-empty-string> */
|
||||||
$dependencies = array_keys($json['require']);
|
$dependencies = array_keys($json['require']);
|
||||||
|
|
||||||
if (in_array(needle: 'drupal/core', haystack: $dependencies, strict: true) || in_array(needle: 'drupal/core-recommended', haystack: $dependencies, strict: true)) {
|
if ($this->isDrupalProject($dependencies)) {
|
||||||
$projectType = ProjectType::Drupal->value;
|
$projectType = ProjectType::Drupal->value;
|
||||||
} elseif (in_array(needle: 'sculpin/sculpin', haystack: $dependencies, strict: true)) {
|
} elseif ($this->isSculpinProject($dependencies)) {
|
||||||
$projectType = ProjectType::Sculpin->value;
|
$projectType = ProjectType::Sculpin->value;
|
||||||
} elseif (in_array(needle: 'symfony/framework-bundle', haystack: $dependencies, strict: true)) {
|
} elseif ($this->isSymfonyProject($dependencies)) {
|
||||||
$projectType = ProjectType::Symfony->value;
|
$projectType = ProjectType::Symfony->value;
|
||||||
}
|
}
|
||||||
} elseif ($filesystem->exists($workingDir.'/fractal.config.js')) {
|
} elseif ($filesystem->exists($workingDir.'/fractal.config.js')) {
|
||||||
|
@ -111,4 +112,29 @@ final class BuildCommand extends AbstractCommand
|
||||||
|
|
||||||
return Command::SUCCESS;
|
return Command::SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param non-empty-string[] $dependencies
|
||||||
|
*/
|
||||||
|
private function isDrupalProject(array $dependencies): bool
|
||||||
|
{
|
||||||
|
return in_array(needle: 'drupal/core', haystack: $dependencies, strict: true)
|
||||||
|
|| in_array(needle: 'drupal/core-recommended', haystack: $dependencies, strict: true);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param non-empty-string[] $dependencies
|
||||||
|
*/
|
||||||
|
private function isSculpinProject(array $dependencies): bool
|
||||||
|
{
|
||||||
|
return in_array(needle: 'sculpin/sculpin', haystack: $dependencies, strict: true);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param non-empty-string[] $dependencies
|
||||||
|
*/
|
||||||
|
private function isSymfonyProject(array $dependencies): bool
|
||||||
|
{
|
||||||
|
return in_array(needle: 'symfony/framework-bundle', haystack: $dependencies, strict: true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue