From 01858f115ae4c051a0beb5c1719c59431562f43e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bartek=20Iwa=C5=84czuk?= Date: Tue, 18 Jun 2019 16:23:06 +0200 Subject: fix: use Loader::resolve in op_fetch_module_meta_data (#2519) --- cli/ops.rs | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) (limited to 'cli') diff --git a/cli/ops.rs b/cli/ops.rs index 2155dcd5a..a9279f070 100644 --- a/cli/ops.rs +++ b/cli/ops.rs @@ -29,6 +29,7 @@ use deno::js_check; use deno::Buf; use deno::CoreOp; use deno::JSError; +use deno::Loader; use deno::ModuleSpecifier; use deno::Op; use deno::OpResult; @@ -507,25 +508,12 @@ fn op_fetch_module_meta_data( let use_cache = !state.flags.reload; let no_fetch = state.flags.no_fetch; - - // TODO(bartlomieju): I feel this is wrong - specifier is only resolved if there's an - // import map - why it is not always resolved? Eg. "bad-module.ts" will return NotFound - // error whilst it should return RelativeUrlWithCannotBeABaseBase error - let resolved_specifier = match &state.import_map { - Some(import_map) => match import_map.resolve(specifier, referrer) { - Ok(result) => match result { - Some(module_specifier) => module_specifier.to_string(), - None => specifier.to_string(), - }, - Err(err) => return Err(DenoError::from(err)), - }, - None => specifier.to_string(), - }; + let resolved_specifier = state.resolve(specifier, referrer, false)?; let fut = state .dir .fetch_module_meta_data_async( - &resolved_specifier, + &resolved_specifier.to_string(), referrer, use_cache, no_fetch, -- cgit v1.2.3