Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[POC] Try out TypeDoc to generate API reference docs #1479

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

michaldudak
Copy link
Member

@michaldudak michaldudak added the scope: docs-infra Specific to the docs-infra product label Feb 25, 2025
Copy link

netlify bot commented Feb 25, 2025

Deploy Preview for base-ui ready!

Name Link
🔨 Latest commit ec324d6
🔍 Latest deploy log https://app.netlify.com/sites/base-ui/deploys/67be3015ff31940008e046a7
😎 Deploy Preview https://deploy-preview-1479--base-ui.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

@flaviendelangle
Copy link
Member

For context, we removed Typedoc from the X repo a few years ago because it was not flexible enough to handle the whole doc generation.
Which meant we had to do 2 AST parsing (one inside Typedoc and one for the analysis that did not use Typedoc), causing a massive perf overhead on the doc gen.

The codebase of the Base UI repo is not that big for now, but I'd stay careful about this aspect.

@michaldudak
Copy link
Member Author

I'm reaching similar conclusions after exploring it for a few hours, even for Base UI. We can't process types that are not exported (exist only to document classes or data attributes) nor we have implementation details. I'm going to look into its plugins so that we can perhaps overcome some of its limitations.
Do you remember what features were missing for X so you decided to go with a custom solution?

@flaviendelangle
Copy link
Member

Do you remember what features were missing for X so you decided to go with a custom solution?

Not exactly
I suspect that creating this table from the interface that registers all the events was not easy to do with TypeDoc.
Or other similars stuff where I don't just want to list some props / params basically.

And I also came to the conclusion that it was not that much harder to work with the AST directly when you start to have stuff that is not fully handled by TypeDoc.

@github-actions github-actions bot added the PR: out-of-date The pull request has merge conflicts and can't be merged label Mar 4, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
PR: out-of-date The pull request has merge conflicts and can't be merged scope: docs-infra Specific to the docs-infra product
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants