apple / apple/swift-openapi-generator
Track proposal for namespace-based generated types file splitting
- Dominant language
- Swift
- Stars
- 2k
- Forks
- 182
- Avg merge
- 13h 28m
- Merged PRs (30d)
- 5
Description
### Description
Track the public proposal and review discussion for opt-in namespace-based file splitting of generated `Types.swift` output.
Related PRs:
- #925 implements the initial namespace-based splitting support (approved).
- #866 contains related prior discussion and proposal context.
The intended proposal scope is limited to the implementation in #925:
- Add an opt-in `namespace` file-splitting strategy for generated types.
- Keep default generation unchanged: one `Types.swift` file.
- When enabled, emit:
- `Types.swift` for root declarations
- `Types+Components.swift` for the generated `Components` namespace
- `Types+Operations.swift` for the generated `Operations` namespace
- Keep generated adopter-facing API names unchanged.
- Leave more advanced sharding strategies, such as dependency-aware or count-based splitting, to future proposals if benchmarks justify the added complexity.
### Additional information
_No response_
Contributor guide
Research direction
Read PR #925 first to understand the implemented namespace-based file-splitting support, then review the prior proposal context in issue #866. Confirm that the proposal remains limited to the listed opt-in strategy, preserves default generation and adopter-facing API names, and leaves advanced sharding strategies for future work.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- swift
- Domain
- tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100