Skip to content

[tcgc] fix path in override#4644

Merged
iscai-msft merged 5 commits into
Azure:mainfrom
iscai-msft:tcgc/fixPathInOverride
Jun 22, 2026
Merged

[tcgc] fix path in override#4644
iscai-msft merged 5 commits into
Azure:mainfrom
iscai-msft:tcgc/fixPathInOverride

Conversation

@iscai-msft

Copy link
Copy Markdown
Contributor

fixes #4257

@microsoft-github-policy-service microsoft-github-policy-service Bot added the lib:tcgc Issues for @azure-tools/typespec-client-generator-core library label Jun 16, 2026
@azure-sdk-automation

azure-sdk-automation Bot commented Jun 16, 2026

Copy link
Copy Markdown

All changed packages have been documented.

  • @azure-tools/typespec-client-generator-core
Show changes

@azure-tools/typespec-client-generator-core - fix ✏️

Verify all @path parameters are present in override

@pkg-pr-new

pkg-pr-new Bot commented Jun 16, 2026

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/@azure-tools/typespec-client-generator-core@4644

commit: 83eecad

@github-actions

github-actions Bot commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

⚡ Benchmark Results

⚠️ 31 metric(s) regressed above the +5% threshold:

Metric Baseline Current Change
total 🟡 307.8ms 🔴 616.9ms +100.4% 🔴
loader 🟢 98.5ms 🟢 158.2ms +60.6% 🔴
resolver 🟢 12.0ms 🟢 19.5ms +62.7% 🔴
checker 🟢 101.5ms 🟢 185.5ms +82.7% 🔴
validation 🟢 24.4ms 🟢 42.7ms +75.2% 🔴
 ↳ validation/@azure-tools/typespec-azure-core 🟢 3.4ms 🟢 6.3ms +84.3% 🔴
 ↳ validation/@typespec/http 🟢 2.8ms 🟢 5.5ms +95.7% 🔴
 ↳ validation/@typespec/versioning 🟡 16.6ms 🔴 28.4ms +71.1% 🔴
linter 🟢 70.5ms 🟢 133.1ms +88.8% 🔴
 ↳ linter/@azure-tools/typespec-azure-core/byos 🟢 3.1ms 🟢 5.7ms +85.6% 🔴
 ↳ linter/@azure-tools/typespec-azure-core/no-header-explode 🟢 9.2ms 🟡 19.1ms +106.6% 🔴
 ↳ linter/@azure-tools/typespec-azure-core/no-private-usage 🟢 1.0ms 🟢 2.1ms +99.9% 🔴
 ↳ linter/@azure-tools/typespec-azure-core/no-query-explode 🟡 10.5ms 🔴 20.0ms +91.1% 🔴
 ↳ linter/@azure-tools/typespec-azure-core/no-response-body 🟡 13.3ms 🔴 23.0ms +73.3% 🔴
 ↳ linter/@azure-tools/typespec-azure-core/no-route-parameter-name-mismatch 🟢 2.3ms 🟢 5.2ms +121.9% 🔴
 ↳ linter/@azure-tools/typespec-azure-core/response-schema-problem 🟡 11.1ms 🔴 22.1ms +98.5% 🔴
 ↳ linter/@azure-tools/typespec-azure-core/use-standard-names 🟢 2.8ms 🟢 5.4ms +96.5% 🔴
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-agent-base-type-child-resources 🟢 1.9ms 🟢 3.8ms +101.0% 🔴
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-common-types-version 🟢 1.9ms 🟢 3.7ms +93.8% 🔴
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-no-path-casing-conflicts 🟢 2.2ms 🟢 4.1ms +91.3% 🔴
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-operation-response 🟢 2.5ms 🟢 4.8ms +90.9% 🔴
 ↳ linter/@azure-tools/typespec-azure-resource-manager/lro-location-header 🟢 7.0ms 🟡 12.1ms +72.0% 🔴
 ↳ linter/@azure-tools/typespec-azure-resource-manager/no-response-body 🟡 11.3ms 🟡 18.7ms +65.7% 🔴
 ↳ linter/@azure-tools/typespec-azure-resource-manager/secret-prop 🟢 1.5ms 🟢 2.7ms +78.8% 🔴
