Open API 3.1.0 support#1768
Conversation
This involved breaking 2 and 3 out a little to better mirror the differences in the specs
|
My real issue I wanted to get to the bottom of was getting variadic tuples in. But the differences in |
2d4e2e2 to
83aaccb
Compare
|
Any news? |
|
I started on this, but I am very much beyond my capacity until October unfortunately. |
| import { DEFAULT_REQUEST_MEDIA_TYPE, DEFAULT_RESPONSE_MEDIA_TYPE, getValue } from './../utils/swaggerUtils'; | ||
| import { SpecGenerator } from './specGenerator'; | ||
|
|
||
| export class SpecGenerator31 extends SpecGenerator { |
There was a problem hiding this comment.
First glance, this is probably better extending SpecGenerator3, have you considered that option?
There was a problem hiding this comment.
I did. This was actually something I wanted to talk about a little. This part fully got away from me. Differences between examples was my start.
| }, | ||
| err => { | ||
| expect(err.message).to.equal('Unsupported Spec version.'); | ||
| expect(err.message).to.equal('Unsupported Spec version: -2.'); |
There was a problem hiding this comment.
Oh, that's just me outputting the spec version that is wrong. (That's the -2 from above)
I made this change while I was working because it made a few things easier to figure out.
|
I've been asked to write an article about tsoa and it's OpenAPI generation so I'd love to be able to rewrite for 3.1. If you have any questions RE OAS 3.1 (I was involved in planning it) I am happy to help out! |
I think it's looking pretty good, I need to clean up the typedefs, then it should be good to go |
|
@WoH you are a hero for this one, man. Thank you for cleaning this up and making it fit into this codebase better. I appreciate it (and have learned a bit more about how things should fit together here) |
|
It's out, hope this gets rid of your fork 😓 Sorry for the delay, I hope it makes it easier to maintain for me in the coming releases. |
|
@WoH absolutely herculean effort on your behalf. Thank you. I massively appreciate it. That being said, as a person with more than a little open source history, being a sole maintainer is really hard and really draining. Don't be afraid to reach out if you want corral some people into joining you. The weight of it all doesn't have to be so heavy. |
|
Thank you both for working on this, brilliant stuff! If anyone is interested this is the guide I wrote for Speakeasy talking about the new and improved v7.0.0-alpha0. If I've got anything wrong please lmk as its an open repo and I'd rather we got it right. speakeasy-api/developer-docs#91 |
All Submissions:
Closing issues
This addresses number #794.
Put
closes #XXXX(where XXXX is the issue number) in your comment to auto-close the issue that your PR fixes.Potential Problems With The Approach
There is probably way too much here. I cargo culted a ton of things over from 3.0.0. I also made some changes to how certain types extend others.
Test plan
Broke out tests and fixtures strictly for 3.1. Happy to make changes to that, but wanted something we could start talking out earlier rather than later.