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) {