summaryrefslogtreecommitdiff
path: root/cli/module_graph.rs
diff options
context:
space:
mode:
authorNayeem Rahman <nayeemrmn99@gmail.com>2021-05-31 01:20:34 +0100
committerBert Belder <bertbelder@gmail.com>2021-05-31 16:37:36 +0200
commit8a7e1c616d12feb93ed3fda4a70228924c747b5c (patch)
tree272be52d9062243f67cc3a50c1bda8ad95bb0c64 /cli/module_graph.rs
parent925ba8fbbf947c2c95a616b43e3f89e20cd69e93 (diff)
fix(cli): Don't statically error on dynamic unmapped bare specifiers (#10618)
Fixes #10168 Fixes #10615 Fixes #10616
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
};