From 521e25bded6ac8bfac65e592121b6d16ad3de317 Mon Sep 17 00:00:00 2001 From: Christoph Nakazawa Date: Tue, 25 Jul 2017 13:52:33 -0700 Subject: [PATCH] Improve Metro's TransformError message for transform errors. Reviewed By: davidaurelio Differential Revision: D5470538 fbshipit-source-id: dea3e798c26964bb789917e73bb06a7629af7aa4 --- packages/metro-bundler/src/JSTransformer/index.js | 1 - packages/metro-bundler/src/lib/TerminalReporter.js | 12 ++++++------ 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/packages/metro-bundler/src/JSTransformer/index.js b/packages/metro-bundler/src/JSTransformer/index.js index 697a3b75..d9d11849 100644 --- a/packages/metro-bundler/src/JSTransformer/index.js +++ b/packages/metro-bundler/src/JSTransformer/index.js @@ -204,7 +204,6 @@ function formatGenericError(err, filename) { var msg = 'TransformError: ' + filename + ': ' + err.message; var error = new TransformError(); var stack = (err.stack || '').split('\n').slice(0, -1); - stack.push(msg); error.stack = stack.join('\n'); error.message = msg; error.type = 'TransformError'; diff --git a/packages/metro-bundler/src/lib/TerminalReporter.js b/packages/metro-bundler/src/lib/TerminalReporter.js index 4abe1aa0..5a64d493 100644 --- a/packages/metro-bundler/src/lib/TerminalReporter.js +++ b/packages/metro-bundler/src/lib/TerminalReporter.js @@ -269,21 +269,21 @@ class TerminalReporter { return; } - //$FlowFixMe T19379628 - let message = error.message; + let message = (error.snippet == null && error.stack != null) + ? error.stack + //$FlowFixMe T19379628 + : error.message; //$FlowFixMe T19379628 if (error.filename && !message.includes(error.filename)) { //$FlowFixMe T19379628 message += ` [${error.filename}]`; } - let str = JSON.stringify(message); if (error.snippet != null) { //$FlowFixMe T19379628 - str += '\n' + error.snippet; + message += '\n' + error.snippet; } - - this._logBundlingErrorMessage(str); + this._logBundlingErrorMessage(message); } _logBundlingErrorMessage(message: string) {