reactors-cli
Version:
Command line utility for reactors
271 lines (188 loc) • 7.93 kB
JavaScript
;
var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }();
var reactors = function () {
var _ref = _asyncToGenerator(regeneratorRuntime.mark(function _callee() {
var app, platform;
return regeneratorRuntime.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
_context.t0 = cmd;
_context.next = _context.t0 === 'build' ? 3 : _context.t0 === 'init' ? 26 : _context.t0 === 'install' ? 40 : _context.t0 === 'run' ? 53 : _context.t0 === 'sign' ? 56 : _context.t0 === 'upgrade' ? 69 : 79;
break;
case 3:
_context.t1 = arg1;
_context.next = _context.t1 === 'android' ? 6 : _context.t1 === 'osx' ? 16 : 25;
break;
case 6:
_context.prev = 6;
_context.next = 9;
return (0, _exec2.default)('./gradlew clean assembleRelease', { cwd: PATH_TO_ANDROID });
case 9:
console.log('Your APK is ready: ' + PATH_TO_APKS + '/apk-release.apk');
_context.next = 15;
break;
case 12:
_context.prev = 12;
_context.t2 = _context['catch'](6);
quit(_context.t2);
case 15:
return _context.abrupt('break', 25);
case 16:
_context.prev = 16;
_context.next = 19;
return (0, _buildOSX2.default)();
case 19:
_context.next = 24;
break;
case 21:
_context.prev = 21;
_context.t3 = _context['catch'](16);
quit(_context.t3);
case 24:
return _context.abrupt('break', 25);
case 25:
return _context.abrupt('break', 92);
case 26:
_context.prev = 26;
app = arg1;
console.log();
console.log('Creating Reactors app', app);
console.log();
_context.next = 33;
return (0, _init2.default)(app);
case 33:
console.log(_config2.default.INIT_OK_MSG);
_context.next = 39;
break;
case 36:
_context.prev = 36;
_context.t4 = _context['catch'](26);
quit(_context.t4);
case 39:
return _context.abrupt('break', 92);
case 40:
_context.t5 = arg1;
_context.next = _context.t5 === 'android' ? 43 : 52;
break;
case 43:
_context.prev = 43;
_context.next = 46;
return (0, _exec2.default)('adb install ' + PATH_TO_APKS + '/apk-release.apk');
case 46:
_context.next = 51;
break;
case 48:
_context.prev = 48;
_context.t6 = _context['catch'](43);
quit(_context.t6);
case 51:
return _context.abrupt('break', 52);
case 52:
return _context.abrupt('break', 92);
case 53:
platform = arg1;
(0, _run2.default)(platform);
return _context.abrupt('break', 92);
case 56:
_context.t7 = arg1;
_context.next = _context.t7 === 'android' ? 59 : 68;
break;
case 59:
_context.prev = 59;
_context.next = 62;
return (0, _signAndroid2.default)();
case 62:
_context.next = 67;
break;
case 64:
_context.prev = 64;
_context.t8 = _context['catch'](59);
quit(_context.t8);
case 67:
return _context.abrupt('break', 68);
case 68:
return _context.abrupt('break', 92);
case 69:
_context.prev = 69;
_context.next = 72;
return (0, _upgrade2.default)();
case 72:
console.log('Your app has been upgraded');
_context.next = 78;
break;
case 75:
_context.prev = 75;
_context.t9 = _context['catch'](69);
quit(_context.t9);
case 78:
return _context.abrupt('break', 92);
case 79:
_context.prev = 79;
console.log(_package.name, _package.version);
console.log();
_context.t10 = console;
_context.next = 85;
return (0, _read2.default)(_path2.default.resolve(__dirname, '../README.md'));
case 85:
_context.t11 = _context.sent;
_context.t10.log.call(_context.t10, _context.t11);
_context.next = 92;
break;
case 89:
_context.prev = 89;
_context.t12 = _context['catch'](79);
quit(_context.t12);
case 92:
case 'end':
return _context.stop();
}
}
}, _callee, this, [[6, 12], [16, 21], [26, 36], [43, 48], [59, 64], [69, 75], [79, 89]]);
}));
return function reactors() {
return _ref.apply(this, arguments);
};
}();
var _path = require('path');
var _path2 = _interopRequireDefault(_path);
var _colors = require('colors');
var _colors2 = _interopRequireDefault(_colors);
var _init = require('./lib/init');
var _init2 = _interopRequireDefault(_init);
var _run = require('./lib/run');
var _run2 = _interopRequireDefault(_run);
var _upgrade = require('./lib/upgrade');
var _upgrade2 = _interopRequireDefault(_upgrade);
var _buildOSX = require('./lib/buildOSX');
var _buildOSX2 = _interopRequireDefault(_buildOSX);
var _exec = require('./util/exec');
var _exec2 = _interopRequireDefault(_exec);
var _read = require('./util/read');
var _read2 = _interopRequireDefault(_read);
var _signAndroid = require('./util/signAndroid');
var _signAndroid2 = _interopRequireDefault(_signAndroid);
var _transform = require('./util/transform');
var _transform2 = _interopRequireDefault(_transform);
var _config = require('./config');
var _config2 = _interopRequireDefault(_config);
var _package = require('../package.json');
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"); }); }; }
var _process$argv = _slicedToArray(process.argv, 4),
cmd = _process$argv[2],
arg1 = _process$argv[3];
function cwd() {
for (var _len = arguments.length, dirs = Array(_len), _key = 0; _key < _len; _key++) {
dirs[_key] = arguments[_key];
}
return _path2.default.join.apply(_path2.default, [process.cwd()].concat(dirs));
}
var PATH_TO_ANDROID = cwd('android');
var PATH_TO_APKS = _path2.default.join(PATH_TO_ANDROID, 'app/build/outputs/apks');
function quit(error) {
console.log(_colors2.default.red.bold('Error'));
console.log(_colors2.default.yellow(error.stack));
process.exit(8);
}
reactors();