You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
815 B
44 lines
815 B
"use strict"; |
|
|
|
/** |
|
* **PostCSS Syntax Error** |
|
* |
|
* Loader wrapper for postcss syntax errors |
|
* |
|
* @class SyntaxError |
|
* @extends Error |
|
* |
|
* @param {Object} err CssSyntaxError |
|
*/ |
|
class SyntaxError extends Error { |
|
constructor(error) { |
|
super(error); |
|
const { |
|
line, |
|
column, |
|
reason, |
|
plugin, |
|
file |
|
} = error; |
|
this.name = "SyntaxError"; |
|
this.message = `${this.name}\n\n`; |
|
|
|
if (typeof line !== "undefined") { |
|
this.message += `(${line}:${column}) `; |
|
} |
|
|
|
this.message += plugin ? `${plugin}: ` : ""; |
|
this.message += file ? `${file} ` : "<css input> "; |
|
this.message += `${reason}`; |
|
const code = error.showSourceCode(); |
|
|
|
if (code) { |
|
this.message += `\n\n${code}\n`; |
|
} |
|
|
|
this.stack = false; |
|
} |
|
|
|
} |
|
|
|
module.exports = SyntaxError; |