Skip to content

Commit 5ba88da

Browse files
committed
Fix css error message massaging
1 parent 710557f commit 5ba88da

File tree

1 file changed

+19
-2
lines changed

1 file changed

+19
-2
lines changed

packages/react-dev-utils/formatWebpackMessages.js

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,12 @@ function formatMessage(message, isError) {
4141
lines.splice(1, 1);
4242
}
4343

44-
// Simplify `ModuleBuildError` before parsing
44+
// Simplify `ModuleBuildError` before parsing (these may be nested so we use a while loop)
4545
// https://github.com/webpack/webpack/blob/c77030573de96b8293c69dd396492f8e2d46561e/lib/ModuleBuildError.js
46-
if (lines[1].match(/Module build failed \(from.*?\):/)) {
46+
while (
47+
lines.length > 2 &&
48+
lines[1].match(/Module build failed \(from.*?\):/)
49+
) {
4750
lines.splice(1, 1);
4851
lines[1] = 'Module build failed: ' + lines[1];
4952
}
@@ -92,10 +95,23 @@ function formatMessage(message, isError) {
9295

9396
// Cleans up syntax error messages.
9497
if (lines[1].indexOf('Module build failed: ') === 0) {
98+
lines[1] = lines[1].replace(
99+
'Module build failed: Syntax Error ',
100+
friendlySyntaxErrorLabel
101+
);
95102
lines[1] = lines[1].replace(
96103
/Module build failed: .*?: /,
97104
friendlySyntaxErrorLabel + ' '
98105
);
106+
lines[1] = lines[1].trim();
107+
108+
if (lines[1] === friendlySyntaxErrorLabel && lines[2] === '') {
109+
lines.splice(2, 1);
110+
if (lines.length > 2) {
111+
lines[1] += ' ' + lines[2];
112+
lines.splice(2, 1);
113+
}
114+
}
99115
}
100116

101117
// Clean up export errors.
@@ -120,6 +136,7 @@ function formatMessage(message, isError) {
120136
/^\s*at\s((?!webpack:).)*:\d+:\d+[\s)]*(\n|$)/gm,
121137
''
122138
); // at ... ...:x:y
139+
message = message.replace(/^\s*at\s<anonymous>(\n|$)/gm, ''); // at <anonymous>
123140

124141
return message.trim();
125142
}

0 commit comments

Comments
 (0)