-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathindex.js
More file actions
37 lines (31 loc) · 1.11 KB
/
index.js
File metadata and controls
37 lines (31 loc) · 1.11 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
'use strict'
import express from 'express'
import dotenv from 'dotenv'
import logger from './src/utils/logger.js'
import { types } from './src/utils/logging.js'
import config from './config/index.js'
import { setupMiddlewares } from './src/serverSetup/middlewares.js'
import { setupRoutes } from './src/serverSetup/routes.js'
import { setupErrorHandlers } from './src/serverSetup/errorHandlers.js'
import { setupSession } from './src/serverSetup/session.js'
import { setupNunjucks } from './src/serverSetup/nunjucks.js'
import { setupSentry } from './src/serverSetup/sentry.js'
import { initDatasetSlugToReadableNameFilter } from './src/utils/datasetSlugToReadableName.js'
dotenv.config()
const datasetSlugToReadableName = await initDatasetSlugToReadableNameFilter()
const app = express()
setupMiddlewares(app)
await setupSession(app)
setupNunjucks({
app,
datasetNameMapping: datasetSlugToReadableName
})
setupRoutes(app)
setupSentry(app)
setupErrorHandlers(app)
app.listen(config.port, () => {
logger.info({
message: `listening on all interfaces (0.0.0.0) on port ${config.port}`,
type: types.AppLifecycle
})
})