summaryrefslogtreecommitdiff
path: root/cli/cache/caches.rs
diff options
context:
space:
mode:
authorDavid Sherret <dsherret@users.noreply.github.com>2024-02-20 16:29:57 -0500
committerGitHub <noreply@github.com>2024-02-20 21:29:57 +0000
commitf90889e5ee19e0ddcd9c1dbcce98720e417dd83e (patch)
treee44392e9506ba8cddc4c142d304f43879a418152 /cli/cache/caches.rs
parentdbc4a4d6327062918b3bc41dc3f60c84ae3c620b (diff)
perf(jsr): fast check cache and lazy fast check graph (#22485)
Diffstat (limited to 'cli/cache/caches.rs')
-rw-r--r--cli/cache/caches.rs15
1 files changed, 15 insertions, 0 deletions
diff --git a/cli/cache/caches.rs b/cli/cache/caches.rs
index 7220a2f9d..dc97f02d5 100644
--- a/cli/cache/caches.rs
+++ b/cli/cache/caches.rs
@@ -9,6 +9,7 @@ use super::cache_db::CacheDB;
use super::cache_db::CacheDBConfiguration;
use super::check::TYPE_CHECK_CACHE_DB;
use super::deno_dir::DenoDirProvider;
+use super::fast_check::FAST_CHECK_CACHE_DB;
use super::incremental::INCREMENTAL_CACHE_DB;
use super::module_info::MODULE_INFO_CACHE_DB;
use super::node::NODE_ANALYSIS_CACHE_DB;
@@ -18,6 +19,7 @@ pub struct Caches {
fmt_incremental_cache_db: OnceCell<CacheDB>,
lint_incremental_cache_db: OnceCell<CacheDB>,
dep_analysis_db: OnceCell<CacheDB>,
+ fast_check_db: OnceCell<CacheDB>,
node_analysis_db: OnceCell<CacheDB>,
type_checking_cache_db: OnceCell<CacheDB>,
}
@@ -29,6 +31,7 @@ impl Caches {
fmt_incremental_cache_db: Default::default(),
lint_incremental_cache_db: Default::default(),
dep_analysis_db: Default::default(),
+ fast_check_db: Default::default(),
node_analysis_db: Default::default(),
type_checking_cache_db: Default::default(),
}
@@ -86,6 +89,18 @@ impl Caches {
)
}
+ pub fn fast_check_db(&self) -> CacheDB {
+ Self::make_db(
+ &self.fast_check_db,
+ &FAST_CHECK_CACHE_DB,
+ self
+ .dir_provider
+ .get_or_create()
+ .ok()
+ .map(|dir| dir.fast_check_cache_db_file_path()),
+ )
+ }
+
pub fn node_analysis_db(&self) -> CacheDB {
Self::make_db(
&self.node_analysis_db,