react-saasify-chrisvxd
Version:
React components for Saasify web clients.
29 lines (25 loc) • 799 B
JavaScript
const config = require('./config');
const dotenv = require('dotenv');
const variableExpansion = require('dotenv-expand');
async function loadEnv(filepath) {
const NODE_ENV = process.env.NODE_ENV || 'development';
const dotenvFiles = [
`.env.${NODE_ENV}.local`,
`.env.${NODE_ENV}`,
// Don't include `.env.local` for `test` environment
// since normally you expect tests to produce the same
// results for everyone
NODE_ENV !== 'test' && '.env.local',
'.env'
].filter(Boolean);
await Promise.all(
dotenvFiles.map(async dotenvFile => {
const envPath = await config.resolve(filepath, [dotenvFile]);
if (envPath) {
const envs = dotenv.config({path: envPath});
variableExpansion(envs);
}
})
);
}
module.exports = loadEnv;