summaryrefslogtreecommitdiff
path: root/cli/standalone.rs
diff options
context:
space:
mode:
authorDivy Srivastava <dj.srivastava23@gmail.com>2022-03-31 14:11:30 +0530
committerGitHub <noreply@github.com>2022-03-31 14:11:30 +0530
commitb0f974fbfd39db2d7c9d37d4c3ed3f21526d7ca3 (patch)
tree6efb0f69737993cfd0b7551e05a951162a73ede4 /cli/standalone.rs
parent1d24b2cf6335d18ccf8c9c9840fd466011f546c3 (diff)
fix(compile): follow redirects when resolving (#14161)
Diffstat (limited to 'cli/standalone.rs')
-rw-r--r--cli/standalone.rs10
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())