UNPKG

843 BJavaScriptView Raw
1/*
2 MIT License http://www.opensource.org/licenses/mit-license.php
3 Author Tobias Koppers @sokra
4*/
5"use strict";
6
7const WebpackError = require("./WebpackError");
8const { cleanUp } = require("./ErrorHelpers");
9
10class ModuleError extends WebpackError {
11 constructor(module, err, { from = null } = {}) {
12 let message = "Module Error";
13 if (from) {
14 message += ` (from ${from}):\n`;
15 } else {
16 message += ": ";
17 }
18 if (err && typeof err === "object" && err.message) {
19 message += err.message;
20 } else if (err) {
21 message += err;
22 }
23 super(message);
24 this.name = "ModuleError";
25 this.module = module;
26 this.error = err;
27 this.details =
28 err && typeof err === "object" && err.stack
29 ? cleanUp(err.stack, this.message)
30 : undefined;
31
32 Error.captureStackTrace(this, this.constructor);
33 }
34}
35
36module.exports = ModuleError;