This repository has been archived by the owner on Jan 14, 2021. It is now read-only.
forked from Hylozoic/hylo-node
-
Notifications
You must be signed in to change notification settings - Fork 0
/
app.js
90 lines (81 loc) · 2.42 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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
/**
* app.js
*
* Use `app.js` to run your app without `sails lift`.
* To start the server, run: `node app.js`.
*
* This is handy in situations where the sails CLI is not relevant or useful.
*
* For example:
* => `node app.js`
* => `forever start app.js`
* => `node debug app.js`
* => `modulus deploy`
* => `heroku scale`
*
*
* The same command-line arguments are supported, e.g.:
* `node app.js --silent --port=80 --prod`
*/
require('dotenv').load()
require('babel-register')
if (process.env.NEW_RELIC_LICENSE_KEY) {
require('newrelic')
}
if (process.env.ROLLBAR_SERVER_TOKEN && process.env.NODE_ENV !== 'test') {
var rollbar = require('rollbar')
rollbar.init({
accessToken: process.env.ROLLBAR_SERVER_TOKEN,
captureUncaught: true,
captureUnhandledRejections: true
})
}
const { merge } = require('lodash')
const chalk = require('chalk')
chalk.enabled = true
const { blue, yellow } = chalk
// Ensure we're in the project directory, so relative paths work as expected
// no matter where we actually lift from.
process.chdir(__dirname)
// Ensure a "sails" can be located:
;(function () {
var sails
try {
sails = require('sails')
} catch (e) {
console.error('To run an app using `node app.js`, you usually need to have a version of `sails` installed in the same directory as your app.')
console.error('To do that, run `npm install sails`')
console.error('')
console.error('Alternatively, if you have sails installed globally (i.e. you did `npm install -g sails`), you can use `sails lift`.')
console.error('When you run `sails lift`, your app will still use a local `./node_modules/sails` dependency if it exists,')
console.error("but if it doesn't, the app will run with the global sails instead!")
return
}
// Try to get `rc` dependency
var rc
try {
rc = require('rc')
} catch (e0) {
try {
rc = require('sails/node_modules/rc')
} catch (e1) {
console.error('Could not find dependency: `rc`.')
console.error('Your `.sailsrc` file(s) will be ignored.')
console.error('To resolve this, run:')
console.error('npm install rc --save')
rc = () => {}
}
}
// Start server
sails.log.info(yellow('Lifting...'))
sails.lift(merge(rc('sails'), {
log: {noShip: true}
}), function (err) {
if (err) {
sails.log.error(err.stack)
} else {
sails.log.info(blue('Aloft.'))
}
})
module.exports = sails
})()