Swagger docs improved (#2607)

* fix: adds servers in openapi, remove hack in snippets, update deps, make dynamic import to use latests swagger ui deps

* fix: remove unneded import

* fix: adds yarn dev commands for api and swagger

Co-authored-by: Agusti Fernandez Pardo <git@agusti.me>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
This commit is contained in:
Agusti Fernandez 2022-04-26 17:00:53 +02:00 committed by GitHub
parent d61238c832
commit fa1b29a99f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 26 additions and 50 deletions

View file

@ -77,7 +77,7 @@ export const SnippedGenerator = {
// method, // method,
// targets // targets
// // Since I don't know why hostname was undefinedundefined, I harcoded it here // // Since I don't know why hostname was undefinedundefined, I harcoded it here
// ).snippets[0].content.replaceAll("undefinedundefined", "https://api.cal.com"); // ).snippets[0].content;
// } catch (err) { // } catch (err) {
// // set to error in case it happens the npm package has some flaws // // set to error in case it happens the npm package has some flaws
// snippet = JSON.stringify(snippet); // snippet = JSON.stringify(snippet);
@ -104,12 +104,8 @@ export const SnippedGenerator = {
let snippet; let snippet;
try { try {
// set request snippet content // set request snippet content
snippet = OpenAPISnippet.getEndpointSnippets( snippet = OpenAPISnippet.getEndpointSnippets(spec, path, method, targets).snippets[0]
spec, .content;
path,
method,
targets
).snippets[0].content.replaceAll("undefinedundefined", "https://api.cal.com");
} catch (err) { } catch (err) {
// set to error in case it happens the npm package has some flaws // set to error in case it happens the npm package has some flaws
snippet = JSON.stringify(snippet); snippet = JSON.stringify(snippet);
@ -136,12 +132,8 @@ export const SnippedGenerator = {
let snippet; let snippet;
try { try {
// set request snippet content // set request snippet content
snippet = OpenAPISnippet.getEndpointSnippets( snippet = OpenAPISnippet.getEndpointSnippets(spec, path, method, targets).snippets[0]
spec, .content;
path,
method,
targets
).snippets[0].content.replaceAll("undefinedundefined", "https://api.cal.com");
} catch (err) { } catch (err) {
// set to error in case it happens the npm package has some flaws // set to error in case it happens the npm package has some flaws
snippet = JSON.stringify(snippet); snippet = JSON.stringify(snippet);
@ -168,12 +160,8 @@ export const SnippedGenerator = {
let snippet; let snippet;
try { try {
// set request snippet content // set request snippet content
snippet = OpenAPISnippet.getEndpointSnippets( snippet = OpenAPISnippet.getEndpointSnippets(spec, path, method, targets).snippets[0]
spec, .content;
path,
method,
targets
).snippets[0].content.replaceAll("undefinedundefined", "https://api.cal.com");
} catch (err) { } catch (err) {
// set to error in case it happens the npm package has some flaws // set to error in case it happens the npm package has some flaws
snippet = JSON.stringify(snippet); snippet = JSON.stringify(snippet);
@ -200,12 +188,8 @@ export const SnippedGenerator = {
let snippet; let snippet;
try { try {
// set request snippet content // set request snippet content
snippet = OpenAPISnippet.getEndpointSnippets( snippet = OpenAPISnippet.getEndpointSnippets(spec, path, method, targets).snippets[0]
spec, .content;
path,
method,
targets
).snippets[0].content.replaceAll("undefinedundefined", "https://api.cal.com");
} catch (err) { } catch (err) {
// set to error in case it happens the npm package has some flaws // set to error in case it happens the npm package has some flaws
snippet = JSON.stringify(snippet); snippet = JSON.stringify(snippet);
@ -237,7 +221,7 @@ export const SnippedGenerator = {
// path, // path,
// method, // method,
// targets // targets
// ).snippets[0].content.replaceAll("undefinedundefined", "https://api.cal.com"); // ).snippets[0].content;
// } catch (err) { // } catch (err) {
// // set to error in case it happens the npm package has some flaws // // set to error in case it happens the npm package has some flaws
// snippet = JSON.stringify(snippet); // snippet = JSON.stringify(snippet);
@ -269,7 +253,7 @@ export const SnippedGenerator = {
// path, // path,
// method, // method,
// targets // targets
// ).snippets[0].content.replaceAll("undefinedundefined", "https://api.cal.com"); // ).snippets[0].content;
// } catch (err) { // } catch (err) {
// // set to error in case it happens the npm package has some flaws // // set to error in case it happens the npm package has some flaws
// snippet = JSON.stringify(snippet); // snippet = JSON.stringify(snippet);
@ -296,12 +280,8 @@ export const SnippedGenerator = {
let snippet; let snippet;
try { try {
// set request snippet content // set request snippet content
snippet = OpenAPISnippet.getEndpointSnippets( snippet = OpenAPISnippet.getEndpointSnippets(spec, path, method, targets).snippets[0]
spec, .content;
path,
method,
targets
).snippets[0].content.replaceAll("undefinedundefined", "https://api.cal.com");
} catch (err) { } catch (err) {
// set to error in case it happens the npm package has some flaws // set to error in case it happens the npm package has some flaws
snippet = JSON.stringify(snippet); snippet = JSON.stringify(snippet);
@ -328,12 +308,8 @@ export const SnippedGenerator = {
let snippet; let snippet;
try { try {
// set request snippet content // set request snippet content
snippet = OpenAPISnippet.getEndpointSnippets( snippet = OpenAPISnippet.getEndpointSnippets(spec, path, method, targets).snippets[0]
spec, .content;
path,
method,
targets
).snippets[0].content.replaceAll("undefinedundefined", "https://api.cal.com");
} catch (err) { } catch (err) {
// set to error in case it happens the npm package has some flaws // set to error in case it happens the npm package has some flaws
snippet = JSON.stringify(snippet); snippet = JSON.stringify(snippet);
@ -360,12 +336,8 @@ export const SnippedGenerator = {
let snippet; let snippet;
try { try {
// set request snippet content // set request snippet content
snippet = OpenAPISnippet.getEndpointSnippets( snippet = OpenAPISnippet.getEndpointSnippets(spec, path, method, targets).snippets[0]
spec, .content;
path,
method,
targets
).snippets[0].content.replaceAll("undefinedundefined", "https://api.cal.com");
} catch (err) { } catch (err) {
// set to error in case it happens the npm package has some flaws // set to error in case it happens the npm package has some flaws
snippet = JSON.stringify(snippet); snippet = JSON.stringify(snippet);

View file

@ -10,14 +10,14 @@
"dependencies": { "dependencies": {
"highlight.js": "^11.5.1", "highlight.js": "^11.5.1",
"isarray": "2.0.5", "isarray": "2.0.5",
"next": "12.1.4", "next": "12.1.5",
"openapi-snippet": "^0.13.0", "openapi-snippet": "^0.13.0",
"react": "17.0.2", "react": "17.0.2",
"react-dom": "17.0.2", "react-dom": "17.0.2",
"swagger-ui-react": "4.8.1" "swagger-ui-react": "4.10.3"
}, },
"devDependencies": { "devDependencies": {
"@types/node": "16.11.26", "@types/node": "17.0.27",
"@types/react": "17.0.43", "@types/react": "17.0.43",
"@types/react-dom": "17.0.14", "@types/react-dom": "17.0.14",
"typescript": "4.6.3" "typescript": "4.6.3"

View file

@ -1,12 +1,14 @@
import SwaggerUI from "swagger-ui-react"; import dynamic from "next/dynamic";
import { SnippedGenerator, requestSnippets } from "@lib/snippets"; import { SnippedGenerator, requestSnippets } from "@lib/snippets";
const SwaggerUI: any = dynamic(() => import("swagger-ui-react"), { ssr: false });
export default function APIDocs() { export default function APIDocs() {
return ( return (
<SwaggerUI <SwaggerUI
url={process.env.NEXT_PUBLIC_SWAGGER_DOCS_URL || "https://api.cal.com/docs"} url={process.env.NEXT_PUBLIC_SWAGGER_DOCS_URL || "https://api.cal.com/docs"}
supportedSubmitMethods={["get", "post", "put", "delete", "patch"]} supportedSubmitMethods={["get", "post", "delete", "patch"]}
requestSnippetsEnabled={true} requestSnippetsEnabled={true}
requestSnippets={requestSnippets} requestSnippets={requestSnippets}
plugins={[SnippedGenerator]} plugins={[SnippedGenerator]}

View file

@ -17,6 +17,8 @@
"deploy": "turbo run deploy", "deploy": "turbo run deploy",
"dev": "turbo run dev --scope=\"@calcom/web\"", "dev": "turbo run dev --scope=\"@calcom/web\"",
"dev:website": "yarn predev && turbo run dev --scope=\"@calcom/web\" --scope=\"@calcom/website\"", "dev:website": "yarn predev && turbo run dev --scope=\"@calcom/web\" --scope=\"@calcom/website\"",
"dev:api": "yarn predev && turbo run dev --scope=\"@calcom/web\" --scope=\"@calcom/api\"",
"dev:swagger": "yarn predev && turbo run dev --scope=\"@calcom/api\" --scope=\"@calcom/swagger\"",
"dev:console": "yarn predev && turbo run dev --scope=\"@calcom/web\" --scope=\"@calcom/console\"", "dev:console": "yarn predev && turbo run dev --scope=\"@calcom/web\" --scope=\"@calcom/console\"",
"docs-dev": "yarn predev && turbo run dev --scope=\"@calcom/docs\"", "docs-dev": "yarn predev && turbo run dev --scope=\"@calcom/docs\"",
"docs-build": "turbo run build --scope=\"@calcom/docs\" --include-dependencies", "docs-build": "turbo run build --scope=\"@calcom/docs\" --include-dependencies",