-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathloadEnv.js
32 lines (30 loc) · 866 Bytes
/
loadEnv.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
const fs = require("fs");
const loadEnv = (path) => {
const filePath =
path ||
(process.env.NODE_ENV === "development"
? ".env.development"
: process.env.NODE_ENV === "test"
? ".env.testing"
: null);
if (!filePath) {
console.log("No .env file loaded.");
return;
}
try {
const data = fs.readFileSync(filePath, "utf-8");
const environmentVariables = {};
data.split("\n").map((variable) => {
const [key, value] = variable.trim().split("=");
environmentVariables[key] = value;
});
Object.keys(environmentVariables || {}).map((key) => {
if (!process.env[key] && process.env[key] !== environmentVariables[key]) {
process.env[key] = environmentVariables[key];
}
});
} catch (e) {
console.log(e);
}
};
module.exports = loadEnv;