diff options
author | Bartek IwaĆczuk <biwanczuk@gmail.com> | 2021-05-26 21:07:12 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-05-26 21:07:12 +0200 |
commit | e5beb800c94099852964d482a32a13f5c29ec147 (patch) | |
tree | 1ad89cc15efa84efe690e05b18d5827e1983dbca /cli/tools | |
parent | e9edd7e14d9d78f03c5f2e67fcc44e4dbaab8f2c (diff) |
refactor: move JsRuntimeInspector to deno_core (#10763)
This commit moves implementation of "JsRuntimeInspector" to "deno_core" crate.
To achieve that following changes were made:
* "Worker" and "WebWorker" no longer own instance of "JsRuntimeInspector",
instead it is now owned by "deno_core::JsRuntime".
* Consequently polling of inspector is no longer done in "Worker"/"WebWorker",
instead it's done in "deno_core::JsRuntime::poll_event_loop".
* "deno_core::JsRuntime::poll_event_loop" and "deno_core::JsRuntime::run_event_loop",
now accept "wait_for_inspector" boolean that tells if event loop should still be
"pending" if there are active inspector sessions - this change fixes the problem
that inspector disconnects from the frontend and process exits once the code has
stopped executing.
Diffstat (limited to 'cli/tools')
-rw-r--r-- | cli/tools/coverage.rs | 2 | ||||
-rw-r--r-- | cli/tools/repl.rs | 4 | ||||
-rw-r--r-- | cli/tools/test_runner.rs | 4 |
3 files changed, 6 insertions, 4 deletions
diff --git a/cli/tools/coverage.rs b/cli/tools/coverage.rs index 204141b25..9a64cd5f3 100644 --- a/cli/tools/coverage.rs +++ b/cli/tools/coverage.rs @@ -13,7 +13,7 @@ use deno_core::error::AnyError; use deno_core::serde_json; use deno_core::serde_json::json; use deno_core::url::Url; -use deno_runtime::inspector::LocalInspectorSession; +use deno_core::LocalInspectorSession; use deno_runtime::permissions::Permissions; use regex::Regex; use serde::Deserialize; diff --git a/cli/tools/repl.rs b/cli/tools/repl.rs index ba69c9234..47f46c361 100644 --- a/cli/tools/repl.rs +++ b/cli/tools/repl.rs @@ -9,7 +9,7 @@ use deno_core::error::AnyError; use deno_core::futures::FutureExt; use deno_core::serde_json::json; use deno_core::serde_json::Value; -use deno_runtime::inspector::LocalInspectorSession; +use deno_core::LocalInspectorSession; use deno_runtime::worker::MainWorker; use rustyline::completion::Completer; use rustyline::error::ReadlineError; @@ -287,7 +287,7 @@ async fn read_line_and_poll( result = &mut line => { return result.unwrap(); } - _ = worker.run_event_loop(), if poll_worker => { + _ = worker.run_event_loop(false), if poll_worker => { poll_worker = false; } _ = timeout => { diff --git a/cli/tools/test_runner.rs b/cli/tools/test_runner.rs index 7d1eae9ee..24bea3ff8 100644 --- a/cli/tools/test_runner.rs +++ b/cli/tools/test_runner.rs @@ -307,7 +307,9 @@ pub async fn run_test_file( let execute_result = worker.execute_module(&test_module).await; execute_result?; - worker.run_event_loop().await?; + worker + .run_event_loop(maybe_coverage_collector.is_none()) + .await?; worker.execute("window.dispatchEvent(new Event('unload'))")?; if let Some(coverage_collector) = maybe_coverage_collector.as_mut() { |