Migrate swagger to TypeSpec for brownfield service
- Dominant language
- TypeScript
- Stars
- 27
- Forks
- 90
- Avg merge
- 1d 21h
- Merged PRs (30d)
- 164
Description
### Exit Criterion
**Long term**
1. Functional equivalent TypeSpec
2. Functional equivalent SDK from TypeSpec without breaking change
**Short term**
1. Functional equivalent TypeSpec
2. Functional equivalent SDK from swagger generated from TypeSpec without breaking change
### TypeSpec feature gap for Compute
Compute is where our current effort is, which has high priority.
```[tasklist]
### Tasks
- [ ] https://github.com/Azure/typespec-azure/issues/1849
- [ ] https://github.com/Azure/typespec-azure/issues/234
- [ ] https://github.com/Azure/typespec-azure/issues/1844
- [ ] https://github.com/Azure/typespec-azure/issues/1845
- [ ] https://github.com/Azure/typespec-azure/issues/1846
- [ ] https://github.com/Azure/typespec-azure/issues/1474
- [ ] https://github.com/Azure/typespec-azure/issues/1848
- [ ] https://github.com/Azure/typespec-azure/issues/1757
- [ ] https://github.com/Azure/typespec-azure/issues/1901
- [ ] https://github.com/Azure/typespec-azure/issues/1906
- [ ] https://github.com/Azure/typespec-azure/issues/1911
- [ ] https://github.com/Azure/typespec-azure/issues/1785
- [ ] https://github.com/Azure/typespec-azure/issues/2064
- [ ] https://github.com/Azure/typespec-azure/issues/2081
- [ ] https://github.com/Azure/typespec-azure/issues/2058
- [ ] https://github.com/Azure/typespec-azure/issues/2124
- [ ] https://github.com/Azure/typespec-azure/issues/2189
```
#### SDK diff
```[tasklist]
### Tasks
- [ ] https://github.com/Azure/azure-sdk-for-java/issues/43116
- [ ] https://github.com/Azure/azure-sdk-for-python/issues/38620
- [ ] https://github.com/Azure/azure-sdk-for-js/issues/32007
```
### Diff tool gap
Though they are all tool issues, it is important to fix with high priority. Because without these, it is difficult for us to tell whether the conversion is correct.
```[tasklist]
### Tasks
- [ ] https://github.com/Azure/typespec-azure/issues/1855
- [ ] https://github.com/Azure/typespec-azure/issues/1856
```
### TypeSpec feature gap for others
#### Common
```[tasklist]
### Tasks
- [ ] https://github.com/Azure/typespec-azure/issues/1428
- [ ] https://github.com/Azure/typespec-azure/issues/1261
- [ ] https://github.com/Azure/typespec-azure/issues/1784
- [ ] https://github.com/Azure/typespec-azure/issues/1270
```
#### HybridConnectivity
```[tasklist]
### Tasks
- [ ] https://github.com/Azure/typespec-azure/issues/1931
- [ ] https://github.com/Azure/typespec-azure/issues/1962
- [ ] https://github.com/Azure/typespec-azure/issues/2054
```
#### Chaos
```[tasklist]
### Tasks
- [ ] https://github.com/Azure/typespec-azure/issues/1979
```
### SDK feature gap
**.net**
```[tasklist]
### Tasks
- [ ] https://github.com/Azure/autorest.csharp/issues/5164
- [ ] https://github.com/Azure/autorest.csharp/issues/5168
- [ ] https://github.com/Azure/autorest.csharp/issues/5195
- [ ] https://github.com/Azure/autorest.csharp/issues/5198
- [ ] https://github.com/Azure/autorest.csharp/issues/5226
- [ ] https://github.com/Azure/autorest.csharp/issues/5231
```
### Tool gap
For compute, we are now converting manually. But all these efforts should be integrated into converter so that following services could do automatically. What's more, the `tsp-client sort-swagger` and `tsp-client compare` should be improved as well.
```[tasklist]
### Tasks
- [ ] https://github.com/Azure/autorest/issues/5037
- [ ] https://github.com/Azure/autorest/issues/5038
- [ ] https://github.com/Azure/autorest/issues/5039
- [ ] https://github.com/Azure/autorest/issues/5040
- [ ] https://github.com/Azure/autorest/issues/5041
- [ ] https://github.com/Azure/autorest/issues/5059
- [ ] https://github.com/Azure/autorest/issues/5060
- [ ] https://github.com/Azure/autorest/issues/5061
- [ ] https://github.com/Azure/autorest/issues/5062
- [ ] https://github.com/Azure/autorest/issues/5063
```
Contributor guide
Research direction
Start by reviewing the linked TypeSpec feature-gap tasks, SDK diff issues, and tool-gap issues, with Compute listed as the current priority. Compare the resulting work against the short- and long-term exit criteria: functionally equivalent TypeSpec and SDKs without breaking changes, supported by the diff tools.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- api, tooling
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100