UNPKG

reactors-cli

Version:
249 lines (175 loc) 8.42 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _path = require('path'); var _path2 = _interopRequireDefault(_path); var _semver = require('semver'); var _semver2 = _interopRequireDefault(_semver); var _changeJSON = require('../util/changeJSON'); var _changeJSON2 = _interopRequireDefault(_changeJSON); var _exec = require('../util/exec'); var _exec2 = _interopRequireDefault(_exec); var _read = require('../util/read'); var _read2 = _interopRequireDefault(_read); var _write = require('../util/write'); var _write2 = _interopRequireDefault(_write); var _getAppFile = require('./getAppFile'); var _getAppFile2 = _interopRequireDefault(_getAppFile); var _v = require('../migrations/v0.1.4'); var _v2 = _interopRequireDefault(_v); var _v3 = require('../migrations/v0.1.9'); var _v4 = _interopRequireDefault(_v3); var _v5 = require('../migrations/v0.1.11'); var _v6 = _interopRequireDefault(_v5); var _v7 = require('../migrations/v0.1.15'); var _v8 = _interopRequireDefault(_v7); var _v9 = require('../migrations/v0.1.16'); var _v10 = _interopRequireDefault(_v9); var _v11 = require('../migrations/v0.1.18'); var _v12 = _interopRequireDefault(_v11); var _v13 = require('../migrations/v0.1.20'); var _v14 = _interopRequireDefault(_v13); var _package = require('../../package.json'); var _package2 = _interopRequireDefault(_package); 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 migrations = [{ version: '0.1.4', migrate: _v2.default }, { version: '0.1.9', migrate: _v4.default }, { version: '0.1.11', migrate: _v6.default }, { version: '0.1.15', migrate: _v8.default }, { version: '0.1.16', migrate: _v10.default }, { version: '0.1.18', migrate: _v12.default }, { version: '0.1.20', migrate: _v14.default }]; var base = (0, _getAppFile2.default)(''); if (/\/node_modules\/reactors$/.test(base)) { base = base.replace(/\/node_modules\/reactors$/, ''); } function getFile(file) { return _path2.default.join(base, file); } exports.default = function () { return new Promise(function () { var _ref = _asyncToGenerator(regeneratorRuntime.mark(function _callee2(resolve, reject) { return regeneratorRuntime.wrap(function _callee2$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: _context2.prev = 0; return _context2.delegateYield(regeneratorRuntime.mark(function _callee() { var reactors, first_time, versions, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, version; return regeneratorRuntime.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: console.log('Updating npm dependencies'); _context.next = 3; return (0, _exec2.default)('npm install'); case 3: console.log('Upgrading react-native'); _context.next = 6; return (0, _exec2.default)('react-native upgrade'); case 6: console.log('Upgrading reactors'); reactors = void 0; first_time = false; _context.prev = 9; _context.next = 12; return (0, _read2.default)(getFile('reactors.json')); case 12: reactors = _context.sent; reactors = JSON.parse(reactors); _context.next = 20; break; case 16: _context.prev = 16; _context.t0 = _context['catch'](9); first_time = true; reactors = { version: _package2.default.version }; case 20: console.log('upgrading from ' + reactors.version + ' to ' + _package2.default.version); versions = migrations.filter(function (migration) { return _semver2.default.gt(migration.version, reactors.version) && _semver2.default.lte(migration.version, _package2.default.version); }); _iteratorNormalCompletion = true; _didIteratorError = false; _iteratorError = undefined; _context.prev = 25; _iterator = versions[Symbol.iterator](); case 27: if (_iteratorNormalCompletion = (_step = _iterator.next()).done) { _context.next = 35; break; } version = _step.value; console.log('migrating to version', version); _context.next = 32; return version.migrate(); case 32: _iteratorNormalCompletion = true; _context.next = 27; break; case 35: _context.next = 41; break; case 37: _context.prev = 37; _context.t1 = _context['catch'](25); _didIteratorError = true; _iteratorError = _context.t1; case 41: _context.prev = 41; _context.prev = 42; if (!_iteratorNormalCompletion && _iterator.return) { _iterator.return(); } case 44: _context.prev = 44; if (!_didIteratorError) { _context.next = 47; break; } throw _iteratorError; case 47: return _context.finish(44); case 48: return _context.finish(41); case 49: if (!first_time) { _context.next = 54; break; } _context.next = 52; return (0, _write2.default)(getFile('reactors.json'), JSON.stringify(reactors, null, 2)); case 52: _context.next = 56; break; case 54: _context.next = 56; return (0, _changeJSON2.default)(getFile('reactors.json'), function (json) { json.version = _package2.default.version; }); case 56: resolve(); case 57: case 'end': return _context.stop(); } } }, _callee, undefined, [[9, 16], [25, 37, 41, 49], [42,, 44, 48]]); })(), 't0', 2); case 2: _context2.next = 7; break; case 4: _context2.prev = 4; _context2.t1 = _context2['catch'](0); reject(_context2.t1); case 7: case 'end': return _context2.stop(); } } }, _callee2, undefined, [[0, 4]]); })); return function (_x, _x2) { return _ref.apply(this, arguments); }; }()); };