perf(cli): conditionally load typescript declaration files (#19392)

Closes #18583
This commit is contained in:
David Sherret 2023-06-06 17:07:46 -04:00 committed by GitHub
parent 455b0eb8bb
commit 2aba4365ae
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
16 changed files with 156 additions and 67 deletions

View file

@ -2,6 +2,7 @@
use crate::args::CompileFlags;
use crate::args::Flags;
use crate::args::TypeCheckMode;
use crate::factory::CliFactory;
use crate::standalone::is_standalone_binary;
use crate::util::path::path_has_trailing_slash;
@ -10,6 +11,7 @@ use deno_core::anyhow::Context;
use deno_core::error::generic_error;
use deno_core::error::AnyError;
use deno_core::resolve_url_or_path;
use deno_graph::GraphKind;
use deno_runtime::colors;
use std::path::Path;
use std::path::PathBuf;
@ -44,10 +46,20 @@ pub async fn compile(
let graph = Arc::try_unwrap(
module_graph_builder
.create_graph_and_maybe_check(module_roots)
.create_graph_and_maybe_check(module_roots.clone())
.await?,
)
.unwrap();
let graph = if cli_options.type_check_mode() == TypeCheckMode::None {
graph
} else {
// In this case, the previous graph creation did type checking, which will
// create a module graph with types information in it. We don't want to
// store that in the eszip so create a code only module graph from scratch.
module_graph_builder
.create_graph(GraphKind::CodeOnly, module_roots)
.await?
};
let parser = parsed_source_cache.as_capturing_parser();
let eszip = eszip::EszipV2::from_graph(graph, &parser, Default::default())?;