perfrunner
Version:
Command-line-interface for the perfrunner - automated UI performance test tool
26 lines (25 loc) • 1.11 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.loadConfig = void 0;
const fs_1 = require("fs");
const path_1 = require("path");
const perfrunner_core_1 = require("perfrunner-core");
const errors_1 = require("../../errors");
const utils_1 = require("../../utils");
const cmd_utility_1 = require("../../cmd-utility");
function loadConfig(pathToFolder, configName) {
const fullPathToConfig = (0, path_1.join)((0, utils_1.withRootPath)(pathToFolder), configName);
if (!(0, fs_1.existsSync)(fullPathToConfig)) {
throw errors_1.CONFIG_NOT_EXISTS;
}
perfrunner_core_1.logger.log(`loading ${fullPathToConfig}`);
const rawConfig = (0, fs_1.readFileSync)(fullPathToConfig, { encoding: 'utf-8' });
const config = JSON.parse(rawConfig, (key, value) => {
if (key === 'page' && Array.isArray(value)) {
return value.map((x) => (Object.assign(Object.assign({}, x), { url: (0, cmd_utility_1.Url)(x.url).href })));
}
return value;
});
return config;
}
exports.loadConfig = loadConfig;