Azure / Azure/typespec-azure

[typespec-ts] Complete multipart/form-data and multipart content-type support

Open
#4,757 0 comments 0 reactions 0 assignees View on GitHub
emitter:typescript
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.