From f6d6b24506410816833d802e1a8d9cd704f73289 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bartek=20Iwa=C5=84czuk?= Date: Wed, 17 Feb 2021 14:32:57 +0100 Subject: feat: support loading import map from URL (#9519) This commit adds support for loading import maps from URLs, both remote and local. This feature is supported in CLI flag as well as in runtime compiler API. --- cli/ops/runtime_compiler.rs | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'cli/ops/runtime_compiler.rs') diff --git a/cli/ops/runtime_compiler.rs b/cli/ops/runtime_compiler.rs index a3c0af4d1..f54e7d206 100644 --- a/cli/ops/runtime_compiler.rs +++ b/cli/ops/runtime_compiler.rs @@ -75,19 +75,22 @@ async fn op_emit( is_dynamic = true; Arc::new(Mutex::new(FetchHandler::new( &program_state, - runtime_permissions, + runtime_permissions.clone(), )?)) }; let maybe_import_map = if let Some(import_map_str) = args.import_map_path { let import_map_specifier = - ModuleSpecifier::resolve_url_or_path(&import_map_str).context( - format!("Bad file path (\"{}\") for import map.", import_map_str), - )?; + ModuleSpecifier::resolve_url_or_path(&import_map_str) + .context(format!("Bad URL (\"{}\") for import map.", import_map_str))?; let import_map_url = import_map_specifier.as_url(); let import_map = if let Some(value) = args.import_map { ImportMap::from_json(&import_map_url.to_string(), &value.to_string())? } else { - ImportMap::load(&import_map_str)? + let file = program_state + .file_fetcher + .fetch(&import_map_specifier, &runtime_permissions) + .await?; + ImportMap::from_json(import_map_specifier.as_str(), &file.source)? }; Some(import_map) } else if args.import_map.is_some() { -- cgit v1.2.3