Skip to content

Missing escaping in Type Alias header #829

@arantes555

Description

@arantes555

What package is the bug related to?

typedoc-plugin-markdown

Describe the issue

Updating typedoc-plugin-markdown from 4.4.1 to 4.7.0, our link checking tool began to fail.

It appears that there was a change in the output format of headers for Type Aliases.

Output for 4.4.1:

# Type Alias: AddMultipleTmrAccessesResult

> **AddMultipleTmrAccessesResult** = \{\}

## Index Signature

\[`authFactorValue`: `string`\]: \{ `error`: `null` \| \{ `code`: `string`; `id`: `string`; \}; `id`: `null` \| `string`; `success`: `boolean`; \}

Output for 4.7.0:

# Type Alias: AddMultipleTmrAccessesResult

> **AddMultipleTmrAccessesResult** = \{[`authFactorValue`: `string`]: \{ `error`: `null` \| \{ `code`: `string`; `id`: `string`; \}; `id`: `null` \| `string`; `success`: `boolean`; \}; \}

## Index Signature

\[`authFactorValue`: `string`\]: \{ `error`: `null` \| \{ `code`: `string`; `id`: `string`; \}; `id`: `null` \| `string`; `success`: `boolean`; \}

It looks like the new header does contain information that was missing from the previous one, which is good, but the square brackets lack escaping, which is the reason why link-checking tools mistake them for links. Note that brackets in the Index Signature do have correct escaping.

After bisecting the versions, it looks like the change actually happened between 4.6.0 and 4.6.1.

Taking a look at the changelog, I don't see any direct reference to this. Or maybe I don't understand the wording of one of the changes ?

Thank you for this great tool !

TypeDoc configuration

{
  "entryPoints": ["./src/lib/main.ts"],
  "out": "../../doc-sdk/sdk",
  "plugin": ["typedoc-plugin-markdown", "typedoc-vitepress-theme"],
  "categoryOrder": ["SDK", "SDK Constructor", "Helpers", "*"],
  "excludeInternal": true,
  "disableSources": true,
  "expandObjects": true,
  "expandParameters": true,
  "hideBreadcrumbs": true,
  "hideGenerator": true,
  "sidebar": {
    "autoConfiguration": false
  },
  "githubPages": false,
  "readme": "none"
}

Expected behavior

Escape square brackets properly.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugIssue raised as a bug.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions