UNPKG

r8s-cli

Version:

A command line tool for Reaction Commerce to be used with kubernetes

104 lines (77 loc) 3.43 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.pull = undefined; var _filter2 = require('lodash/filter'); var _filter3 = _interopRequireDefault(_filter2); var pull = exports.pull = function () { var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(yargs) { var app, apps, appToDeploy, msg, branch; return regeneratorRuntime.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: _utils.Log.args(yargs.argv); app = yargs.argv.app; if (!app) { _context.next = 15; break; } apps = _utils.Config.get('global', 'launchdock.apps', []); appToDeploy = (0, _filter3.default)(apps, function (a) { return a.name === app; })[0]; if (!appToDeploy) { msg = 'App not found. Run \'reaction apps list\' to see your active apps'; _utils.Log.error(msg); process.exit(1); } branch = void 0; try { branch = (0, _child_process.execSync)('git rev-parse --abbrev-ref HEAD').toString().replace(/\r?\n|\r/g, ''); } catch (err) { _utils.Log.error('\nFailed to get current branch. Exiting.'); process.exit(1); } _utils.Log.info('\nPulling the latest updates from the ' + branch + ' branch of ' + app + '...\n'); _context.next = 11; return (0, _utils.ensureSSHKeysExist)(); case 11: (0, _utils.setGitSSHKeyEnv)(); try { (0, _child_process.execSync)('git pull ' + appToDeploy.group.namespace + '-' + app + ' ' + branch, { stdio: 'inherit' }); } catch (err) { _utils.Log.error('\nError: Pull failed. Exiting.'); process.exit(1); } _context.next = 17; break; case 15: _utils.Log.info('\nPulling the latest updates from Github...\n'); try { (0, _child_process.execSync)('git pull', { stdio: 'inherit' }); } catch (err) { _utils.Log.default(err); _utils.Log.error('\nError: Unable to pull from Github. Exiting.'); process.exit(1); } case 17: _utils.Log.info('\nInstalling Node modules...'); (0, _utils.installModules)(); _utils.Log.success('Done!'); case 20: case 'end': return _context.stop(); } } }, _callee, this); })); return function pull(_x) { return _ref.apply(this, arguments); }; }(); var _child_process = require('child_process'); var _utils = require('../utils'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 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"); }); }; }