diff options
author | Bartek IwaĆczuk <biwanczuk@gmail.com> | 2021-02-17 14:32:57 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-02-17 14:32:57 +0100 |
commit | f6d6b24506410816833d802e1a8d9cd704f73289 (patch) | |
tree | 6ae2a286708ce0e2777aae0c5de616f7a39d7a6b /cli/ops/runtime_compiler.rs | |
parent | 097efa100ad9d2b1f190330f9fb619c95fe86352 (diff) |
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.
Diffstat (limited to 'cli/ops/runtime_compiler.rs')
-rw-r--r-- | cli/ops/runtime_compiler.rs | 13 |
1 files changed, 8 insertions, 5 deletions
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() { |