|
|
- "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;
|