diff options
Diffstat (limited to 'cli/standalone.rs')
-rw-r--r-- | cli/standalone.rs | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/cli/standalone.rs b/cli/standalone.rs index bea29f263..5005fd142 100644 --- a/cli/standalone.rs +++ b/cli/standalone.rs @@ -135,7 +135,14 @@ impl ModuleLoader for EmbeddedModuleLoader { referrer: &str, _is_main: bool, ) -> Result<ModuleSpecifier, AnyError> { - let referrer = deno_core::resolve_url_or_path(referrer).unwrap(); + // Try to follow redirects when resolving. + let referrer = match self.eszip.get_module(referrer) { + Some(eszip::Module { ref specifier, .. }) => { + deno_core::resolve_url_or_path(specifier)? + } + None => deno_core::resolve_url_or_path(referrer)?, + }; + self.maybe_import_map_resolver.as_ref().map_or_else( || { deno_core::resolve_import(specifier, referrer.as_str()) @@ -154,7 +161,6 @@ impl ModuleLoader for EmbeddedModuleLoader { let module_specifier = module_specifier.clone(); let is_data_uri = get_source_from_data_url(&module_specifier).ok(); - let module = self .eszip .get_module(module_specifier.as_str()) |