| /* |
| MIT License http://www.opensource.org/licenses/mit-license.php |
| Author Tobias Koppers @sokra |
| */ |
| "use strict"; |
| |
| const { WEBPACK_OPTIONS_FLAG } = require("./constants"); |
| |
| exports.cutOffByFlag = (stack, flag) => { |
| stack = stack.split("\n"); |
| for (let i = 0; i < stack.length; i++) if (stack[i].indexOf(flag) >= 0) stack.length = i; |
| return stack.join("\n"); |
| }; |
| |
| exports.cutOffWebpackOptions = stack => exports.cutOffByFlag(stack, WEBPACK_OPTIONS_FLAG); |
| |
| exports.cutOffMultilineMessage = (stack, message) => { |
| stack = stack.split("\n"); |
| message = message.split("\n"); |
| |
| return stack |
| .reduce( |
| (acc, line, idx) => (line === message[idx] || line === `Error: ${message[idx]}` ? acc : acc.concat(line)), |
| [] |
| ) |
| .join("\n"); |
| }; |
| |
| exports.cleanUpWebpackOptions = (stack, message) => { |
| stack = exports.cutOffWebpackOptions(stack); |
| stack = exports.cutOffMultilineMessage(stack, message); |
| return stack; |
| }; |