summaryrefslogtreecommitdiff
path: root/cli/ops/runtime_compiler.rs
diff options
context:
space:
mode:
authorBartek IwaƄczuk <biwanczuk@gmail.com>2021-02-17 14:32:57 +0100
committerGitHub <noreply@github.com>2021-02-17 14:32:57 +0100
commitf6d6b24506410816833d802e1a8d9cd704f73289 (patch)
tree6ae2a286708ce0e2777aae0c5de616f7a39d7a6b /cli/ops/runtime_compiler.rs
parent097efa100ad9d2b1f190330f9fb619c95fe86352 (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.rs13
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() {