UNPKG

env-validate

Version:

Validates your environment variables are set at runtime.

23 lines (16 loc) 676 B
const fs = require('fs'); const extractEnvVarNames = require('./extract-env-var-names'); const findTemplatePath = require('./find-template-path'); const envValidate = ({ onError = null, optionals = [], templatePath = findTemplatePath() } = {}) => { const fileContent = fs.readFileSync(templatePath, 'utf-8'); const expectedEnvVarNames = extractEnvVarNames(fileContent).filter(str => !optionals.includes(str)); expectedEnvVarNames.forEach(envVarName => { if (!process.env[envVarName]) { if (onError) { return onError(envVarName); } throw `Environment variable '${envVarName}' is missing.`; } }); }; module.exports = envValidate;