You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/* 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; };
|