UNPKG

webpack

Version:

Packs ECMAScript/CommonJs/AMD modules for the browser. Allows you to split your codebase into multiple bundles, which can be loaded on demand. Supports loaders to preprocess files, i.e. json, jsx, es7, css, less, ... and your custom stuff.

99 lines (87 loc) • 2.38 kB
/* 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"); /** @import Chunk from "../graph/Chunk" */ /** @import { DependencyLocation } from "../graph/Dependency" */ /** @import Module from "../module/Module" */ /** * @import { * ObjectDeserializerContext, * ObjectSerializerContext * } from "../serialization/ObjectMiddleware" */ class WebpackError extends Error { /** * Creates an instance of WebpackError. * @param {string=} message error message * @param {{ cause?: unknown }} options error options */ constructor(message, options = {}) { 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; } /** * Whether an error is a webpack error rather than any other thrown value. * @template T * @param {T} value an error * @returns {value is T & WebpackError} true when the value is a webpack error */ static isWebpackError(value) { return value instanceof WebpackError; } /** * Returns inspect message. * @returns {string} inspect message */ [inspect]() { return ( this.stack + (this.details ? `\n${this.details}` : "") + (this.cause ? `\n${this.cause}` : "") ); } /** * Serializes this instance into the provided serializer context. * @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); } /** * Restores this instance from the provided deserializer context. * @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/errors/WebpackError"); /** @type {typeof WebpackError} */ module.exports = WebpackError;