summaryrefslogtreecommitdiffstats
path: root/node_modules/webpack/lib/ErrorHelpers.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/webpack/lib/ErrorHelpers.js')
-rw-r--r--node_modules/webpack/lib/ErrorHelpers.js60
1 files changed, 60 insertions, 0 deletions
diff --git a/node_modules/webpack/lib/ErrorHelpers.js b/node_modules/webpack/lib/ErrorHelpers.js
new file mode 100644
index 0000000..900ae4d
--- /dev/null
+++ b/node_modules/webpack/lib/ErrorHelpers.js
@@ -0,0 +1,60 @@
+/*
+ MIT License http://www.opensource.org/licenses/mit-license.php
+ Author Tobias Koppers @sokra
+*/
+"use strict";
+
+const loaderFlag = "LOADER_EXECUTION";
+
+const webpackOptionsFlag = "WEBPACK_OPTIONS";
+
+exports.cutOffByFlag = (stack, flag) => {
+ stack = stack.split("\n");
+ for (let i = 0; i < stack.length; i++) {
+ if (stack[i].includes(flag)) {
+ stack.length = i;
+ }
+ }
+ return stack.join("\n");
+};
+
+exports.cutOffLoaderExecution = stack =>
+ exports.cutOffByFlag(stack, loaderFlag);
+
+exports.cutOffWebpackOptions = stack =>
+ exports.cutOffByFlag(stack, webpackOptionsFlag);
+
+exports.cutOffMultilineMessage = (stack, message) => {
+ stack = stack.split("\n");
+ message = message.split("\n");
+
+ return stack
+ .reduce(
+ (acc, line, idx) =>
+ line.includes(message[idx]) ? acc : acc.concat(line),
+ []
+ )
+ .join("\n");
+};
+
+exports.cutOffMessage = (stack, message) => {
+ const nextLine = stack.indexOf("\n");
+ if (nextLine === -1) {
+ return stack === message ? "" : stack;
+ } else {
+ const firstLine = stack.substr(0, nextLine);
+ return firstLine === message ? stack.substr(nextLine + 1) : stack;
+ }
+};
+
+exports.cleanUp = (stack, message) => {
+ stack = exports.cutOffLoaderExecution(stack);
+ stack = exports.cutOffMessage(stack, message);
+ return stack;
+};
+
+exports.cleanUpWebpackOptions = (stack, message) => {
+ stack = exports.cutOffWebpackOptions(stack);
+ stack = exports.cutOffMultilineMessage(stack, message);
+ return stack;
+};