From 5317abddb67acfef955f1b40ffd3dbecc495d38c Mon Sep 17 00:00:00 2001
From: Arunoda Susiripala <arunoda.susiripala@gmail.com>
Date: Tue, 21 Mar 2017 11:31:58 +0530
Subject: [PATCH] Show errored file always in the error overlay. This was not
 happening when there's module not found errors. Now we try to do this for all
 the errors if possible.

---
 lib/error-debug.js | 15 ++++++++-------
 server/render.js   |  6 +++---
 2 files changed, 11 insertions(+), 10 deletions(-)

diff --git a/lib/error-debug.js b/lib/error-debug.js
index f161fff6e7bf5..b494fd45b9446 100644
--- a/lib/error-debug.js
+++ b/lib/error-debug.js
@@ -10,7 +10,7 @@ export default ({ error, error: { name, message, module } }) => (
     {module ? <div style={styles.heading}>Error in {module.rawRequest}</div> : null}
     {
       name === 'ModuleBuildError'
-      ? <pre style={styles.message} dangerouslySetInnerHTML={{ __html: ansiHTML(encodeHtml(message)) }} />
+      ? <pre style={styles.stack} dangerouslySetInnerHTML={{ __html: ansiHTML(encodeHtml(message)) }} />
       : <StackTrace error={error} />
     }
   </div>
@@ -18,8 +18,8 @@ export default ({ error, error: { name, message, module } }) => (
 
 const StackTrace = ({ error: { name, message, stack } }) => (
   <div>
-    <div style={styles.heading}>{name && message && `${name}: ${message}`}</div>
-    <pre style={styles.message}>
+    <div style={styles.heading}>{message || name}</div>
+    <pre style={styles.stack}>
       {stack}
     </pre>
   </div>
@@ -39,21 +39,22 @@ const styles = {
     zIndex: 9999
   },
 
-  message: {
+  stack: {
     fontFamily: '"SF Mono", "Roboto Mono", "Fira Mono", consolas, menlo-regular, monospace',
     fontSize: '13px',
     color: '#fbe7f1',
     margin: 0,
     whiteSpace: 'pre-wrap',
-    wordWrap: 'break-word'
+    wordWrap: 'break-word',
+    marginTop: '20px'
   },
 
   heading: {
     fontFamily: '-apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Fira Sans", Avenir, "Helvetica Neue", "Lucida Grande", sans-serif',
     fontSize: '15px',
     fontWeight: 'bold',
-    color: '#ff84bf',
-    marginBottom: '20px'
+    color: '#febfdd',
+    marginBottom: '5px'
   }
 }
 
diff --git a/server/render.js b/server/render.js
index fac5dffb61bc7..36c18994e3697 100644
--- a/server/render.js
+++ b/server/render.js
@@ -142,9 +142,9 @@ function errorToJSON (err) {
   const { name, message, stack } = err
   const json = { name, message, stack }
 
-  if (name === 'ModuleBuildError') {
-    // webpack compilation error
-    const { module: { rawRequest } } = err
+  if (err.module) {
+    // rawRequest contains the filename of the module which has the error.
+    const { rawRequest } = err.module
     json.module = { rawRequest }
   }