UNPKG

mediacentral-feature-pack

Version:

A feature pack tool for mediacentral cloud-ux projects

42 lines (35 loc) 2.12 kB
function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; } const helper = require('./helper'); const log4js = require('log4js').configure(require('../config/log4jsConfig').config); const logger = require.main.require('log4js').getLogger(`mediacentral-feature-pack ${__filename}`); module.exports = (() => { var _ref = _asyncToGenerator(function* (options) { logger.info('----- Starting feature-pack creation process -----'); const cli = options === undefined; if (cli) options = yield helper.readArgs(); yield helper.optionsValidation(options); logger.info('----- Passed options are valid -----'); const compresedFilePaths = yield helper.createCompressNames(options); let error = undefined; try { yield helper.compress([options.metadata, options.helm, options.docker], compresedFilePaths.fileTar, compresedFilePaths.fileBz2); } catch (e) { logger.error('Error while compressing files with options: ', options); error = e; } finally { yield helper.removeFile(compresedFilePaths.fileTar).catch(function (e) { return logger.error(`Couldn't delete ${e.path} (${e.code}).`); }); if (error) throw error; } logger.info('----- Feature-pack successfully created -----'); return Object.assign({ output: `Your feature pack has been successfully created to (${compresedFilePaths.fileBz2}) file.`, featurePackFile: compresedFilePaths.fileBz2 }, options); }); function pack(_x) { return _ref.apply(this, arguments); } return pack; })();