diff options
author | David Sherret <dsherret@users.noreply.github.com> | 2023-06-06 17:07:46 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-06-06 17:07:46 -0400 |
commit | 2aba4365ae620a8f097800e7cf85ff86f566b69a (patch) | |
tree | 5e3e9b30742455c72f2edc3fa5db0b7cbabe46e8 /cli/factory.rs | |
parent | 455b0eb8bb8445f80d9c80a9161f18c1dede5733 (diff) |
perf(cli): conditionally load typescript declaration files (#19392)
Closes #18583
Diffstat (limited to 'cli/factory.rs')
-rw-r--r-- | cli/factory.rs | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/cli/factory.rs b/cli/factory.rs index 17d141be1..78aefe780 100644 --- a/cli/factory.rs +++ b/cli/factory.rs @@ -8,6 +8,7 @@ use crate::args::Lockfile; use crate::args::PackageJsonDepsProvider; use crate::args::StorageKeyResolver; use crate::args::TsConfigType; +use crate::args::TypeCheckMode; use crate::cache::Caches; use crate::cache::DenoDir; use crate::cache::DenoDirProvider; @@ -47,6 +48,7 @@ use crate::worker::HasNodeSpecifierChecker; use deno_core::error::AnyError; use deno_core::parking_lot::Mutex; +use deno_graph::GraphKind; use deno_runtime::deno_fs; use deno_runtime::deno_node::analyze::NodeCodeTranslator; use deno_runtime::deno_node::NodeResolver; @@ -537,7 +539,19 @@ impl CliFactory { } pub fn graph_container(&self) -> &Arc<ModuleGraphContainer> { - self.services.graph_container.get_or_init(Default::default) + self.services.graph_container.get_or_init(|| { + let graph_kind = match self.options.sub_command() { + DenoSubcommand::Cache(_) => GraphKind::All, + _ => { + if self.options.type_check_mode() == TypeCheckMode::None { + GraphKind::CodeOnly + } else { + GraphKind::All + } + } + }; + Arc::new(ModuleGraphContainer::new(graph_kind)) + }) } pub fn maybe_inspector_server(&self) -> &Option<Arc<InspectorServer>> { |