Skip to content

Commit 822d684

Browse files
weaverryanfabpot
authored andcommitted
[AssetMapper] Always downloading vendor files
1 parent f885e1b commit 822d684

File tree

7 files changed

+21
-51
lines changed

7 files changed

+21
-51
lines changed

CHANGELOG.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,9 @@ CHANGELOG
2626
* Deprecate `framework.validation.enable_annotations`, use `framework.validation.enable_attributes` instead
2727
* Deprecate `framework.serializer.enable_annotations`, use `framework.serializer.enable_attributes` instead
2828
* Add `array $tokenAttributes = []` optional parameter to `KernelBrowser::loginUser()`
29-
* Add support for relative URLs in BrowserKit's redirect assertion.
29+
* Add support for relative URLs in BrowserKit's redirect assertion
3030
* Change BrowserKitAssertionsTrait::getClient() to be protected
31+
* Deprecate the `framework.asset_mapper.provider` config option
3132

3233
6.3
3334
---

DependencyInjection/Compiler/UnusedTagsPass.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ class UnusedTagsPass implements CompilerPassInterface
2525
'annotations.cached_reader',
2626
'assets.package',
2727
'asset_mapper.compiler',
28-
'asset_mapper.importmap.resolver',
2928
'auto_alias',
3029
'cache.pool',
3130
'cache.pool.clearer',

