Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[V3] OpenAPI 3.0 Preview #660

Open
wants to merge 49 commits into
base: main
Choose a base branch
from
Open

[V3] OpenAPI 3.0 Preview #660

wants to merge 49 commits into from

Conversation

sserrata
Copy link
Member

@sserrata sserrata commented Nov 17, 2023

Description

Long-standing PR for v3.0.0 release.

Preview: https://docusaurus-openapi-36b86--pr660-a47qtiik.web.app/

Motivation and Context

Provides support for Docusaurus v3.0.0

Note: this branch automatically deploys canary releases and will be periodically used to deploy 3.0.0-beta.x releases that can you be used in your project(s). Please check README/homepage/announcements for the latest beta release.

Copy link

github-actions bot commented Nov 17, 2023

Visit the preview URL for this PR (updated for commit 23c8c01):

https://docusaurus-openapi-36b86--pr660-a47qtiik.web.app

(expires Thu, 13 Jun 2024 17:02:50 GMT)

🔥 via Firebase Hosting GitHub Action 🌎

@jcwillox
Copy link

Thanks for putting this together, excited to get our docs up and running with Docusaurus 3 👍
I've just tested it on around 300 endpoints and had no issues with mdx or running it with docusaurus 3, everything appears to work correctly except the JSON syntax highlighting is not working for the response examples and the actual response body after using the send request button, the issue is also present in your preview deployment. For us, it's also not working in the editable request body, although we also had that specific issue in v2, so likely unrelated.

image

sserrata and others added 6 commits December 1, 2023 10:41
* add negative look behind to exclude colon delimited path segments (#663)

* use SCHEMA_TYPE to distinguish request/response to support readOnly/writeOnly properties (#665)

* Improve support for handling multipart form data (#666)

* use pdfblock to test multipart form data

* switch back to cors proxy

* add handler for generic key-value payload

* debug response content type

* refactor to download media and file content types

* switch back to petstore
* Introduce clean function for escaping headers and descriptions

* Remove escape from codeblocks

* Add typing to sidebar generation

* Update Docusaurus dependencies in packages

* Use improved TypeScript support of Docusaurus for demo

* Update tests
* TypeScript refactor ApiCodeBlock

* TypeScript refactor Tabs

* TypeScript refactor components

* Add inline code to clean method

* TypeScript refactor items

* Test ClientWidth arrows, update flatten TabChildren

* Lint fixes

* Fix Sidebar prettier and typing issues

* Fix greedy curly bracket escape
@lucasassisrosa
Copy link
Contributor

lucasassisrosa commented Jan 16, 2024

@sserrata can we include Callbacks Support in V3, please?

@lucasassisrosa
Copy link
Contributor

@sserrata can we include Callbacks Support in V3, please?

https://github.com/PaloAltoNetworks/docusaurus-openapi-docs/pull/700/files

* Add Callbacks support (#691)

* add support to callbacks in openapi specs

* set package manager in package json

* implement operations as tabs within request panel

* render callbacks below Request and Responses

* remove unwanted files

* rename create file

* restore json settings

* convert OperationTabs to typescript

* fix linter

* fix warning on lint order
@sserrata
Copy link
Member Author

@mason-at-pieces the plan is to continue working toward a stable release with Docusaurus v3 support, although that can be a moving target at times. Merges to this branch/PR automatically deploy canary releases. On occasion, we'll publish a v3.0.0-beta.x release. Either of those can be used in your project(s) as long as you understand they are prereleases.

FWIW, the plan isn't necessarily to merge this into main - we might instead eventually just promote v3.0.0 to main and archive the current main as v2.0.0, if that makes sense.

sserrata and others added 2 commits March 15, 2024 15:49
* feat: implement  x-tagGroup feature (#737)

* impement redoc's x-tagGroup feature

* merge main

* update documentation

* fix filtered tags by group

* remove tracked .idea files

* add  option to readme

* merge main

* fix lint

* revert yarn.lock and linter

* cleanup missing types, dup imports and add restaurant example

* fix: Guard only undefined and empty strings (#725)

* Conditional display of header Request (#719)

Co-authored-by: Christian A. Mathiesen <christian@zaveit.no>

* update lock file

* feat: Implement schema pages behind a config option `showSchemas` (#736)

* feat: Implement schema pages behind a config option `showSchemas`

* Add `showSchemas` to petstore demo

* address linter errors

* enable schemas for petstore

* update lock file

* add missing heading import

* address linter errors

---------

Co-authored-by: Çağrı S <bencagri@users.noreply.github.com>
Co-authored-by: Florian Garcia <garcia.florian.perso@gmail.com>
Co-authored-by: chranmat <cam@mathix.net>
Co-authored-by: Christian A. Mathiesen <christian@zaveit.no>
Co-authored-by: Marc L <littlemarc2020@gmail.com>
@mason-at-pieces
Copy link

@sserrata I see, thanks for the explanation. May try out the canary but would obviously prefer a stable release. Either way, thanks and I'll do some testing with the canary 👍

* Prepare release v3.0.0-beta.6

* update compatibility matrix
sserrata and others added 2 commits March 20, 2024 13:09
…support to params (#754)

* avoid guarding 0 values

* support deprecated params

* update utils tests to should guard false

* always render required when true and apply strikethrough when deprecated
@mason-at-pieces
Copy link

Looking forward to testing the new parsers 🔥

sserrata and others added 18 commits March 21, 2024 11:18
…765)

* ensure qualifiers are rendered for polymorphic properties

* update createSchema test
* ensure merged schema is used to generate schema name and qualifier

* combine schema title and type when both are present

* cleanup formatting
* Prepare release v3.0.0-beta.9

* fix formatting issue
* upgrade lerna to 8.1.2

* update lockfile
* Make docs plugin configurable

* Update README
Co-authored-by: Tatiana <tatiana.perry@coalese.io>
* update vscode

* ensure cleanup of sidebars.ts and switch to recursive delete schemas
* add option to disable frontmatter openapi snippet compression

* disable compression for petstore

* explicitly check for true

* handle both compressed and uncompression api prop
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet