diff options
Diffstat (limited to 'node_modules/babel-loader/lib/Error.js')
| -rw-r--r-- | node_modules/babel-loader/lib/Error.js | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/node_modules/babel-loader/lib/Error.js b/node_modules/babel-loader/lib/Error.js new file mode 100644 index 00000000..02b3fbc4 --- /dev/null +++ b/node_modules/babel-loader/lib/Error.js @@ -0,0 +1,36 @@ +"use strict"; + +const STRIP_FILENAME_RE = /^[^:]+: /; + +const format = err => { + if (err instanceof SyntaxError) { + err.name = "SyntaxError"; + err.message = err.message.replace(STRIP_FILENAME_RE, ""); + err.hideStack = true; + } else if (err instanceof TypeError) { + err.name = null; + err.message = err.message.replace(STRIP_FILENAME_RE, ""); + err.hideStack = true; + } + + return err; +}; + +class LoaderError extends Error { + constructor(err) { + super(); + const { + name, + message, + codeFrame, + hideStack + } = format(err); + this.name = "BabelLoaderError"; + this.message = `${name ? `${name}: ` : ""}${message}\n\n${codeFrame}\n`; + this.hideStack = hideStack; + Error.captureStackTrace(this, this.constructor); + } + +} + +module.exports = LoaderError;
\ No newline at end of file |
