apple / apple/swift-openapi-generator

Track proposal for namespace-based generated types file splitting

Open
#929 0 comments 0 reactions 0 assignees View on GitHub
kind/enhancement status/triage
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.