tyr-cli
Version:
A command line interface for hammer-io.
50 lines (13 loc) • 5.13 kB
JavaScript
;Object.defineProperty(exports, "__esModule", { value: true });exports.
parseConfigsFromFile = parseConfigsFromFile;exports.
writeToConfigFile = writeToConfigFile;var _file = require('../utils/file');var file = _interopRequireWildcard(_file);var _jsonUtil = require('../utils/json-util');var jsonUtil = _interopRequireWildcard(_jsonUtil);var _projectConfigurationValidator = require('../utils/project-configuration-validator');var validator = _interopRequireWildcard(_projectConfigurationValidator);var _winston = require('../utils/winston');var _prompt = require('../prompt/prompt');function _interopRequireWildcard(obj) {if (obj && obj.__esModule) {return obj;} else {var newObj = {};if (obj != null) {for (var key in obj) {if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key];}}newObj.default = obj;return newObj;}}const log = (0, _winston.getActiveLogger)(); /**
* Reads configurations from a file
* @param path the path to read from
*/ /* eslint-disable import/prefer-default-export */function parseConfigsFromFile(path) {log.verbose('Project Configuration Service - parseConfigsFromFile()');const contents = JSON.parse(file.readFile(path));const errors = validator.validateProjectConfigurations(contents);if (errors.length > 0) {let message = '';errors.forEach(value => {message += `${value}\n`;});throw new Error(message.trim());} // clean contents
contents.toolingConfigurations = (0, _prompt.cleanToolingData)(contents.toolingConfigurations);return contents;} /**
* Writes the user's configurations to a config file. It should not and does not write their
* credentials to a config file which is stored in configs.credentials.
*
* @param configs the config object
* @param projectPath the newly created project's path
*/function writeToConfigFile(configs, projectPath) {const outputConfig = {};outputConfig.projectConfigurations = configs.projectConfigurations;outputConfig.toolingConfigurations = configs.toolingConfigurations;try {file.writeFile(`${projectPath}/.tyrfile`, jsonUtil.stringify(outputConfig));} catch (err) {throw new Error('Failed to generate .tyrfile!');}}