supress duplicate deprecation messages

This commit is contained in:
Sebastian McKenzie 2015-06-25 04:11:13 +01:00
parent 0b1ce6c9a4
commit c1a080d0ca

View File

@ -4,6 +4,8 @@ import buildDebug from "debug/node";
var verboseDebug = buildDebug("babel:verbose"); var verboseDebug = buildDebug("babel:verbose");
var generalDebug = buildDebug("babel"); var generalDebug = buildDebug("babel");
var seenDeprecatedMessages = [];
export default class Logger { export default class Logger {
constructor(file: File, filename: string) { constructor(file: File, filename: string) {
this.filename = filename; this.filename = filename;
@ -25,9 +27,17 @@ export default class Logger {
} }
deprecate(msg) { deprecate(msg) {
if (!this.file.opts.suppressDeprecationMessages) { if (this.file.opts.suppressDeprecationMessages) return;
console.error(this._buildMessage(msg));
} msg = this._buildMessage(msg);
// already seen this message
if (seenDeprecatedMessages.indexOf(msg) >= 0) return;
// make sure we don't see it again
seenDeprecatedMessages.push(msg);
console.error(msg);
} }
verbose(msg: string) { verbose(msg: string) {