fix: wrap top-level await in main() for CommonJS compatibility

This commit is contained in:
Ai
2026-05-22 11:16:23 +03:00
parent f12f4a4b68
commit 567e5fd14a

View File

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