UNPKG

mountenv

Version:

mount/load .env files with support for .env.prod/.env.dev files

42 lines (36 loc) 994 B
// Generated by CoffeeScript 2.7.0 (function() { var ESCAPE_CHAR, REGEX, interpolate; ESCAPE_CHAR = '\\'; REGEX = { hasVars: /\$/, variable: /(?:\\)?(?:\$([a-zA-Z0-9_]+)|\${([a-zA-Z0-9_]+)})/g }; interpolate = function(env, value) { return value.replace(REGEX.variable, function(match, key1, key2, index) { var key, replacement; key = key1 || key2; if (match[0] === ESCAPE_CHAR) { return match.slice(1); } else { replacement = process.env[key] || env[key] || ''; if (replacement) { replacement = interpolate(env, replacement); } return replacement; } }); }; module.exports = function(env) { var i, key, len, ref, value; ref = Object.keys(env); for (i = 0, len = ref.length; i < len; i++) { key = ref[i]; value = env[key]; if (REGEX.hasVars.test(value)) { env[key] = interpolate(env, value); } } return env; }; }).call(this);