Skip to content

chore(joint-react): tag exports with @group + expand typedoc groups#3390

Open
kumilingus wants to merge 2 commits into
clientIO:devfrom
kumilingus:chore/joint-react-typedoc-groups
Open

chore(joint-react): tag exports with @group + expand typedoc groups#3390
kumilingus wants to merge 2 commits into
clientIO:devfrom
kumilingus:chore/joint-react-typedoc-groups

Conversation

@kumilingus

Copy link
Copy Markdown
Contributor

Summary

yarn docs:typedoc rendered most exports under typedoc's default buckets (Functions, Interfaces, Type Aliases, Variables) because only a handful of items carried @group tags. This PR:

  • Renames the Models group to MVC.
  • Adds three new groups: Selectors, Presets, Types.
  • Tags every public export at its source with the right @group, so the rendered API page now organizes around the actual library structure.

Group order

"groupOrder": ["Components", "Hooks", "Selectors", "Presets", "MVC", "Types", "Utils", "*"]

Distribution after this PR

Group Count
Components 5
Hooks 13
Selectors 9
Presets 32
MVC 4
Types 68
Utils 3
(default fallthrough) 0

Renames at source

  • @group Models@group MVC (src/mvc/*)
  • @group utils@group Utils (src/utils/*)
  • @group Graph@group Presets (src/presets/element-ports.ts, link-style.ts, link-labels.ts)

Test plan

  • yarn docs:typedoc — 0 errors, 0 warnings
  • yarn typecheck — clean
  • yarn jest — 975/975 passing
  • Spot-check rendered docs/api/index.html — every export lands in the expected section, no leftover default buckets

🤖 Generated with Claude Code

kumilingus and others added 2 commits June 25, 2026 11:12
`yarn docs:typedoc` warned about `SetCellData` / `HandleCellData` being
referenced from public API (`GraphApi.setCellData`, `useSetCellData`)
without being exported. They are implementation details, not part of
the public surface.

- Added both to `intentionallyNotExported` in `typedoc.json` (same
  convention used for `ElementJSONInit`, `LinkJSONInit`, etc.).
- Dropped `{@link SetCellData}` / `{@link HandleCellData}` JSDoc
  references that pointed at internal symbols — replaced with inline
  backtick names so typedoc has nothing to resolve.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Renamed `Models` group to `MVC`, added `Selectors`, `Presets`, and
`Types` groups, and tagged every public export at its source with the
appropriate `@group`. Previously most exports fell into typedoc's
default `Functions` / `Interfaces` / `Type Aliases` / `Variables`
buckets — the rendered API page now organizes around the actual
library structure.

- `typedoc.json` — `groupOrder`:
  `["Components", "Hooks", "Selectors", "Presets", "MVC", "Types", "Utils", "*"]`
- Renamed existing tags:
  - `@group Models` → `@group MVC` (mvc/*)
  - `@group utils` → `@group Utils` (utils/*)
  - `@group Graph` → `@group Presets` (presets/*)
- Added `@group Components` to React components (GraphProvider).
- Added `@group Selectors` to each cell selector.
- Added `@group Types` to every public type / interface used by the
  hooks, components, presets, MVC, and store surfaces.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant