-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapp.js
More file actions
executable file
·71 lines (60 loc) · 1.86 KB
/
Copy pathapp.js
File metadata and controls
executable file
·71 lines (60 loc) · 1.86 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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
const express = require("express");
const session = require("cookie-session");
const mongoose = require("mongoose");
const compression = require("compression");
const cssmerger = require("cssmerger");
const esbuild = require("esbuild");
const fileUpload = require("express-fileupload");
const app = express();
app.set("view engine", "ejs");
let mongooseOptions = {
useNewUrlParser: true,
useUnifiedTopology: true,
useFindAndModify: false,
useCreateIndex: true,
dbName: "subline"
};
let sessionOptions = {
secret: process.env.SESSION_SECRET,
sameSite: "lax",
saveUninitialized: true,
resave: false,
};
let cssOptions = {
recursive: true,
miminize: false
};
let esbuildOptions = {
entryPoints: [`${__dirname}/views/dashboardPage/js/dashboard.js`],
bundle: true,
minify: false,
outfile: `${__dirname}/views/dashboardPage/bundle.js`
};
app.set('views', `${__dirname}/views`);
app.use(express.static(`${__dirname}/views`));
if(process.env.NODE_ENV === "production"){
sessionOptions.secure = true;
cssOptions.minimize = true;
mongooseOptions.auth = {authSource: "admin"};
mongooseOptions.user = "subline";
mongooseOptions.pass = process.env.SUBLINE_DB_PASS;
esbuildOptions.minify = true;
}
mongoose.connect(`mongodb://127.0.0.1:27017/subline`, mongooseOptions);
app.use(compression());
app.use(express.urlencoded({extended: true}));
app.use(fileUpload({
limits: {fileSize: 1024 * 1024},
useTempFiles: true
}));
app.use(express.json());
app.use(session(sessionOptions));
require("./routes")(app);
esbuild.buildSync(esbuildOptions);
cssmerger([
`${__dirname}/views/shared/css/general.css`,
`${__dirname}/views/shared/css/loader.css`,
`${__dirname}/views/shared/css/banner.css`,
`${__dirname}/views/dashboardPage/css`
], `${__dirname}/views/dashboardPage/bundle.css`, cssOptions);
app.listen(5005);