123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- /*
- 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;
- };
|