@playlyfe/babel-loader
Version:
babel module loader for webpack
41 lines (34 loc) • 931 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
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`; // $FlowDisableNextLine
this.hideStack = hideStack;
Error.captureStackTrace(this, this.constructor);
}
}
exports.default = LoaderError;
const STRIP_FILENAME_RE = /^[\0-9;-\u{10FFFF}]+: /u;
function 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;
}