From d4d115c146366ee5cd5e030ad761787160671e19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Hol=C4=8D=C3=ADk?= Date: Thu, 22 Oct 2015 15:51:01 +0200 Subject: [PATCH] Added messageText option for error reporting. I had an issue with typescript compilation (awesome-typescript-loader for webpack) and all that was reported in the log was this: ERROR in ./src/app/index.module.ts Module build failed: [object Object] when I debugged it, I noticed that it uses `messageText` instead of `message` for error message, so this is how I found out the real cause of the problem. The problem was not a typical TS compilation error, but due to this error message it took me a while to figure out the cause. Perhaps it's more the awesome-typescript-loader issue, but it's not up to me to decide. Thanks. Lukas --- lib/ModuleBuildError.js | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/lib/ModuleBuildError.js b/lib/ModuleBuildError.js index 6969ed9..04f47c9 100644 --- a/lib/ModuleBuildError.js +++ b/lib/ModuleBuildError.js @@ -3,6 +3,16 @@ Author Tobias Koppers @sokra */ var loaderFlag = "WEBPACK_CORE_LOADER_EXECUTION"; + +function extractMessage(err) { + if(typeof err.message === "string" && err.message) { + return err.message; + } else if(typeof err.messageText === "string" && err.messageText) { + return err.messageText; + } + return err; +} + function ModuleBuildError(module, err) { Error.call(this); Error.captureStackTrace(this, ModuleBuildError); @@ -19,16 +29,10 @@ function ModuleBuildError(module, err) { this.message += stack; } else { this.details = stack; - if(typeof err.message === "string" && err.message) { - this.message += err.message; - } else { - this.message += err; - } + this.message += extractMessage(err); } - } else if(typeof err.message === "string" && err.message) { - this.message += err.message; } else { - this.message += err; + this.message += extractMessage(err); } } this.module = module;