This repository has been archived by the owner on Jul 7, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgulpfile.server.ts
62 lines (53 loc) · 1.63 KB
/
gulpfile.server.ts
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
import { series } from 'gulp';
import { doRun, task } from './gulpfile.functions';
const devTimeoutSeconds = 24 * 60 * 60;
const devOptions = {
cwd: `${__dirname}/server`,
commandTimeoutSeconds: devTimeoutSeconds
};
task({
name: 'server:compile',
alias: 'sc',
fct: doRun('node_modules/.bin/tsc --project tsconfig.prod.json', { cwd: `${__dirname}/server` }),
desc: 'Compiles *.ts => *.js'
});
task({
name: 'server:prepareDevDB',
alias: 'sddb',
fct: series(
doRun('node -r dotenv/config node_modules/.bin/sequelize db:migrate', devOptions),
doRun('node -r dotenv/config node_modules/.bin/sequelize db:seed:all', devOptions)
),
desc: 'Prepare new development database'
});
task({
name: 'server:prepareProdDB',
fct: series(
doRun('node_modules/.bin/sequelize db:migrate', { cwd: `${__dirname}/server` }),
doRun('node_modules/.bin/sequelize db:seed:all', { cwd: `${__dirname}/server` })
),
desc: 'Prepare database from production or test'
});
task({
name: 'server:build',
alias: 'sb',
fct: series('server:install', 'server:compile'),
desc: 'Builds all server artifacts (runs tsc, npm install), and prepares bd'
});
task({
name: 'server:buildProd',
alias: 'sb',
fct: series('server:unit-test', 'server:compile'),
desc: 'Runs all server unit tests and then builds all server artifacts, and prepares bd'
});
task({
name: 'server:start',
fct: series('server:compile', doRun('node dist/index.js', devOptions)),
desc: 'Starts the server'
});
task({
name: 'server:dev',
alias: 'sd',
fct: series('server:prepareDevDB', doRun('node_modules/.bin/nodemon', devOptions)),
desc: 'Start the dev server'
});