From bc11596b19d2711862018501eb949e841cf5cf17 Mon Sep 17 00:00:00 2001 From: Louis Charette Date: Mon, 12 Feb 2024 21:43:55 -0500 Subject: [PATCH] Locator location uses Composer package as name, fallback to slug of name Ref https://github.com/userfrosting/UserFrosting/issues/1243 --- app/src/ServicesProvider/LocatorService.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/app/src/ServicesProvider/LocatorService.php b/app/src/ServicesProvider/LocatorService.php index e37d722e..b8133882 100644 --- a/app/src/ServicesProvider/LocatorService.php +++ b/app/src/ServicesProvider/LocatorService.php @@ -12,9 +12,11 @@ namespace UserFrosting\Sprinkle\Core\ServicesProvider; +use Illuminate\Support\Str; use Psr\EventDispatcher\EventDispatcherInterface; use UserFrosting\ServicesProvider\ServicesProviderInterface; use UserFrosting\Sprinkle\Core\Event\ResourceLocatorInitiatedEvent; +use UserFrosting\Sprinkle\Core\Sprinkle\Recipe\ComposerRecipe; use UserFrosting\Sprinkle\SprinkleManager; use UserFrosting\UniformResourceLocator\ResourceLocation; use UserFrosting\UniformResourceLocator\ResourceLocator; @@ -35,7 +37,10 @@ public function register(): array // Register all sprinkles locations foreach ($sprinkleManager->getSprinkles() as $sprinkle) { - $location = new ResourceLocation($sprinkle->getName(), $sprinkle->getPath()); + $slug = ($sprinkle instanceof ComposerRecipe) + ? $sprinkle->getComposerPackage() + : Str::slug($sprinkle->getName()); + $location = new ResourceLocation($slug, $sprinkle->getPath()); $locator->addLocation($location); }