fix(typespec-ts): preserve migrated client options - #5260
fix(typespec-ts): preserve migrated client options#5260Jeff Fisher (xirzec) wants to merge 3 commits into
Conversation
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
All changed packages have been documented.
Show changes
|
There was a problem hiding this comment.
Pull request overview
Preserves legacy client options in generated Azure TypeScript clients while maintaining current option precedence and normalized request handling.
Changes:
- Merges normalized request headers after generated service headers.
- Preserves logging options and supports deprecated
credentialScopes. - Adds focused tests, regenerated baselines, and a patch note.
Show a summary per file
| File | Description |
|---|---|
.chronus/changes/fix-js-option-forwarding-2026-08-17.md |
Adds the patch note. |
packages/typespec-ts/src/modular/build-client-context.ts |
Exposes deprecated scoped credential options. |
packages/typespec-ts/src/modular/helpers/client-helpers.ts |
Preserves logging and credential options. |
packages/typespec-ts/src/modular/helpers/operation-helpers.ts |
Merges normalized request headers. |
packages/typespec-ts/test/util/emit-util.ts |
Initializes credential metadata in tests. |
packages/typespec-ts/test/modular-unit/client-options.test.ts |
Tests option forwarding behavior. |
packages/typespec-ts/test/modular-unit/scenarios/anonymous/anonymous.md |
Updates generated baseline. |
packages/typespec-ts/test/modular-unit/scenarios/api-operations/apiOperations.md |
Updates headers and logging baselines. |
packages/typespec-ts/test/modular-unit/scenarios/api-operations/azureCoreOperations.md |
Updates generated header baseline. |
packages/typespec-ts/test/modular-unit/scenarios/api-operations/reservedWordOperations.md |
Updates generated header baselines. |
packages/typespec-ts/test/modular-unit/scenarios/client-context/clientContext.md |
Updates logging baselines. |
packages/typespec-ts/test/modular-unit/scenarios/client-context/optionalApiVersion.md |
Updates logging baseline. |
packages/typespec-ts/test/modular-unit/scenarios/enum-union/enumUnion.md |
Updates generated header baselines. |
packages/typespec-ts/test/modular-unit/scenarios/example/example.md |
Updates generated header baseline. |
packages/typespec-ts/test/modular-unit/scenarios/models-generator/modelsGenerator.md |
Updates generated header baselines. |
packages/typespec-ts/test/modular-unit/scenarios/models/api-version/apiVersionAsFixedEnum.md |
Updates generated header baseline. |
packages/typespec-ts/test/modular-unit/scenarios/models/azureCoreErrorModels.md |
Updates generated header baselines. |
packages/typespec-ts/test/modular-unit/scenarios/models/missingErrorResponseModel.md |
Updates generated header baseline. |
packages/typespec-ts/test/modular-unit/scenarios/models/models.md |
Updates generated header baselines. |
packages/typespec-ts/test/modular-unit/scenarios/models/nullable/nullableUnion.md |
Updates generated header baseline. |
packages/typespec-ts/test/modular-unit/scenarios/models/response/headerCollectionPrefixRequiredSkipSignature.md |
Updates generated header baseline. |
packages/typespec-ts/test/modular-unit/scenarios/models/response/headerCollectionPrefixSkipSerialization.md |
Updates generated header baseline. |
packages/typespec-ts/test/modular-unit/scenarios/models/treatUnknownAsRecord.md |
Updates generated header baseline. |
packages/typespec-ts/test/modular-unit/scenarios/operations/armPatchWithUnionResponse.md |
Updates generated header baseline. |
packages/typespec-ts/test/modular-unit/scenarios/operations/body-param/bytesWithDifferentContentType.md |
Updates generated header baselines. |
packages/typespec-ts/test/modular-unit/scenarios/operations/bodyMetadataExtraction.md |
Updates generated header baselines. |
packages/typespec-ts/test/modular-unit/scenarios/operations/clientDefaultValue.md |
Updates generated header baselines. |
packages/typespec-ts/test/modular-unit/scenarios/operations/cookie-param/ignoreCookieParam.md |
Updates generated header baseline. |
packages/typespec-ts/test/modular-unit/scenarios/operations/deserializeEmptyBody.md |
Updates generated header baselines. |
packages/typespec-ts/test/modular-unit/scenarios/operations/error-deserialization/xmlErrorDeserialization.md |
Updates generated header baselines. |
packages/typespec-ts/test/modular-unit/scenarios/operations/header-param/headerParamWithClientInitialization.md |
Updates headers and logging baselines. |
packages/typespec-ts/test/modular-unit/scenarios/operations/header-param/optionalConstantHeaderParam.md |
Updates generated header baseline. |
packages/typespec-ts/test/modular-unit/scenarios/operations/lroPaging.md |
Updates generated header baseline. |
packages/typespec-ts/test/modular-unit/scenarios/operations/operations.md |
Updates generated header baselines. |
packages/typespec-ts/test/modular-unit/scenarios/operations/override.md |
Updates generated header baselines. |
packages/typespec-ts/test/modular-unit/scenarios/operations/pagination/disablePagination.md |
Updates generated header baselines. |
packages/typespec-ts/test/modular-unit/scenarios/operations/path-param/pathParameterNamedPath.md |
Updates generated header baseline. |
packages/typespec-ts/test/modular-unit/scenarios/operations/path-param/pathParamUrlTemplate.md |
Updates generated header baseline. |
packages/typespec-ts/test/modular-unit/scenarios/operations/query-param/queryParamWithClientInitialization.md |
Updates headers and logging baselines. |
packages/typespec-ts/test/modular-unit/scenarios/operations/wrapNonModelReturn.md |
Updates generated header baselines. |
packages/typespec-ts/test/modular-unit/scenarios/samples/parameters/bodyOptionalCheck.md |
Updates generated header baseline. |
packages/typespec-ts/test/modular-unit/scenarios/samples/parameters/bodyOptionalParameterName.md |
Updates generated header baseline. |
packages/typespec-ts/test/modular-unit/scenarios/samples/parameters/bodyReadonlyOptionalCheck.md |
Updates generated header baseline. |
packages/typespec-ts/test/modular-unit/scenarios/samples/parameters/parameterNormalization.md |
Updates generated header baseline. |
packages/typespec-ts/test/modular-unit/scenarios/samples/parameters/parameterOrdering.md |
Updates generated header baseline. |
Review details
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
- Files reviewed: 45/45 changed files
- Comments generated: 0
- Review effort level: Balanced
📦 Package size report✅ No notable package size changes compared to the base branch. 13 package(s) with no notable change
Packed = gzipped |
commit: |
|
You can try these changes here
|
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Summary
operationOptionsToRequestParametersonce and merge normalizedrequestParameters.headersafter generated service headers, enabling core compatibility normalization without being overwritten.credentialScopesoption with precedencecredentials.scopes->credentialScopes-> generated defaults.loggingOptionsbag.Validation
Related issue