diff --git a/README.md b/README.md index 6ed9bac..144b507 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,7 @@ Supported Stacks for now: - Craft CMS - Drupal - Grav CMS +- Kirby CMS - Laravel - Leaf PHP - Lunar diff --git a/lib/Enum/StackType.php b/lib/Enum/StackType.php index 6bf36e2..8a7d135 100644 --- a/lib/Enum/StackType.php +++ b/lib/Enum/StackType.php @@ -12,6 +12,7 @@ enum StackType: string case CRAFT_CMS = 'craft-cms'; case DRUPAL = 'drupal'; case GRAV_CMS = 'grav-cms'; + case KIRBY_CMS = 'kirby-cms'; case LARAVEL = 'laravel'; case LEAF_PHP = 'leaf'; case LUNAR = 'lunar'; diff --git a/lib/Factory/HasStackDetectors.php b/lib/Factory/HasStackDetectors.php index e3d99ba..c716ebb 100644 --- a/lib/Factory/HasStackDetectors.php +++ b/lib/Factory/HasStackDetectors.php @@ -26,6 +26,7 @@ use fortrabbit\StackDetector\StackDetector\SymfonyDetector; use fortrabbit\StackDetector\StackDetector\WordpressDetector; use fortrabbit\StackDetector\DirectoryCrawler\AdapterInterface; +use fortrabbit\StackDetector\StackDetector\KirbyCMSDetector; trait HasStackDetectors { @@ -47,6 +48,7 @@ private function getStackDetectors( new CakePhpDetector($packageVersionProvider), new CodeigniterDetector($packageVersionProvider), new DrupalDetector($packageVersionProvider), + new KirbyCMSDetector($packageVersionProvider), new GravCMSDetector($packageVersionProvider), new LeafDetector($packageVersionProvider), new LunarDetector($packageVersionProvider), diff --git a/lib/StackDetector/KirbyCMSDetector.php b/lib/StackDetector/KirbyCMSDetector.php new file mode 100644 index 0000000..2d49da4 --- /dev/null +++ b/lib/StackDetector/KirbyCMSDetector.php @@ -0,0 +1,21 @@ + ['grav_cms/2', '2', StackType::GRAV_CMS], + 'Kirby CMS 5' => ['kirby_cms/5', '5', StackType::KIRBY_CMS], + 'Leaf 3' => ['leaf/3', '3', StackType::LEAF_PHP], 'Lunar 1' => ['lunar/1', '1', StackType::LUNAR], diff --git a/tests/fixtures/php-stack/kirby_cms/5/composer.json b/tests/fixtures/php-stack/kirby_cms/5/composer.json new file mode 100644 index 0000000..46d4074 --- /dev/null +++ b/tests/fixtures/php-stack/kirby_cms/5/composer.json @@ -0,0 +1,19 @@ +{ + "name": "test/project", + "require": { + "php": "~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0", + "getkirby/cms": "^5.0" + }, + "config": { + "allow-plugins": { + "getkirby/composer-installer": true + }, + "optimize-autoloader": true + }, + "scripts": { + "start": [ + "Composer\\Config::disableProcessTimeout", + "@php -S localhost:8000 kirby/router.php" + ] + } +}