Skip to content

Provisioning RegenSdkLocal script deletes tspconfig.yaml, losing emitter options #57104

@ArcturusZhang

Description

@ArcturusZhang

Problem

The provisioning \Invoke-SdkRegeneration.ps1\ script deletes \ spconfig.yaml\ from the fetched spec directory (line 175) to avoid linter rules that require packages not in the local
ode_modules. It then manually reconstructs emitter options via --option\ flags.

This is inconsistent with the mgmt \Invoke-SdkRegeneration.ps1, which keeps \ spconfig.yaml\ in place and lets \ sp compile\ read options naturally. The mgmt script only removes \package.json.

Impact

  • Options set in \ spconfig.yaml\ (e.g. \�pi-version,
    amespace, etc.) were silently dropped until a manual extraction workaround was added.
  • Any new options added to the spec's \ spconfig.yaml\ for the provisioning emitter need to be explicitly forwarded in the script — easy to miss.

Current Workaround

The script now reads all provisioning emitter options from \ spconfig.yaml\ before deleting it and forwards them as --option\ flags. This works but is fragile.

Ideal Fix

Align with the mgmt script approach: keep \ spconfig.yaml\ but strip the \linter\ section (or the \�xtends\ within it) to avoid the linter dependency issue, rather than deleting the entire file.

Related Files

  • \�ng/packages/http-client-csharp-provisioning/eng/scripts/Invoke-SdkRegeneration.ps1\ (provisioning — deletes tspconfig)
  • \�ng/packages/http-client-csharp-mgmt/eng/scripts/Invoke-SdkRegeneration.ps1\ (mgmt — keeps tspconfig)

Metadata

Metadata

Assignees

No one assigned

    Labels

    EngSysThis issue is impacting the engineering system.Provisioning

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions