index.tsx 967 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. // import "reflect-metadata"
  2. import { Hono } from 'hono'
  3. import { OpenAPIHono } from '@hono/zod-openapi'
  4. import { cors } from 'hono/cors'
  5. import { logger } from 'hono/logger'
  6. import { swaggerUI } from '@hono/swagger-ui'
  7. import { renderer } from './renderer'
  8. import { AppDataSource } from './data-source'
  9. import createApi from './api'
  10. // const app = new Hono()
  11. if(!AppDataSource.isInitialized) await AppDataSource.initialize();
  12. const app = new OpenAPIHono()
  13. // Middleware chain
  14. app.use('*', logger())
  15. app.use('*', cors(
  16. // {
  17. // origin: ['http://localhost:3000'],
  18. // allowMethods: ['GET', 'POST', 'PUT', 'DELETE', 'OPTIONS'],
  19. // credentials: true
  20. // }
  21. ))
  22. createApi(app);
  23. app.use(renderer)
  24. app.get('/ui', swaggerUI({
  25. url: '/doc',
  26. persistAuthorization: true
  27. }))
  28. app.get('/*', (c) => {
  29. return c.render(
  30. <>
  31. <h1 className="text-3xl font-bold underline">Hello from SSR</h1>
  32. <div id="root"></div>
  33. </>
  34. )
  35. })
  36. export default app