@ima/dev-utils
Version:
IMA.js dev utils used used mainly in @ima/cli and other dev-related utilities.
33 lines (32 loc) • 1.08 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.cssLoaderErrorParser = void 0;
/**
* css and post-css loader errors line hook
*
* https://github.com/webpack-contrib/css-loader/blob/master/src/CssSyntaxError.js
*/
const RE_CSS_LOADER_LINE = /(^\((\d+):(\d+)\))?\s?(\.?(\/[^/\n :,]+)+)\s(.*)/;
/**
* less-loader specific parser. Tries to parse less compiler errors from
* error message.
*/
function cssLoaderErrorParser(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_CSS_LOADER_LINE);
if (match) {
compileError.line = parseInt(match[2]) || undefined;
compileError.column = parseInt(match[3]) || 1;
compileError.fileUri = match[4];
compileError.message = match[6].trim();
break;
}
}
return compileError;
}
exports.cssLoaderErrorParser = cssLoaderErrorParser;