diff --git a/lib/stats/DefaultStatsFactoryPlugin.js b/lib/stats/DefaultStatsFactoryPlugin.js index 669277add69..fc0cd7e211b 100644 --- a/lib/stats/DefaultStatsFactoryPlugin.js +++ b/lib/stats/DefaultStatsFactoryPlugin.js @@ -1825,11 +1825,7 @@ const errorsSpaceLimit = (errors, max) => { const overlimit = fullLength - max + 1; result.push({ ...errors[i++], - details: `${splitted - .slice(0, len - overlimit) - .join("\n")}\n+${overlimit} hidden line${ - overlimit === 1 ? "" : "s" - }` + filteredDetails: overlimit }); filtered = errors.length - i; for (; i < errors.length; i++) { diff --git a/lib/stats/DefaultStatsPrinterPlugin.js b/lib/stats/DefaultStatsPrinterPlugin.js index d6ce9718154..78624266640 100644 --- a/lib/stats/DefaultStatsPrinterPlugin.js +++ b/lib/stats/DefaultStatsPrinterPlugin.js @@ -588,7 +588,14 @@ const SIMPLE_PRINTERS = { "error.loc": (loc, { green }) => green(loc), "error.message": (message, { bold, formatError }) => message.includes("\u001b[") ? message : bold(formatError(message)), - "error.details": (details, { formatError }) => formatError(details), + "error.details": (details, { formatError, error }) => { + if (!error.filteredDetails) return formatError(details); + return formatError( + details.split("\n").slice(0, -error.filteredDetails).join("\n") + ); + }, + "error.filteredDetails": filteredDetails => + filteredDetails > 0 ? `+ ${filteredDetails} hidden lines` : undefined, "error.stack": stack => stack, "error.moduleTrace": moduleTrace => undefined, "error.separator!": () => "\n", @@ -689,6 +696,8 @@ const ERROR_PREFERRED_ORDER = [ "separator!", "details", "separator!", + "filteredDetails", + "separator!", "stack", "separator!", "missing", diff --git a/test/__snapshots__/StatsTestCases.basictest.js.snap b/test/__snapshots__/StatsTestCases.basictest.js.snap index a192bcee4d6..32895541294 100644 --- a/test/__snapshots__/StatsTestCases.basictest.js.snap +++ b/test/__snapshots__/StatsTestCases.basictest.js.snap @@ -1073,7 +1073,7 @@ ERROR in ./index.js (./loader.js!./index.js) Module Error (from ./loader.js): loader error1 stack1 -+2 hidden lines ++ 2 hidden lines ERROR in ./index.js (./loader.js!./index.js) Module Error (from ./loader.js):