Code Monkey home page Code Monkey logo

Comments (10)

MikeRalphson avatar MikeRalphson commented on June 12, 2024 1

This is a pretty simple, yet also ubiquitous challenge in working with OpenAPI, AsyncAPI, and JSON Schema.

I would take issue with the use of "pretty simple". So many existing tools get it wrong, even for OpenAPI 2.0/3.0 and their subset of JSON Schema draft-04. I also have a bundler which supports OAS 3.0, 3.1 and parts of JSON Schema 2019-09 and 2020-02, but while it still has failing test-cases for the missing $id/$anchor handling I have not released it.

from gsoc-2023.

Julian avatar Julian commented on June 12, 2024 1

Offtopic: @MikeRalphson not sure if I've mentioned it in a place you had your eye on, but I wrote https://github.com/python-jsonschema/referencing-suite recently as a test suite for referencing tooling. It doesn't yet cover the OpenAPI specs (though I intend it to), but it does cover JSON Schema ones in some ways better than the upstream general JSON Schema test suite (something I'll address soonish by copying tests upstream). But yeah if it's related to what you've got figured I'd share, and especially so if you care to share anything you have privately and/or collaborate on expanding that suite for OpenAPI.

from gsoc-2023.

MikeRalphson avatar MikeRalphson commented on June 12, 2024 1

Thank you @Julian that sounds very interesting for this (and my own) projects.

from gsoc-2023.

jdesrosiers avatar jdesrosiers commented on June 12, 2024 1

A bundler exists: https://github.com/hyperjump-io/json-schema-bundle (@jdesrosiers).

I recently rolled this functionality into @hyperjump/json-schema. If anyone is looking at this as a reference, please use the new version, https://github.com/hyperjump-io/json-schema#bundling.

iirc it doesn't support OpenAPI documents of any kind.

That's correct. It can bundle schemas using the OpenAPI 3.1 JSON Schema dialect, but doesn't understand an OpenAPI document. Adding support for understanding OpenAPI documents wouldn't be too much work, but there's not much point because there are edge cases in OpenAPI 3.1 that the JSON Schema bundling strategy doesn't solve. It wouldn't work at all for OpenAPI 3.0 because it doesn't support the id keyword.

from gsoc-2023.

jansche avatar jansche commented on June 12, 2024

I think I saw a "recent" discussion on the topic. Is this still a valid project and can it be a child project to the OpenAPI Initiative?

open source projects wishing to apply need to have a solid community; the goal of GSoC is to bring new contributors into established and welcoming communities. While you don’t have to have 50+ community members, the project also can’t have as few as three people.

@kinlane @Relequestual

from gsoc-2023.

kinlane avatar kinlane commented on June 12, 2024

Some supporting narratives:

Multi-spec considerations:

This is a pretty simple, yet also ubiquitous challenge in working with OpenAPI, AsyncAPI, and JSON Schema.

from gsoc-2023.

Devaansh-Kumar avatar Devaansh-Kumar commented on June 12, 2024

Can someone please elaborate more on issue and what all topics should one go through to prepare for the same?
Some resources would also be helpful. @jansche

from gsoc-2023.

Relequestual avatar Relequestual commented on June 12, 2024

A bundler exists: https://github.com/hyperjump-io/json-schema-bundle (@jdesrosiers).
iirc it doesn't support OpenAPI documents of any kind.

Most downstream libraries want to remove the use of references. The formally defined bundling process DOES NOT do that, but it DOES make sure you have all the "Schema Resources" within a single document.

Why do downstream libraries want to remove references? Because understanding how to resolve them is "hard", or rather seemingly complex to understand.

The bundled format helps, but ultimatly implementations will still need to update to support it.

from gsoc-2023.

HeeManSu avatar HeeManSu commented on June 12, 2024

Hey, I wanted to work on this. May I know who my mentor in this project ?

from gsoc-2023.

jansche avatar jansche commented on June 12, 2024

We're removing this project from our list of GSoC ideas after talking to contributors from OpenAPI and JSON Schema. The scope in which we could address this issue during Google Summer of Code would most probably not lead to a satisfying outcome.

from gsoc-2023.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.