From b5e39ec1e65462f3d639415546b5c25617a43fbe Mon Sep 17 00:00:00 2001 From: Ruud Kamphuis Date: Thu, 23 May 2024 13:24:31 +0200 Subject: [PATCH] Do not require `http_client` service This makes it possible to use AssetMapper with `http_client` disabled on the framework. Example: ```php $configurator->extension( 'framework', [ 'http_client' => [ 'enabled' => false, ], 'asset_mapper' => [ 'paths' => [ 'assets/', ], ], ] ); ``` --- .../FrameworkBundle/Resources/config/asset_mapper.php | 6 +++--- .../AssetMapper/ImportMap/ImportMapUpdateChecker.php | 6 +++++- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/config/asset_mapper.php b/src/Symfony/Bundle/FrameworkBundle/Resources/config/asset_mapper.php index b7ce65f030345..ae7039db2b8f7 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Resources/config/asset_mapper.php +++ b/src/Symfony/Bundle/FrameworkBundle/Resources/config/asset_mapper.php @@ -197,7 +197,7 @@ ]) ->set('asset_mapper.importmap.resolver', JsDelivrEsmResolver::class) - ->args([service('http_client')]) + ->args([service('http_client')->nullOnInvalid()]) ->set('asset_mapper.importmap.renderer', ImportMapRenderer::class) ->args([ @@ -212,12 +212,12 @@ ->set('asset_mapper.importmap.auditor', ImportMapAuditor::class) ->args([ service('asset_mapper.importmap.config_reader'), - service('http_client'), + service('http_client')->nullOnInvalid(), ]) ->set('asset_mapper.importmap.update_checker', ImportMapUpdateChecker::class) ->args([ service('asset_mapper.importmap.config_reader'), - service('http_client'), + service('http_client')->nullOnInvalid(), ]) ->set('asset_mapper.importmap.command.require', ImportMapRequireCommand::class) diff --git a/src/Symfony/Component/AssetMapper/ImportMap/ImportMapUpdateChecker.php b/src/Symfony/Component/AssetMapper/ImportMap/ImportMapUpdateChecker.php index b64a067609850..3c22499c4d179 100644 --- a/src/Symfony/Component/AssetMapper/ImportMap/ImportMapUpdateChecker.php +++ b/src/Symfony/Component/AssetMapper/ImportMap/ImportMapUpdateChecker.php @@ -11,16 +11,20 @@ namespace Symfony\Component\AssetMapper\ImportMap; +use Symfony\Component\HttpClient\HttpClient; use Symfony\Contracts\HttpClient\HttpClientInterface; class ImportMapUpdateChecker { private const URL_PACKAGE_METADATA = 'https://registry.npmjs.org/%s'; + private readonly HttpClientInterface $httpClient; + public function __construct( private readonly ImportMapConfigReader $importMapConfigReader, - private readonly HttpClientInterface $httpClient, + ?HttpClientInterface $httpClient = null, ) { + $this->httpClient = $httpClient ?? HttpClient::create(); } /** pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy