Skip to content

docs(typescript): custom doc generation router with semantic structure and MDX safety#728

Merged
jazz-cb merged 1 commit into
mainfrom
jj/sdk-docs-router
Jun 18, 2026
Merged

docs(typescript): custom doc generation router with semantic structure and MDX safety#728
jazz-cb merged 1 commit into
mainfrom
jj/sdk-docs-router

Conversation

@jazz-cb

@jazz-cb jazz-cb commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

Description

  • Adds typedoc-router-backend.mjs — a custom TypeDoc router that uses existing @module tags to organize docs into semantic directories (Client/, Accounts/, Actions/, Types/) instead of TypeDoc's default flat names (Client.Class.EvmClient.mdx)
  • Switches all format options to list (parametersFormat, propertiesFormat, typeDeclarationFormat) — table format breaks Mintlify's strict MDX production build when cells contain TypeScript generics or template literals like ${string}
  • Adds ts-frontmatter.mjs to all typedoc configs so every generated page has title and sidebarTitle frontmatter (required for Mintlify to render)
  • Strips .mdx extension from generated cross-links and lowercases kind-based fallback directory names to avoid case-sensitivity 404s on Mintlify's Linux build server
  • skipErrorChecking: true added to suppress unrelated node_modules TypeScript errors; flattenOutputFiles removed

Tests

Checklist

A couple of things to include in your PR for completeness:

  • Updated the typescript README if relevant
  • Updated the python README if relevant
  • Added a changelog entry
  • Added e2e tests if introducing new functionality

@cb-heimdall

cb-heimdall commented Jun 17, 2026

Copy link
Copy Markdown

✅ Heimdall Review Status

Requirement Status More Info
Reviews 2/1
Denominator calculation
Show calculation
1 if user is bot 0
1 if user is external 0
2 if repo is sensitive 0
From .codeflow.yml 1
Additional review requirements
Show calculation
Max 0
0
From CODEOWNERS 0
Global minimum 0
Max 1
1
1 if commit is unverified 0
Sum 1

Comment thread typescript/typedoc-router-backend.mjs Fixed
Comment thread typescript/typedoc-router-backend.mjs Fixed
Comment thread typescript/typedoc-router-backend.mjs Fixed
@jazz-cb jazz-cb force-pushed the jj/sdk-docs-router branch from b5dcccb to 7c00a90 Compare June 17, 2026 23:11
@jazz-cb jazz-cb requested a review from sddioulde June 17, 2026 23:12
@jazz-cb jazz-cb force-pushed the jj/sdk-docs-router branch from 7c00a90 to b4f0586 Compare June 17, 2026 23:15
@jazz-cb jazz-cb requested a review from sammccord June 17, 2026 23:17
@jazz-cb jazz-cb force-pushed the jj/sdk-docs-router branch 2 times, most recently from 07bbb2c to a19713f Compare June 17, 2026 23:58
Comment thread typescript/typedoc-router-backend.mjs Fixed
@jazz-cb jazz-cb force-pushed the jj/sdk-docs-router branch 3 times, most recently from a05ad7d to 2fa9878 Compare June 18, 2026 00:36
Comment thread typescript/typedoc-router-backend.mjs Fixed
@jazz-cb jazz-cb force-pushed the jj/sdk-docs-router branch from 2fa9878 to 064da0b Compare June 18, 2026 00:48
…ructure

Adds typedoc-router-backend.mjs — a custom TypeDoc router that uses existing
@module tags (Client, Accounts, Actions, Types, etc.) to organize generated
docs into semantic directories instead of TypeDoc's default flat
kind-based names (Client.Class.EvmClient.mdx).

Additional changes to ensure Mintlify compatibility:
- Switch parametersFormat, propertiesFormat, typeDeclarationFormat to "list"
  (table format breaks Mintlify's strict MDX build when cells contain
  TypeScript generics or template literals like ${string})
- Add ts-frontmatter.mjs to all typedoc configs so every page gets
  title/sidebarTitle frontmatter (required for Mintlify to render)
- Strip .mdx from generated cross-links; lowercase kind-based fallback
  directory names to avoid case-sensitivity 404s on Linux build servers
- Escape @pattern pipe chars and bare {expr} patterns to prevent MDX
  JSX parse failures
- Set skipErrorChecking: true (suppresses unrelated node_modules TS errors)
- Remove flattenOutputFiles (was collapsing the subdirectory structure)
- Set membersWithOwnFile to [Class, Function, Enum, Variable, TypeAlias]

Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
@jazz-cb jazz-cb force-pushed the jj/sdk-docs-router branch from 064da0b to 37b246b Compare June 18, 2026 02:04
@jazz-cb jazz-cb merged commit cf5e637 into main Jun 18, 2026
49 checks passed
@jazz-cb jazz-cb deleted the jj/sdk-docs-router branch June 18, 2026 02:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

5 participants