Comments (10)
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.
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.
Thank you @Julian that sounds very interesting for this (and my own) projects.
from gsoc-2023.
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.
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.
from gsoc-2023.
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.
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.
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.
Hey, I wanted to work on this. May I know who my mentor in this project ?
from gsoc-2023.
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)
- Schema.org OpenAPI Catalog HOT 21
- OpenAPI Web Search HOT 41
- GitHub OpenAPI Search HOT 26
- OpenAPI Componentizer HOT 12
- Bowtie and the World of JSON Schema HOT 22
- Data Transformation Utilities Using JSON Schemas HOT 44
- AsyncAPI: Authentication and Authorization support for websocket adapters. HOT 18
- AsyncAPI: Automate listing of members of technical steering committee HOT 10
- AsyncAPI: Introduce UI tests and refactoring in the website HOT 17
- AsyncAPI: Add "Autofix" feature for common linting errors (w/ spectral) HOT 8
- AsyncAPI: Add `help/{command}` endpoint HOT 25
- AsyncAPI: Simulator Desktop Application HOT 10
- Idea for GSOC 2023 HOT 2
- Want to integrate POSTMAN to vs code as extension. HOT 2
- Project Idea - GPT-4 Powered API Documentation Assistant HOT 4
- GitHub OpenAPI Search HOT 1
- Strikethrough GSoC contributor application period
- Strikethrough Accepted GSoC Contributor projects announced in Readme File since it is over. HOT 1
- Proposal for project HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gsoc-2023.