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
|
'use strict';
var fs = require('fs');
var gulp = require('gulp');
var server = require('gulp-express');
var spawn = require('child_process').spawn;
var pkg = require('./package.json');
gulp.task('server', function() {
var options = {};
// Possible values: false (disable tiny-lr server), number (port), ...
var livereload = false;
server.run([pkg.main], options, livereload);
gulp.watch([pkg.main], [server.run]);
});
/** Creates a directory tree if it does not yet exist. */
function makedirs(path) {
var dirPath = '.';
path.split('/').forEach(function(dir) {
dirPath += '/' + dir;
if (!fs.existsSync(dirPath)) {
fs.mkdirSync(dirPath);
}
});
}
gulp.task('mongod', function() {
makedirs('db/data');
// listen on localhost instead of wildcard for security reasons.
spawn('mongod', [
'--dbpath', 'db/data',
'--nounixsocket',
'--bind_ip', '127.0.0.1',
]);
});
// Lazy me, make "gulp" the same as "gulp server" for now.
gulp.task('default', ['server']);
|