29 lines
795 B
TypeScript
29 lines
795 B
TypeScript
import path from 'node:path';
|
|
import express from 'express';
|
|
import cookieParser from 'cookie-parser';
|
|
import { env } from './config/env.js';
|
|
import { apiRouter } from './routes/index.js';
|
|
import { platformStatusRouter } from './routes/health.js';
|
|
import { errorHandler } from './http/errors.js';
|
|
|
|
const app = express();
|
|
const frontendDist = path.resolve(process.cwd(), 'frontend', 'dist');
|
|
|
|
app.disable('x-powered-by');
|
|
app.use(express.json({ limit: '1mb' }));
|
|
app.use(cookieParser());
|
|
|
|
app.use(platformStatusRouter);
|
|
app.use('/api', apiRouter);
|
|
|
|
app.use(express.static(frontendDist));
|
|
app.get('*', (_req, res) => {
|
|
res.sendFile(path.join(frontendDist, 'index.html'));
|
|
});
|
|
|
|
app.use(errorHandler);
|
|
|
|
app.listen(env.port, () => {
|
|
console.log(`ACS Node app listening on port ${env.port}`);
|
|
});
|