GT2/GT2-iOS/node_modules/react-native-scripts/build/scripts/start.js

229 lines
7.7 KiB
JavaScript
Raw Normal View History

2018-02-12 17:26:06 +00:00
'use strict';
var _regenerator = require('babel-runtime/regenerator');
var _regenerator2 = _interopRequireDefault(_regenerator);
var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator');
var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);
// print a nicely formatted message with setup information
var printServerInfo = function () {
var _ref = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee() {
var settings, address;
return _regenerator2.default.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return _xdl.ProjectSettings.readPackagerInfoAsync(process.cwd());
case 2:
settings = _context.sent;
_context.next = 5;
return _xdl.UrlUtils.constructManifestUrlAsync(process.cwd());
case 5:
address = _context.sent;
_qrcodeTerminal2.default.generate(address, function (qrCode) {
(0, _log2.default)('To view your app with live reloading, point the Expo app to this QR code.\nYou\'ll find the QR scanner on the Projects tab of the app.\n\n' + (0, _indentString2.default)(qrCode, 2) + '\n\nOr enter this address in the Expo app\'s search bar:\n\n ' + _chalk2.default.underline(_chalk2.default.cyan(address)) + '\n\nYour phone will need to be on the same local network as this computer.\nFor links to install the Expo app, please visit ' + _chalk2.default.underline(_chalk2.default.cyan('https://expo.io')) + '.\n\nLogs from serving your app will appear here. Press Ctrl+C at any time to stop.');
printUsage();
});
case 7:
case 'end':
return _context.stop();
}
}
}, _callee, this);
}));
return function printServerInfo() {
return _ref.apply(this, arguments);
};
}();
var handleKeypress = function () {
var _ref2 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee2(key) {
var _ref3, success, error, localAddress, _ref4, _success, msg, reset;
return _regenerator2.default.wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
_context2.t0 = key;
_context2.next = _context2.t0 === CTRL_C ? 3 : _context2.t0 === CTRL_D ? 3 : _context2.t0 === 'a' ? 5 : _context2.t0 === 'i' ? 15 : _context2.t0 === 'q' ? 28 : _context2.t0 === 'r' ? 32 : _context2.t0 === 'R' ? 32 : _context2.t0 === 'd' ? 38 : 45;
break;
case 3:
process.emit('SIGINT');
return _context2.abrupt('return');
case 5:
(0, _clearConsole2.default)();
_log2.default.withTimestamp('Starting Android...');
_context2.next = 9;
return _xdl.Android.openProjectAsync(process.cwd());
case 9:
_ref3 = _context2.sent;
success = _ref3.success;
error = _ref3.error;
if (!success) {
(0, _log2.default)(_chalk2.default.red(error.message));
}
printUsage();
return _context2.abrupt('return');
case 15:
(0, _clearConsole2.default)();
_log2.default.withTimestamp('Starting iOS...');
_context2.next = 19;
return _xdl.UrlUtils.constructManifestUrlAsync(process.cwd(), {
hostType: 'localhost'
});
case 19:
localAddress = _context2.sent;
_context2.next = 22;
return _xdl.Simulator.openUrlInSimulatorSafeAsync(localAddress);
case 22:
_ref4 = _context2.sent;
_success = _ref4.success;
msg = _ref4.msg;
if (!_success) {
(0, _log2.default)(_chalk2.default.red(msg));
}
printUsage();
return _context2.abrupt('return');
case 28:
(0, _clearConsole2.default)();
_context2.next = 31;
return printServerInfo();
case 31:
return _context2.abrupt('return');
case 32:
(0, _clearConsole2.default)();
reset = key === 'R';
if (reset) {
_log2.default.withTimestamp('Asking packager to reset its cache...');
}
_log2.default.withTimestamp('Restarting packager...');
_xdl.Project.startAsync(process.cwd(), { reset: reset });
return _context2.abrupt('return');
case 38:
(0, _clearConsole2.default)();
dev = !dev;
_context2.next = 42;
return _xdl.ProjectSettings.setAsync(process.cwd(), { dev: dev });
case 42:
(0, _log2.default)('Packager now running in ' + _chalk2.default.bold(dev ? 'development' : 'production') + _chalk2.default.reset(' mode.') + '\n\nPlease close and reopen the project in the Expo app for the\nchange to take effect.');
printUsage();
return _context2.abrupt('return');
case 45:
case 'end':
return _context2.stop();
}
}
}, _callee2, this);
}));
return function handleKeypress(_x) {
return _ref2.apply(this, arguments);
};
}();
var _xdl = require('xdl');
var _chalk = require('chalk');
var _chalk2 = _interopRequireDefault(_chalk);
var _indentString = require('indent-string');
var _indentString2 = _interopRequireDefault(_indentString);
var _qrcodeTerminal = require('qrcode-terminal');
var _qrcodeTerminal2 = _interopRequireDefault(_qrcodeTerminal);
var _minimist = require('minimist');
var _minimist2 = _interopRequireDefault(_minimist);
var _log = require('../util/log');
var _log2 = _interopRequireDefault(_log);
var _clearConsole = require('../util/clearConsole');
var _clearConsole2 = _interopRequireDefault(_clearConsole);
var _packager = require('../util/packager');
var _packager2 = _interopRequireDefault(_packager);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
_xdl.Config.validation.reactNativeVersionWarnings = false;
_xdl.Config.developerTool = 'crna';
_xdl.Config.offline = true;
var args = (0, _minimist2.default)(process.argv.slice(2), {
boolean: ['reset-cache', 'interactive'],
default: { interactive: true }
});
var dev = true;
var options = {};
if (args['reset-cache']) {
options.reset = true;
(0, _log2.default)('Asking packager to reset its cache...');
}
var isInteractive = false;
var _process = process,
stdin = _process.stdin;
if (args.interactive && typeof stdin.setRawMode === 'function') {
stdin.setRawMode(true);
stdin.resume();
stdin.setEncoding('utf8');
stdin.on('data', handleKeypress);
isInteractive = true;
}
_packager2.default.run(onReady, options, isInteractive);
function onReady() {
(0, _log2.default)(_chalk2.default.green('Packager started!\n'));
printServerInfo();
}
function printUsage() {
if (!isInteractive) {
return;
}
var dim = _chalk2.default.dim,
bold = _chalk2.default.bold;
var devMode = dev ? 'development' : 'production';
var iosInfo = process.platform === 'win32' ? dim('.') : dim(', or') + ' i ' + dim('to open iOS emulator.');
(0, _log2.default)('\n ' + dim('\u203A Press') + ' a ' + dim('to open Android device or emulator') + iosInfo + '\n ' + dim('\u203A Press') + ' q ' + dim('to display QR code.') + '\n ' + dim('\u203A Press') + ' r ' + dim('to restart packager, or') + ' R ' + dim('to restart packager and clear cache.') + '\n ' + dim('\u203A Press') + ' d ' + dim('to toggle development mode. (current mode: ' + bold(devMode) + _chalk2.default.reset.dim(')')) + '\n');
}
var CTRL_C = '\x03';
var CTRL_D = '\x04';
//# sourceMappingURL=start.js.map