MCPcopy Create free account
hub / github.com/DjDeveloperr/deno_desktop / start

Function start

src/runtime.rs:23–85  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

21}
22
23pub async fn start() -> Result<(), AnyError> {
24 let module_loader = Rc::new(FsModuleLoader);
25 let create_web_worker_cb = Arc::new(|_| {
26 todo!("Web workers are not supported");
27 });
28
29 let options = WorkerOptions {
30 bootstrap: BootstrapOptions {
31 apply_source_maps: false,
32 args: vec![],
33 cpu_count: 1,
34 debug_flag: false,
35 enable_testing_features: false,
36 location: Some(ModuleSpecifier::parse("https://desktop.deno.land").unwrap()),
37 no_color: false,
38 runtime_version: "0.0.1".to_string(),
39 ts_version: "4.4.3".to_string(),
40 unstable: true,
41 },
42 extensions: vec![
43 event_loop::init(),
44 window::init(),
45 // Will be integrated into deno_webgpu later.
46 // https://github.com/gfx-rs/wgpu/pull/2279
47 surface::init(),
48 // Some ops deno_runtime depends on
49 // But aren't there (implemented in CLI)
50 // https://github.com/denoland/deno/issues/12918
51 extra::init(),
52 ],
53 unsafely_ignore_certificate_errors: None,
54 root_cert_store: None,
55 user_agent: "deno_desktop".to_string(),
56 seed: None,
57 js_error_create_fn: None,
58 create_web_worker_cb,
59 maybe_inspector_server: None,
60 should_break_on_first_statement: false,
61 module_loader,
62 get_error_class_fn: Some(&get_error_class_name),
63 origin_storage_dir: None,
64 blob_store: BlobStore::default(),
65 broadcast_channel: InMemoryBroadcastChannel::default(),
66 shared_array_buffer_store: None,
67 compiled_wasm_module_store: None,
68 };
69
70 let path = std::env::args().nth(1).unwrap_or(String::from("test.js"));
71 let js_path = Path::new(env!("CARGO_MANIFEST_DIR")).join(path);
72 let main_module = deno_runtime::deno_core::resolve_path(&js_path.to_string_lossy())?;
73 let permissions = Permissions::allow_all();
74
75 let mut worker = MainWorker::bootstrap_from_options(main_module.clone(), permissions, options);
76
77 worker
78 .js_runtime
79 .execute_script("deno_desktop:core.js", include_str!("core.js"))?;
80

Callers 1

mainFunction · 0.85

Calls 1

cloneMethod · 0.45

Tested by

no test coverage detected