Skip to content

Commit 717a66f

Browse files
authored
Merge pull request #13 from fortrabbit/feature/kirby-cms
Add detection for kirby cms
2 parents f1367fc + 233ea1b commit 717a66f

File tree

6 files changed

+46
-0
lines changed

6 files changed

+46
-0
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ Supported Stacks for now:
1212
- Craft CMS
1313
- Drupal
1414
- Grav CMS
15+
- Kirby CMS
1516
- Laravel
1617
- Leaf PHP
1718
- Lunar

lib/Enum/StackType.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ enum StackType: string
1212
case CRAFT_CMS = 'craft-cms';
1313
case DRUPAL = 'drupal';
1414
case GRAV_CMS = 'grav-cms';
15+
case KIRBY_CMS = 'kirby-cms';
1516
case LARAVEL = 'laravel';
1617
case LEAF_PHP = 'leaf';
1718
case LUNAR = 'lunar';

lib/Factory/HasStackDetectors.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
use fortrabbit\StackDetector\StackDetector\SymfonyDetector;
2727
use fortrabbit\StackDetector\StackDetector\WordpressDetector;
2828
use fortrabbit\StackDetector\DirectoryCrawler\AdapterInterface;
29+
use fortrabbit\StackDetector\StackDetector\KirbyCMSDetector;
2930

3031
trait HasStackDetectors
3132
{
@@ -47,6 +48,7 @@ private function getStackDetectors(
4748
new CakePhpDetector($packageVersionProvider),
4849
new CodeigniterDetector($packageVersionProvider),
4950
new DrupalDetector($packageVersionProvider),
51+
new KirbyCMSDetector($packageVersionProvider),
5052
new GravCMSDetector($packageVersionProvider),
5153
new LeafDetector($packageVersionProvider),
5254
new LunarDetector($packageVersionProvider),
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace fortrabbit\StackDetector\StackDetector;
6+
7+
use fortrabbit\StackDetector\Enum\StackType;
8+
use fortrabbit\StackDetector\StackDetectorInterface;
9+
10+
class KirbyCMSDetector extends BaseComposerTypeDetector implements StackDetectorInterface
11+
{
12+
protected function packagesToSearch(): array
13+
{
14+
return ['getkirby/cms'];
15+
}
16+
17+
protected function detectedStackType(): StackType
18+
{
19+
return StackType::KIRBY_CMS;
20+
}
21+
}

tests/Unit/DetectorTest.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -524,6 +524,8 @@ public static function packagesDataProvider(): array
524524

525525
'Grav CMS 2' => ['grav_cms/2', '2', StackType::GRAV_CMS],
526526

527+
'Kirby CMS 5' => ['kirby_cms/5', '5', StackType::KIRBY_CMS],
528+
527529
'Leaf 3' => ['leaf/3', '3', StackType::LEAF_PHP],
528530

529531
'Lunar 1' => ['lunar/1', '1', StackType::LUNAR],
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
"name": "test/project",
3+
"require": {
4+
"php": "~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0",
5+
"getkirby/cms": "^5.0"
6+
},
7+
"config": {
8+
"allow-plugins": {
9+
"getkirby/composer-installer": true
10+
},
11+
"optimize-autoloader": true
12+
},
13+
"scripts": {
14+
"start": [
15+
"Composer\\Config::disableProcessTimeout",
16+
"@php -S localhost:8000 kirby/router.php"
17+
]
18+
}
19+
}

0 commit comments

Comments
 (0)