import Elysia from 'elysia'; import { connect } from 'elysia-connect-middleware'; import { createElement } from 'react'; import { renderToReadableStream } from 'react-dom/server'; import { createServer } from 'vite'; import { App } from './src/App'; const app = new Elysia(); const vite = await createServer({ server: { middlewareMode: true }, appType: 'custom', }); app.use(connect(vite.middlewares)); app.get('/', async () => { const app = createElement(App); const stream = await renderToReadableStream(app, { bootstrapScripts: ['/src/main.tsx'] }); return new Response(stream, { headers: { 'Content-Type': 'text/html', }, }); }); app.listen(3000); console.log(`Server running at http://${app.server?.hostname}:${app.server?.port}`);