summaryrefslogtreecommitdiff
path: root/cli/program_state.rs
diff options
context:
space:
mode:
Diffstat (limited to 'cli/program_state.rs')
-rw-r--r--cli/program_state.rs9
1 files changed, 5 insertions, 4 deletions
diff --git a/cli/program_state.rs b/cli/program_state.rs
index 6e3a51663..a3dd65dc1 100644
--- a/cli/program_state.rs
+++ b/cli/program_state.rs
@@ -48,7 +48,7 @@ pub struct ProgramState {
pub dir: deno_dir::DenoDir,
pub file_fetcher: SourceFileFetcher,
pub ts_compiler: TsCompiler,
- pub lockfile: Option<Mutex<Lockfile>>,
+ pub lockfile: Option<Arc<Mutex<Lockfile>>>,
pub maybe_import_map: Option<ImportMap>,
pub maybe_inspector_server: Option<Arc<InspectorServer>>,
}
@@ -78,7 +78,7 @@ impl ProgramState {
let lockfile = if let Some(filename) = &flags.lock {
let lockfile = Lockfile::new(filename.clone(), flags.lock_write)?;
- Some(Mutex::new(lockfile))
+ Some(Arc::new(Mutex::new(lockfile)))
} else {
None
};
@@ -128,9 +128,10 @@ impl ProgramState {
let specifier = specifier.clone();
let handler =
Rc::new(RefCell::new(FetchHandler::new(self, dynamic_permissions)?));
- let mut builder = GraphBuilder2::new(handler, maybe_import_map);
+ let mut builder =
+ GraphBuilder2::new(handler, maybe_import_map, self.lockfile.clone());
builder.add(&specifier, is_dynamic).await?;
- let mut graph = builder.get_graph(&self.lockfile);
+ let mut graph = builder.get_graph();
let debug = self.flags.log_level == Some(log::Level::Debug);
let maybe_config_path = self.flags.config_path.clone();