UNPKG

@ima/dev-utils

Version:

IMA.js dev utils used used mainly in @ima/cli and other dev-related utilities.

36 lines (35 loc) 1.26 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.lessLoaderErrorParser = void 0; const parserUtils_1 = require("./parserUtils"); /** * less-loader errors line hook * * https://github.com/webpack-contrib/less-loader/blob/master/src/LessError.js#L11 */ const RE_LESS_LOADER_LINE = /^.*\(line\s(\d+),\scolumn\s(\d+)\)$/; /** * less-loader specific parser. Tries to parse less compiler errors from * error message. */ function lessLoaderErrorParser(error) { const messageLines = error.message.split('\n'); const compileError = { name: 'Syntax error', message: '', }; for (let i = 0; i < messageLines.length; i++) { const match = messageLines[i].match(RE_LESS_LOADER_LINE); if (match) { compileError.line = parseInt(match[1]); compileError.column = parseInt(match[2]) || 1; // Extract fileUri compileError.fileUri = match.input?.match(parserUtils_1.RE_FILE_PATH_REGEX)?.[0]; // The error message is one line above the error location compileError.message = messageLines[i - 1].trim(); break; } } return compileError; } exports.lessLoaderErrorParser = lessLoaderErrorParser;