summaryrefslogtreecommitdiff
path: root/cli/state.rs
diff options
context:
space:
mode:
Diffstat (limited to 'cli/state.rs')
-rw-r--r--cli/state.rs14
1 files changed, 14 insertions, 0 deletions
diff --git a/cli/state.rs b/cli/state.rs
index 7a3541af7..ef63dad97 100644
--- a/cli/state.rs
+++ b/cli/state.rs
@@ -46,10 +46,23 @@ impl CliModuleLoader {
impl ModuleLoader for CliModuleLoader {
fn resolve(
&self,
+ op_state: Rc<RefCell<OpState>>,
specifier: &str,
referrer: &str,
is_main: bool,
) -> Result<ModuleSpecifier, AnyError> {
+ let global_state = {
+ let state = op_state.borrow();
+ state.borrow::<Arc<GlobalState>>().clone()
+ };
+
+ // FIXME(bartlomieju): hacky way to provide compatibility with repl
+ let referrer = if referrer.is_empty() && global_state.flags.repl {
+ "<unknown>"
+ } else {
+ referrer
+ };
+
if !is_main {
if let Some(import_map) = &self.import_map {
let result = import_map.resolve(specifier, referrer)?;
@@ -58,6 +71,7 @@ impl ModuleLoader for CliModuleLoader {
}
}
}
+
let module_specifier =
ModuleSpecifier::resolve_import(specifier, referrer)?;