env-sentinel
Version:
Zero-dependency tool that auto-validates .env files against schema.env, with optional fallback and secure warnings.
33 lines (32 loc) • 1.05 kB
JavaScript
export function isEmptyOrCommentLine(lineContent) {
const trimmed = lineContent.trim();
return trimmed === '' || trimmed.startsWith('#');
}
export function parseDisabledRules(lines) {
const disabledRules = new Map();
for (let i = 0; i < lines.length; i++) {
const line = lines[i];
const match = line.match(/#\s*es-disable:\s*(.+)/i);
if (!match)
continue;
const rules = match[1]
.split(',')
.map((r) => r.trim())
.filter(Boolean);
if (rules.length === 0) {
continue;
}
for (let j = i + 1; j < lines.length; j++) {
const nextLine = lines[j].trim();
if (isEmptyOrCommentLine(nextLine)) {
continue;
}
const targetLine = j + 1;
const set = disabledRules.get(targetLine) ?? new Set();
rules.forEach((rule) => set.add(rule));
disabledRules.set(targetLine, set);
break;
}
}
return disabledRules;
}