Import client.tsp from main.tsp for services with no swagger impact#44009
Merged
timotheeguerin merged 2 commits intoJun 16, 2026
Merged
Conversation
Next Steps to MergeNext steps that must be taken to merge this PR:
Comment generated by summarize-checks workflow run. |
API Change CheckAPIView identified API level changes in this PR and created the following API reviews
Comment generated by After APIView workflow run. |
iscai-msft
approved these changes
Jun 16, 2026
This was referenced Jun 17, 2026
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Missed a few simples cases from phase 1.a and 1.b of Azure/typespec-azure#4564
Summary
Makes
main.tspimport./client.tspfor services where doing so has no impact on the published OpenAPI, so client customizations are picked up bytsp compile main.tsp.Group 1 — no config change needed
client.tspcontains only@@clientName/@@alternateType(client-emitter-only). Adding the import is byte-identical to the current swagger:monitoringservice/resource-manager/Microsoft.Monitor/Agentsnapster/Napster.CompanionAPI.Managementprogramenrollment/resource-manager/Microsoft.ProgramEnrollment/ProgramEnrollmentGroup 2 — import +
omit-unreachable-types: trueclient.tspdeclares shadow create/update models that are referenced only by@@alternateType(invisible to the autorest emitter), so the emitter treats them as unreachable. Enablingomit-unreachable-typesdrops them; enabling the option alone changes nothing in the current output, so the net swagger change is zero:applink/AppLink.Managementedge/Microsoft.Edge.DisconnectedOperations.Managementrelationships/Relationships.ManagementVerification
For every service above, regenerating with the autorest emitter produces byte-identical OpenAPI output (verified current-vs-new), and all compile cleanly under
--warn-as-error. Onlymain.tsp(andtspconfig.yamlfor Group 2) change; no generated swagger changes.Not included
The remaining services that don't yet import
client.tsprequire more involved work and are intentionally excluded:@scope-based operation customizations (resources/.../policy,resources/.../deploymentStacks,search) — blocked on autorest honoring@scope(feat(typespec-autorest): add @scope TCGC decorator support typespec-azure#4565).@@override/@@clientName-on-operation / property drift (frontdoor,migrate,purviewdatagovernance/DataAccess,storagecache) — need restructuring or a decision on intended output.