You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
chore(deps-dev): bump typedoc-plugin-markdown from 4.13.1 to 4.14.1 - #2823
Render constructor types with their new and abstract keywords instead of as function types (#940).
Parenthesise function, constructor, union and conditional types inside intersections, so A & (() => void) is no longer rendered as A & () => void (#940).
With useCodeBlocks, mark optional members with ? instead of an optional keyword, which is not valid TypeScript.
With useCodeBlocks, quote property and method names that are not identifiers, so "prop.with.dot": string is no longer rendered as prop.with.dot: string.
With useCodeBlocks, render "Overrides", "Implementation of" and "Inherited from" references to external members as inline code instead of code blocks, on one line.
typedoc-plugin-markdown@4.14.0
Minor Changes
This release is a sweep of rendering fixes checked against TypeDoc's own output. Most of them change the generated markdown, so expect diffs when docs are regenerated. No option or public type changes.
Render methods inside object types with their call signatures, every overload and their comments, instead of only the first overload's return type. This applies to expanded objects (expandObjects), properties tables, parameter tables and lists, and type declaration tables, where nested methods also keep their path prefix (inner.fn()) (#908).
Render anchors for type parameters, including those of methods, so links to them resolve. They are slugged from the type parameter's name, prefixed with type-parameter- when parametersFormat is a table so they no longer shift member anchors, and omitted when parametersFormat is none (#909).
Fire the page.begin, page.end, content.begin and content.end hooks on the readme page and on document pages, which previously fired no hooks, so content injected through them (such as front matter) now appears there too. The index.page.begin and index.page.end hooks still fire on the project page as before.
Change the structure of several page sections: named tuple members are rendered with their names and optional markers ([first: string, second?: number]); each parent under "Extends" is its own item instead of being joined with .; the object members of an intersection sit under a single "Type Declaration" heading after the type parameters; and each document group lists only its own documents.
Remove #, ? and \ from generated file names, so links to pages such as a document titled FAQ: What's new? [#1](https://github.com/typedoc2md/typedoc-plugin-markdown/tree/HEAD/packages/typedoc-plugin-markdown/issues/1) resolve, and keep names made only of underscores, so export function _() is written to functions/_.md instead of an empty file name.
Patch Changes
Apply anchorPrefix to links that point to another page, and only once with the kind-dir and structure-dir routers, and link constructors to their localised heading (e.g. #konstruktor) when lang is not English.
Keep literal values verbatim in code blocks (useCodeBlocks) and escape backslashes in text outside code, so '[a](https://github.com/typedoc2md/typedoc-plugin-markdown/tree/HEAD/packages/typedoc-plugin-markdown/blob/HEAD/b)', '<b>' and 'C:\\temp' display as written instead of as "a", "<b>" and C:\temp.
List a class under every hierarchy root it extends or implements on the hierarchy summary page, instead of only the first.
Encode relative media links, so a linked file with spaces in its name still resolves.
Match entryModule against modules only, so a function or class sharing the module's name keeps its page, find the entry module when project documents are present, and write the readme page once with the core routers and mergeReadme instead of a second page at the same URL.
Render the return type of a signature when it is an array or intersection of documented object types or an @expand type, instead of an empty "Returns" section, and render parameters and return types that reference an @expand type as the type instead of listing union members separately.
Wrap function, intersection, conditional and type operator types in parentheses when they are array elements or optional tuple elements, e.g. (() => void)[] instead of () => void[].
Strike through deprecated nested members in properties and type declaration tables, as list format already does.
Mark a parameter as optional (a?) in tables when it has a default value, as the signature title and list format already do, and only by its own flag for members of an object parameter instead of every row after the first optional one. Show the default value of a union-typed parameter and the type of an object parameter with no members to list (such as an index signature alone) in list format, and show an elided property default as ... in properties tables instead of undefined.
Keep pages inside the output directory when a module or document name contains parent directory segments.
Escape | in table cells (including inside code spans, as GFM tables require) so it no longer splits a row into extra columns. The rendered text still shows a plain |.
Show every modifier of a property (e.g. protected static readonly), not only the first one found.
Render constructor types with their new and abstract keywords instead of as function types (#940).
Parenthesise function, constructor, union and conditional types inside intersections, so A & (() => void) is no longer rendered as A & () => void (#940).
With useCodeBlocks, mark optional members with ? instead of an optional keyword, which is not valid TypeScript.
With useCodeBlocks, quote property and method names that are not identifiers, so "prop.with.dot": string is no longer rendered as prop.with.dot: string.
With useCodeBlocks, render "Overrides", "Implementation of" and "Inherited from" references to external members as inline code instead of code blocks, on one line.
4.14.0 (2026-10-13)
Minor Changes
This release is a sweep of rendering fixes checked against TypeDoc's own output. Most of them change the generated markdown, so expect diffs when docs are regenerated. No option or public type changes.
Render methods inside object types with their call signatures, every overload and their comments, instead of only the first overload's return type. This applies to expanded objects (expandObjects), properties tables, parameter tables and lists, and type declaration tables, where nested methods also keep their path prefix (inner.fn()) (#908).
Render anchors for type parameters, including those of methods, so links to them resolve. They are slugged from the type parameter's name, prefixed with type-parameter- when parametersFormat is a table so they no longer shift member anchors, and omitted when parametersFormat is none (#909).
Fire the page.begin, page.end, content.begin and content.end hooks on the readme page and on document pages, which previously fired no hooks, so content injected through them (such as front matter) now appears there too. The index.page.begin and index.page.end hooks still fire on the project page as before.
Change the structure of several page sections: named tuple members are rendered with their names and optional markers ([first: string, second?: number]); each parent under "Extends" is its own item instead of being joined with .; the object members of an intersection sit under a single "Type Declaration" heading after the type parameters; and each document group lists only its own documents.
Remove #, ? and \ from generated file names, so links to pages such as a document titled FAQ: What's new? [#1](https://github.com/typedoc2md/typedoc-plugin-markdown/tree/HEAD/packages/typedoc-plugin-markdown/issues/1) resolve, and keep names made only of underscores, so export function _() is written to functions/_.md instead of an empty file name.
Patch Changes
Apply anchorPrefix to links that point to another page, and only once with the kind-dir and structure-dir routers, and link constructors to their localised heading (e.g. #konstruktor) when lang is not English.
Keep literal values verbatim in code blocks (useCodeBlocks) and escape backslashes in text outside code, so '[a](https://github.com/typedoc2md/typedoc-plugin-markdown/blob/main/packages/typedoc-plugin-markdown/b)', '<b>' and 'C:\\temp' display as written instead of as "a", "<b>" and C:\temp.
List a class under every hierarchy root it extends or implements on the hierarchy summary page, instead of only the first.
Encode relative media links, so a linked file with spaces in its name still resolves.
Match entryModule against modules only, so a function or class sharing the module's name keeps its page, find the entry module when project documents are present, and write the readme page once with the core routers and mergeReadme instead of a second page at the same URL.
Render the return type of a signature when it is an array or intersection of documented object types or an @expand type, instead of an empty "Returns" section, and render parameters and return types that reference an @expand type as the type instead of listing union members separately.
Wrap function, intersection, conditional and type operator types in parentheses when they are array elements or optional tuple elements, e.g. (() => void)[] instead of () => void[].
Strike through deprecated nested members in properties and type declaration tables, as list format already does.
Mark a parameter as optional (a?) in tables when it has a default value, as the signature title and list format already do, and only by its own flag for members of an object parameter instead of every row after the first optional one. Show the default value of a union-typed parameter and the type of an object parameter with no members to list (such as an index signature alone) in list format, and show an elided property default as ... in properties tables instead of undefined.
Keep pages inside the output directory when a module or document name contains parent directory segments.
Escape | in table cells (including inside code spans, as GFM tables require) so it no longer splits a row into extra columns. The rendered text still shows a plain |.
Show every modifier of a property (e.g. protected static readonly), not only the first one found.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase will rebase this PR
@dependabot recreate will recreate this PR, overwriting any edits that have been made to it
@dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
@dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
@dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
@dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.
This PR includes no changesets
When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types
✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 93.87%. Comparing base (822f6a4) to head (97754b5). ⚠️ Report is 2 commits behind head on main.
✅ All tests successful. No failed tests found.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
dependenciesPull requests that update a dependency filejavascriptPull requests that update Javascript code
0 participants
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bumps typedoc-plugin-markdown from 4.13.1 to 4.14.1.
Release notes
Sourced from typedoc-plugin-markdown's releases.
Changelog
Sourced from typedoc-plugin-markdown's changelog.
Commits
bc9bce5Version Packages054a927fix(core): render inheritance references to external members as inline code6b1f385test(core): check that ts code blocks in fixture output are valid TypeScript1242c67test(core): build HTML output for the utils fixturesbd860c4fix(core): render optional and non-identifier member names as valid TypeScrip...a167dd0fix(core): render constructor and function types in intersections as valid Ty...2fcdba6chore(release): date and sync changelogs2fce902Version Packages2c91a37fix(core): keep pages inside the output directory and insert names containing...5e456barefactor(core): share the anchor title logic between member and type paramete...Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)