Created
May 29, 2015 16:46
-
-
Save calvinfroedge/abc819cfc5d967350f9c to your computer and use it in GitHub Desktop.
Gulpfile, coffeescript live reload server and all output to stdout, stderr
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var | |
spawn = require('child_process').spawn, | |
fs = require('fs'), | |
gulp = require('gulp'), | |
watch = require('gulp-watch'); | |
var SERVER_SRC = './server/' | |
var paths = { | |
server: [SERVER_SRC+'*', SERVER_SRC+'**/*'] | |
} | |
gulp.task('server-dev', [], function(){ | |
var p; | |
var server = function(){ | |
if(p) p.kill(); | |
var envString = function(file){ | |
return fs.readFileSync(process.env.credentialsDir+file+'.json').toString().replace(/ /g, ''); | |
} | |
var envVars = ['auth0', 'cloudant']; | |
envVars.map(function(v){ | |
process.env[v] = envString(v); | |
}); | |
p = spawn('coffee', [SERVER_SRC+'server.coffee'], {env: process.env}); | |
var events = ['data', 'error', 'exit', 'close', 'disconnect', 'message']; | |
var stream = function(type, event, data){ | |
console.log('('+type+') Server event: '+event+'\nOutput from server: \n' + data+'\n'); | |
} | |
events.map(function(event){ | |
p.stdout.on(event, function(data){ | |
stream('stdout', event, data); | |
}); | |
p.stderr.on(event, function(data){ | |
stream('stderr', event, data); | |
}); | |
}); | |
} | |
server(); | |
gulp.watch(paths.server, function(){ | |
console.log('restarting server...'); | |
server(); | |
}); | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment