fix: wrap top-level await in main() for CommonJS compatibility
This commit is contained in:
@@ -5,7 +5,6 @@ import fastifyWebSocket from '@fastify/websocket';
|
||||
import fastifyMultipart from '@fastify/multipart';
|
||||
import fastifyStatic from '@fastify/static';
|
||||
import webpush from 'web-push';
|
||||
import path from 'path';
|
||||
import { initDB } from './db.js';
|
||||
import { setupWebSocket } from './ws.js';
|
||||
import authRoutes from './routes/auth.js';
|
||||
@@ -15,14 +14,17 @@ import messageRoutes from './routes/messages.js';
|
||||
import userRoutes from './routes/users.js';
|
||||
import pushRoutes from './routes/push.js';
|
||||
|
||||
async function main() {
|
||||
const app = Fastify({ logger: true });
|
||||
|
||||
// VAPID
|
||||
if (process.env.VAPID_PUBLIC_KEY && process.env.VAPID_PRIVATE_KEY) {
|
||||
webpush.setVapidDetails(
|
||||
`mailto:${process.env.VAPID_EMAIL || 'admin@janichat.ru'}`,
|
||||
process.env.VAPID_PUBLIC_KEY!,
|
||||
process.env.VAPID_PRIVATE_KEY!
|
||||
process.env.VAPID_PUBLIC_KEY,
|
||||
process.env.VAPID_PRIVATE_KEY
|
||||
);
|
||||
}
|
||||
|
||||
// Plugins
|
||||
await app.register(fastifyCors, {
|
||||
@@ -66,6 +68,14 @@ app.get('/health', async () => ({ ok: true }));
|
||||
// WebSocket
|
||||
setupWebSocket(app);
|
||||
|
||||
// Init
|
||||
// Init DB
|
||||
await initDB();
|
||||
|
||||
// Start
|
||||
await app.listen({ port: parseInt(process.env.PORT || '3000'), host: '0.0.0.0' });
|
||||
}
|
||||
|
||||
main().catch(err => {
|
||||
console.error(err);
|
||||
process.exit(1);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user