UNPKG

@ima/dev-utils

Version:

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

41 lines (40 loc) 1.47 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.parseCompileError = exports.resolveErrorType = exports.COMPILE_ERROR_NEEDLES_RE = void 0; const parsers_1 = require("./parsers"); exports.COMPILE_ERROR_NEEDLES_RE = [ /error:\s?module/i, /module\s\w*\s?failed/i, ]; function resolveErrorType(error) { if (error?.loc) { return 'compile'; } return exports.COMPILE_ERROR_NEEDLES_RE.some(re => re.test(error?.message || error?.stack || '')) ? 'compile' : 'runtime'; } exports.resolveErrorType = resolveErrorType; /** * Tries to parse error location from an error. Which can be * either webpack stats error or simple Error object. * * @param {StatsError | Error} error webpack stats object or error instance. * @returns {CompileError | null} Parsed compile error. */ function parseCompileError(error) { // Parse compile errors if (error.message?.includes('swc-loader')) { return (0, parsers_1.swcLoaderErrorParser)(error); } else if (error.message?.includes('less-loader')) { return (0, parsers_1.lessLoaderErrorParser)(error); } else if (error.message?.includes('postcss-loader') || error.message?.includes('css-loader')) { return (0, parsers_1.cssLoaderErrorParser)(error); } // Fallback to general webpack error parser return (0, parsers_1.webpackErrorParser)(error); } exports.parseCompileError = parseCompileError;