OpenAPITools / OpenAPITools/openapi-generator
[REQ] [Protobuf-schema] No unused or public imports
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 26.8k
- Forks
- 7.7k
- PR merge metrics
- PR metrics pending
Description
Is your feature request related to a problem? Please describe.
Buf linting of generated proto schema's fails for 2 reason:
- Unused imports. Not all imports in the generated proto files are actually used
- Public imports. Buf advises against the use of public imports (see: https://buf.build/blog/totw-5-avoid-import-public-weak)
While these are of course not standards and the schemas are fully functional, these would be nice improvements to the generated protobuf schema.
Describe the solution you'd like
- Remove unused imports from generated schema
- Remove public imports and add additional imports for those references that were transiently imported through those public imports.
Describe alternatives you've considered
Just like the 'aggregateModelsName' option, the service and model could be aggregated into a single file where no imports would be necessary. For large schema's this solution would of course not be ideal.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the generated protobuf schema templates and the Buf lint output for unused and public imports. Trace how imports are selected and propagated across generated files. Done means generated schemas no longer contain unused or public imports while retaining all required references, with the relevant generation checks passing.
Written by the indexing model from the issue text.
Assessment
- Domain
- api, tooling
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100