diff options
Diffstat (limited to 'cli/standalone.rs')
-rw-r--r-- | cli/standalone.rs | 30 |
1 files changed, 22 insertions, 8 deletions
diff --git a/cli/standalone.rs b/cli/standalone.rs index df7106c97..d7ffd0fd2 100644 --- a/cli/standalone.rs +++ b/cli/standalone.rs @@ -1,9 +1,9 @@ use crate::colors; use crate::flags::Flags; use crate::permissions::Permissions; -use crate::program_state::ProgramState; use crate::tokio_util; use crate::worker::MainWorker; +use crate::worker::WorkerOptions; use deno_core::error::type_error; use deno_core::error::AnyError; use deno_core::futures::FutureExt; @@ -21,6 +21,7 @@ use std::io::Write; use std::path::PathBuf; use std::pin::Pin; use std::rc::Rc; +use std::sync::Arc; const MAGIC_TRAILER: &[u8; 8] = b"d3n0l4nd"; @@ -109,16 +110,29 @@ async fn run(source_code: String, args: Vec<String>) -> Result<(), AnyError> { // TODO(lucacasonato): remove once you can specify this correctly through embedded metadata flags.unstable = true; let main_module = ModuleSpecifier::resolve_url(SPECIFIER)?; - let program_state = ProgramState::new(flags.clone())?; let permissions = Permissions::allow_all(); let module_loader = Rc::new(EmbeddedModuleLoader(source_code)); - let mut worker = MainWorker::from_options( - &program_state, - main_module.clone(), - permissions, + let create_web_worker_cb = Arc::new(|_| { + todo!("Worker are currently not supported in standalone binaries"); + }); + + let options = WorkerOptions { + apply_source_maps: false, + args: flags.argv.clone(), + debug_flag: false, + unstable: true, + ca_filepath: None, + seed: None, + js_error_create_fn: None, + create_web_worker_cb, + attach_inspector: false, + maybe_inspector_server: None, + should_break_on_first_statement: false, module_loader, - None, - ); + }; + let mut worker = + MainWorker::from_options(main_module.clone(), permissions, &options); + worker.bootstrap(&options); worker.execute_module(&main_module).await?; worker.execute("window.dispatchEvent(new Event('load'))")?; worker.run_event_loop().await?; |