UNPKG

@react-native-community/cli-platform-ios

Version:
70 lines (68 loc) 2.15 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; exports.promptForDeviceSelection = promptForDeviceSelection; var _parseIOSDevicesList = _interopRequireDefault(require("../../tools/parseIOSDevicesList")); var _parseXctraceIOSDevicesList = _interopRequireDefault(require("../../tools/parseXctraceIOSDevicesList")); function _execa() { const data = _interopRequireDefault(require("execa")); _execa = function () { return data; }; return data; } function _cliTools() { const data = require("@react-native-community/cli-tools"); _cliTools = function () { return data; }; return data; } function _prompts() { const data = _interopRequireDefault(require("prompts")); _prompts = function () { return data; }; return data; } function _chalk() { const data = _interopRequireDefault(require("chalk")); _chalk = function () { return data; }; return data; } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } async function promptForDeviceSelection(availableDevices) { const { device } = await (0, _prompts().default)({ type: 'select', name: 'device', message: 'Select the device you want to use', choices: availableDevices.filter(d => d.type === 'device' || d.type === 'simulator').map(d => ({ title: `${_chalk().default.bold(d.name)}`, value: d })), min: 1 }); return device; } async function listIOSDevices() { let devices; try { const out = _execa().default.sync('xcrun', ['xctrace', 'list', 'devices']); devices = (0, _parseXctraceIOSDevicesList.default)( // Xcode 12.5 introduced a change to output the list to stdout instead of stderr out.stderr === '' ? out.stdout : out.stderr); } catch (e) { _cliTools().logger.warn('Support for Xcode 11 and older is deprecated. Please upgrade to Xcode 12.'); devices = (0, _parseIOSDevicesList.default)(_execa().default.sync('xcrun', ['instruments', '-s']).stdout); } return devices; } var _default = listIOSDevices; exports.default = _default; //# sourceMappingURL=listIOSDevices.js.map