diff --git a/src/EventSubscriber/WebpackAutoPathSubscriber.php b/src/EventSubscriber/WebpackAutoPathSubscriber.php deleted file mode 100644 index f040a646..00000000 --- a/src/EventSubscriber/WebpackAutoPathSubscriber.php +++ /dev/null @@ -1,57 +0,0 @@ -. - */ - -declare(strict_types=1); - - -namespace App\EventSubscriber; - -use Symfony\Component\EventDispatcher\EventSubscriberInterface; -use Symfony\WebpackEncoreBundle\Event\RenderAssetTagEvent; - -/** - * This class fixes the wrong pathes generated by webpack using the auto publicPath mode. - * Basically it replaces the wrong /auto/ part of the path with the correct /build/ in all encore entrypoints. - */ -class WebpackAutoPathSubscriber implements EventSubscriberInterface -{ - public static function getSubscribedEvents(): array - { - return [ - RenderAssetTagEvent::class => 'onRenderAssetTag' - ]; - } - - public function onRenderAssetTag(RenderAssetTagEvent $event): void - { - if ($event->isScriptTag()) { - $event->setAttribute('src', $this->resolveAuto($event->getUrl())); - } - if ($event->isLinkTag()) { - $event->setAttribute('href', $this->resolveAuto($event->getUrl())); - } - } - - private function resolveAuto(string $path): string - { - //Replace the first occurence of /auto/ with /build/ to get the correct path - return preg_replace('/\/auto\//', '/build/', $path, 1); - } -} \ No newline at end of file diff --git a/webpack.config.js b/webpack.config.js index 46dad39f..43e04997 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -199,6 +199,6 @@ module.exports = Encore.getWebpackConfig(); module.exports.experiments = module.exports.experiments || {}; module.exports.experiments.asyncWebAssembly = true; -//Enable webpack auto public path (this only works in combination with WebpackAutoPathSubscriber!!) +//Enable webpack auto public path //We do it here to supress a warning caused by webpack Encore module.exports.output.publicPath = 'auto';