chore: update @dokploy/trpc-openapi to version 0.0.14 and swagger-ui-react to version 5.31.2; refactor OpenAPI document handling in swagger.tsx and settings.ts for improved compatibility and clarity

This commit is contained in:
Mauricio Siu
2026-02-24 01:07:23 -06:00
parent 7c534d62b6
commit 331b12c7d8
31 changed files with 718 additions and 721 deletions

View File

@@ -55,7 +55,7 @@
"@codemirror/legacy-modes": "6.4.0",
"@codemirror/view": "6.29.0",
"@dokploy/server": "workspace:*",
"@dokploy/trpc-openapi": "0.0.13",
"@dokploy/trpc-openapi": "0.0.14",
"@faker-js/faker": "^8.4.1",
"@hookform/resolvers": "^5.2.2",
"@octokit/auth-app": "^6.1.3",
@@ -144,7 +144,7 @@
"ssh2": "1.15.0",
"stripe": "17.2.0",
"superjson": "^2.2.2",
"swagger-ui-react": "^5.31.1",
"swagger-ui-react": "^5.31.2",
"tailwind-merge": "^2.6.0",
"tailwindcss-animate": "^1.0.7",
"toml": "3.0.0",

View File

@@ -17,13 +17,19 @@ const Home: NextPage = () => {
useEffect(() => {
if (data) {
const protocolAndHost = `${window.location.protocol}//${window.location.host}/api`;
// Force OpenAPI 3.0 so Swagger UI uses the 3.0 parser (avoids ApiDOM 3.1 refract bug)
const newSpec = {
...data,
openapi: "3.0.3",
servers: [{ url: protocolAndHost }],
externalDocs: {
url: `${protocolAndHost}/settings.getOpenApiDocument`,
url: `${protocolAndHost}/trpc/settings.getOpenApiDocument`,
},
};
// Remove 3.1-only fields that could confuse the 3.0 parser
if ("jsonSchemaDialect" in newSpec) {
delete (newSpec as Record<string, unknown>).jsonSchemaDialect;
}
setSpec(newSpec);
}
}, [data]);

View File

@@ -530,12 +530,12 @@ export const settingsRouter = createTRPCRouter({
getOpenApiDocument: protectedProcedure.query(
async ({ ctx }): Promise<unknown> => {
const protocol = ctx.req.headers["x-forwarded-proto"];
const url = `${protocol}://${ctx.req.headers.host}/api`;
const url = `${protocol}://${ctx.req.headers.host}/api/trpc`;
const openApiDocument = generateOpenApiDocument(appRouter, {
title: "tRPC OpenAPI",
version: "1.0.0",
version: packageInfo.version,
baseUrl: url,
docsUrl: `${url}/settings.getOpenApiDocument`,
docsUrl: `${url}/trpc/settings.getOpenApiDocument`,
tags: [
"admin",
"docker",
@@ -572,7 +572,7 @@ export const settingsRouter = createTRPCRouter({
openApiDocument.info = {
title: "Dokploy API",
description: "Endpoints for dokploy",
version: "1.0.0",
version: packageInfo.version,
};
// Add security schemes configuration