summaryrefslogtreecommitdiff
path: root/cli/tools/run.rs
diff options
context:
space:
mode:
Diffstat (limited to 'cli/tools/run.rs')
-rw-r--r--cli/tools/run.rs16
1 files changed, 10 insertions, 6 deletions
diff --git a/cli/tools/run.rs b/cli/tools/run.rs
index 2d001c42b..d5b5eb981 100644
--- a/cli/tools/run.rs
+++ b/cli/tools/run.rs
@@ -1,6 +1,7 @@
// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
use std::io::Read;
+use std::path::PathBuf;
use std::sync::Arc;
use deno_ast::MediaType;
@@ -102,13 +103,16 @@ async fn run_with_watch(flags: Flags, script: String) -> Result<i32, AnyError> {
let flags = Arc::new(flags);
let main_module = resolve_url_or_path(&script)?;
let (sender, receiver) = tokio::sync::mpsc::unbounded_channel();
- let mut ps =
- ProcState::build_for_file_watcher((*flags).clone(), sender.clone()).await?;
- let operation = |main_module: ModuleSpecifier| {
- ps.reset_for_file_watcher();
- let ps = ps.clone();
+ let operation = |(sender, main_module): (
+ tokio::sync::mpsc::UnboundedSender<Vec<PathBuf>>,
+ ModuleSpecifier,
+ )| {
+ let flags = flags.clone();
Ok(async move {
+ let ps =
+ ProcState::build_for_file_watcher((*flags).clone(), sender.clone())
+ .await?;
let permissions = PermissionsContainer::new(Permissions::from_options(
&ps.options.permissions_options(),
)?);
@@ -122,7 +126,7 @@ async fn run_with_watch(flags: Flags, script: String) -> Result<i32, AnyError> {
util::file_watcher::watch_func2(
receiver,
operation,
- main_module,
+ (sender, main_module),
util::file_watcher::PrintConfig {
job_name: "Process".to_string(),
clear_screen: !flags.no_clear_screen,