emit 🔴 3.27s 🔴 5.77s +76.8% 🔴
 ↳ emit/@azure-tools/typespec-autorest 🟢 96.4ms 🟢 161.2ms +67.2% 🔴
 ↳ emit/@azure-tools/typespec-python 🔴 2.25s 🔴 4.22s +87.3% 🔴
 ↳ emit/@typespec/http-client-js 🔴 751.5ms 🔴 1.17s +55.3% 🔴
 ↳ emit/@typespec/openapi3 🟢 88.9ms 🟢 146.2ms +64.4% 🔴
 ↳ emit/@typespec/openapi3/compute 🟢 75.6ms 🟢 126.3ms +66.9% 🔴
 ↳ emit/@typespec/openapi3/write 🟢 13.4ms 🟢 19.4ms +45.1% 🔴
Full details – comparing 4ecc66a vs baseline b7123b1
Metric Baseline Current Change
total 🟡 307.8ms 🔴 616.9ms +100.4% 🔴
loader 🟢 98.5ms 🟢 158.2ms +60.6% 🔴
resolver 🟢 12.0ms 🟢 19.5ms +62.7% 🔴
checker 🟢 101.5ms 🟢 185.5ms +82.7% 🔴
validation 🟢 24.4ms 🟢 42.7ms +75.2% 🔴
 ↳ validation/@azure-tools/typespec-azure-core 🟢 3.4ms 🟢 6.3ms +84.3% 🔴
 ↳ validation/@typespec/http 🟢 2.8ms 🟢 5.5ms +95.7% 🔴
 ↳ validation/@typespec/rest 🟢 0.4ms 🟢 0.6ms +79.0%
 ↳ validation/@typespec/versioning 🟡 16.6ms 🔴 28.4ms +71.1% 🔴
 ↳ validation/compiler 🟢 1.0ms 🟢 1.7ms +62.1%
