From 1b77c103b2fe6532ddf8f0625ebafeec8c1f5304 Mon Sep 17 00:00:00 2001 From: Trygve Laugstøl Date: Sun, 25 Oct 2015 11:58:23 +0100 Subject: o Experimenting with grunt. --- README.md | 6 +++-- diller-mqtt.js | 8 +++++++ diller.js | 8 ------- gulpfile.js | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ package.json | 6 +++++ 5 files changed, 93 insertions(+), 10 deletions(-) create mode 100644 diller-mqtt.js delete mode 100644 diller.js create mode 100644 gulpfile.js diff --git a/README.md b/README.md index 092fba3..387098c 100644 --- a/README.md +++ b/README.md @@ -8,8 +8,10 @@ Create a database user and database called 'diller' with the password 'diller' a Run Diller: - node diller.js | node_modules/.bin/bunyan - + gulp diller-mqtt + +This assumes that you have `gulp` installed globally. If you don't you can run `./node_modules/.bin/gulp`. + # MQTT topics /diller diff --git a/diller-mqtt.js b/diller-mqtt.js new file mode 100644 index 0000000..db6fc2b --- /dev/null +++ b/diller-mqtt.js @@ -0,0 +1,8 @@ +var di = require('di'); +var injector = new di.Injector(); + +var config = injector.get(require('./src/DillerConfig')); +config.configureLogging('mqtt'); + +var dillerMqtt = injector.get(require('./src/mqtt/DillerMqtt')); +dillerMqtt.run(); diff --git a/diller.js b/diller.js deleted file mode 100644 index db6fc2b..0000000 --- a/diller.js +++ /dev/null @@ -1,8 +0,0 @@ -var di = require('di'); -var injector = new di.Injector(); - -var config = injector.get(require('./src/DillerConfig')); -config.configureLogging('mqtt'); - -var dillerMqtt = injector.get(require('./src/mqtt/DillerMqtt')); -dillerMqtt.run(); diff --git a/gulpfile.js b/gulpfile.js new file mode 100644 index 0000000..ae66565 --- /dev/null +++ b/gulpfile.js @@ -0,0 +1,75 @@ +var gulp = require('gulp-help')(require('gulp')); +var bower = require('gulp-bower'); +var nodemon = require('gulp-nodemon'); +var path = require('path'); +var spawn = require('child_process').spawn + +gulp.task('bower', function () { + return bower() +}); + +function readable(state, daemon) { + var bunyan = state.bunyan; + + // free memory + bunyan && bunyan.kill(); + + bunyan = state.bunyan = spawn('./node_modules/.bin/bunyan', [ + '--output', 'short', + '--color' + ]); + + //console.log('bunyan', bunyan); + bunyan.stdout.pipe(process.stdout); + bunyan.stderr.pipe(process.stderr); + + daemon.stdout.pipe(bunyan.stdin); + daemon.stderr.pipe(bunyan.stdin); +} + +gulp.task('diller-mqtt-reload', function () { +}); + +gulp.task('diller-mqtt', function () { + var state = {}; + + nodemon({ + script: 'diller-mqtt.js', + delay: 500, + ext: 'js', + watch: [ + 'src' + ], + ignore: [ + 'src/web/' + ], + env: {NODE_ENV: 'development'}, + tasks: ['diller-mqtt-reload'], + stdout: false, + //readable: false, + a: '' + }).on('readable', function () { + return readable(state, this); + }); +}); + +gulp.task('diller-web-reload', function () { +}); + +gulp.task('diller-web', ['bower'], function () { + nodemon({ + script: 'diller-web.js', + delay: 500, + ext: 'js', + watch: [ + 'src' + ], + ignore: [ + 'src/mqtt/' + ], + env: {NODE_ENV: 'development'}, + tasks: ['diller-web-reload'] + }); +}); + +gulp.task('default', ['bower']); diff --git a/package.json b/package.json index 6f822ad..2c082af 100644 --- a/package.json +++ b/package.json @@ -19,5 +19,11 @@ "mqtt": "^1.4.3", "pg": "^4.4.2", "pg-promise": "^2.0.12" + }, + "devDependencies": { + "gulp": "^3.9.0", + "gulp-bower": "0.0.10", + "gulp-help": "^1.6.1", + "gulp-nodemon": "^2.0.4" } } -- cgit v1.2.3