summaryrefslogtreecommitdiff
path: root/cli/module_graph.rs
diff options
context:
space:
mode:
Diffstat (limited to 'cli/module_graph.rs')
-rw-r--r--cli/module_graph.rs18
1 files changed, 10 insertions, 8 deletions
diff --git a/cli/module_graph.rs b/cli/module_graph.rs
index 368df0a74..5bfa52e89 100644
--- a/cli/module_graph.rs
+++ b/cli/module_graph.rs
@@ -12,6 +12,7 @@ use crate::config_file::IgnoredCompilerOptions;
use crate::config_file::TsConfig;
use crate::diagnostics::Diagnostics;
use crate::import_map::ImportMap;
+use crate::import_map::ImportMapError;
use crate::info;
use crate::lockfile::Lockfile;
use crate::media_type::MediaType;
@@ -397,10 +398,13 @@ impl Module {
Ok(specifier) => Some(specifier),
Err(any_error) => {
match any_error.downcast_ref::<ModuleResolutionError>() {
- Some(ModuleResolutionError::ImportPrefixMissing(_, _)) => None,
- _ => {
- return Err(any_error);
- }
+ Some(ModuleResolutionError::ImportPrefixMissing(..)) => None,
+ _ => match any_error.downcast_ref::<ImportMapError>() {
+ Some(ImportMapError::UnmappedBareSpecifier(..)) => None,
+ _ => {
+ return Err(any_error);
+ }
+ },
}
}
};
@@ -447,10 +451,8 @@ impl Module {
) -> Result<ModuleSpecifier, AnyError> {
let maybe_resolve = if let Some(import_map) = self.maybe_import_map.clone()
{
- import_map
- .lock()
- .unwrap()
- .resolve(specifier, self.specifier.as_str())?
+ let import_map = import_map.lock().unwrap();
+ Some(import_map.resolve(specifier, self.specifier.as_str())?)
} else {
None
};