From 3db76d1584a44d9422ae62f18a850f63143cfccc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20Andr=C3=A9?= Date: Wed, 24 Sep 2025 20:47:34 +0200 Subject: [PATCH] [Chartjs][Notify][React][Svelte] Remove StimulusHelper deprecation for 3.0 --- src/Chartjs/CHANGELOG.md | 1 + src/Chartjs/src/Twig/ChartExtension.php | 16 ++-------------- src/Notify/CHANGELOG.md | 1 + src/Notify/src/Twig/NotifyRuntime.php | 14 +------------- src/React/CHANGELOG.md | 1 + src/React/src/Twig/ReactComponentExtension.php | 14 +------------- src/Svelte/CHANGELOG.md | 1 + src/Svelte/src/Twig/SvelteComponentExtension.php | 14 +------------- src/Vue/src/Twig/VueComponentExtension.php | 14 +++++++++++++- 9 files changed, 22 insertions(+), 54 deletions(-) diff --git a/src/Chartjs/CHANGELOG.md b/src/Chartjs/CHANGELOG.md index 4e8351afff9..4d8366de4fd 100644 --- a/src/Chartjs/CHANGELOG.md +++ b/src/Chartjs/CHANGELOG.md @@ -4,6 +4,7 @@ - Minimum required Symfony version is now 6.4 - Minimum required PHP version is now 8.2 +- Remove old compatibility layer with deprecated `StimulusTwigExtension` from WebpackEncoreBundle ^1.0, use StimulusBundle instead ## 2.30 diff --git a/src/Chartjs/src/Twig/ChartExtension.php b/src/Chartjs/src/Twig/ChartExtension.php index e893d31728d..cde0fd6cb8d 100644 --- a/src/Chartjs/src/Twig/ChartExtension.php +++ b/src/Chartjs/src/Twig/ChartExtension.php @@ -13,7 +13,6 @@ use Symfony\UX\Chartjs\Model\Chart; use Symfony\UX\StimulusBundle\Helper\StimulusHelper; -use Symfony\WebpackEncoreBundle\Twig\StimulusTwigExtension; use Twig\Extension\AbstractExtension; use Twig\TwigFunction; @@ -24,19 +23,8 @@ */ class ChartExtension extends AbstractExtension { - private $stimulus; - - /** - * @param $stimulus StimulusHelper - */ - public function __construct(StimulusHelper|StimulusTwigExtension $stimulus) + public function __construct(private StimulusHelper $stimulusHelper) { - if ($stimulus instanceof StimulusTwigExtension) { - trigger_deprecation('symfony/ux-chartjs', '2.9', 'Passing an instance of "%s" to "%s" is deprecated, pass an instance of "%s" instead.', StimulusTwigExtension::class, __CLASS__, StimulusHelper::class); - $stimulus = new StimulusHelper(null); - } - - $this->stimulus = $stimulus; } public function getFunctions(): array @@ -56,7 +44,7 @@ public function renderChart(Chart $chart, array $attributes = []): string } $controllers['@symfony/ux-chartjs/chart'] = ['view' => $chart->createView()]; - $stimulusAttributes = $this->stimulus->createStimulusAttributes(); + $stimulusAttributes = $this->stimulusHelper->createStimulusAttributes(); foreach ($controllers as $name => $controllerValues) { $stimulusAttributes->addController($name, $controllerValues); } diff --git a/src/Notify/CHANGELOG.md b/src/Notify/CHANGELOG.md index 5e71d69fcb6..0742889d003 100644 --- a/src/Notify/CHANGELOG.md +++ b/src/Notify/CHANGELOG.md @@ -4,6 +4,7 @@ - Minimum required Symfony version is now 6.4 - Minimum required PHP version is now 8.2 +- Remove old compatibility layer with deprecated `StimulusTwigExtension` from WebpackEncoreBundle ^1.0, use StimulusBundle instead ## 2.30 diff --git a/src/Notify/src/Twig/NotifyRuntime.php b/src/Notify/src/Twig/NotifyRuntime.php index 374c0b529da..d61c1032af7 100644 --- a/src/Notify/src/Twig/NotifyRuntime.php +++ b/src/Notify/src/Twig/NotifyRuntime.php @@ -13,7 +13,6 @@ use Symfony\Component\Mercure\HubInterface; use Symfony\UX\StimulusBundle\Helper\StimulusHelper; -use Symfony\WebpackEncoreBundle\Twig\StimulusTwigExtension; use Twig\Extension\RuntimeExtensionInterface; /** @@ -21,21 +20,10 @@ */ final class NotifyRuntime implements RuntimeExtensionInterface { - private StimulusHelper $stimulusHelper; - - /** - * @param $stimulus StimulusHelper - */ public function __construct( private HubInterface $hub, - StimulusHelper|StimulusTwigExtension $stimulus, + private StimulusHelper $stimulusHelper, ) { - if ($stimulus instanceof StimulusTwigExtension) { - trigger_deprecation('symfony/ux-notify', '2.9', 'Passing an instance of "%s" to "%s" is deprecated, pass an instance of "%s" instead.', StimulusTwigExtension::class, __CLASS__, StimulusHelper::class); - $stimulus = new StimulusHelper(null); - } - - $this->stimulusHelper = $stimulus; } public function renderStreamNotifications(array|string $topics = [], array $options = []): string diff --git a/src/React/CHANGELOG.md b/src/React/CHANGELOG.md index 8e7ee08bab3..d62efc6f90c 100644 --- a/src/React/CHANGELOG.md +++ b/src/React/CHANGELOG.md @@ -4,6 +4,7 @@ - Minimum required Symfony version is now 6.4 - Minimum required PHP version is now 8.2 +- Remove old compatibility layer with deprecated `StimulusTwigExtension` from WebpackEncoreBundle ^1.0, use StimulusBundle instead ## 2.30 diff --git a/src/React/src/Twig/ReactComponentExtension.php b/src/React/src/Twig/ReactComponentExtension.php index 9780df3147b..aaf125d5c27 100644 --- a/src/React/src/Twig/ReactComponentExtension.php +++ b/src/React/src/Twig/ReactComponentExtension.php @@ -12,7 +12,6 @@ namespace Symfony\UX\React\Twig; use Symfony\UX\StimulusBundle\Helper\StimulusHelper; -use Symfony\WebpackEncoreBundle\Twig\StimulusTwigExtension; use Twig\Extension\AbstractExtension; use Twig\TwigFunction; @@ -23,19 +22,8 @@ */ class ReactComponentExtension extends AbstractExtension { - private $stimulusHelper; - - /** - * @param $stimulus StimulusHelper - */ - public function __construct(StimulusHelper|StimulusTwigExtension $stimulus) + public function __construct(private StimulusHelper $stimulusHelper) { - if ($stimulus instanceof StimulusTwigExtension) { - trigger_deprecation('symfony/ux-react', '2.9', 'Passing an instance of "%s" to "%s" is deprecated, pass an instance of "%s" instead.', StimulusTwigExtension::class, __CLASS__, StimulusHelper::class); - $stimulus = new StimulusHelper(null); - } - - $this->stimulusHelper = $stimulus; } public function getFunctions(): array diff --git a/src/Svelte/CHANGELOG.md b/src/Svelte/CHANGELOG.md index 73b7ce4f0b8..d9c27105165 100644 --- a/src/Svelte/CHANGELOG.md +++ b/src/Svelte/CHANGELOG.md @@ -4,6 +4,7 @@ - Minimum required Symfony version is now 6.4 - Minimum required PHP version is now 8.2 +- Remove old compatibility layer with deprecated `StimulusTwigExtension` from WebpackEncoreBundle ^1.0, use StimulusBundle instead ## 2.30 diff --git a/src/Svelte/src/Twig/SvelteComponentExtension.php b/src/Svelte/src/Twig/SvelteComponentExtension.php index 9c3c4cd924d..0e0264cc922 100644 --- a/src/Svelte/src/Twig/SvelteComponentExtension.php +++ b/src/Svelte/src/Twig/SvelteComponentExtension.php @@ -12,7 +12,6 @@ namespace Symfony\UX\Svelte\Twig; use Symfony\UX\StimulusBundle\Helper\StimulusHelper; -use Symfony\WebpackEncoreBundle\Twig\StimulusTwigExtension; use Twig\Extension\AbstractExtension; use Twig\TwigFunction; @@ -24,19 +23,8 @@ */ class SvelteComponentExtension extends AbstractExtension { - private $stimulusHelper; - - /** - * @param $stimulus StimulusHelper - */ - public function __construct(StimulusHelper|StimulusTwigExtension $stimulus) + public function __construct(private StimulusHelper $stimulusHelper) { - if ($stimulus instanceof StimulusTwigExtension) { - trigger_deprecation('symfony/ux-svelte', '2.9', 'Passing an instance of "%s" to "%s" is deprecated, pass an instance of "%s" instead.', StimulusTwigExtension::class, __CLASS__, StimulusHelper::class); - $stimulus = new StimulusHelper(null); - } - - $this->stimulusHelper = $stimulus; } public function getFunctions(): array diff --git a/src/Vue/src/Twig/VueComponentExtension.php b/src/Vue/src/Twig/VueComponentExtension.php index 6426976a526..322a143340e 100644 --- a/src/Vue/src/Twig/VueComponentExtension.php +++ b/src/Vue/src/Twig/VueComponentExtension.php @@ -12,6 +12,7 @@ namespace Symfony\UX\Vue\Twig; use Symfony\UX\StimulusBundle\Helper\StimulusHelper; +use Symfony\WebpackEncoreBundle\Twig\StimulusTwigExtension; use Twig\Extension\AbstractExtension; use Twig\TwigFunction; @@ -23,8 +24,19 @@ */ class VueComponentExtension extends AbstractExtension { - public function __construct(private StimulusHelper $stimulusHelper) + private $stimulusHelper; + + /** + * @param $stimulus StimulusHelper + */ + public function __construct(StimulusHelper|StimulusTwigExtension $stimulus) { + if ($stimulus instanceof StimulusTwigExtension) { + trigger_deprecation('symfony/ux-vue', '2.9', 'Passing an instance of "%s" to "%s" is deprecated, pass an instance of "%s" instead.', StimulusTwigExtension::class, __CLASS__, StimulusHelper::class); + $stimulus = new StimulusHelper(null); + } + + $this->stimulusHelper = $stimulus; } public function getFunctions(): array