forked from webpack-contrib/sass-loader
/
SassError.js
36 lines (30 loc) · 897 Bytes
/
SassError.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
class SassError extends Error {
constructor(sassError) {
super();
this.name = "SassError";
// Instruct webpack to hide the JS stack from the console.
// Usually you're only interested in the SASS error in this case.
this.hideStack = true;
Error.captureStackTrace(this, this.constructor);
if (
typeof sassError.line !== "undefined" ||
typeof sassError.column !== "undefined"
) {
this.loc = {
line: sassError.line,
column: sassError.column,
};
}
// Keep original error if `sassError.formatted` is unavailable
this.message = `${this.name}: ${
typeof sassError.message !== "undefined" ? sassError.message : sassError
}`;
if (sassError.formatted) {
this.message = `${this.name}: ${sassError.formatted.replace(
/^Error: /,
""
)}`;
}
}
}
export default SassError;