summaryrefslogtreecommitdiff
path: root/cli/tools/doc.rs
diff options
context:
space:
mode:
authorLeo Kettmeir <crowlkats@toaxl.com>2024-04-24 13:34:21 -0700
committerGitHub <noreply@github.com>2024-04-24 20:34:21 +0000
commit5a7414e16349d6872a94db38955bf89edf621c30 (patch)
tree0af8e39dd5fb395daac578deed33fae72f56f496 /cli/tools/doc.rs
parentac71d876d7c9e3fec65e4739540bc60c8d75ee9a (diff)
chore: update deno_doc (#23544)
Diffstat (limited to 'cli/tools/doc.rs')
-rw-r--r--cli/tools/doc.rs33
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)