Skip to content

feat: document the full public API and export supporting types#93

Merged
KyleJune merged 2 commits into
mainfrom
feat/document-public-api
Jun 14, 2026
Merged

feat: document the full public API and export supporting types#93
KyleJune merged 2 commits into
mainfrom
feat/document-public-api

Conversation

@KyleJune

Copy link
Copy Markdown
Member

Summary

Brings the package to complete JSDoc coverage of its public API so it renders fully on JSR instead of showing "no documentation available". Every exported symbol — and every property/member of exported interfaces, types, and classes — across all entrypoints in src/deno.json is now documented, including symbols reached through re-exports.

Released as a minor because it also exports a few previously-internal types that the public API already referenced.

What changed

  • JSDoc everywhere on the public surfacebuild, dev, server, client, and utils/* entrypoints, plus the symbols they re-export (_client.tsx). Covers Builder fields/methods, the Route*Args interface properties, RootRouteModule, ServerFlags (incl. loader/action), ClientRoute/Client, and the createRoutesStub option/stub types.
  • New exports so their docs resolve instead of pointing at private types:
    • RouteModuleLoader, RootRouteModuleLoader (client.ts lazy-route loader signatures)
    • BivariantComponent (the route component shape referenced by RouteComponent/RouteErrorBoundary/HydrateFallbackComponent)
  • docs: commit softens this repo's CLAUDE.md from a forceful "SYSTEM RULE / binding system rules" framing to a calm pointer to AGENTS.md.

Documentation follows the contract-altitude policy: what a symbol is / when to use it / what it throws — not implementation narration. private/# members are intentionally left undocumented (JSR doesn't render them).

Verification

  • deno doc --lint on every entrypoint: 0 missing JSDoc on the public/protected surface.
  • Remaining private-type-ref are all external dependency types (react, react-router, esbuild, OpenTelemetry, hono) plus the intentionally-internal Route (_server.tsx) — re-exporting third-party types is not done deliberately.
  • deno task check clean (lint, format, type-check).
  • Changes are documentation + additive exports only — no logic or signature changes.

🤖 Generated with Claude Code

KyleJune and others added 2 commits June 13, 2026 22:53
Add JSDoc to every exported symbol and property across the package's
entrypoints (build, dev, server, client, utils/*) and the symbols they
re-export, so the API renders fully on JSR instead of showing
"no documentation available".

Also export the route-loader types (RouteModuleLoader,
RootRouteModuleLoader) and BivariantComponent, which public route types
already referenced, so their docs resolve instead of pointing at private
types.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Replace the forceful "SYSTEM RULE / binding system rules" framing with a
calm pointer to this repo's AGENTS.md.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@KyleJune KyleJune merged commit 85aaa0b into main Jun 14, 2026
10 checks passed
@KyleJune KyleJune deleted the feat/document-public-api branch June 14, 2026 02:57
KyleJune pushed a commit that referenced this pull request Jun 14, 2026
# [0.8.0](0.7.1...0.8.0) (2026-06-14)

### Features

* document the full public API and export supporting types ([#93](#93)) ([85aaa0b](85aaa0b))
@github-actions

Copy link
Copy Markdown

🎉 This PR is included in version 0.8.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant