41 lines
1.3 KiB
JavaScript
41 lines
1.3 KiB
JavaScript
"use strict";
|
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
};
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.default = parseEnv;
|
|
const fs_1 = __importDefault(require("fs"));
|
|
function parseEnv(envFile) {
|
|
if (!fs_1.default.existsSync(envFile))
|
|
return undefined;
|
|
const envTextContent = fs_1.default.readFileSync(envFile, "utf-8");
|
|
const envLines = envTextContent
|
|
.split("\n")
|
|
.map((ln) => ln.trim())
|
|
.filter((ln) => {
|
|
const commentLine = ln.match(/^\#/);
|
|
const validEnv = ln.match(/.*\=/);
|
|
if (commentLine)
|
|
return false;
|
|
if (validEnv)
|
|
return true;
|
|
return false;
|
|
});
|
|
const newEnvObj = {};
|
|
for (let i = 0; i < envLines.length; i++) {
|
|
const emvLine = envLines[i];
|
|
const envLineArr = emvLine.split("=");
|
|
const envTitle = envLineArr[0];
|
|
const envValue = envLineArr[1];
|
|
if (!(envTitle === null || envTitle === void 0 ? void 0 : envTitle.match(/./)))
|
|
continue;
|
|
if (envValue === null || envValue === void 0 ? void 0 : envValue.match(/./)) {
|
|
newEnvObj[envTitle] = envValue;
|
|
}
|
|
else {
|
|
newEnvObj[envTitle] = "";
|
|
}
|
|
}
|
|
return newEnvObj;
|
|
}
|