提交 dae4c97d 编写于 作者: J Joao Moreno

fix logging

上级 cc366f5a
......@@ -20,6 +20,9 @@ function onEnd() {
if (--count > 0) {
return;
}
log();
}
function log() {
var errors = _.flatten(allErrors);
errors.map(function (err) { return util.log(util.colors.red('Error') + ": " + err); });
util.log("Finished " + util.colors.green('compilation') + " with " + errors.length + " errors after " + util.colors.magenta((new Date().getTime() - startTime) + ' ms'));
......@@ -40,7 +43,8 @@ function createReporter() {
return es.through(null, function () {
onEnd();
if (emitError && errors.length > 0) {
this.emit('error', 'Errors occurred.');
log();
this.emit('error');
}
else {
this.emit('end');
......
......@@ -9,8 +9,8 @@ import * as es from 'event-stream';
import * as _ from 'underscore';
import * as util from 'gulp-util';
const allErrors:Error[][] = [];
let startTime:number = null;
const allErrors: Error[][] = [];
let startTime: number = null;
let count = 0;
function onStart(): void {
......@@ -19,32 +19,36 @@ function onStart(): void {
}
startTime = new Date().getTime();
util.log(`Starting ${ util.colors.green('compilation') }...`);
util.log(`Starting ${util.colors.green('compilation')}...`);
}
function onEnd(): void {
if (--count > 0) {
return ;
return;
}
log();
}
function log(): void {
const errors = _.flatten(allErrors);
errors.map(err => util.log(`${ util.colors.red('Error') }: ${ err }`));
errors.map(err => util.log(`${util.colors.red('Error')}: ${err}`));
util.log(`Finished ${ util.colors.green('compilation') } with ${ errors.length } errors after ${ util.colors.magenta((new Date().getTime() - startTime) + ' ms') }`);
util.log(`Finished ${util.colors.green('compilation')} with ${errors.length} errors after ${util.colors.magenta((new Date().getTime() - startTime) + ' ms')}`);
}
export interface IReporter {
(err:Error): void;
(err: Error): void;
hasErrors(): boolean;
end(emitError:boolean): NodeJS.ReadWriteStream;
end(emitError: boolean): NodeJS.ReadWriteStream;
}
export function createReporter(): IReporter {
const errors:Error[] = [];
const errors: Error[] = [];
allErrors.push(errors);
class ReportFunc {
constructor(err:Error) {
constructor(err: Error) {
errors.push(err);
}
......@@ -52,7 +56,7 @@ export function createReporter(): IReporter {
return errors.length > 0;
}
static end(emitError:boolean): NodeJS.ReadWriteStream {
static end(emitError: boolean): NodeJS.ReadWriteStream {
errors.length = 0;
onStart();
......@@ -60,7 +64,8 @@ export function createReporter(): IReporter {
onEnd();
if (emitError && errors.length > 0) {
this.emit('error', 'Errors occurred.');
log();
this.emit('error');
} else {
this.emit('end');
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册