UNPKG

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
"use strict"; 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; }