-
Notifications
You must be signed in to change notification settings - Fork 1
/
server.js
40 lines (30 loc) · 1023 Bytes
/
server.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
require('coffee-script/register');
var http = require('http');
var derby = require('derby');
var express = require('./server/express');
var chalk = require('chalk');
var apps = [
require('./src/app'),
require('./src/public')
];
var error = require('./server/error');
var publicDir = process.cwd() + '/public';
var defaults = require('./config/defaults');
for(var key in defaults) {
process.env[key] = process.env[key] || defaults[key];
}
derby.run(function(){
var store = require('./server/store')(derby);
express(store, apps, error, function(expressApp, upgrade){
var server = http.createServer(expressApp);
server.on('upgrade', upgrade);
server.listen(process.env.PORT, function() {
console.log('%d listening. Go to: http://localhost:%d/', process.pid, process.env.PORT);
});
apps.forEach(function(app){
app.writeScripts(store, publicDir, {extensions: ['.coffee']}, function(){
console.log('Bundle created:', chalk.blue(app.name));
});
});
});
});