diff --git a/client/index.js b/client/index.js index 654dc39f976e2261894712db03b983f9c62f6f88..9c8163fff8445abe630f867515173d7114b65ce7 100644 --- a/client/index.js +++ b/client/index.js @@ -54,20 +54,22 @@ export let router export let ErrorComponent let ErrorDebugComponent let Component +let stripAnsi = (s) => s -export default async ({ ErrorDebugComponent: passedDebugComponent } = {}) => { +export default async ({ ErrorDebugComponent: passedDebugComponent, stripAnsi: passedStripAnsi } = {}) => { // Wait for all the dynamic chunks to get loaded for (const chunkName of chunks) { await pageLoader.waitForChunk(chunkName) } + stripAnsi = passedStripAnsi || stripAnsi ErrorDebugComponent = passedDebugComponent ErrorComponent = await pageLoader.loadPage('/_error') try { Component = await pageLoader.loadPage(pathname) } catch (err) { - console.error(`${err.message}\n${err.stack}`) + console.error(stripAnsi(`${err.message}\n${err.stack}`)) Component = ErrorComponent } @@ -119,7 +121,7 @@ export async function renderError (error) { ReactDOM.unmountComponentAtNode(appContainer) const errorMessage = `${error.message}\n${error.stack}` - console.error(errorMessage) + console.error(stripAnsi(errorMessage)) if (prod) { const initProps = { err: error, pathname, query, asPath } diff --git a/client/next-dev.js b/client/next-dev.js index 204b00022a35f0e239b73c0d0c1a6d0150c0adde..ef771c32c615649c8c9ba2db6f13aecd6b3caa02 100644 --- a/client/next-dev.js +++ b/client/next-dev.js @@ -1,4 +1,5 @@ import 'react-hot-loader/patch' +import stripAnsi from 'strip-ansi' import initNext, * as next from './' import ErrorDebugComponent from '../lib/error-debug' import initOnDemandEntries from './on-demand-entries-client' @@ -6,7 +7,7 @@ import initWebpackHMR from './webpack-hot-middleware-client' window.next = next -initNext({ ErrorDebugComponent }) +initNext({ ErrorDebugComponent, stripAnsi }) .then((emitter) => { initOnDemandEntries() initWebpackHMR() @@ -34,5 +35,5 @@ initNext({ ErrorDebugComponent }) }) }) .catch((err) => { - console.error(`${err.message}\n${err.stack}`) + console.error(stripAnsi(`${err.message}\n${err.stack}`)) })