linter 🟢 70.5ms 🟢 133.1ms +88.8% 🔴
 ↳ linter/@azure-tools/typespec-azure-core/auth-required 🟢 0.0ms 🟢 0.0ms +52.6%
 ↳ linter/@azure-tools/typespec-azure-core/bad-record-type 🟢 0.1ms 🟢 0.2ms +77.6%
 ↳ linter/@azure-tools/typespec-azure-core/byos 🟢 3.1ms 🟢 5.7ms +85.6% 🔴
 ↳ linter/@azure-tools/typespec-azure-core/casing-style 🟢 0.3ms 🟢 0.6ms +83.2%
 ↳ linter/@azure-tools/typespec-azure-core/composition-over-inheritance 🟢 0.0ms 🟢 0.1ms +28.9%
 ↳ linter/@azure-tools/typespec-azure-core/documentation-required 🟢 0.5ms 🟢 0.9ms +74.2%
 ↳ linter/@azure-tools/typespec-azure-core/friendly-name 🟢 0.3ms 🟢 0.6ms +81.5%
 ↳ linter/@azure-tools/typespec-azure-core/key-visibility-required 🟢 0.1ms 🟢 0.2ms +91.3%
 ↳ linter/@azure-tools/typespec-azure-core/known-encoding 🟢 0.2ms 🟢 0.3ms +75.0%
 ↳ linter/@azure-tools/typespec-azure-core/long-running-polling-operation-required 🟢 0.1ms 🟢 0.3ms +95.7%
 ↳ linter/@azure-tools/typespec-azure-core/no-case-mismatch 🟢 0.1ms 🟢 0.2ms +79.9%
 ↳ linter/@azure-tools/typespec-azure-core/no-closed-literal-union 🟢 0.1ms 🟢 0.3ms +89.3%
 ↳ linter/@azure-tools/typespec-azure-core/no-enum 🟢 0.0ms 🟢 0.0ms +57.7%
 ↳ linter/@azure-tools/typespec-azure-core/no-error-status-codes 🟢 0.1ms 🟢 0.1ms +91.5%
 ↳ linter/@azure-tools/typespec-azure-core/no-explicit-routes-resource-ops 🟢 0.1ms 🟢 0.1ms +88.8%
 ↳ linter/@azure-tools/typespec-azure-core/no-format 🟢 0.3ms 🟢 0.6ms +87.3%
 ↳ linter/@azure-tools/typespec-azure-core/no-generic-numeric 🟢 0.3ms 🟢 0.5ms +63.3%
 ↳ linter/@azure-tools/typespec-azure-core/no-header-explode 🟢 9.2ms 🟡 19.1ms +106.6% 🔴
 ↳ linter/@azure-tools/typespec-azure-core/no-legacy-usage 🟢 0.6ms 🟢 1.1ms +87.0%
 ↳ linter/@azure-tools/typespec-azure-core/no-multiple-discriminator 🟢 0.0ms 🟢 0.1ms +95.9%
 ↳ linter/@azure-tools/typespec-azure-core/no-nullable 🟢 0.1ms 🟢 0.2ms +87.8%
 ↳ linter/@azure-tools/typespec-azure-core/no-offsetdatetime 🟢 0.7ms 🟢 1.2ms +70.5%
 ↳ linter/@azure-tools/typespec-azure-core/no-openapi 🟢 1.2ms 🟢 2.1ms +78.5%
 ↳ linter/@azure-tools/typespec-azure-core/no-private-usage 🟢 1.0ms 🟢 2.1ms +99.9% 🔴
 ↳ linter/@azure-tools/typespec-azure-core/no-query-explode 🟡 10.5ms 🔴 20.0ms +91.1% 🔴
 ↳ linter/@azure-tools/typespec-azure-core/no-response-body 🟡 13.3ms 🔴 23.0ms +73.3% 🔴
 ↳ linter/@azure-tools/typespec-azure-core/no-rest-library-interfaces 🟢 0.0ms 🟢 0.0ms +68.9%
 ↳ linter/@azure-tools/typespec-azure-core/no-route-parameter-name-mismatch 🟢 2.3ms 🟢 5.2ms +121.9% 🔴
 ↳ linter/@azure-tools/typespec-azure-core/no-rpc-path-params 🟢 0.1ms 🟢 0.2ms +94.7%
 ↳ linter/@azure-tools/typespec-azure-core/no-string-discriminator 🟢 0.0ms 🟢 0.0ms +111.6%
 ↳ linter/@azure-tools/typespec-azure-core/no-unknown 🟢 0.1ms 🟢 0.2ms +97.7%
 ↳ linter/@azure-tools/typespec-azure-core/no-unnamed-union 🟢 0.2ms 🟢 0.3ms +88.0%
 ↳ linter/@azure-tools/typespec-azure-core/operation-missing-api-version 🟢 0.1ms 🟢 0.2ms +103.3%
 ↳ linter/@azure-tools/typespec-azure-core/request-body-problem 🟢 0.2ms 🟢 0.3ms +67.6%
 ↳ linter/@azure-tools/typespec-azure-core/require-versioned 🟢 0.0ms 🟢 0.0ms +37.3%
 ↳ linter/@azure-tools/typespec-azure-core/response-schema-problem 🟡 11.1ms 🔴 22.1ms +98.5% 🔴
 ↳ linter/@azure-tools/typespec-azure-core/rpc-operation-request-body 🟢 0.2ms 🟢 0.6ms +292.6%
 ↳ linter/@azure-tools/typespec-azure-core/spread-discriminated-model 🟢 0.1ms 🟢 0.3ms +83.3%
 ↳ linter/@azure-tools/typespec-azure-core/use-standard-names 🟢 2.8ms 🟢 5.4ms +96.5% 🔴
 ↳ linter/@azure-tools/typespec-azure-core/use-standard-operations 🟢 0.1ms 🟢 0.1ms +126.3%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-agent-base-type-child-resources 🟢 1.9ms 🟢 3.8ms +101.0% 🔴
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-agent-base-type-lifecycle-operations 🟢 0.0ms 🟢 0.0ms +37.7%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-common-types-version 🟢 1.9ms 🟢 3.7ms +93.8% 🔴
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-custom-resource-no-key 🟢 0.0ms 🟢 0.1ms +106.9%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-custom-resource-usage-discourage 🟢 0.0ms 🟢 0.1ms +124.5%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes 🟢 0.5ms 🟢 1.1ms +109.7%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-no-path-casing-conflicts 🟢 2.2ms 🟢 4.1ms +91.3% 🔴
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-no-record 🟢 0.2ms 🟢 0.4ms +78.8%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-post-operation-response-codes 🟢 0.2ms 🟢 0.4ms +92.2%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes 🟢 0.0ms 🟢 0.0ms +41.8%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-action-no-segment 🟢 0.1ms 🟢 0.2ms +110.1%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-duplicate-property 🟢 0.1ms 🟢 0.1ms +113.0%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator 🟢 0.0ms 🟢 0.0ms +85.6%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-action-verb 🟢 0.0ms 🟢 0.1ms +98.1%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property 🟢 0.1ms 🟢 0.1ms +67.5%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-version-format 🟢 0.0ms 🟢 0.0ms +63.5%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-key-invalid-chars 🟢 0.1ms 🟢 0.2ms +87.7%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-name-pattern 🟢 0.0ms 🟢 0.0ms +70.3%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-operation 🟢 0.1ms 🟢 0.2ms +70.2%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-operation-response 🟢 2.5ms 🟢 4.8ms +90.9% 🔴
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-patch 🟢 0.2ms 🟢 0.3ms +79.2%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-path-segment-invalid-chars 🟢 0.1ms 🟢 0.2ms +78.6%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state 🟢 0.1ms 🟢 0.1ms +83.9%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/beyond-nesting-levels 🟢 0.0ms 🟢 0.1ms +94.1%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/empty-updateable-properties 🟢 0.1ms 🟢 0.1ms +100.2%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/improper-subscription-list-operation 🟢 0.0ms 🟢 0.0ms +55.4%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/lro-location-header 🟢 7.0ms 🟡 12.1ms +72.0% 🔴
 ↳ linter/@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint 🟢 0.0ms 🟢 0.0ms +53.9%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/missing-x-ms-identifiers 🟢 0.2ms 🟢 0.3ms +80.9%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/no-empty-model 🟢 0.1ms 🟢 0.1ms +88.6%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/no-override-props 🟢 0.0ms 🟢 0.1ms +63.8%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/no-resource-delete-operation 🟢 0.1ms 🟢 0.2ms +109.7%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/no-response-body 🟡 11.3ms 🟡 18.7ms +65.7% 🔴
 ↳ linter/@azure-tools/typespec-azure-resource-manager/patch-envelope 🟢 0.1ms 🟢 0.1ms +105.5%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/resource-name 🟢 0.1ms 🟢 0.1ms +102.8%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/secret-prop 🟢 1.5ms 🟢 2.7ms +78.8% 🔴
 ↳ linter/@azure-tools/typespec-azure-resource-manager/unsupported-type 🟢 0.2ms 🟢 0.4ms +83.6%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/version-progression 🟢 0.0ms 🟢 0.0ms +58.2%
 ↳ linter/@azure-tools/typespec-client-generator-core/property-name-conflict 🟢 0.5ms 🟢 1.1ms +102.9%
 ↳ linter/@azure-tools/typespec-client-generator-core/require-client-suffix 🟢 0.1ms 🟢 0.2ms +58.9%
