123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- /*
- MIT License http://www.opensource.org/licenses/mit-license.php
- Author Jarid Margolin @jaridmargolin
- */
- "use strict";
- const inspect = require("util").inspect.custom;
- const makeSerializable = require("./util/makeSerializable");
- /** @typedef {import("./Chunk")} Chunk */
- /** @typedef {import("./Dependency").DependencyLocation} DependencyLocation */
- /** @typedef {import("./Module")} Module */
- /** @typedef {import("./serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
- /** @typedef {import("./serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
- class WebpackError extends Error {
- /**
- * Creates an instance of WebpackError.
- * @param {string=} message error message
- * @param {{ cause?: unknown }} options error options
- */
- constructor(message, options = {}) {
- // @ts-expect-error ES2018 doesn't `Error.cause`, but it can be used by developers
- super(message, options);
- /** @type {string=} */
- this.details = undefined;
- /** @type {(Module | null)=} */
- this.module = undefined;
- /** @type {DependencyLocation=} */
- this.loc = undefined;
- /** @type {boolean=} */
- this.hideStack = undefined;
- /** @type {Chunk=} */
- this.chunk = undefined;
- /** @type {string=} */
- this.file = undefined;
- }
- [inspect]() {
- return (
- this.stack +
- (this.details ? `\n${this.details}` : "") +
- (this.cause ? `\n${this.cause}` : "")
- );
- }
- /**
- * @param {ObjectSerializerContext} context context
- */
- serialize({ write }) {
- write(this.name);
- write(this.message);
- write(this.stack);
- write(this.cause);
- write(this.details);
- write(this.loc);
- write(this.hideStack);
- }
- /**
- * @param {ObjectDeserializerContext} context context
- */
- deserialize({ read }) {
- this.name = read();
- this.message = read();
- this.stack = read();
- this.cause = read();
- this.details = read();
- this.loc = read();
- this.hideStack = read();
- }
- }
- makeSerializable(WebpackError, "webpack/lib/WebpackError");
- module.exports = WebpackError;
|