composr-cli
Version:
CompoSR | Command Line Interface
79 lines (64 loc) • 2.41 kB
JavaScript
;
/* cli modules */
var _print = require('./print');
var _print2 = _interopRequireDefault(_print);
var _build = require('./build');
var _build2 = _interopRequireDefault(_build);
var _environments = require('./environments');
var _environments2 = _interopRequireDefault(_environments);
var _publisher = require('./publisher');
var _publisher2 = _interopRequireDefault(_publisher);
var _login = require('./login');
var _login2 = _interopRequireDefault(_login);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**
* Publish Module Entry
* @param {Object} config
* @param {Object} options
* @return {void}
*/
var Publish = function Publish(config, options) {
if (options.force) {
config.force = true;
}
// Set phrases and snippets version
process.env.PROJECT_VERSION = options.version ? options.version : config.version;
// Before build manage environments
(0, _environments2.default)(config, options, function (err, envName, selectedEnv, _config) {
if (err) _print2.default.error(err);
goToBuild(envName, selectedEnv, _config);
});
};
/**
* goToBuild
* @param {String} envName
* @param {String} envData
* @param {Object} config
* @return {void}
*/
var goToBuild = function goToBuild(envName, envData, config) {
// Environment selected
process.env.NODE_ENV = envName;
process.env.ENV_ENDPOINT = envData.composrEndpoint;
_print2.default.info('You have selected :' + process.env.ENV_ENDPOINT);
// SignIn user to env
(0, _login2.default)(config.credentials, function (err, creds) {
if (err) return _print2.default.error(err);
process.env.AT = creds.accessToken;
// Execution all tasks in serie
(0, _build2.default)(config, function (err, data) {
if (err) return _print2.default.error(err);
_print2.default.info('Uploading stuff to your Composr...');
// console.log(JSON.stringify(data, null, 2))
process.env.COUNT_PHRASES = data.phrases.length;
// Sending phrases list to composr
(0, _publisher2.default)('phrase', data.phrases, function (errors, _pResults) {
if (errors) _print2.default.error(errors);
(0, _publisher2.default)('snippet', data.snippets, function (errors, _pResults) {
if (!errors) _print2.default.info('All publish tasks done!');
});
});
});
});
};
module.exports = Publish;