diff options
Diffstat (limited to 'cli/ops.rs')
-rw-r--r-- | cli/ops.rs | 18 |
1 files changed, 3 insertions, 15 deletions
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, |