Skip to content

Version 0.20 tracking #1364

Closed
Closed
@Gerrit0

Description

@Gerrit0

This issue tracks the work being done on the next feature release of TypeDoc. I will be posting a weekly update here covering what I've done this week, as well as what's next to be done.

You can try out a beta of 0.20 by installing typedoc@beta with npm i typedoc@beta.


Originally, this release was slated to be version 1.0, it contained a major rewrite which fixed most to all of the issues I have with the current implementation of TypeDoc. However, I've since realized that this was a bad idea - I broke too many things, so "library mode" will be releasing as 0.20 before the end of the year.

Old text

This issue tracks the work being done on version 1.0. I will be posting a weekly update here covering what I've done this week, any new problems discovered, and updating the checklist in this post with what's been completed. The checklist in this post was originally taken from this post in the original PR, without including any of the already completed items.

If you are interested in looking at the work in progress package, you can install typedoc@dev, which will be published whenever a change in version is pushed to the library-mode branch.

At the current rate that I'm getting things done, it's looking like this won't be ready until November/December... I was really hoping for sooner, but can't devote every weekend to this, though I try to do at least one task per week ;)

Tasks

TypeDoc proper

  • Finish ObjectReflection converter (medium)
  • Fix converter for destructured outputs (small)
  • Add indexed signatures to models that can have them. I forgot they existed when rebuilding the models... (medium)
  • Detect and convert static class members (smallish)
  • Update plugins that were broken when rebuilding converters
    • Decorator plugin (medium)
    • Implements plugin (medium)
    • Deep comment plugin (small, probably merge with the existing comment plugin)
  • Test on a bunch of different projects, particularly large ones. (Apache Arrow, Jupyterlab) (??? depends on what issues are found)
  • (done) Review existing options to see which ones still make sense. (medium)
  • Update variable converter to possibly convert variables as functions (smallish) (Function exported as variable despite @function tag #858, but without requiring @function, Variables of kind ConditionalExpression have defaultValue set to condition #401, )
  • Sort order option (Beyond alphabetic ordering or methods and properties #112), see src/lib/plugins/sort.ts

Comments

  • Make @category work again (medium)
  • Fix {@link} and [[link]] (medium)
  • Make @inheritdoc work (small/medium)

Themes

  • Support hideGenerator flag (smallish, need to allow templates access to application.options)
  • (done) Make overriding templates easy for users (small/medium)
  • (done) Write docs on how to create a custom theme (medium, I want to do this right, not just the minimal page we currently have, particularly important because 1.0 breaks existing themes)
  • Talk with the people that built the markdown plugin about how to integrate (medium)
  • Make search work (medium)
  • Make sure mobile experience is decent (medium)
  • (done) Make light/dark code themes configurable (small)
  • Add icons for reflection types (medium)

Plugins / Developer Docs

  • Take a look at existing plugins to see what events they use, if the existing emitted events meet those needs, or if we need other events. (medium)
  • Write "how to build a TypeDoc plugin" (medium)
  • Update the development page on the website (medium)
  • Figure out what should be exported, and export only those symbols

Extra (nice to have, but won't block a release)

Future (almost certainly not in 1.0, but I'm thinking about it)

Help out

There's still quite a bit to be done. Help on any of the uncompleted items above is greatly appreciated. I could especially use some help on making the default theme better - frontend dev is not my specialty. If you are having trouble, feel free to reach out by making an issue for the task you're working on, through the TypeScript Discord, or through the TypeDoc Gitter.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions