fix(docs): exclude alpha/beta reflections and recurse endpoints - #2444
Merged
mariechatfield merged 5 commits intoJul 22, 2026
Conversation
…erence TypeDoc's `exclude` option filters source-file globs, not comment tags, and `@alpha`/`@beta` have no built-in exclusion behavior (unlike `@internal`) — they only render as a badge. Add a RESOLVE_BEGIN pass that strips any reflection tagged `@alpha`/`@beta` (checking signatures too, since function comments live there, not the parent declaration) before pages are built. SDK-1127 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
endpointsForFlow() only flattened one level: for each composed name in flow.blocks, it looked up inventory.blocks[name] and fell back to []. That silently drops endpoints for names that are themselves flows (e.g. PayrollExecutionFlow inside PayrollFlow, or CreatePaymentFlow inside PaymentFlow) rather than leaf blocks, since those live in inventory.flows instead. Recurse into inventory.flows for such names, guarding against a cycle between flows. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
3 tasks
Codifies the Mermaid step-flow diagram conventions worked out across the docs walkthrough (layout choice by flow shape, start/stop markers, edge and node semantics, wrapper-flow collapsing, when to keep vs. drop edge labels, what not to draw, fixing oversized diagrams, styling, and a verify-against-source checklist) so new flow diagrams start from the same rules instead of re-deriving them per flow. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Extend collectOnEventKeys to resolve the type of function parameters —
so components declared as `function Foo(props: FooProps)` (props-object
pattern) are recognized as event emitters when FooProps includes onEvent,
matching the behavior for destructured `{ onEvent }` params.
Also adds a test suite for tsdoc-stub-lib covering buildSkeleton,
extractInfo, collectOnEventKeys (including the new path), and
processSymbol.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
serikjensen
approved these changes
Jul 22, 2026
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
excludeoption filters source-file globs, not comment tags —@alpha/@betahad no exclusion behavior (unlike@internal), so tagged symbols still rendered (as a badge) instead of disappearing from the generated reference. Add aRESOLVE_BEGINpass that strips reflections tagged@alpha/@betabefore pages are built, checking signatures too since a function's comment lives there, not the parent declaration.endpointsForFlow()only flattened one level of a flow's composed names againstinventory.blocks. When a composed name is itself a nested flow (PayrollExecutionFlowinsidePayrollFlow,CreatePaymentFlowinsidePaymentFlow) rather than a leaf block, the lookup missed and its endpoints silently dropped out of the parent's rolled-up Endpoints table. Now recurses intoinventory.flowsfor such names.Test plan
npm run deriveregenerates cleanly with 0 errorsPayrollFlow's Endpoints table now includes the previously-missingGET /v1/companies/:companyId/payrolls(viaPayrollExecutionFlow)OffCycleFlow,DismissalFlow,TransitionFlow,EmployeeListFlow, bothOnboardingFlowpages also gained previously-dropped endpoints from the same fixnpm run deriverun — no driftdocs-site/plugins/typedoc-custom/sdk-router.test.ts("hooks from different directories get separate pages") reproduces onmaintoo — not introduced by this change🤖 Generated with Claude Code