turbo-sync/dist/utils/env.js
Benjamin Toby 219db3d88e Updates
2025-01-16 07:12:45 +01:00

43 lines
1.6 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 = handleEnvVars;
const fs_1 = __importDefault(require("fs"));
const path_1 = __importDefault(require("path"));
function handleEnvVars({ json }) {
let newJson = json;
try {
let envVars = Object.assign({}, process.env);
const localEnvFilePath = path_1.default.resolve(process.cwd(), "./.env");
if (fs_1.default.existsSync(localEnvFilePath)) {
const localEnvText = fs_1.default.readFileSync(localEnvFilePath, "utf8");
const localEnvKeyPairArray = localEnvText
.split("\n")
.filter((keyPair) => keyPair &&
keyPair.match(/.{3,}/) &&
!keyPair.match(/^\#/))
.map((keyPair) => keyPair.trim());
localEnvKeyPairArray.forEach((keyPair) => {
let keyPairArray = keyPair.split("=");
const key = keyPairArray.shift();
const value = keyPairArray.join("=");
if (!key)
return;
const newEnvObject = {};
newEnvObject[key] = value;
envVars = Object.assign(Object.assign({}, envVars), newEnvObject);
});
}
for (let key in envVars) {
newJson = newJson.replaceAll(`$${key}`, String(envVars[key]));
}
}
catch (error) {
console.log(`Error replacing Environment variables`, error.message);
return json;
}
return newJson;
}