Skip to content

docs(emitter-framework): Add JSDoc for TypeScript components and transformations [skip chg] - #12220

Closed
Timothee Guerin (timotheeguerin) wants to merge 3 commits into
microsoft:mainfrom
timotheeguerin:docs/jsdoc-framework-typescript
Closed

Timothee Guerin (timotheeguerin) wants to merge 3 commits into
microsoft:mainfrom
timotheeguerin:docs/jsdoc-framework-typescript

Conversation

@timotheeguerin

@timotheeguerin Timothee Guerin (timotheeguerin) commented Oct 15, 2026 •

Copy link
Copy Markdown
Member

TypeScript emitter authors need to know which signatures come from TypeSpec, how explicit parameters are combined, and which conversion helpers must be rendered before referencing them.

Document component composition, error-return filtering, reference versus inline rendering, and application/transport naming. Clarify that serializer components emit runtime helpers, including their null/falsy input behavior. No runtime or type changes.

Tracked in #12228.

@microsoft-github-policy-service microsoft-github-policy-service Bot added the emitter-framework Issues for the emitter framework label Oct 15, 2026
@pkg-pr-new

pkg-pr-new Bot commented Oct 15, 2026 •

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/@typespec/emitter-framework@12220

commit: f9aa490

@github-actions

Copy link
Copy Markdown
Contributor

❌ There is undocummented changes. Run chronus add to add a changeset or click here.

The following packages have changes but are not documented.

  • ❌@typespec/emitter-framework
Show changes

@timotheeguerin Timothee Guerin (timotheeguerin) changed the title Document TypeScript emitter framework composition and transformations docs(emitter-framework): Add JSDoc for TypeScript components and transformations [skip chg] Oct 15, 2026
@azure-sdk-automation

azure-sdk-automation Bot commented Oct 15, 2026 •

Copy link
Copy Markdown

You can try these changes here

🛝 Playground 🌐 Website 🛝 VSCode Extension

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The documentation-only changes preserve behavior and signatures, with no unresolved review issues.

0 open findings

What changed in this PR

Adds JSDoc for emitter-framework’s TypeScript APIs as part of #12228, without changing runtime behavior or API signatures.

Changes:

  • Clarifies operation-derived signatures, parameter ordering, and error filtering.
  • Documents declaration composition and reference versus inline rendering.
  • Explains transformation naming, helper dependencies, and serializer input behavior.
File Description
packages/​emitter-framework/​src/​typescript/​utils/​operation.ts Documents return filtering and parameter descriptors.
packages/​emitter-framework/​src/​typescript/​components/​union/​expression.tsx Explains union and enum alternatives.
packages/​emitter-framework/​src/​typescript/​components/​union/​declaration.tsx Documents union alias options.
packages/​emitter-framework/​src/​typescript/​components/​type-transform.tsx Clarifies conversion directions and helper dependencies.
packages/​emitter-framework/​src/​typescript/​components/​type-expression.tsx Explains reference and inline rendering.
packages/​emitter-framework/​src/​typescript/​components/​type-declaration.tsx Documents declaration selection.
packages/​emitter-framework/​src/​typescript/​components/​static-serializers.tsx Describes runtime helpers and null/falsy handling.
packages/​emitter-framework/​src/​typescript/​components/​interface-method.tsx Clarifies operation-backed method options.
packages/​emitter-framework/​src/​typescript/​components/​interface-member.tsx Documents property and method rendering.
packages/​emitter-framework/​src/​typescript/​components/​interface-declaration.tsx Explains interface composition and defaults.
packages/​emitter-framework/​src/​typescript/​components/​function-type.tsx Clarifies signature defaults and parameter ordering.
packages/​emitter-framework/​src/​typescript/​components/​function-expression.tsx Clarifies signature defaults and parameter ordering.
packages/​emitter-framework/​src/​typescript/​components/​function-declaration.tsx Documents operation-backed declarations and parameter lists.
packages/​emitter-framework/​src/​typescript/​components/​class-method.tsx Explains method signatures and return annotations.
packages/​emitter-framework/​src/​typescript/​components/​arrow-function.tsx Clarifies operation defaults and parameter ordering.
packages/​emitter-framework/​src/​typescript/​components/​array-expression.tsx Distinguishes array type expressions from values.

🧠 Review effort: Balanced


💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@timotheeguerin

Copy link
Copy Markdown
Member Author

Consolidated into #12209 to keep one PR per package and at most five compiler PRs. The reviewed changes and corrections are preserved there.

Tracked in #12228.

Timothee Guerin (timotheeguerin) added a commit that referenced this pull request Oct 16, 2026
Emitter authors need usable contracts across contexts, language
components, transformations, and testing helpers, not just component
names and TypeScript signatures.

Document the public emitter framework together, including its C#,
TypeScript, and Python components. Explain defaults, supported input
shapes, transformation scope, and error filtering without changing
generated output or APIs.

Consolidates [12213](#12213),
[12220](#12220),
[12223](#12223),
[12226](#12226),
[12227](#12227).

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

Labels

emitter-framework Issues for the emitter framework

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants