summaryrefslogtreecommitdiff
path: root/node_modules/webpack/lib/ModuleWarning.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/webpack/lib/ModuleWarning.js')
-rw-r--r--node_modules/webpack/lib/ModuleWarning.js66
1 files changed, 66 insertions, 0 deletions
diff --git a/node_modules/webpack/lib/ModuleWarning.js b/node_modules/webpack/lib/ModuleWarning.js
new file mode 100644
index 00000000..9b45a9af
--- /dev/null
+++ b/node_modules/webpack/lib/ModuleWarning.js
@@ -0,0 +1,66 @@
+/*
+ MIT License http://www.opensource.org/licenses/mit-license.php
+ Author Tobias Koppers @sokra
+*/
+
+"use strict";
+
+const { cleanUp } = require("./ErrorHelpers");
+const WebpackError = require("./WebpackError");
+const makeSerializable = require("./util/makeSerializable");
+
+/** @typedef {import("./serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
+/** @typedef {import("./serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
+
+class ModuleWarning extends WebpackError {
+ /**
+ * @param {Error} warning error thrown
+ * @param {{from?: string|null}} info additional info
+ */
+ constructor(warning, { from = null } = {}) {
+ let message = "Module Warning";
+
+ message += from ? ` (from ${from}):\n` : ": ";
+
+ if (warning && typeof warning === "object" && warning.message) {
+ message += warning.message;
+ } else if (warning) {
+ message += String(warning);
+ }
+
+ super(message);
+
+ this.name = "ModuleWarning";
+ this.warning = warning;
+ this.details =
+ warning && typeof warning === "object" && warning.stack
+ ? cleanUp(warning.stack, this.message)
+ : undefined;
+ }
+
+ /**
+ * @param {ObjectSerializerContext} context context
+ */
+ serialize(context) {
+ const { write } = context;
+
+ write(this.warning);
+
+ super.serialize(context);
+ }
+
+ /**
+ * @param {ObjectDeserializerContext} context context
+ */
+ deserialize(context) {
+ const { read } = context;
+
+ this.warning = read();
+
+ super.deserialize(context);
+ }
+}
+
+makeSerializable(ModuleWarning, "webpack/lib/ModuleWarning");
+
+module.exports = ModuleWarning;