TypeStrong/TypeDoc (typedoc)
### [`v0.26.0`](https://togithub.com/TypeStrong/TypeDoc/blob/HEAD/CHANGELOG.md#v0260-2024-06-22)
[Compare Source](https://togithub.com/TypeStrong/TypeDoc/compare/v0.25.13...v0.26.0)
##### Breaking Changes
- Drop support for Node 16.
- Moved from `marked` to `markdown-it` for parsing as marked has moved to an async model which supporting would significantly complicate TypeDoc's rendering code.
This means that any projects setting `markedOptions` needs to be updated to use `markdownItOptions`.
Unlike `marked@4`, `markdown-it` pushes lots of functionality to plugins. To use plugins, a JavaScript config file must be used with the `markdownItLoader` option.
- Updated Shiki from 0.14 to 1.x. This should mostly be a transparent update which adds another 23 supported languages and 13 supported themes.
As Shiki adds additional languages, the time it takes to load the highlighter increases linearly. To avoid rendering taking longer than necessary,
TypeDoc now only loads a few common languages. Additional languages can be loaded by setting the `--highlightLanguages` option.
- Changed default of `--excludePrivate` to `true`.
- Renamed `--sitemapBaseUrl` to `--hostedBaseUrl` to reflect that it can be used for more than just the sitemap.
- Removed deprecated `navigation.fullTree` option.
- Removed `--media` option, TypeDoc will now detect image links within your comments and markdown documents and automatically copy them to the site.
- Removed `--includes` option, use the `@document` tag instead.
- Removed `--stripYamlFrontmatter` option, TypeDoc will always do this now.
- Renamed the `--htmlLang` option to `--lang`.
- Removed the `--gaId` option for Google Analytics integration and corresponding `analytics` theme member, [#2600](https://togithub.com/TypeStrong/TypeDoc/issues/2600).
- All function-likes may now have comments directly attached to them. This is a change from previous versions of TypeDoc where functions comments
were always moved down to the signature level. This mostly worked, but caused problems with type aliases, so was partially changed in 0.25.13.
This change was extended to apply not only to type aliases, but also other function-likes declared with variables and callable properties.
As a part of this change, comments on the implementation signature of overloaded functions will now be added to the function reflection, and will
not be inherited by signatures of that function, [#2521](https://togithub.com/TypeStrong/TypeDoc/issues/2521).
- API: TypeDoc now uses a typed event emitter to provide improved type safety, this found a bug where `Converter.EVENT_CREATE_DECLARATION`
was emitted for `ProjectReflection` in some circumstances.
- API: `MapOptionDeclaration.mapError` has been removed.
- API: Deprecated `BindOption` decorator has been removed.
- API: `DeclarationReflection.indexSignature` has been renamed to `DeclarationReflection.indexSignatures`.
Note: This also affects JSON serialization. TypeDoc will support JSON output from 0.25 through at least 0.26.
- API: `JSONOutput.SignatureReflection.typeParameter` has been renamed to `typeParameters` to match the JS API.
- API: `DefaultThemeRenderContext.iconsCache` has been removed as it is no longer needed.
- API: `DefaultThemeRenderContext.hook` must now be passed `context` if required by the hook.
##### Features
- Added support for TypeScript 5.5.
- Added new `--projectDocuments` option to specify additional Markdown documents to be included in the generated site [#247](https://togithub.com/TypeStrong/TypeDoc/issues/247), [#1870](https://togithub.com/TypeStrong/TypeDoc/issues/1870), [#2288](https://togithub.com/TypeStrong/TypeDoc/issues/2288), [#2565](https://togithub.com/TypeStrong/TypeDoc/issues/2565).
- TypeDoc now has the architecture in place to support localization. No languages besides English
are currently shipped in the package, but it is now possible to add support for additional languages, [#2475](https://togithub.com/TypeStrong/TypeDoc/issues/2475).
- Added support for a `packageOptions` object which specifies options that should be applied to each entry point when running with `--entryPointStrategy packages`, [#2523](https://togithub.com/TypeStrong/TypeDoc/issues/2523).
- `--hostedBaseUrl` will now be used to generate a `` element in the project root page, [#2550](https://togithub.com/TypeStrong/TypeDoc/issues/2550).
- Added support for documenting individual elements of a union type, [#2585](https://togithub.com/TypeStrong/TypeDoc/issues/2585).
Note: This feature is only available on type aliases directly containing unions.
- TypeDoc will now log the number of errors/warnings errors encountered, if any, after a run, [#2581](https://togithub.com/TypeStrong/TypeDoc/issues/2581).
- New option, `--customFooterHtml` to add custom HTML to the generated page footer, [#2559](https://togithub.com/TypeStrong/TypeDoc/issues/2559).
- TypeDoc will now copy modifier tags to children if specified in the `--cascadedModifierTags` option, [#2056](https://togithub.com/TypeStrong/TypeDoc/issues/2056).
- TypeDoc will now warn if mutually exclusive modifier tags are specified for a comment (e.g. both `@alpha` and `@beta`), [#2056](https://togithub.com/TypeStrong/TypeDoc/issues/2056).
- Groups and categories can now be collapsed in the page body, [#2330](https://togithub.com/TypeStrong/TypeDoc/issues/2330).
- Added support for JSDoc `@hideconstructor` tag.
This tag should only be used to work around [TypeScript#58653](https://togithub.com/TypeScript/TypeDoc/issues/58653), prefer the more general `@hidden`/`@ignore` tag to hide members normally, [#2577](https://togithub.com/TypeStrong/TypeDoc/issues/2577).
- Added `--useHostedBaseUrlForAbsoluteLinks` option to use the `--hostedBaseUrl` option to produce absolute links to pages on a site, [#940](https://togithub.com/TypeStrong/TypeDoc/issues/940).
- Tag headers now generate permalinks in the default theme, [#2308](https://togithub.com/TypeStrong/TypeDoc/issues/2308).
- TypeDoc now attempts to use the "most likely name" for a symbol if the symbol is not present in the documentation, [#2574](https://togithub.com/TypeStrong/TypeDoc/issues/2574).
- Fixed an issue where the "On This Page" section would include markdown if the page contained headings which contained markdown.
- TypeDoc will now warn if a block tag is used which is not defined by the `--blockTags` option.
- Added three new sort strategies `documents-first`, `documents-last`, and `alphabetical-ignoring-documents` to order markdown documents.
- Added new `--alwaysCreateEntryPointModule` option. When set, TypeDoc will always create a `Module` for entry points, even if only one is provided.
If `--projectDocuments` is used to add documents, this option defaults to `true`, otherwise, defaults to `false`.
- Added new `--highlightLanguages` option to control what Shiki language packages are loaded.
- TypeDoc will now render union elements on new lines if there are more than 3 items in the union.
- TypeDoc will now only render the "Type Declaration" section if it will provide additional information not already presented in the page.
This results in significantly smaller documentation pages in many cases where that section would just repeat what has already been presented in the rendered type.
- Added `comment.beforeTags` and `comment.afterTags` hooks for plugin use.
Combined with `CommentTag.skipRendering` this can be used to provide custom tag handling at render time.
##### Bug Fixes
- TypeDoc now supports objects with multiple index signatures, [#2470](https://togithub.com/TypeStrong/TypeDoc/issues/2470).
- Header anchor links in rendered markdown are now more consistent with headers generated by TypeDoc, [#2546](https://togithub.com/TypeStrong/TypeDoc/issues/2546).
- Types rendered in the `Returns` header are now properly colored, [#2546](https://togithub.com/TypeStrong/TypeDoc/issues/2546).
- Links added with the `navigationLinks` option are now moved into the pull out navigation on mobile displays, [#2548](https://togithub.com/TypeStrong/TypeDoc/issues/2548).
- `@license` and `@import` comments will be ignored at the top of files, [#2552](https://togithub.com/TypeStrong/TypeDoc/issues/2552).
- Fixed issue in documentation validation where constructor signatures where improperly considered not documented, [#2553](https://togithub.com/TypeStrong/TypeDoc/issues/2553).
- Keyboard focus is now visible on dropdowns and checkboxes in the default theme, [#2556](https://togithub.com/TypeStrong/TypeDoc/issues/2556).
- The color theme label in the default theme now has an accessible name, [#2557](https://togithub.com/TypeStrong/TypeDoc/issues/2557).
- Fixed issue where search results could not be navigated while Windows Narrator was on, [#2563](https://togithub.com/TypeStrong/TypeDoc/issues/2563).
- `charset` is now correctly cased in `` tag generated by the default theme, [#2568](https://togithub.com/TypeStrong/TypeDoc/issues/2568).
- Fixed very slow conversion on Windows where Msys git was used by typedoc to discover repository links, [#2586](https://togithub.com/TypeStrong/TypeDoc/issues/2586).
- Validation will now be run in watch mode, [#2584](https://togithub.com/TypeStrong/TypeDoc/issues/2584).
- Fixed an issue where custom themes which added dependencies in the `` element could result in broken icons, [#2589](https://togithub.com/TypeStrong/TypeDoc/issues/2589).
- `@default` and `@defaultValue` blocks are now recognized as regular blocks if they include inline tags, [#2601](https://togithub.com/TypeStrong/TypeDoc/issues/2601).
- Navigation folders sharing a name will no longer be saved with a shared key to `localStorage`.
- The `--hideParameterTypesInTitle` option no longer applies when rendering function types.
- Broken `@link` tags in readme files will now cause a warning when link validation is enabled.
- Fixed `externalSymbolLinkMappings` option's support for [meanings](https://typedoc.org/guides/declaration-references/#meaning) in declaration references.
- Buttons to copy code now have the `type=button` attribute set to avoid being treated as submit buttons.
- `--hostedBaseUrl` will now implicitly add a trailing slash to the generated URL.
##### Thanks!
- [@Aryakoste](https://togithub.com/Aryakoste)
- [@bladerunner2020](https://togithub.com/bladerunner2020)
- [@Dinnerbone](https://togithub.com/Dinnerbone)
- [@HarelM](https://togithub.com/HarelM)
- [@kraenhansen](https://togithub.com/kraenhansen)
- [@Nil2000](https://togithub.com/Nil2000)
- [@steve02081504](https://togithub.com/steve02081504)
- [@tristanzander](https://togithub.com/tristanzander)
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
^0.25.8
->^0.26.0
Release Notes
TypeStrong/TypeDoc (typedoc)
### [`v0.26.0`](https://togithub.com/TypeStrong/TypeDoc/blob/HEAD/CHANGELOG.md#v0260-2024-06-22) [Compare Source](https://togithub.com/TypeStrong/TypeDoc/compare/v0.25.13...v0.26.0) ##### Breaking Changes - Drop support for Node 16. - Moved from `marked` to `markdown-it` for parsing as marked has moved to an async model which supporting would significantly complicate TypeDoc's rendering code. This means that any projects setting `markedOptions` needs to be updated to use `markdownItOptions`. Unlike `marked@4`, `markdown-it` pushes lots of functionality to plugins. To use plugins, a JavaScript config file must be used with the `markdownItLoader` option. - Updated Shiki from 0.14 to 1.x. This should mostly be a transparent update which adds another 23 supported languages and 13 supported themes. As Shiki adds additional languages, the time it takes to load the highlighter increases linearly. To avoid rendering taking longer than necessary, TypeDoc now only loads a few common languages. Additional languages can be loaded by setting the `--highlightLanguages` option. - Changed default of `--excludePrivate` to `true`. - Renamed `--sitemapBaseUrl` to `--hostedBaseUrl` to reflect that it can be used for more than just the sitemap. - Removed deprecated `navigation.fullTree` option. - Removed `--media` option, TypeDoc will now detect image links within your comments and markdown documents and automatically copy them to the site. - Removed `--includes` option, use the `@document` tag instead. - Removed `--stripYamlFrontmatter` option, TypeDoc will always do this now. - Renamed the `--htmlLang` option to `--lang`. - Removed the `--gaId` option for Google Analytics integration and corresponding `analytics` theme member, [#2600](https://togithub.com/TypeStrong/TypeDoc/issues/2600). - All function-likes may now have comments directly attached to them. This is a change from previous versions of TypeDoc where functions comments were always moved down to the signature level. This mostly worked, but caused problems with type aliases, so was partially changed in 0.25.13. This change was extended to apply not only to type aliases, but also other function-likes declared with variables and callable properties. As a part of this change, comments on the implementation signature of overloaded functions will now be added to the function reflection, and will not be inherited by signatures of that function, [#2521](https://togithub.com/TypeStrong/TypeDoc/issues/2521). - API: TypeDoc now uses a typed event emitter to provide improved type safety, this found a bug where `Converter.EVENT_CREATE_DECLARATION` was emitted for `ProjectReflection` in some circumstances. - API: `MapOptionDeclaration.mapError` has been removed. - API: Deprecated `BindOption` decorator has been removed. - API: `DeclarationReflection.indexSignature` has been renamed to `DeclarationReflection.indexSignatures`. Note: This also affects JSON serialization. TypeDoc will support JSON output from 0.25 through at least 0.26. - API: `JSONOutput.SignatureReflection.typeParameter` has been renamed to `typeParameters` to match the JS API. - API: `DefaultThemeRenderContext.iconsCache` has been removed as it is no longer needed. - API: `DefaultThemeRenderContext.hook` must now be passed `context` if required by the hook. ##### Features - Added support for TypeScript 5.5. - Added new `--projectDocuments` option to specify additional Markdown documents to be included in the generated site [#247](https://togithub.com/TypeStrong/TypeDoc/issues/247), [#1870](https://togithub.com/TypeStrong/TypeDoc/issues/1870), [#2288](https://togithub.com/TypeStrong/TypeDoc/issues/2288), [#2565](https://togithub.com/TypeStrong/TypeDoc/issues/2565). - TypeDoc now has the architecture in place to support localization. No languages besides English are currently shipped in the package, but it is now possible to add support for additional languages, [#2475](https://togithub.com/TypeStrong/TypeDoc/issues/2475). - Added support for a `packageOptions` object which specifies options that should be applied to each entry point when running with `--entryPointStrategy packages`, [#2523](https://togithub.com/TypeStrong/TypeDoc/issues/2523). - `--hostedBaseUrl` will now be used to generate a `` element in the project root page, [#2550](https://togithub.com/TypeStrong/TypeDoc/issues/2550). - Added support for documenting individual elements of a union type, [#2585](https://togithub.com/TypeStrong/TypeDoc/issues/2585). Note: This feature is only available on type aliases directly containing unions. - TypeDoc will now log the number of errors/warnings errors encountered, if any, after a run, [#2581](https://togithub.com/TypeStrong/TypeDoc/issues/2581). - New option, `--customFooterHtml` to add custom HTML to the generated page footer, [#2559](https://togithub.com/TypeStrong/TypeDoc/issues/2559). - TypeDoc will now copy modifier tags to children if specified in the `--cascadedModifierTags` option, [#2056](https://togithub.com/TypeStrong/TypeDoc/issues/2056). - TypeDoc will now warn if mutually exclusive modifier tags are specified for a comment (e.g. both `@alpha` and `@beta`), [#2056](https://togithub.com/TypeStrong/TypeDoc/issues/2056). - Groups and categories can now be collapsed in the page body, [#2330](https://togithub.com/TypeStrong/TypeDoc/issues/2330). - Added support for JSDoc `@hideconstructor` tag. This tag should only be used to work around [TypeScript#58653](https://togithub.com/TypeScript/TypeDoc/issues/58653), prefer the more general `@hidden`/`@ignore` tag to hide members normally, [#2577](https://togithub.com/TypeStrong/TypeDoc/issues/2577). - Added `--useHostedBaseUrlForAbsoluteLinks` option to use the `--hostedBaseUrl` option to produce absolute links to pages on a site, [#940](https://togithub.com/TypeStrong/TypeDoc/issues/940). - Tag headers now generate permalinks in the default theme, [#2308](https://togithub.com/TypeStrong/TypeDoc/issues/2308). - TypeDoc now attempts to use the "most likely name" for a symbol if the symbol is not present in the documentation, [#2574](https://togithub.com/TypeStrong/TypeDoc/issues/2574). - Fixed an issue where the "On This Page" section would include markdown if the page contained headings which contained markdown. - TypeDoc will now warn if a block tag is used which is not defined by the `--blockTags` option. - Added three new sort strategies `documents-first`, `documents-last`, and `alphabetical-ignoring-documents` to order markdown documents. - Added new `--alwaysCreateEntryPointModule` option. When set, TypeDoc will always create a `Module` for entry points, even if only one is provided. If `--projectDocuments` is used to add documents, this option defaults to `true`, otherwise, defaults to `false`. - Added new `--highlightLanguages` option to control what Shiki language packages are loaded. - TypeDoc will now render union elements on new lines if there are more than 3 items in the union. - TypeDoc will now only render the "Type Declaration" section if it will provide additional information not already presented in the page. This results in significantly smaller documentation pages in many cases where that section would just repeat what has already been presented in the rendered type. - Added `comment.beforeTags` and `comment.afterTags` hooks for plugin use. Combined with `CommentTag.skipRendering` this can be used to provide custom tag handling at render time. ##### Bug Fixes - TypeDoc now supports objects with multiple index signatures, [#2470](https://togithub.com/TypeStrong/TypeDoc/issues/2470). - Header anchor links in rendered markdown are now more consistent with headers generated by TypeDoc, [#2546](https://togithub.com/TypeStrong/TypeDoc/issues/2546). - Types rendered in the `Returns` header are now properly colored, [#2546](https://togithub.com/TypeStrong/TypeDoc/issues/2546). - Links added with the `navigationLinks` option are now moved into the pull out navigation on mobile displays, [#2548](https://togithub.com/TypeStrong/TypeDoc/issues/2548). - `@license` and `@import` comments will be ignored at the top of files, [#2552](https://togithub.com/TypeStrong/TypeDoc/issues/2552). - Fixed issue in documentation validation where constructor signatures where improperly considered not documented, [#2553](https://togithub.com/TypeStrong/TypeDoc/issues/2553). - Keyboard focus is now visible on dropdowns and checkboxes in the default theme, [#2556](https://togithub.com/TypeStrong/TypeDoc/issues/2556). - The color theme label in the default theme now has an accessible name, [#2557](https://togithub.com/TypeStrong/TypeDoc/issues/2557). - Fixed issue where search results could not be navigated while Windows Narrator was on, [#2563](https://togithub.com/TypeStrong/TypeDoc/issues/2563). - `charset` is now correctly cased in `` tag generated by the default theme, [#2568](https://togithub.com/TypeStrong/TypeDoc/issues/2568). - Fixed very slow conversion on Windows where Msys git was used by typedoc to discover repository links, [#2586](https://togithub.com/TypeStrong/TypeDoc/issues/2586). - Validation will now be run in watch mode, [#2584](https://togithub.com/TypeStrong/TypeDoc/issues/2584). - Fixed an issue where custom themes which added dependencies in the `` element could result in broken icons, [#2589](https://togithub.com/TypeStrong/TypeDoc/issues/2589). - `@default` and `@defaultValue` blocks are now recognized as regular blocks if they include inline tags, [#2601](https://togithub.com/TypeStrong/TypeDoc/issues/2601). - Navigation folders sharing a name will no longer be saved with a shared key to `localStorage`. - The `--hideParameterTypesInTitle` option no longer applies when rendering function types. - Broken `@link` tags in readme files will now cause a warning when link validation is enabled. - Fixed `externalSymbolLinkMappings` option's support for [meanings](https://typedoc.org/guides/declaration-references/#meaning) in declaration references. - Buttons to copy code now have the `type=button` attribute set to avoid being treated as submit buttons. - `--hostedBaseUrl` will now implicitly add a trailing slash to the generated URL. ##### Thanks! - [@Aryakoste](https://togithub.com/Aryakoste) - [@bladerunner2020](https://togithub.com/bladerunner2020) - [@Dinnerbone](https://togithub.com/Dinnerbone) - [@HarelM](https://togithub.com/HarelM) - [@kraenhansen](https://togithub.com/kraenhansen) - [@Nil2000](https://togithub.com/Nil2000) - [@steve02081504](https://togithub.com/steve02081504) - [@tristanzander](https://togithub.com/tristanzander)Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.