@cimo/environment
Version:
Environment file processor. Light, fast and secure.
32 lines • 1.31 kB
JavaScript
import Fs from "fs";
export const loadFile = (path) => {
const resultObject = {};
if (typeof process !== "undefined") {
if (!Fs.existsSync(path)) {
throw new Error(`@cimo/environment - Service.ts - loadFile() => Environment file ${path} not found!`);
}
const fileLine = Fs.readFileSync(path, "utf-8").split("\n");
for (const line of fileLine) {
const [key, value] = line.split("=");
if (key && value) {
const keyCleaned = key.trim();
const valueCleaned = value.trim().replace(/^'|'$/g, "");
const valueFinal = !Object.prototype.hasOwnProperty.call(process.env, keyCleaned) ? valueCleaned : process.env[keyCleaned] || "";
process.env[keyCleaned] = valueFinal;
resultObject[`process.env.${keyCleaned}`] = `'${valueFinal}'`;
}
}
}
return resultObject;
};
export const checkVariable = (key) => {
if (typeof process !== "undefined") {
const value = process.env[key];
if (value === undefined) {
throw new Error(`@cimo/environment - Service.ts - checkVariable() => Environment ${key} value is not defined!`);
}
return value;
}
return "";
};
//# sourceMappingURL=Service.js.map