burdy
Version:
Open Source Headless Platform
30 lines (29 loc) • 1.3 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.defineAllEnv = exports.definePublicEnv = void 0;
const lodash_1 = __importDefault(require("lodash"));
const dotenv_flow_1 = require("dotenv-flow");
const path_util_1 = __importDefault(require("./path.util"));
(0, dotenv_flow_1.config)({ silent: true });
const env = process.env;
const envDefaults = {
TYPEORM_CONNECTION: 'sqlite',
TYPEORM_DATABASE: path_util_1.default.database('database.sqlite'),
SERVER_PORT: '4000',
ADMIN_PORT: '4001',
PUBLIC_API_URL: '/api',
REQ_LIMIT: '128mb',
SIGNED_COOKIE: 'eK0hL1oG1bL8yL4z'
};
Object.keys(envDefaults).forEach((key) => {
if ((env === null || env === void 0 ? void 0 : env[key]) === undefined) {
env[key] = envDefaults[key];
}
});
const defineAllEnv = () => lodash_1.default.mapValues(lodash_1.default.mapKeys(env, (value, key) => `process.env.${key}`), JSON.stringify);
exports.defineAllEnv = defineAllEnv;
const definePublicEnv = () => lodash_1.default.pickBy(defineAllEnv(), (value, key) => lodash_1.default.startsWith(key, 'process.env.PUBLIC_'));
exports.definePublicEnv = definePublicEnv;