1 | import { BOOTSTRAP_EXPRESS_APP, PUBLIC_FOLDER, SERVER_PORT } from '@/constants';
|
2 | import CookieParser from 'cookie-parser';
|
3 | import Express from 'express';
|
4 | import path from 'path';
|
5 | import server from 'server';
|
6 | import compression from 'compression';
|
7 | import nofavicon from 'express-no-favicons';
|
8 | import { asyncErrorHandler, expressErrorMiddleWare, catchProcessErrors } from '@aquestsrl/create-app-cli-utils/error-handler';
|
9 |
|
10 | catchProcessErrors();
|
11 |
|
12 | const app = Express();
|
13 |
|
14 | app
|
15 | .use(compression())
|
16 | .use(nofavicon())
|
17 | .use(Express.static(path.join(__dirname, PUBLIC_FOLDER)))
|
18 | .use(CookieParser())
|
19 | .get('*', asyncErrorHandler(async (req, res, next) => {
|
20 | server(req, res);
|
21 | }))
|
22 | .use(expressErrorMiddleWare);
|
23 |
|
24 | if (BOOTSTRAP_EXPRESS_APP) {
|
25 | const PORT = process.env.PORT || SERVER_PORT;
|
26 | app.listen(PORT, () => console.log(`Express server run on port ${PORT}`));
|
27 | }
|
28 |
|
29 | export default app;
|