summaryrefslogtreecommitdiff
path: root/cli/ops.rs
diff options
context:
space:
mode:
Diffstat (limited to 'cli/ops.rs')
-rw-r--r--cli/ops.rs18
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,