perfrunner
Version:
Command-line-interface for the perfrunner - automated UI performance test tool
27 lines (26 loc) • 1.35 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.generateConfig = 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 json_config_1 = require("./json-config");
const parser_1 = require("./parser");
function generateConfig(configName, outputToFolder) {
const { urls } = (0, parser_1.parseInitParams)();
const fullPathToConfigFolder = (0, utils_1.withRootPath)(outputToFolder);
(0, utils_1.ensureFolderCreated)(fullPathToConfigFolder);
const fullPathToConfig = (0, path_1.join)(fullPathToConfigFolder, configName);
const isConfigExisted = (0, fs_1.existsSync)(fullPathToConfig);
if (isConfigExisted) {
throw new Error(errors_1.CONFIG_SHOULD_NOT_OVERRIDEN);
}
const config = Object.assign(Object.assign({}, json_config_1.defaultJsonConfig), { page: urls.map((url) => ({ url, onAfterPageLoadedScript: '', waitFor: '' })) });
perfrunner_core_1.logger.log(`Creating ${configName}...`);
(0, fs_1.writeFileSync)(fullPathToConfig, JSON.stringify(config, null, 4), { encoding: 'utf-8' });
perfrunner_core_1.logger.log(`Done`);
return 0;
}
exports.generateConfig = generateConfig;