-
Notifications
You must be signed in to change notification settings - Fork 62
feat(js): add supportsStreamedListObjects config flag support #665
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
Conversation
Apply the same conditional streaming support to JS SDK that was implemented for dotnet SDK. Changes: - Add supportsStreamedListObjects flag to JS config (default: false) - Update build-client-js to conditionally use streamed/non-streamed build - Matches dotnet SDK pattern for consistency Both dotnet and JS SDKs now respect the supportsStreamedListObjects flag: - When true: generates streaming endpoint - When false: removes streaming endpoint from spec This provides flexibility to enable/disable streaming per SDK independently during development. Default is false until streaming implementation is merged.
WalkthroughThe JavaScript SDK build process now includes runtime configuration-based selection between streaming and non-streaming client implementations. A new Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes
Possibly related PRs
Suggested reviewers
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (2)
🧰 Additional context used📓 Path-based instructions (4)Makefile📄 CodeRabbit inference engine (.github/copilot-instructions.md)
Files:
config/clients/*/config.overrides.json📄 CodeRabbit inference engine (.github/copilot-instructions.md)
Files:
config/**/*.{json,mustache}📄 CodeRabbit inference engine (.github/copilot-instructions.md)
Files:
config/{common/config.base.json,clients/*/config.overrides.json}📄 CodeRabbit inference engine (.github/copilot-instructions.md)
Files:
🧠 Learnings (5)📚 Learning: 2025-09-04T17:35:34.111ZApplied to files:
📚 Learning: 2025-09-04T17:35:34.111ZApplied to files:
📚 Learning: 2025-09-04T17:35:34.111ZApplied to files:
📚 Learning: 2025-09-04T17:35:34.111ZApplied to files:
📚 Learning: 2025-09-04T17:35:34.111ZApplied to files:
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
🔇 Additional comments (2)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Add supportsStreamedListObjects Config Flag Support for JS SDK
Problem
The JS SDK generator always builds with streaming support enabled, ignoring any potential configuration flag. This is inconsistent with the dotnet SDK approach and provides no flexibility to disable streaming during development.
The Makefile unconditionally calls
build-client-streamedfor JS SDK:Solution
Apply the same conditional streaming support pattern implemented for dotnet SDK to the JS SDK.
Changes
1. config/clients/js/config.overrides.json
Added
supportsStreamedListObjectsflag:{ ... "enumNameSuffix": "", "supportsStreamedListObjects": false, "files": { ... } }Default:
false(streaming disabled until implementation is merged)2. Makefile
Updated
build-client-jsto conditionally build based on flag:Result
The flag now works correctly for JS SDK:
With flag = false (current default):
$ make build-client-js Building JS SDK without streaming support... # Streaming endpoint removed from generated SDKWith flag = true (when streaming is ready):
$ make build-client-js Building JS SDK with streaming support... # Streaming endpoint included in generated SDKCross-SDK Consistency
falsefalseBoth dotnet and JS now follow the same pattern for streaming support configuration.
Testing
Verified that:
Impact
This change:
Files Modified
Makefileconfig/clients/js/config.overrides.jsonRelated PRs
Summary by CodeRabbit
Chores
New Features
✏️ Tip: You can customize this high-level summary in your review settings.