UNPKG

@ima/dev-utils

Version:

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

34 lines (33 loc) 1.35 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.extractFileUri = exports.extractErrorLoc = exports.RE_FILE_PATH_REGEX = void 0; const RE_FILE_PATH_REGEX = /\.?(\/[^/\n :,]+)+/; exports.RE_FILE_PATH_REGEX = RE_FILE_PATH_REGEX; /** * Parsers error location from error.loc string from webpack stats. * * @param {string?} errorLocation Error location (line:column) string. * @returns { line?: number; column?: number; } parsed line & column. */ function extractErrorLoc(errorLocation) { if (!errorLocation || !errorLocation.includes(':')) { return {}; } const [line, columns] = errorLocation.split(':'); const column = (columns.includes('-') ? columns.split('-') : columns)[0]; // Columns are indexed from 0 so we need to compensate for that return { line: parseInt(line), column: parseInt(column) + 1 }; } exports.extractErrorLoc = extractErrorLoc; /** * Extracts fileUri from module identifier string, containing used loaders. * The fileUri should always be at the end, separated by ! character. * * @param {string} moduleIdentifier webpack resource query. */ function extractFileUri(moduleIdentifier) { return moduleIdentifier.includes('!') ? moduleIdentifier.split('!').pop() ?? undefined : moduleIdentifier; } exports.extractFileUri = extractFileUri;