ice.fo.utils
Version:
32 lines (25 loc) • 1.01 kB
JavaScript
const fs = require('fs');
const path = require('path');
const YAML = require('yaml');
if (process.client) {
throw new Error('Config should not be included in frontend. Please use this.$config instead.');
}
/**
* Read configurations in yaml files and also add ICE configurations
*
* @param {*} dir
* @returns
*/
module.exports = function getConfig(dir) {
const filePath = path.join(dir, `${process.env.CONFIG_LEVEL}.yaml`);
const file = fs.readFileSync(filePath, 'utf8');
const config = YAML.parse(file);
config.configLevel = process.env.CONFIG_LEVEL;
config.apiUrl = `${config.protocol}://${config.apiHost}`;
config.frontUrl = `${config.protocol}://${config.baseHost}`;
config.backOfficeUrl = `${config.protocol}://${config.backOfficeHost}`;
config.serverApiUrl = `${config.serverProtocol || config.protocol}://${config.apiHost}`;
config.fileHost = (config.fileHost || '').trim() || config.apiHost;
config.fileUrl = `${config.protocol}://${config.fileHost}`;
return config;
};