1- /*
2- eslint-disable
3- @typescript -eslint/no-misused-promises,
4- @typescript -eslint/no-unsafe-argument,
5- @typescript -eslint/no-explicit-any,
6- promise/always-return
7- */
81import cors from '@fastify/cors' ;
92import fastifySwagger from '@fastify/swagger' ;
103import { fastifyTRPCPlugin } from '@trpc/server/adapters/fastify' ;
114import Fastify from 'fastify' ;
125import { fastifyTRPCOpenApiPlugin } from 'trpc-to-openapi' ;
13-
6+ import fastifySwaggerUi from '@fastify/swagger-ui' ;
147import { openApiDocument } from './openapi' ;
158import { appRouter , createContext } from './router' ;
169
17- const app = Fastify ( ) ;
10+ const app = Fastify ( {
11+ logger : true ,
12+ } ) ;
1813
1914async function main ( ) {
2015 // Setup CORS
21- await app . register ( cors ) ;
16+
17+ await app . register ( cors , { } ) ;
2218
2319 // Handle incoming tRPC requests
20+
2421 await app . register ( fastifyTRPCPlugin , {
2522 prefix : '/trpc' ,
2623 useWss : false ,
2724 trpcOptions : { router : appRouter , createContext } ,
28- } as any ) ;
25+ } ) ;
2926
3027 // Handle incoming OpenAPI requests
28+
3129 await app . register ( fastifyTRPCOpenApiPlugin , {
3230 basePath : '/api' ,
3331 router : appRouter ,
@@ -38,18 +36,19 @@ async function main() {
3836 app . get ( '/openapi.json' , ( ) => openApiDocument ) ;
3937
4038 // Server Swagger UI
39+
4140 await app . register ( fastifySwagger , {
42- routePrefix : '/docs' ,
4341 mode : 'static' ,
4442 specification : { document : openApiDocument } ,
45- uiConfig : { displayOperationId : true } ,
46- exposeRoute : true ,
43+ } ) ;
44+
45+ await app . register ( fastifySwaggerUi as any , {
46+ routePrefix : '/docs' ,
4747 } ) ;
4848
4949 await app
5050 . listen ( { port : 3000 } )
5151 . then ( ( address ) => {
52- app . swagger ( ) ;
5352 console . log ( `Server started on ${ address } \nSwagger UI: http://localhost:3000/docs` ) ;
5453 } )
5554 . catch ( ( e ) => {
0 commit comments