emit 🔴 3.27s 🔴 5.77s +76.8% 🔴
 ↳ emit/@azure-tools/typespec-autorest 🟢 96.4ms 🟢 161.2ms +67.2% 🔴
 ↳ emit/@azure-tools/typespec-python 🔴 2.25s 🔴 4.22s +87.3% 🔴
 ↳ emit/@typespec/http-client-js 🔴 751.5ms 🔴 1.17s +55.3% 🔴
 ↳ emit/@typespec/openapi3 🟢 88.9ms 🟢 146.2ms +64.4% 🔴
 ↳ emit/@typespec/openapi3/compute 🟢 75.6ms 🟢 126.3ms +66.9% 🔴
 ↳ emit/@typespec/openapi3/write 🟢 13.4ms 🟢 19.4ms +45.1% 🔴

Averaged across 3 specs (azure-arm-resource-manager, azure-core-dataplane, azure-full).
Threshold: changes > ±5% are highlighted.
🟢 Fast · 🟡 Moderate (stages >200ms, rules >10ms) · 🔴 Slow (stages >400ms, rules >20ms)

@azure-sdk-automation

azure-sdk-automation Bot commented Jun 16, 2026

Copy link
Copy Markdown

You can try these changes here

🛝 Playground 🌐 Website

Comment thread packages/typespec-client-generator-core/src/http.ts Outdated
When an override operation contains any parameter with @clientLocation,
the override is an intentional customization. Other parameters without
@path are just pass-throughs and should not trigger the mismatch warning.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@iscai-msft iscai-msft added this pull request to the merge queue Jun 22, 2026
Merged via the queue into Azure:main with commit e8aae30 Jun 22, 2026
28 checks passed
@iscai-msft iscai-msft deleted the tcgc/fixPathInOverride branch June 22, 2026 19:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lib:tcgc Issues for @azure-tools/typespec-client-generator-core library

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[TCGC] tcgc doesn't check missed @path when user overrides an operation

3 participants