swagger-api / apidom

Semantic parser for API specifications
https://swagger-api.github.io/apidom/
68 stars 17 forks source link

ApiDOM Bundling #692

Open char0n opened 2 years ago

char0n commented 2 years ago

This ticket is about bundling support in ApiDOM. There will be specialized strategies for every specification and probably it's version (if's it's breaking). This issue needs additional research and technical design.

Dereferencing vs Bundling

We only do dereference. The difference between bundling and dereferencing is that dereference resolves the documents and create a compound OAS document represented in memory possibly containing cycles. Cannot be serialized.

Bundling is a process where we resolve all the external documents and create a one compound document with only internal refs without any cycles. Can be serialized.

Resources:

char0n commented 9 months ago

We need to restart this effort asap because of the OpenAPI 3.1.0 -> OpenAPI 3.0.3 downgrader. The first thing we need to do is to prepare the code infrastructure of apidom-reference for budle feature. This work doesn't include any particular bundling strategy implementation.

Next step would be to implement OpenAPI 3.1.0 bundling strategy.

TODO: