diff options
author | Leo Kettmeir <crowlkats@toaxl.com> | 2024-04-24 13:34:21 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-24 20:34:21 +0000 |
commit | 5a7414e16349d6872a94db38955bf89edf621c30 (patch) | |
tree | 0af8e39dd5fb395daac578deed33fae72f56f496 /cli/tools/doc.rs | |
parent | ac71d876d7c9e3fec65e4739540bc60c8d75ee9a (diff) |
chore: update deno_doc (#23544)
Diffstat (limited to 'cli/tools/doc.rs')
-rw-r--r-- | cli/tools/doc.rs | 33 |
1 files changed, 22 insertions, 11 deletions
diff --git a/cli/tools/doc.rs b/cli/tools/doc.rs index 1ff5623cc..b311cef29 100644 --- a/cli/tools/doc.rs +++ b/cli/tools/doc.rs @@ -18,6 +18,7 @@ use deno_core::anyhow::bail; use deno_core::anyhow::Context; use deno_core::error::AnyError; use deno_doc as doc; +use deno_doc::html::UrlResolveKind; use deno_graph::source::NullFileSystem; use deno_graph::GraphKind; use deno_graph::ModuleAnalyzer; @@ -35,7 +36,7 @@ async fn generate_doc_nodes_for_builtin_types( analyzer: &dyn ModuleAnalyzer, ) -> Result<IndexMap<ModuleSpecifier, Vec<doc::DocNode>>, AnyError> { let source_file_specifier = - ModuleSpecifier::parse("internal://lib.deno.d.ts").unwrap(); + ModuleSpecifier::parse("file:///lib.deno.d.ts").unwrap(); let content = get_types_declaration_file_text(); let loader = deno_graph::source::MemoryLoader::new( vec![( @@ -160,11 +161,18 @@ pub async fn doc(flags: Flags, doc_flags: DocFlags) -> Result<(), AnyError> { .await?; let (_, deno_ns) = deno_ns.into_iter().next().unwrap(); + let short_path = Rc::new(ShortPath::new( + ModuleSpecifier::parse("file:///lib.deno.d.ts").unwrap(), + None, + None, + None, + )); + deno_doc::html::compute_namespaced_symbols( deno_ns .into_iter() .map(|node| deno_doc::html::DocNodeWithContext { - origin: Rc::new(ShortPath::from("deno".to_string())), + origin: short_path.clone(), ns_qualifiers: Rc::new(vec![]), kind_with_drilldown: deno_doc::html::DocNodeKindWithDrilldown::Other(node.kind), @@ -205,6 +213,14 @@ struct DocResolver { } impl deno_doc::html::HrefResolver for DocResolver { + fn resolve_path( + &self, + current: UrlResolveKind, + target: UrlResolveKind, + ) -> String { + deno_doc::html::href_path_resolve(current, target) + } + fn resolve_global_symbol(&self, symbol: &[String]) -> Option<String> { if self.deno_ns.contains(symbol) { Some(format!( @@ -232,12 +248,8 @@ impl deno_doc::html::HrefResolver for DocResolver { None } - fn resolve_usage( - &self, - _current_specifier: &ModuleSpecifier, - current_file: Option<&ShortPath>, - ) -> Option<String> { - current_file.map(|f| f.as_str().to_string()) + fn resolve_usage(&self, current_resolve: UrlResolveKind) -> Option<String> { + current_resolve.get_file().map(|file| file.path.to_string()) } fn resolve_source(&self, location: &deno_doc::Location) -> Option<String> { @@ -254,13 +266,12 @@ fn generate_docs_directory( let output_dir_resolved = cwd.join(&html_options.output); let options = deno_doc::html::GenerateOptions { - package_name: Some(html_options.name.to_owned()), + package_name: html_options.name.clone(), main_entrypoint: None, rewrite_map: None, - hide_module_doc_title: false, href_resolver: Rc::new(DocResolver { deno_ns }), - sidebar_flatten_namespaces: false, usage_composer: None, + composable_output: false, }; let files = deno_doc::html::generate(options, doc_nodes_by_url) |