From c1a080d0ca4f50622d4ab010a368405f03e920d9 Mon Sep 17 00:00:00 2001 From: Sebastian McKenzie Date: Thu, 25 Jun 2015 04:11:13 +0100 Subject: [PATCH] supress duplicate deprecation messages --- src/babel/transformation/file/logger.js | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/babel/transformation/file/logger.js b/src/babel/transformation/file/logger.js index 3752bfebd8..0618b66488 100644 --- a/src/babel/transformation/file/logger.js +++ b/src/babel/transformation/file/logger.js @@ -4,6 +4,8 @@ import buildDebug from "debug/node"; var verboseDebug = buildDebug("babel:verbose"); var generalDebug = buildDebug("babel"); +var seenDeprecatedMessages = []; + export default class Logger { constructor(file: File, filename: string) { this.filename = filename; @@ -25,9 +27,17 @@ export default class Logger { } deprecate(msg) { - if (!this.file.opts.suppressDeprecationMessages) { - console.error(this._buildMessage(msg)); - } + if (this.file.opts.suppressDeprecationMessages) return; + + 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) {