UNPKG

env-sentinel

Version:

Zero-dependency tool that auto-validates .env files against schema.env, with optional fallback and secure warnings.

27 lines (26 loc) 868 B
export function noInvalidKeyCharactersCheck(lineNumber, lineContent) { const equalIndex = lineContent.indexOf('='); if (equalIndex === -1) { return; } const rawKey = lineContent.slice(0, equalIndex).trim(); const unquotedKey = rawKey.replace(/^['"]|['"]$/g, ''); if (unquotedKey === '') { return; } const keyBody = unquotedKey.slice(1); if (keyBody === '') { return; } const invalidChars = [...keyBody].filter((char) => !/^[\x20-\x7E]$/.test(char)); const uniqueInvalid = [...new Set(invalidChars)]; if (uniqueInvalid.length === 0) return; const listed = uniqueInvalid.map((c) => `"${c}"`).join(', '); return { line: lineNumber, issue: `Variable name contains invalid character(s): ${listed}`, content: lineContent, severity: 'error', }; }