standardlint
Version:
Extensible standards linter and auditor.
41 lines (38 loc) • 1.09 kB
JavaScript
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
};