diff options
Diffstat (limited to 'cli/tools/doc.rs')
-rw-r--r-- | cli/tools/doc.rs | 31 |
1 files changed, 10 insertions, 21 deletions
diff --git a/cli/tools/doc.rs b/cli/tools/doc.rs index b8d6b8a87..7b06dce05 100644 --- a/cli/tools/doc.rs +++ b/cli/tools/doc.rs @@ -10,7 +10,6 @@ use crate::display::write_json_to_stdout; use crate::display::write_to_stdout_ignore_sigpipe; use crate::factory::CliFactory; use crate::graph_util::graph_lock_or_exit; -use crate::graph_util::CreateGraphOptions; use crate::tsc::get_types_declaration_file_text; use crate::util::fs::collect_specifiers; use crate::util::glob::FilePatterns; @@ -20,10 +19,9 @@ use deno_core::anyhow::Context; use deno_core::error::AnyError; use deno_core::futures::FutureExt; use deno_doc as doc; -use deno_graph::CapturingModuleParser; -use deno_graph::DefaultParsedSourceStore; use deno_graph::GraphKind; use deno_graph::ModuleAnalyzer; +use deno_graph::ModuleParser; use deno_graph::ModuleSpecifier; use doc::DocDiagnostic; use indexmap::IndexMap; @@ -35,7 +33,7 @@ use std::sync::Arc; async fn generate_doc_nodes_for_builtin_types( doc_flags: DocFlags, cli_options: &Arc<CliOptions>, - capturing_parser: CapturingModuleParser<'_>, + parser: &dyn ModuleParser, analyzer: &dyn ModuleAnalyzer, ) -> Result<IndexMap<ModuleSpecifier, Vec<doc::DocNode>>, AnyError> { let source_file_specifier = @@ -65,7 +63,7 @@ async fn generate_doc_nodes_for_builtin_types( .await; let doc_parser = doc::DocParser::new( &graph, - capturing_parser, + parser, doc::DocParserOptions { diagnostics: false, private: doc_flags.private, @@ -80,19 +78,16 @@ pub async fn doc(flags: Flags, doc_flags: DocFlags) -> Result<(), AnyError> { let factory = CliFactory::from_flags(flags).await?; let cli_options = factory.cli_options(); let module_info_cache = factory.module_info_cache()?; - let source_parser = deno_graph::DefaultModuleParser::new_for_analysis(); - let store = DefaultParsedSourceStore::default(); - let analyzer = - module_info_cache.as_module_analyzer(Some(&source_parser), &store); - let capturing_parser = - CapturingModuleParser::new(Some(&source_parser), &store); + let parsed_source_cache = factory.parsed_source_cache(); + let capturing_parser = parsed_source_cache.as_capturing_parser(); + let analyzer = module_info_cache.as_module_analyzer(&capturing_parser); let doc_nodes_by_url = match doc_flags.source_files { DocSourceFileFlag::Builtin => { generate_doc_nodes_for_builtin_types( doc_flags.clone(), cli_options, - capturing_parser, + &capturing_parser, &analyzer, ) .await? @@ -123,14 +118,8 @@ pub async fn doc(flags: Flags, doc_flags: DocFlags) -> Result<(), AnyError> { }, |_, _| true, )?; - let mut loader = module_graph_builder.create_graph_loader(); let graph = module_graph_builder - .create_graph_with_options(CreateGraphOptions { - graph_kind: GraphKind::TypesOnly, - roots: module_specifiers.clone(), - loader: &mut loader, - analyzer: &analyzer, - }) + .create_graph(GraphKind::TypesOnly, module_specifiers.clone()) .await?; if let Some(lockfile) = maybe_lockfile { @@ -139,7 +128,7 @@ pub async fn doc(flags: Flags, doc_flags: DocFlags) -> Result<(), AnyError> { let doc_parser = doc::DocParser::new( &graph, - capturing_parser, + &capturing_parser, doc::DocParserOptions { private: doc_flags.private, diagnostics: doc_flags.lint, @@ -168,7 +157,7 @@ pub async fn doc(flags: Flags, doc_flags: DocFlags) -> Result<(), AnyError> { let deno_ns = generate_doc_nodes_for_builtin_types( doc_flags.clone(), cli_options, - capturing_parser, + &capturing_parser, &analyzer, ) .await?; |