mediacentral-publish
Version:
A publish tool for publishing cloud-ux projects
33 lines (29 loc) • 1.88 kB
JavaScript
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 normalize = require('normalize-path');
module.exports = (() => {
var _ref = _asyncToGenerator(function* (options) {
const throwIfUndefined = function (v, k) {
if (v === undefined || v === "") throw new Error(`Invalid config property. Missing property ${k}`);return v;
};
return {
tag: throwIfUndefined(options.config.version, 'version').toString(),
devID: options.config.developerID,
version: throwIfUndefined(options.config.version, 'version').toString(),
organization: throwIfUndefined(options.config.organization, 'organization').toLowerCase(),
key: options.build ? undefined : throwIfUndefined(options.config.privateKeyPath, 'privateKeyPath'),
appID: options.build ? undefined : throwIfUndefined(options.config.appID, 'appID'),
appName: options.name.toLowerCase(),
projectDir: normalize(options.project),
chartDir: options.config.chartDir ? normalize(options.config.chartDir) : undefined,
https_proxy: options.https_proxy,
password: options.password,
build: options.build,
buildImage: options.buildImage,
service: options.service
};
});
function readConfigFile(_x) {
return _ref.apply(this, arguments);
}
return readConfigFile;
})();