forked from fronteerio/grasshopper
-
Notifications
You must be signed in to change notification settings - Fork 2
/
app.js
53 lines (45 loc) · 1.76 KB
/
app.js
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
#!/usr/bin/env node
/**
* Copyright (c) 2015 "Fronteer LTD"
* Grasshopper Event Engine
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
// Always run in UTC, no matter what
process.env.TZ = 'UTC';
var yargs = require('yargs');
var GrassHopper = require('gh-core/lib/api');
var log = require('gh-core/lib/logger').logger('app');
var argv = yargs
.usage('$0 [--config <path/to/config.js>]')
.alias('c', 'config')
.describe('c', 'Specify an alternative config file')
.default('c', './config.js')
.argv;
// If a relative path that starts with `./` has been provided,
// we turn it into an absolute path based on the current working directory
if (argv.config.match(/^\.\//)) {
argv.config = process.cwd() + argv.config.substring(1);
// If a different non-absolute path has been provided, we turn
// it into an absolute path based on the current working directory
} else if (!argv.config.match(/^\//)) {
argv.config = process.cwd() + '/' + argv.config;
}
var config = require(argv.config);
// Initialize the app server
GrassHopper.init(config, function(err) {
if (!err) {
log().info('The server has started. Happy Hopping!');
}
});