Skip to content
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

[Feature Request] Namespace Support in REST-Level Client Emitters #4589

Open
3 tasks done
mario-guerra opened this issue Oct 2, 2024 · 3 comments
Open
3 tasks done
Labels
emitter:client:csharp Issue for the C# client emitter: @typespec/http-client-csharp emitter:client:java Issue for the Java client emitter: @typespec/http-client-java emitter:client:python Issue for the Python client emitter: @typespec/http-client-python feature New feature or request

Comments

@mario-guerra
Copy link
Member

mario-guerra commented Oct 2, 2024

Requested by the London Stock Exchange Group:

Description:
The current REST-level client emitters in TypeSpec do not support namespaces. This limitation creates challenges in organizing and structuring the generated code, especially for large projects with multiple APIs. Proper namespace support is crucial for avoiding naming conflicts and for logically grouping related functionalities.

Impact:

  • Difficulty in maintaining a clean and organized codebase.
  • Increased risk of naming conflicts.
  • Challenges in navigating and managing large codebases.

Desired Outcome:

  • Emitters should generate code with proper namespace support based on the TypeSpec specifications.
  • This feature will enable developers to maintain a well-organized and easily navigable codebase.

Steps to Reproduce:

  1. Generate a REST-level client using the current emitters.
  2. Observe the lack of namespace support in the generated code.

Expected Behavior:
The generated code should include namespaces that logically group related functionalities, as specified in the TypeSpec definitions.

Actual Behavior:
The generated code does not include namespaces, leading to a disorganized structure.

Additional Context:
This feature is essential for large-scale projects where multiple APIs need to be managed and maintained. Proper namespace support will significantly improve the developer experience and code maintainability.

Checklist

  • Follow our Code of Conduct
  • Read the docs.
  • Check that there isn't already an issue that request the same feature to avoid creating a duplicate.
@mario-guerra
Copy link
Member Author

Tagging @lmazuel since this involves emitters.

@mario-guerra
Copy link
Member Author

Update - more details have been requested from LSEG to clarify the ask.

@markcowl markcowl added the emitter:client:csharp Issue for the C# client emitter: @typespec/http-client-csharp label Oct 14, 2024
@markcowl markcowl added needs-area emitter:client:java Issue for the Java client emitter: @typespec/http-client-java labels Oct 14, 2024
@markcowl markcowl added emitter:client:python Issue for the Python client emitter: @typespec/http-client-python feature New feature or request labels Oct 14, 2024
@iscai-msft
Copy link
Member

@mario-guerra I think this issue is a duplicate of @srnagar's issue here. Are you ok with closing and redirecting to this other issue?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
emitter:client:csharp Issue for the C# client emitter: @typespec/http-client-csharp emitter:client:java Issue for the Java client emitter: @typespec/http-client-java emitter:client:python Issue for the Python client emitter: @typespec/http-client-python feature New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants