mirror of
https://github.com/denoland/deno.git
synced 2025-08-03 18:38:33 +00:00
perf(cli): conditionally load typescript declaration files (#19392)
Closes #18583
This commit is contained in:
parent
455b0eb8bb
commit
2aba4365ae
16 changed files with 156 additions and 67 deletions
|
@ -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())?;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue