[typespec-ts] Complete multipart/form-data and multipart content-type support
- Dominant language
- TypeScript
- Stars
- 27
- Forks
- 90
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 156
Description
## Overview
This is an umbrella tracking issue for completing multipart support in the TypeScript emitter (`@azure-tools/typespec-ts`). It consolidates several related issues migrated from [Azure/autorest.typescript](https://github.com/Azure/autorest.typescript), which is being retired in favor of this repo.
Each work item below maps to an original autorest.typescript issue. Each sub-item may still require its own PR.
## Work items
- [ ] **Support other multipart and form content types** — handle `application/x-www-form-urlencoded` and `multipart/mixed` in codegen (currently only `multipart/form-data` is supported).
- Migrated from Azure/autorest.typescript#2277
- [ ] **Fill modular `multipart/form-data` gaps**
- Anonymous models with `@multipartBody` -- resolved
- Text parts with a custom content-type header
- `additionalProperties` support
- Migrated from Azure/autorest.typescript#3001
- [ ] **Fix sample generation for required multipart body** — sample generator emits an empty body (`{}`) instead of the required multipart payload.
- Migrated from Azure/autorest.typescript#3633
- [ ] **Multipart response deserialization** — generate correct deserialization for `multipart/mixed` / `multipart/*` responses instead of calling a model deserializer on the raw body. Blocked by runtime support in Azure/azure-sdk-for-js#37070.
- Migrated from Azure/autorest.typescript#3691
## Notes
- Test coverage (formerly autorest.typescript#3747) is tracked as part of the feature work above, not as a standalone issue.
Contributor guide
Research direction
Start at the TypeScript emitter (@azure-tools/typespec-ts) and choose one unchecked work item rather than treating this umbrella issue as a single change. Review the migrated Azure/autorest.typescript issues and the runtime dependency Azure/azure-sdk-for-js#37070; the selected item is done when its multipart behavior and test coverage are implemented, with response deserialization remaining blocked if applicable.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- api, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100