-
Notifications
You must be signed in to change notification settings - Fork 709
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
v0.24 Beta Release #2197
Comments
v0.24.0-beta.3
|
Hi @Gerrit0, I've tested the 0.24.0-beta.3 but I think there's an improvement to do: The modules are not collapsible in the sidebar, only the Modules menu, which can be hard to navigate if you have a long export list or many modules. I've installed the beta version in the v2 branch, if you need to check that. |
I'm probably not going to get to adjusting that behavior for this release, it's the same as the previous versions, and frontend isn't really what I enjoy doing - PR welcome if you have a better way! |
v0.24.0-beta.4 (based on 0.23.28)
|
v0.24.0-beta.5/6 (based on 0.23.28)
I think this may be the last beta release of 0.24, |
.. okay, this should be the last one. v0.24.0-beta.7
|
It seems to work properly for me - could you share a reproduction, or at least what entry point strategy you're using? |
Sure. I found this issue in this repo. Install 0.24.0-beta.7 there, and you should be able to reproduce it. typedoc.json for reference. |
Ah, I forgot to update a couple places in the UI to display versions, thanks! Turns out that there's an extra feature coming in 0.24, #2218 led to my getting nerd sniped by the navigation.. Assuming nothing badly broken turns up, 0.24 should fully release next weekend. v0.24.0-beta.8
|
TypeDoc 0.24 is the next major release of TypeDoc. Please try it out and report any issues either as comments in this issue or as new issues.
This release includes two major features, support for reviving a project from previously serialized json, and a complete rework of the packages mode. See the changelog for notes on API breaking changes.
JSON Deserialization
TypeDoc has been able to output JSON files describing the converted project in previous releases, but these JSON files were originally intended only for use by external programs to generate custom documentation sites. With this release, TypeDoc can read JSON files produced in a previous run and create a rendered HTML site from them.
To support this feature, the serialized form of a project was updated to include more information about unresolved symbols, which makes it possible for cross-project type links to be resolved even after serialization if TypeScript's
declarationMap
option was enabled when compiling the dependency.While useful, the largest benefit from this feature comes from the way JSON files are consumed. There is a new
--entryPointStrategy
value,merge
, which accepts one or more JSON files and creates a single project with the content of all files. This feature means that it is now possible to generate documentation for completely unrelated packages and merge it together into a single site.Reworked
packages
modeTypeDoc's packages mode, introduced in v0.22.0, was intended to improve documentation generation for monorepos by treating each package individually while still producing a single site. It achieved this goal in some cases, but the implementation required keeping an instance of the TS compiler in memory for all packages in order to generate documentation. This led to major memory issues (#1606), and since symbol resolution still relied on
ts.Symbol
identity, meant that TypeDoc was still unable to create links to types declared in a different package, even if it was included in the documentation. It also frequently required custom configuration in the package.json files of packages with option names that were different than TypeDoc's normal options.v0.24 completely overhauls how packages mode works. Packages mode now uses the JSON deserialization feature to convert each project and then convert it to JSON. Once all projects have been converted, it merges the simple objects into a single project and renders that project. With this method, only one
ts.Program
is kept in memory at a time. This method also benefits from the work to enable cross-project type links in JSON deserialization, and since TypeDoc runs in each project, TypeDoc can be configured with the standard options available when running on a single project.Important Breaking Changes
[[link]]
s and link resolution.node_modules
, specify the plugins you want to load with the--plugin
option.packages
mode, the old packages mode will be available aslegacy-packages
until v0.25.Remaining Work
Will be included in this release:
package.json
files #2129May be included in this release:
@internal
show up in the docs for child classes if redeclared #2084The text was updated successfully, but these errors were encountered: