Skip to content

Commit 1c9fe90

Browse files
committed
fix: remove Symfony commands for configuration parameters
1 parent 4c5fb18 commit 1c9fe90

File tree

16 files changed

+177
-115
lines changed

16 files changed

+177
-115
lines changed

config/routes.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,8 @@
1010
])
1111
->methods(['POST'])
1212
->controller('storybook.controller.render_story')
13+
->add('storybook_preview', '/_storybook/preview')
14+
->methods(['GET'])
15+
->controller('storybook.controller.preview')
1316
;
1417
};

src/CacheWarmer/StorybookCacheWarmer.php

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,7 @@ private function getConfigCacheFactory(): ConfigCacheFactoryInterface
5454
private function generateSymfonyParameters(ConfigCacheInterface $cache): void
5555
{
5656
$parameters = [
57-
'kernel_project_dir' => $this->projectDir,
58-
'storybook_config' => $this->storybookConfig,
57+
'storybook_bundle_config' => $this->storybookConfig,
5958
'twig_config' => $this->twigConfig,
6059
'twig_component_config' => $this->twigComponentConfig,
6160
];
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<?php
2+
3+
namespace Storybook\Controller;
4+
5+
use Storybook\Event\GeneratePreviewEvent;
6+
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
7+
use Symfony\Component\HttpFoundation\Response;
8+
use Twig\Environment;
9+
10+
final class StorybookPreviewController
11+
{
12+
public function __construct(
13+
private readonly Environment $twig,
14+
private readonly EventDispatcherInterface $eventDispatcher
15+
) {
16+
}
17+
18+
public function __invoke(): Response
19+
{
20+
$this->eventDispatcher->dispatch(new GeneratePreviewEvent());
21+
22+
$content = $this->twig->render('@Storybook/preview.html.twig');
23+
24+
return new Response($content);
25+
}
26+
}

src/DependencyInjection/StorybookExtension.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
use Storybook\Command\GeneratePreviewCommand;
1010
use Storybook\Command\StorybookInitCommand;
1111
use Storybook\Controller\StorybookController;
12+
use Storybook\Controller\StorybookPreviewController;
1213
use Storybook\DependencyInjection\Compiler\CacheWarmerPass;
1314
use Storybook\DependencyInjection\Compiler\ComponentMockPass;
1415
use Storybook\EventListener\ProxyRequestListener;
@@ -83,6 +84,13 @@ static function (ChildDefinition $definition, AsComponentMock $attributeInstance
8384
->addTag('controller.service_arguments')
8485
;
8586

87+
// Preview controller
88+
$container->register('storybook.controller.preview', StorybookPreviewController::class)
89+
->setArgument(0, new Reference('twig'))
90+
->setArgument(1, new Reference('event_dispatcher'))
91+
->addTag('controller.service_arguments')
92+
;
93+
8694
// Story renderer
8795
$defaultSandboxConfig = [
8896
'allowedTags' => ['component'],

storybook/dist/builders/webpack-builder.js

Lines changed: 8 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

storybook/dist/builders/webpack-builder.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

storybook/dist/index.d.mts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,14 @@ type FrameworkName = '@sensiolabs/storybook-symfony-webpack5';
3434
type BuilderName = '@storybook/builder-webpack5';
3535
type ProxyPaths = string[] | string;
3636
type SymfonyOptions = {
37+
/**
38+
* Symfony project directory.
39+
*/
40+
projectDir: string;
41+
/**
42+
* Storybook cache directory.
43+
*/
44+
storybookCachePath: string;
3745
/**
3846
* Symfony server URL.
3947
*/

storybook/dist/index.d.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,14 @@ type FrameworkName = '@sensiolabs/storybook-symfony-webpack5';
3434
type BuilderName = '@storybook/builder-webpack5';
3535
type ProxyPaths = string[] | string;
3636
type SymfonyOptions = {
37+
/**
38+
* Symfony project directory.
39+
*/
40+
projectDir: string;
41+
/**
42+
* Storybook cache directory.
43+
*/
44+
storybookCachePath: string;
3745
/**
3846
* Symfony server URL.
3947
*/

0 commit comments

Comments
 (0)