env-validate
Version:
Validates your environment variables are set at runtime.
23 lines (16 loc) • 676 B
JavaScript
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;