elastic/kibana

[OAS] Allow custom sorting/post-processing of OAS properties generated from router

Open

#233797 opened on Sep 2, 2025

View on GitHub
 (1 comment) (0 reactions) (0 assignees)TypeScript (19,065 stars) (8,021 forks)batch import
Feature:OASTeam:Coreenhancementgood first issue

Description

The OAS converter currently emits properties in the order returned by joi-to-json, with no way to apply custom sorting for user-facing OAS docs.

Current behavior:

  • Properties appear in the order provided by joi-to-json.
  • OpenAPI/OAS has no built-in support for custom field ordering.
  • Modifying the generated YAML is possible but will be overwritten whenever the generator runs.

Possible solutions

  • Add a post-processing hook (similar to postProcessMutations in parse.ts) or an extension point (e.g., ObjectTypeOptionsMeta) so we can reorder properties in the final OAS output (not limited to alphabetical sorting).
  • Alternatively explore safe ways to modify final YAML output without being clobbered by regeneration.
  • Something completely different

References:

Expected outcome:

  • A pluggable mechanism to apply custom sorting or other transformations to generated OAS properties before writing the final spec.

Contributor guide