UNPKG

standardlint

Version:
41 lines (38 loc) 1.09 kB
import { filterFiles } from "./chunk-ZPBPNVN2.mjs"; import { getAllFiles } from "./chunk-AB6N6RTP.mjs"; import { readFile } from "./chunk-73VTGGA6.mjs"; import { logDefaultPathMessage } from "./chunk-322CAOWI.mjs"; import { calculatePass } from "./chunk-I4KWICZI.mjs"; // src/checks/checkForThrowingPlainErrors.ts function checkForThrowingPlainErrors(severity, basePath, customPath, ignorePaths) { const path = customPath || "src"; const name = "Error handling"; const message = "Check for presence of plain (non-custom) errors"; if (!customPath) logDefaultPathMessage(name, path); const files = getAllFiles(`${basePath}/${path}`, []); const filteredFiles = ignorePaths && ignorePaths.length > 0 ? filterFiles(files, ignorePaths) : files; const regex = /(throw Error|throw new Error)(.*)/gi; const includesError = filteredFiles.map( (test) => regex.test(readFile(test)) ); const result = !includesError.includes(true); return { name, status: calculatePass(result, severity), message, path }; } export { checkForThrowingPlainErrors };