DependencyInjection/Configuration.php

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
use Symfony\Bundle\FullStack;
1919
use Symfony\Component\Asset\Package;
2020
use Symfony\Component\AssetMapper\AssetMapper;
21-
use Symfony\Component\AssetMapper\ImportMap\ImportMapManager;
2221
use Symfony\Component\Cache\Adapter\DoctrineAdapter;
2322
use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition;
2423
use Symfony\Component\Config\Definition\Builder\NodeBuilder;
@@ -940,8 +939,7 @@ private function addAssetMapperSection(ArrayNodeDefinition $rootNode, callable $
940939
->defaultValue('%kernel.project_dir%/assets/vendor')
941940
->end()
942941
->scalarNode('provider')
943-
->info('The provider (CDN) to use'.(class_exists(ImportMapManager::class) ? sprintf(' (e.g.: "%s").', implode('", "', ImportMapManager::PROVIDERS)) : '.'))
944-
->defaultValue('jsdelivr.esm')
942+
->setDeprecated('symfony/framework-bundle', '6.4', 'Option "%node%" at "%path%" is deprecated and does nothing. Remove it.')
945943
->end()
946944
->end()
947945
->end()

DependencyInjection/FrameworkExtension.php

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@
3434
use Symfony\Component\AssetMapper\AssetMapper;
3535
use Symfony\Component\AssetMapper\Compiler\AssetCompilerInterface;
3636
use Symfony\Component\AssetMapper\ImportMap\ImportMapManager;
37-
use Symfony\Component\AssetMapper\ImportMap\Resolver\PackageResolverInterface;
3837
use Symfony\Component\BrowserKit\AbstractBrowser;
3938
use Symfony\Component\Cache\Adapter\AdapterInterface;
4039
use Symfony\Component\Cache\Adapter\ArrayAdapter;
@@ -1364,28 +1363,24 @@ private function registerAssetMapperConfiguration(array $config, ContainerBuilde
13641363
->setArgument(1, $config['missing_import_mode']);
13651364

13661365
$container
1367-
->getDefinition('asset_mapper.importmap.manager')
1368-
->replaceArgument(3, $config['vendor_dir'])
1366+
->getDefinition('asset_mapper.importmap.remote_package_downloader')
1367+
->replaceArgument(2, $config['vendor_dir'])
13691368
;
1370-
13711369
$container
1372-
->getDefinition('asset_mapper.importmap.config_reader')
1373-
->replaceArgument(0, $config['importmap_path'])
1370+
->getDefinition('asset_mapper.mapped_asset_factory')
1371+
->replaceArgument(2, $config['vendor_dir'])
13741372
;
13751373

13761374
$container
1377-
->getDefinition('asset_mapper.importmap.resolver')
1378-
->replaceArgument(0, $config['provider'])
1375+
->getDefinition('asset_mapper.importmap.config_reader')
1376+
->replaceArgument(0, $config['importmap_path'])
13791377
;
13801378

13811379
$container
13821380
->getDefinition('asset_mapper.importmap.renderer')
13831381
->replaceArgument(3, $config['importmap_polyfill'] ?? ImportMapManager::POLYFILL_URL)
13841382
->replaceArgument(4, $config['importmap_script_attributes'])
13851383
;
1386-
1387-
$container->registerForAutoconfiguration(PackageResolverInterface::class)
1388-
->addTag('asset_mapper.importmap.resolver');
13891384
}
13901385

13911386
/**

Resources/config/asset_mapper.php

Lines changed: 12 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,8 @@
3232
use Symfony\Component\AssetMapper\ImportMap\ImportMapConfigReader;
3333
use Symfony\Component\AssetMapper\ImportMap\ImportMapManager;
3434
use Symfony\Component\AssetMapper\ImportMap\ImportMapRenderer;
35+
use Symfony\Component\AssetMapper\ImportMap\RemotePackageDownloader;
3536
use Symfony\Component\AssetMapper\ImportMap\Resolver\JsDelivrEsmResolver;
36-
use Symfony\Component\AssetMapper\ImportMap\Resolver\JspmResolver;
37-
use Symfony\Component\AssetMapper\ImportMap\Resolver\PackageResolver;
3837
use Symfony\Component\AssetMapper\MapperAwareAssetPackage;
3938
use Symfony\Component\AssetMapper\Path\PublicAssetsPathResolver;
4039
use Symfony\Component\HttpKernel\Event\RequestEvent;
@@ -53,6 +52,7 @@
5352
->args([
5453
service('asset_mapper.public_assets_path_resolver'),
5554
service('asset_mapper_compiler'),
55+
abstract_arg('vendor directory'),
5656
])
5757

5858
->set('asset_mapper.cached_mapped_asset_factory', CachedMappedAssetFactory::class)
@@ -150,41 +150,20 @@
150150
service('asset_mapper'),
151151
service('asset_mapper.public_assets_path_resolver'),
152152
service('asset_mapper.importmap.config_reader'),
153-
abstract_arg('vendor directory'),
153+
service('asset_mapper.importmap.remote_package_downloader'),
154154
service('asset_mapper.importmap.resolver'),
155-
service('http_client'),
156155
])
157156
->alias(ImportMapManager::class, 'asset_mapper.importmap.manager')
158157

159-
->set('asset_mapper.importmap.resolver', PackageResolver::class)
158+
->set('asset_mapper.importmap.remote_package_downloader', RemotePackageDownloader::class)
160159
->args([
161-
abstract_arg('provider'),
162-
tagged_locator('asset_mapper.importmap.resolver'),
160+
service('asset_mapper.importmap.config_reader'),
161+
service('asset_mapper.importmap.resolver'),
162+
abstract_arg('vendor directory'),
163163
])
164164

165-
->set('asset_mapper.importmap.resolver.jsdelivr_esm', JsDelivrEsmResolver::class)
165+
->set('asset_mapper.importmap.resolver', JsDelivrEsmResolver::class)
166166
->args([service('http_client')])
167-
->tag('asset_mapper.importmap.resolver', ['resolver' => ImportMapManager::PROVIDER_JSDELIVR_ESM])
168-
169-
->set('asset_mapper.importmap.resolver.jspm', JspmResolver::class)
170-
->args([service('http_client'), ImportMapManager::PROVIDER_JSPM])
171-
->tag('asset_mapper.importmap.resolver', ['resolver' => ImportMapManager::PROVIDER_JSPM])
172-
173-
->set('asset_mapper.importmap.resolver.jspm_system', JspmResolver::class)
174-
->args([service('http_client'), ImportMapManager::PROVIDER_JSPM_SYSTEM])
175-
->tag('asset_mapper.importmap.resolver', ['resolver' => ImportMapManager::PROVIDER_JSPM_SYSTEM])
176-
177-
->set('asset_mapper.importmap.resolver.skypack', JspmResolver::class)
178-
->args([service('http_client'), ImportMapManager::PROVIDER_SKYPACK])
179-
->tag('asset_mapper.importmap.resolver', ['resolver' => ImportMapManager::PROVIDER_SKYPACK])
180-
181-
->set('asset_mapper.importmap.resolver.jsdelivr', JspmResolver::class)
182-
->args([service('http_client'), ImportMapManager::PROVIDER_JSDELIVR])
183-
->tag('asset_mapper.importmap.resolver', ['resolver' => ImportMapManager::PROVIDER_JSDELIVR])
184-
185-
->set('asset_mapper.importmap.resolver.unpkg', JspmResolver::class)
186-
->args([service('http_client'), ImportMapManager::PROVIDER_UNPKG])
187-
->tag('asset_mapper.importmap.resolver', ['resolver' => ImportMapManager::PROVIDER_UNPKG])
188167

189168
->set('asset_mapper.importmap.renderer', ImportMapRenderer::class)
190169
->args([
@@ -198,14 +177,12 @@
198177
->set('asset_mapper.importmap.auditor', ImportMapAuditor::class)
199178
->args([
200179
service('asset_mapper.importmap.config_reader'),
201-
service('asset_mapper.importmap.resolver'),
202180
service('http_client'),
203181
])
204182

205183
->set('asset_mapper.importmap.command.require', ImportMapRequireCommand::class)
206184
->args([
207185
service('asset_mapper.importmap.manager'),
208-
service('asset_mapper'),
209186
param('kernel.project_dir'),
210187
])
211188
->tag('console.command')
@@ -219,7 +196,10 @@
219196
->tag('console.command')
220197

221198
->set('asset_mapper.importmap.command.install', ImportMapInstallCommand::class)
222-
->args([service('asset_mapper.importmap.manager')])
199+
->args([
200+
service('asset_mapper.importmap.remote_package_downloader'),
201+
param('kernel.project_dir'),
202+
])
223203
->tag('console.command')
224204

225205
->set('asset_mapper.importmap.command.audit', ImportMapAuditCommand::class)

Tests/DependencyInjection/ConfigurationTest.php

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,6 @@ public function testAssetMapperCanBeEnabled()
134134
'importmap_path' => '%kernel.project_dir%/importmap.php',
135135
'importmap_polyfill' => null,
136136
'vendor_dir' => '%kernel.project_dir%/assets/vendor',
137-
'provider' => 'jsdelivr.esm',
138137
'importmap_script_attributes' => [],
139138
];
140139

@@ -671,7 +670,6 @@ protected static function getBundleDefaultConfig()
671670
'importmap_path' => '%kernel.project_dir%/importmap.php',
672671
'importmap_polyfill' => null,
673672
'vendor_dir' => '%kernel.project_dir%/assets/vendor',
674-
'provider' => 'jsdelivr.esm',
675673
'importmap_script_attributes' => [],
676674
],
677675
'cache' => [

Tests/DependencyInjection/Fixtures/xml/asset_mapper.xml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
importmap-path="%kernel.project_dir%/importmap.php"
1818
importmap-polyfill="https://cdn.example.com/polyfill.js"
1919
vendor-dir="%kernel.project_dir%/assets/vendor"
20-
provider="jspm"
2120
>
2221
<framework:path>assets/</framework:path>
2322
<framework:path namespace="my_namespace">assets2/</framework:path>

0 commit comments

Comments
 (0)