diff options
author | Vedant Pandey <vedantpandey46@gmail.com> | 2023-07-25 21:53:43 +0530 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-07-25 18:23:43 +0200 |
commit | 4a5aaceb26cb7441d0702d30961e0059256826b7 (patch) | |
tree | 50b157a21bcf09ec9ab48d0ef86fa598193a39c0 /cli/tools/info.rs | |
parent | bd79baea5e6734ab70802cd2c2532a491a987ff7 (diff) |
fix: deno info should respect import map (#19781)
Closes #19742
Diffstat (limited to 'cli/tools/info.rs')
-rw-r--r-- | cli/tools/info.rs | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/cli/tools/info.rs b/cli/tools/info.rs index 95a7da7b0..2262f1423 100644 --- a/cli/tools/info.rs +++ b/cli/tools/info.rs @@ -40,7 +40,25 @@ pub async fn info(flags: Flags, info_flags: InfoFlags) -> Result<(), AnyError> { let module_graph_builder = factory.module_graph_builder().await?; let npm_resolver = factory.npm_resolver().await?; let maybe_lockfile = factory.maybe_lockfile(); - let specifier = resolve_url_or_path(&specifier, cli_options.initial_cwd())?; + let maybe_imports_map = factory.maybe_import_map().await?; + + let maybe_import_specifier = if let Some(imports_map) = maybe_imports_map { + if let Ok(imports_specifier) = + imports_map.resolve(&specifier, imports_map.base_url()) + { + Some(imports_specifier) + } else { + None + } + } else { + None + }; + + let specifier = match maybe_import_specifier { + Some(specifier) => specifier, + None => resolve_url_or_path(&specifier, cli_options.initial_cwd())?, + }; + let mut loader = module_graph_builder.create_graph_loader(); loader.enable_loading_cache_info(); // for displaying the cache information let graph = module_graph_builder |