UNPKG

2.15 kBJavaScriptView Raw
1"use strict";
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports.default = void 0;
7exports.promptForDeviceSelection = promptForDeviceSelection;
8var _parseIOSDevicesList = _interopRequireDefault(require("../../tools/parseIOSDevicesList"));
9var _parseXctraceIOSDevicesList = _interopRequireDefault(require("../../tools/parseXctraceIOSDevicesList"));
10function _execa() {
11 const data = _interopRequireDefault(require("execa"));
12 _execa = function () {
13 return data;
14 };
15 return data;
16}
17function _cliTools() {
18 const data = require("@react-native-community/cli-tools");
19 _cliTools = function () {
20 return data;
21 };
22 return data;
23}
24function _prompts() {
25 const data = _interopRequireDefault(require("prompts"));
26 _prompts = function () {
27 return data;
28 };
29 return data;
30}
31function _chalk() {
32 const data = _interopRequireDefault(require("chalk"));
33 _chalk = function () {
34 return data;
35 };
36 return data;
37}
38function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
39async function promptForDeviceSelection(availableDevices) {
40 const {
41 device
42 } = await (0, _prompts().default)({
43 type: 'select',
44 name: 'device',
45 message: 'Select the device you want to use',
46 choices: availableDevices.filter(d => d.type === 'device' || d.type === 'simulator').map(d => ({
47 title: `${_chalk().default.bold(d.name)}`,
48 value: d
49 })),
50 min: 1
51 });
52 return device;
53}
54async function listIOSDevices() {
55 let devices;
56 try {
57 const out = _execa().default.sync('xcrun', ['xctrace', 'list', 'devices']);
58 devices = (0, _parseXctraceIOSDevicesList.default)(
59 // Xcode 12.5 introduced a change to output the list to stdout instead of stderr
60 out.stderr === '' ? out.stdout : out.stderr);
61 } catch (e) {
62 _cliTools().logger.warn('Support for Xcode 11 and older is deprecated. Please upgrade to Xcode 12.');
63 devices = (0, _parseIOSDevicesList.default)(_execa().default.sync('xcrun', ['instruments', '-s']).stdout);
64 }
65 return devices;
66}
67var _default = listIOSDevices;
68exports.default = _default;
69
70//# sourceMappingURL=listIOSDevices.js.map
\No newline at end of file