diff options
| author | ruki <waruqi@gmail.com> | 2018-11-08 00:38:48 +0800 |
|---|---|---|
| committer | ruki <waruqi@gmail.com> | 2018-11-07 21:53:09 +0800 |
| commit | 26105034da4fcce7ac883c899d781f016559310d (patch) | |
| tree | c459a5dc4e3aa0972d9919033ece511ce76dd129 /node_modules/babel-loader/lib/Error.js | |
| parent | 2c77f00f1a7ecb6c8192f9c16d3b2001b254a107 (diff) | |
| download | xmake-docs-26105034da4fcce7ac883c899d781f016559310d.tar.gz xmake-docs-26105034da4fcce7ac883c899d781f016559310d.zip | |
switch to vuepress
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 |
