mirror of https://github.com/webpack/webpack.git
Create error class for cache store errors
This commit is contained in:
parent
5d18a8e27d
commit
f12b8abcc0
|
@ -36,6 +36,7 @@ const ModuleGraph = require("./ModuleGraph");
|
|||
const ModuleNotFoundError = require("./ModuleNotFoundError");
|
||||
const ModuleProfile = require("./ModuleProfile");
|
||||
const ModuleRestoreError = require("./ModuleRestoreError");
|
||||
const ModuleStoreError = require("./ModuleStoreError");
|
||||
const ModuleTemplate = require("./ModuleTemplate");
|
||||
const RuntimeGlobals = require("./RuntimeGlobals");
|
||||
const RuntimeTemplate = require("./RuntimeTemplate");
|
||||
|
@ -952,7 +953,7 @@ class Compilation {
|
|||
}
|
||||
if (err) {
|
||||
this.hooks.failedModule.call(module, err);
|
||||
return callback(err);
|
||||
return callback(new ModuleStoreError(module, err));
|
||||
}
|
||||
this.hooks.succeedModule.call(module);
|
||||
return callback();
|
||||
|
|
|
@ -0,0 +1,44 @@
|
|||
/*
|
||||
MIT License http://www.opensource.org/licenses/mit-license.php
|
||||
Author Tobias Koppers @sokra
|
||||
*/
|
||||
|
||||
"use strict";
|
||||
|
||||
const WebpackError = require("./WebpackError");
|
||||
|
||||
/** @typedef {import("./Module")} Module */
|
||||
|
||||
class ModuleStoreError extends WebpackError {
|
||||
/**
|
||||
* @param {Module} module module tied to dependency
|
||||
* @param {string | Error} err error thrown
|
||||
*/
|
||||
constructor(module, err) {
|
||||
let message = "Module storing failed: ";
|
||||
let details = undefined;
|
||||
if (err !== null && typeof err === "object") {
|
||||
if (typeof err.stack === "string" && err.stack) {
|
||||
const stack = err.stack;
|
||||
message += stack;
|
||||
} else if (typeof err.message === "string" && err.message) {
|
||||
message += err.message;
|
||||
} else {
|
||||
message += err;
|
||||
}
|
||||
} else {
|
||||
message += String(err);
|
||||
}
|
||||
|
||||
super(message);
|
||||
|
||||
this.name = "ModuleStoreError";
|
||||
this.details = details;
|
||||
this.module = module;
|
||||
this.error = err;
|
||||
|
||||
Error.captureStackTrace(this, this.constructor);
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = ModuleStoreError;
|
Loading…
Reference in New Issue