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.
38 lines
642 B
38 lines
642 B
3 years ago
|
/**
|
||
|
* **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 } = error
|
||
|
|
||
|
this.name = 'SyntaxError'
|
||
|
|
||
|
this.message = `${this.name}\n\n`
|
||
|
|
||
|
if (typeof line !== 'undefined') {
|
||
|
this.message += `(${line}:${column}) `
|
||
|
}
|
||
|
|
||
|
this.message += `${reason}`
|
||
|
|
||
|
const code = error.showSourceCode()
|
||
|
|
||
|
if (code) {
|
||
|
this.message += `\n\n${code}\n`
|
||
|
}
|
||
|
|
||
|
this.stack = false
|
||
|
}
|
||
|
}
|
||
|
|
||
|
module.exports = SyntaxError
|