Azure / Azure/typespec-azure

typespec-autorest: inject API versions from TypeSpec

Open
#4,827 0 comments 0 reactions 0 assignees View on GitHub
emitter:autorest feature triaged:core
Dominant language
TypeScript
Stars
27
Forks
90
Avg merge
1d 22h
Merged PRs (30d)
156

Description

Part of #4825.

RFC: https://github.com/Azure/azure-rest-api-specs/blob/rfc/unified-examples-format/documentation/rfc/service-yaml.md

Add `@azure-tools/typespec-autorest` support to **derive/inject the API version list from the TypeSpec `@versioned` enum** for TypeSpec services, so versions don't have to be hand-maintained in `service.yaml`.

- TypeSpec services: versions come from `@versioned`.
- Swagger versions stay explicit via `swagger-files`.
- Resolves the RFC's version auto-detection open question toward auto-detection for TypeSpec.

Depends on #4826 (format/schema).

Contributor guide

Open the contributing guide

Research direction

Start with the RFC in documentation/rfc/service-yaml.md and the format/schema work in #4826. Then inspect @azure-tools/typespec-autorest entry points for TypeSpec services and @versioned handling. Done means TypeSpec service versions are derived from @versioned, while Swagger versions remain explicit through swagger-files.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
api, backend-api-design
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.