-
Notifications
You must be signed in to change notification settings - Fork 2.2k
Sync eng/common directory with azure-sdk-tools for PR 13653 #47787
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR syncs the eng/common directory with azure-sdk-tools PR #13653, specifically adding new documentation about code customization options when TypeSpec decorators are insufficient.
Changes:
- Added a new section "When TypeSpec Isn't Enough: Code Customizations" to the TypeSpec client customizations reference
- Included a comprehensive table with language-specific code customization guides for C#, Python, Java, JavaScript, and Go
- Added a decision flow diagram to help developers choose between TypeSpec decorators and code customizations
| | **C#** | [C# Customization Guide](https://github.com/microsoft/typespec/blob/main/packages/http-client-csharp/.tspd/docs/customization.md) | Partial classes with `[CodeGenType]`, `[CodeGenMember]`, `[CodeGenSerialization]` attributes | | ||
| | **Python** | [Python Customization Guide](https://github.com/Azure/autorest.python/blob/main/docs/customizations.md) | `_patch.py` files at models, operations, and client levels | | ||
| | **Java** | [Java Customization Guide](https://github.com/Azure/autorest.java/blob/main/customization-base/README.md) | `Customization` class with `customizeAst()` method | | ||
| | **JavaScript** | [JS Customization Guide](https://github.com/Azure/azure-sdk-for-js/wiki/Modular-(DPG)-Customization-Guide) | Copy `src/` to `generated/`, add customizations in `src/` | |
Copilot
AI
Jan 23, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The link URL for the JavaScript customization guide appears to reference a GitHub wiki page. Wiki URLs can be fragile as they may change or be reorganized without notice. Consider verifying that this wiki page exists and is the official/canonical reference for JavaScript customization. If possible, link to a documentation file in the repository itself (in the docs/ or .tspd/docs/ directory) as other languages do, which would be more stable and version-controlled.
| | **JavaScript** | [JS Customization Guide](https://github.com/Azure/azure-sdk-for-js/wiki/Modular-(DPG)-Customization-Guide) | Copy `src/` to `generated/`, add customizations in `src/` | | |
| | **JavaScript** | [JS Customization Guide](https://github.com/Azure/azure-sdk-for-js/blob/main/documentation/Modular-(DPG)-Customization-Guide.md) | Copy `src/` to `generated/`, add customizations in `src/` | |
| ``` | ||
| Need to customize SDK? | ||
| │ | ||
| ▼ | ||
| Can it be done in TypeSpec? | ||
| │ | ||
| ┌────┴────┐ | ||
| Yes No | ||
| │ │ | ||
| ▼ ▼ | ||
| Use client.tsp Use code customization | ||
| decorators (see language guide above) | ||
| ``` |
Copilot
AI
Jan 23, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The ASCII art diagram uses box-drawing characters that may not render consistently across all text editors, terminals, or documentation viewers. Some environments may display these characters incorrectly or use different fonts that misalign the diagram. Consider using standard ASCII characters (like |, -, +) for better compatibility, or use a code block with a clear monospace font specification to ensure consistent rendering.
Sync eng/common directory with azure-sdk-tools for PR Azure/azure-sdk-tools#13653 See eng/common workflow