summaryrefslogtreecommitdiff
path: root/cli/cache
diff options
context:
space:
mode:
authorNayeem Rahman <nayeemrmn99@gmail.com>2023-02-03 19:15:16 +0000
committerGitHub <noreply@github.com>2023-02-03 20:15:16 +0100
commita635c9700c0b99c3ad128c21727fdcfb23bad72f (patch)
treeb31e457547346bd979df45579ca62186ee6027f2 /cli/cache
parentb16a958c4f01a1d27d14a6a1d8785c54449a5087 (diff)
refactor: reland "preserve ProcState::file_fetcher between restarts" (#17636)
Just some watcher init step that I thought would be "cloned over" but needs to be done again on reset.
Diffstat (limited to 'cli/cache')
-rw-r--r--cli/cache/mod.rs4
-rw-r--r--cli/cache/node.rs1
-rw-r--r--cli/cache/parsed_source.rs8
3 files changed, 10 insertions, 3 deletions
diff --git a/cli/cache/mod.rs b/cli/cache/mod.rs
index a52fe5f48..c8fcaa223 100644
--- a/cli/cache/mod.rs
+++ b/cli/cache/mod.rs
@@ -50,12 +50,10 @@ pub struct FetchCacher {
impl FetchCacher {
pub fn new(
emit_cache: EmitCache,
- file_fetcher: FileFetcher,
+ file_fetcher: Arc<FileFetcher>,
root_permissions: PermissionsContainer,
dynamic_permissions: PermissionsContainer,
) -> Self {
- let file_fetcher = Arc::new(file_fetcher);
-
Self {
emit_cache,
dynamic_permissions,
diff --git a/cli/cache/node.rs b/cli/cache/node.rs
index da17633aa..b19772229 100644
--- a/cli/cache/node.rs
+++ b/cli/cache/node.rs
@@ -24,6 +24,7 @@ struct CjsAnalysisData {
pub reexports: Vec<String>,
}
+#[derive(Clone)]
pub struct NodeAnalysisCache {
db_file_path: Option<PathBuf>,
inner: Arc<Mutex<Option<Option<NodeAnalysisCacheInner>>>>,
diff --git a/cli/cache/parsed_source.rs b/cli/cache/parsed_source.rs
index 30eecf702..6385e7384 100644
--- a/cli/cache/parsed_source.rs
+++ b/cli/cache/parsed_source.rs
@@ -67,6 +67,14 @@ impl ParsedSourceCache {
}
}
+ pub fn reset_for_file_watcher(&self) -> Self {
+ Self {
+ db_cache_path: self.db_cache_path.clone(),
+ cli_version: self.cli_version.clone(),
+ sources: Default::default(),
+ }
+ }
+
pub fn get_parsed_source_from_module(
&self,
module: &deno_graph::Module,