UNPKG

mountenv

Version:

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

83 lines (70 loc) 1.95 kB
// Generated by CoffeeScript 2.7.0 (function() { var Path, defaults, expand, extend, fs, resolveConf; fs = require('fs-jetpack'); extend = require('extend'); expand = require('./expand'); Path = require('path'); defaults = require('./defaults'); exports.get = function(path, conf) { var baseEnv, file, files, i, len, output; conf = resolveConf(conf); if (path == null) { path = process.cwd(); } baseEnv = Path.join(path, conf.basename); files = []; output = Object.create(null); if (fs.exists(baseEnv)) { files.push(baseEnv); } switch (process.env.NODE_ENV) { case 'development': if (fs.exists(`${baseEnv}.dev`)) { files.push(`${baseEnv}.dev`); } break; case 'production': if (fs.exists(`${baseEnv}.prod`)) { files.push(`${baseEnv}.prod`); } break; case 'staging': if (fs.exists(`${baseEnv}.staging`)) { files.push(`${baseEnv}.staging`); } break; case 'test': if (fs.exists(`${baseEnv}.test`)) { files.push(`${baseEnv}.test`); } } for (i = 0, len = files.length; i < len; i++) { file = files[i]; extend(output, exports.parse(fs.read(file))); } if (conf.expand) { return expand(output); } else { return output; } }; exports.getAll = function(path, conf) { var current; current = extend({}, process.env); return extend(exports.get(path, conf), current); }; exports.load = function(path, conf) { if (exports.origEnv == null) { exports.origEnv = extend({}, process.env); } return extend(process.env, exports.getAll(path, conf)); }; exports.parse = function(content) { return require('dotenv').parse(content); }; exports.origEnv = void 0; resolveConf = function(conf) { return extend({}, defaults, conf); }; }).call(this);