network-performance-monitor
Version:
A comprehensive network performance monitoring tool that continuously tests and tracks your network's performance over time
54 lines (53 loc) • 1.99 kB
JavaScript
;
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.loadConfig = loadConfig;
var fs = require("fs");
var path = require("path");
var os = require("os");
var config_1 = require("./config");
var logger_1 = require("./logger");
function loadConfig() {
var configPaths = [
path.join(process.cwd(), 'network-tester.config.json'),
path.join(os.homedir(), '.network-performance-tester', 'config.json'),
'/etc/network-performance-tester/config.json'
];
var customConfig = {};
for (var _i = 0, configPaths_1 = configPaths; _i < configPaths_1.length; _i++) {
var configPath = configPaths_1[_i];
try {
if (fs.existsSync(configPath)) {
var content = fs.readFileSync(configPath, 'utf8');
customConfig = JSON.parse(content);
logger_1.logger.info("Loaded custom config from ".concat(configPath));
break;
}
}
catch (error) {
logger_1.logger.error("Failed to load config from ".concat(configPath, ":"), error);
}
}
// Merge custom config with default config
var mergedConfig = __assign({}, config_1.config);
if (customConfig.intervals) {
mergedConfig.intervals = __assign(__assign({}, mergedConfig.intervals), customConfig.intervals);
}
if (customConfig.dns) {
mergedConfig.dns = __assign(__assign({}, mergedConfig.dns), customConfig.dns);
}
if (customConfig.websites) {
mergedConfig.websites = customConfig.websites;
}
return mergedConfig;
}