@lskjs/config
Version:
55 lines (53 loc) • 2.05 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getProcessEnv = exports.getConfigKey = exports["default"] = void 0;
var _toArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toArray"));
var _tryJSONparse = _interopRequireDefault(require("@lskjs/utils/tryJSONparse"));
var _set = _interopRequireDefault(require("lodash/set"));
var getConfigKey = function getConfigKey(key) {
return ['.', '__'].map(function (delemiter) {
var _key$split = key.split(delemiter),
_key$split2 = (0, _toArray2["default"])(_key$split),
mainKey = _key$split2[0],
otherKeys = _key$split2.slice(1);
if (mainKey === 'config' && otherKeys.length) {
return otherKeys.join('.');
}
return null;
}).filter(Boolean)[0];
};
exports.getConfigKey = getConfigKey;
var getProcessEnv = function getProcessEnv() {
var env = {};
if (process.env.DEBUG) {
var debug = process.env.DEBUG;
var modules = debug.split(',');
var logLevel = process.env.LOG_LEVEL || 'trace';
// eslint-disable-next-line no-console
// console.log(`[LOG_LEVEL=${logLevel} DEBUG=${debug}`);
if (debug.startsWith('lsk') || debug.startsWith('app') || debug === '1' || debug === '*') {
logLevel = 'trace';
env.debug = 1;
(0, _set["default"])(env, 'log.level', logLevel);
}
var debugVal = 1;
modules.forEach(function (m) {
(0, _set["default"])(env, [m, 'debug'].join('.'), debugVal);
(0, _set["default"])(env, [m, 'log.level'].join('.'), logLevel);
});
// console.log(`env`, env);
}
Object.keys(process.env).forEach(function (key) {
var configKey = getConfigKey(key);
if (!configKey) return;
(0, _set["default"])(env, configKey, (0, _tryJSONparse["default"])(process.env[key]));
});
return env;
};
exports.getProcessEnv = getProcessEnv;
var _default = getProcessEnv;
exports["default"] = _default;
//# sourceMappingURL=getProcessEnv.js.map