summaryrefslogtreecommitdiff
path: root/gulpfile.js
blob: a1bfd3d502e3eb8207eacd27183ccc16f7ba6f3e (plain)
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']);