@react-native-community/cli-platform-ios
Version:
70 lines (68 loc) • 2.15 kB
JavaScript
;
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