summaryrefslogtreecommitdiff
path: root/cli/ops
diff options
context:
space:
mode:
Diffstat (limited to 'cli/ops')
-rw-r--r--cli/ops/runtime.rs12
-rw-r--r--cli/ops/worker_host.rs24
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 {