diff --git a/src/DependencyInjection/WebpackEncoreExtension.php b/src/DependencyInjection/WebpackEncoreExtension.php index d251631c..0a6c0e9c 100644 --- a/src/DependencyInjection/WebpackEncoreExtension.php +++ b/src/DependencyInjection/WebpackEncoreExtension.php @@ -39,6 +39,9 @@ public function load(array $configs, ContainerBuilder $container) if (false !== $config['output_path']) { $factories['_default'] = $this->entrypointFactory($container, '_default', $config['output_path'], $config['cache'], $config['strict_mode']); $cacheKeys['_default'] = $config['output_path'].'/'.self::ENTRYPOINTS_FILE_NAME; + + $container->getDefinition('webpack_encore.entrypoint_lookup_collection') + ->setArgument(1, '_default'); } foreach ($config['builds'] as $name => $path) { diff --git a/tests/IntegrationTest.php b/tests/IntegrationTest.php index 5e54d43e..d4e7af42 100644 --- a/tests/IntegrationTest.php +++ b/tests/IntegrationTest.php @@ -163,6 +163,19 @@ public function testPreload() $response = $kernel->handle($request); $this->assertContains('; rel="preload"; as="script"', $response->headers->get('Link')); } + + public function testAutowireDefaultBuildArgument() + { + $kernel = new WebpackEncoreIntegrationTestKernel(true); + $kernel->boot(); + $container = $kernel->getContainer(); + + $container->get('public.webpack_encore.entrypoint_lookup_collection') + ->getEntrypointLookup(); + + // Testing that it doesn't throw an exception is enough + $this->assertTrue(true); + } } class WebpackEncoreIntegrationTestKernel extends Kernel @@ -231,6 +244,9 @@ protected function configureContainer(ContainerBuilder $container, LoaderInterfa $container->setAlias(new Alias('public.webpack_encore.tag_renderer', true), 'webpack_encore.tag_renderer'); $container->getAlias('public.webpack_encore.tag_renderer')->setPrivate(false); + $container->setAlias(new Alias('public.webpack_encore.entrypoint_lookup_collection', true), 'webpack_encore.entrypoint_lookup_collection'); + $container->getAlias('public.webpack_encore.entrypoint_lookup_collection')->setPrivate(false); + // avoid logging request logs $container->register('logger', Logger::class) ->setArgument(0, LogLevel::EMERGENCY);