UNPKG

@lskjs/config

Version:
60 lines (57 loc) 2.12 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; exports.mergeEnvs = mergeEnvs; var _fs = _interopRequireDefault(require("fs")); var _isFunction = _interopRequireDefault(require("lodash/isFunction")); var _merge = _interopRequireDefault(require("lodash/merge")); var _getEnvPaths = require("./getEnvPaths"); /* eslint-disable no-console */ function mergeEnvs() { // const init = () => var config = {}; for (var _len = arguments.length, configs = new Array(_len), _key = 0; _key < _len; _key++) { configs[_key] = arguments[_key]; } configs.forEach(function (conf) { (0, _merge["default"])(config, conf); }); var configPaths = (0, _getEnvPaths.getEnvPaths)(); configPaths.forEach(function (configPath) { var type = configPath.split('.').reverse()[0]; try { if (type === 'js') { var fnOrJson = require(configPath); // eslint-disable-line import/no-dynamic-require if ((0, _isFunction["default"])(fnOrJson)) { config = fnOrJson(config); } else { config = (0, _merge["default"])(config, fnOrJson); } } else if (type === 'json') { var json = JSON.parse(_fs["default"].readFileSync(configPath).toString()); config = (0, _merge["default"])(config, json); } else { return; } } catch (err) { console.error('[ERROR] [ERROR] [ERROR] [ERROR] [ERROR] [ERROR] [ERROR] [ERROR]'); console.error(""); console.error("cannot load config: ".concat(configPath)); console.error(""); console.error(err); console.error(""); console.error('[ERROR] [ERROR] [ERROR] [ERROR] [ERROR] [ERROR] [ERROR] [ERROR]'); } // fs.watchFile('message.text', (curr, prev) => { // console.log(`the current mtime is: ${curr.mtime}`); // console.log(`the previous mtime was: ${prev.mtime}`); // }); }); return config; } var _default = mergeEnvs; exports["default"] = _default; //# sourceMappingURL=mergeEnvs.js.map