Skip to content

Commit 42eea47

Browse files
author
Contra
committed
move all logging to the CLI
1 parent 95499e7 commit 42eea47

File tree

2 files changed

+29
-26
lines changed

2 files changed

+29
-26
lines changed

bin/gulp.js

+28-2
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ var argv = require('optimist').argv;
77
var resolve = require('resolve');
88
var findup = require('findup-sync');
99
var gutil = require('gulp-util');
10+
var prettyTime = require('pretty-hrtime');
1011

1112
var tasks = argv._;
1213
var cliPkg = require('../package.json');
@@ -41,8 +42,9 @@ if (!localGulp) {
4142
process.exit(1);
4243
}
4344

44-
// Mix CLI flags into gulp
45-
localGulp.env = gutil.env;
45+
// Wire up logging for tasks
46+
// on local gulp singleton
47+
logEvents(localGulp);
4648

4749
// Load their gulpfile and run it
4850
gutil.log('Using file', gutil.colors.magenta(gulpFile));
@@ -110,3 +112,27 @@ function getGulpFile(baseDir) {
110112
var gulpFile = findup("Gulpfile{"+extensions+"}", {nocase: true});
111113
return gulpFile;
112114
}
115+
116+
// format orchestrator errors
117+
function formatError (e) {
118+
if (!e.err) return e.message;
119+
if (e.err.message) return e.err.message;
120+
return JSON.stringify(e.err);
121+
}
122+
123+
// wire up logging events
124+
function logEvents(gulp) {
125+
gulp.on('task_start', function(e){
126+
gutil.log('Running', "'"+gutil.colors.cyan(e.task)+"'...");
127+
});
128+
gulp.on('task_stop', function(e){
129+
var time = prettyTime(e.hrDuration);
130+
gutil.log('Finished', "'"+gutil.colors.cyan(e.task)+"'", "in", gutil.colors.magenta(time));
131+
});
132+
133+
gulp.on('task_err', function(e){
134+
var msg = formatError(e);
135+
var time = prettyTime(e.hrDuration);
136+
gutil.log('Errored', "'"+gutil.colors.cyan(e.task)+"'", "in", gutil.colors.magenta(time), gutil.colors.red(msg));
137+
});
138+
}

index.js

+1-24
Original file line numberDiff line numberDiff line change
@@ -5,33 +5,10 @@
55
var util = require('util');
66
var Orchestrator = require('orchestrator');
77
var gutil = require('gulp-util');
8-
var prettyTime = require('pretty-hrtime');
9-
10-
// format orchestrator errors
11-
var formatError = function(e) {
12-
if (!e.err) return e.message;
13-
if (e.err.message) return e.err.message;
14-
return JSON.stringify(e.err);
15-
};
168

179
function Gulp(){
1810
Orchestrator.call(this);
19-
this.env = {};
20-
21-
// Logging
22-
this.on('task_start', function(e){
23-
gutil.log('Running', "'"+gutil.colors.cyan(e.task)+"'...");
24-
});
25-
this.on('task_stop', function(e){
26-
var time = prettyTime(e.hrDuration);
27-
gutil.log('Finished', "'"+gutil.colors.cyan(e.task)+"'", "in", gutil.colors.magenta(time));
28-
});
29-
30-
this.on('task_err', function(e){
31-
var msg = formatError(e);
32-
var time = prettyTime(e.hrDuration);
33-
gutil.log('Errored', "'"+gutil.colors.cyan(e.task)+"'", "in", gutil.colors.magenta(time), gutil.colors.red(msg));
34-
});
11+
this.env = gutil.env;
3512
}
3613
util.inherits(Gulp, Orchestrator);
3714

0 commit comments

Comments
 (0)