diff options
Diffstat (limited to 'cli/ops')
-rw-r--r-- | cli/ops/runtime.rs | 12 | ||||
-rw-r--r-- | cli/ops/worker_host.rs | 24 |
2 files changed, 17 insertions, 19 deletions
diff --git a/cli/ops/runtime.rs b/cli/ops/runtime.rs index 886326146..210bbfcf6 100644 --- a/cli/ops/runtime.rs +++ b/cli/ops/runtime.rs @@ -5,6 +5,7 @@ use crate::fs as deno_fs; use crate::ops::json_op; use crate::state::ThreadSafeState; use crate::version; +use crate::DenoSubcommand; use deno_core::*; use std::env; @@ -28,16 +29,13 @@ fn op_start( _zero_copy: Option<ZeroCopyBuf>, ) -> Result<JsonOp, ErrBox> { let gs = &state.global_state; - let script_args = if gs.flags.argv.len() >= 2 { - gs.flags.argv.clone().split_off(2) - } else { - vec![] - }; + Ok(JsonOp::Sync(json!({ "cwd": deno_fs::normalize_path(&env::current_dir().unwrap()), "pid": std::process::id(), - "argv": script_args, - "mainModule": gs.main_module.as_ref().map(|x| x.to_string()), + "args": gs.flags.argv.clone(), + "repl": gs.flags.subcommand == DenoSubcommand::Repl, + "location": state.main_module.to_string(), "debugFlag": gs.flags.log_level.map_or(false, |l| l == log::Level::Debug), "versionFlag": gs.flags.version, "v8Version": version::v8(), diff --git a/cli/ops/worker_host.rs b/cli/ops/worker_host.rs index 519294314..b033b9ed9 100644 --- a/cli/ops/worker_host.rs +++ b/cli/ops/worker_host.rs @@ -86,24 +86,24 @@ fn op_create_worker( load_sender.send(Err(err.into())).unwrap(); return; } - let mut module_specifier = result.unwrap(); - if !has_source_code { - if let Some(referrer) = parent_state.main_module.as_ref() { - let referrer = referrer.clone().to_string(); - let result = ModuleSpecifier::resolve_import(&specifier, &referrer); - if let Err(err) = result { - load_sender.send(Err(err.into())).unwrap(); - return; - } - module_specifier = result.unwrap(); + + let module_specifier = if !has_source_code { + let referrer = parent_state.main_module.to_string(); + let result = ModuleSpecifier::resolve_import(&specifier, &referrer); + if let Err(err) = result { + load_sender.send(Err(err.into())).unwrap(); + return; } - } + result.unwrap() + } else { + result.unwrap() + }; let (int, ext) = ThreadSafeState::create_channels(); let result = ThreadSafeState::new_for_worker( parent_state.global_state.clone(), Some(parent_state.permissions.clone()), // by default share with parent - Some(module_specifier.clone()), + module_specifier.clone(), int, ); if let Err(err) = result { |