Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

node-simctl

Package Overview
Dependencies
Maintainers
7
Versions
142
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

node-simctl - npm Package Compare versions

Comparing version 3.5.0 to 3.5.1

22

build/lib/simctl.js

@@ -31,2 +31,3 @@ 'use strict';

var executingFunction = arguments.length <= 4 || arguments[4] === undefined ? _teen_process.exec : arguments[4];
var logErrors = arguments.length <= 5 || arguments[5] === undefined ? true : arguments[5];
return _regeneratorRuntime.async(function simCommand$(context$1$0) {

@@ -54,2 +55,10 @@ while (1) switch (context$1$0.prev = context$1$0.next) {

if (logErrors) {
context$1$0.next = 14;
break;
}
throw context$1$0.t0;
case 14:
if (context$1$0.t0.stderr) {

@@ -61,3 +70,3 @@ log.errorAndThrow('simctl error running \'' + command + '\': ' + context$1$0.t0.stderr.trim());

case 11:
case 15:
case 'end':

@@ -72,2 +81,3 @@ return context$1$0.stop();

var env = arguments.length <= 3 || arguments[3] === undefined ? {} : arguments[3];
var logErrors = arguments.length <= 4 || arguments[4] === undefined ? true : arguments[4];
return _regeneratorRuntime.async(function simExec$(context$1$0) {

@@ -94,3 +104,3 @@ var _this = this;

}, null, _this);
}));
}, logErrors));

@@ -264,2 +274,3 @@ case 2:

function getAppContainer(udid, bundleId) {
var logErrors = arguments.length <= 2 || arguments[2] === undefined ? true : arguments[2];
return _regeneratorRuntime.async(function getAppContainer$(context$1$0) {

@@ -269,3 +280,3 @@ while (1) switch (context$1$0.prev = context$1$0.next) {

context$1$0.next = 2;
return _regeneratorRuntime.awrap(simExec('get_app_container', 0, [udid, bundleId]).stdout.trim());
return _regeneratorRuntime.awrap(simExec('get_app_container', 0, [udid, bundleId], {}, logErrors).stdout.trim());

@@ -723,2 +734,5 @@ case 2:

// if we don't want to see the errors, just throw and allow the calling
// code do what it wants
// make sure that it gets out of the "Creating" state

@@ -753,2 +767,2 @@

// otherwise return all the sdk -> device mappings.
//# sourceMappingURL=data:application/json;charset=utf8;base64,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LEdBQUcsMkNBQTJDO0FBQzNELGlCQUFnQixHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDOztjQUNwQyxTQUFTLEtBQUssSUFBSSxDQUFBOzs7OztjQUNkLElBQUksS0FBSyw0QkFBMEIsSUFBSSxDQUFHOzs7OztBQUlsRCxlQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQ2hCLGNBQUksRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDO0FBQ2xCLGNBQUksRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDO0FBQ2xCLGVBQUssRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDO0FBQ25CLGFBQUcsRUFBSCxHQUFHO1NBQ0osQ0FBQyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7YUFLSCxNQUFNOzs7OztZQUNILE9BQU8sQ0FBQyxNQUFNLENBQUM7Ozs7O2NBQ1osSUFBSSxLQUFLLFlBQVMsTUFBTSx1Q0FBbUM7Ozs0Q0FFNUQsT0FBTyxDQUFDLE1BQU0sQ0FBQzs7OzRDQUlqQixPQUFPOzs7Ozs7O0NBQ2Y7O1FBRVEsVUFBVSxHQUFWLFVBQVU7UUFBRSxTQUFTLEdBQVQsU0FBUztRQUFFLE1BQU0sR0FBTixNQUFNO1FBQUUsS0FBSyxHQUFMLEtBQUs7UUFBRSxlQUFlLEdBQWYsZUFBZTtRQUFFLE9BQU8sR0FBUCxPQUFPO1FBQUUsU0FBUyxHQUFULFNBQVM7UUFBRSxRQUFRLEdBQVIsUUFBUTtRQUFFLFlBQVksR0FBWixZQUFZO1FBQ2pHLGVBQWUsR0FBZixlQUFlO1FBQUUsWUFBWSxHQUFaLFlBQVk7UUFBRSxXQUFXLEdBQVgsV0FBVztRQUFFLFVBQVUsR0FBVixVQUFVIiwiZmlsZSI6ImxpYi9zaW1jdGwuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBleGVjLCBTdWJQcm9jZXNzIH0gZnJvbSAndGVlbl9wcm9jZXNzJztcbmltcG9ydCB7IHJldHJ5SW50ZXJ2YWwgfSBmcm9tICdhc3luY2JveCc7XG5pbXBvcnQgeyBnZXRMb2dnZXIgfSBmcm9tICdhcHBpdW0tbG9nZ2VyJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5cblxuY29uc3QgbG9nID0gZ2V0TG9nZ2VyKCdzaW1jdGwnKTtcblxuYXN5bmMgZnVuY3Rpb24gc2ltQ29tbWFuZCAoY29tbWFuZDpzdHJpbmcsIHRpbWVvdXQ6bnVtYmVyLCBhcmdzOkFycmF5ID0gW10sIGVudiA9IHt9LCBleGVjdXRpbmdGdW5jdGlvbiA9IGV4ZWMpIHtcbiAgLy8gcnVuIGEgcGFydGljdWxhciBzaW1jdGwgY29tbWFuZFxuICBhcmdzID0gWydzaW1jdGwnLCBjb21tYW5kLCAuLi5hcmdzXTtcbiAgLy8gUHJlZml4IGFsbCBwYXNzZWQgaW4gZW52aXJvbm1lbnQgdmFyaWFibGVzIHdpdGggJ1NJTUNUTF9DSElMRF8nLCBzaW1jdGxcbiAgLy8gd2lsbCB0aGVuIHBhc3MgdGhlc2UgdG8gdGhlIGNoaWxkIChzcGF3bmVkKSBwcm9jZXNzLlxuICBlbnYgPSBfLmRlZmF1bHRzKF8ubWFwS2V5cyhlbnYsIGZ1bmN0aW9uKHZhbHVlLCBrZXkpIHtcbiAgICByZXR1cm4gYFNJTUNUTF9DSElMRF8ke2tleX1gO1xuICB9KSwgcHJvY2Vzcy5lbnYpO1xuXG4gIHRyeSB7XG4gICAgcmV0dXJuIGF3YWl0IGV4ZWN1dGluZ0Z1bmN0aW9uKCd4Y3J1bicsIGFyZ3MsIHt0aW1lb3V0LCBlbnZ9KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGlmIChlLnN0ZGVycikge1xuICAgICAgbG9nLmVycm9yQW5kVGhyb3coYHNpbWN0bCBlcnJvciBydW5uaW5nICcke2NvbW1hbmR9JzogJHtlLnN0ZGVyci50cmltKCl9YCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxvZy5lcnJvckFuZFRocm93KGUpO1xuICAgIH1cbiAgfVxufVxuXG5hc3luYyBmdW5jdGlvbiBzaW1FeGVjIChjb21tYW5kOnN0cmluZywgdGltZW91dDpudW1iZXIsIGFyZ3M6QXJyYXkgPSBbXSwgZW52ID0ge30pIHtcbiAgcmV0dXJuIGF3YWl0IHNpbUNvbW1hbmQoY29tbWFuZCwgdGltZW91dCwgYXJncywgZW52LCBhc3luYyAoYywgYSwgb2IpID0+IHtcbiAgICByZXR1cm4gYXdhaXQgZXhlYyhjLCBhLCBvYik7XG4gIH0pO1xufVxuXG5hc3luYyBmdW5jdGlvbiBzaW1TdWJQcm9jZXNzIChjb21tYW5kOnN0cmluZywgdGltZW91dDpudW1iZXIsIGFyZ3M6QXJyYXkgPSBbXSwgZW52ID0ge30pIHtcbiAgcmV0dXJuIGF3YWl0IHNpbUNvbW1hbmQoY29tbWFuZCwgdGltZW91dCwgYXJncywgZW52LCBhc3luYyAoYywgYSwgb2IpID0+IHtcbiAgICByZXR1cm4gbmV3IFN1YlByb2Nlc3MoYywgYSwgb2IpO1xuICB9KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gaW5zdGFsbEFwcCAodWRpZDpzdHJpbmcsIGFwcFBhdGg6c3RyaW5nKTp2b2lkIHtcbiAgYXdhaXQgc2ltRXhlYygnaW5zdGFsbCcsIDAsIFt1ZGlkLCBhcHBQYXRoXSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHJlbW92ZUFwcCAodWRpZDpzdHJpbmcsIGJ1bmRsZUlkOnN0cmluZyk6dm9pZCB7XG4gIGF3YWl0IHNpbUV4ZWMoJ3VuaW5zdGFsbCcsIDAsIFt1ZGlkLCBidW5kbGVJZF0pO1xufVxuXG5hc3luYyBmdW5jdGlvbiBsYXVuY2ggKHVkaWQ6c3RyaW5nLCBidW5kbGVJZDpzdHJpbmcsIHRyaWVzOmludCA9IDUpOnZvaWQge1xuICBhd2FpdCByZXRyeUludGVydmFsKHRyaWVzLCAxMDAwLCBhc3luYyAoKSA9PiB7XG4gICAgYXdhaXQgc2ltRXhlYygnbGF1bmNoJywgMCwgW3VkaWQsIGJ1bmRsZUlkXSk7XG4gIH0pO1xufVxuXG5hc3luYyBmdW5jdGlvbiBzcGF3biAodWRpZDpzdHJpbmcsIGV4ZWN1dGFibGVQYXRoOnN0cmluZywgZW52ID0ge30pOnZvaWQge1xuICByZXR1cm4gYXdhaXQgc2ltRXhlYygnc3Bhd24nLCAwLCBbdWRpZCwgZXhlY3V0YWJsZVBhdGhdLCBlbnYpO1xufVxuXG5hc3luYyBmdW5jdGlvbiBzcGF3blN1YlByb2Nlc3MgKHVkaWQ6c3RyaW5nLCBleGVjdXRhYmxlUGF0aDpzdHJpbmcsIGVudiA9IHt9KTp2b2lkIHtcbiAgcmV0dXJuIGF3YWl0IHNpbVN1YlByb2Nlc3MoJ3NwYXduJywgMCwgW3VkaWQsIGV4ZWN1dGFibGVQYXRoXSwgZW52KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gb3BlblVybCAodWRpZDpzdHJpbmcsIHVybDpzdHJpbmcpOnZvaWQge1xuICByZXR1cm4gYXdhaXQgc2ltRXhlYygnb3BlbnVybCcsIDAsIFt1ZGlkLCB1cmxdKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gdGVybWluYXRlICh1ZGlkOnN0cmluZywgYnVuZGxlSWQ6c3RyaW5nKTp2b2lkIHtcbiAgYXdhaXQgc2ltRXhlYygndGVybWluYXRlJywgMCwgW3VkaWQsIGJ1bmRsZUlkXSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGdldEFwcENvbnRhaW5lciAodWRpZDpzdHJpbmcsIGJ1bmRsZUlkOnN0cmluZykge1xuICByZXR1cm4gYXdhaXQgc2ltRXhlYygnZ2V0X2FwcF9jb250YWluZXInLCAwLCBbdWRpZCwgYnVuZGxlSWRdKS5zdGRvdXQudHJpbSgpO1xufVxuXG5hc3luYyBmdW5jdGlvbiBzaHV0ZG93biAodWRpZDpzdHJpbmcpOnZvaWQge1xuICBhd2FpdCBzaW1FeGVjKCdzaHV0ZG93bicsIDAsIFt1ZGlkXSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGNyZWF0ZURldmljZSAobmFtZTpzdHJpbmcsIGRldmljZVR5cGVJZDpzdHJpbmcsXG4gICAgcnVudGltZUlkOnN0cmluZywgdGltZW91dDppbnQgPSAxMDAwMCk6dm9pZCB7XG4gIGxldCB1ZGlkO1xuICB0cnkge1xuICAgIGxldCBvdXQgPSBhd2FpdCBzaW1FeGVjKCdjcmVhdGUnLCAwLCBbbmFtZSwgZGV2aWNlVHlwZUlkLCBydW50aW1lSWRdKTtcbiAgICB1ZGlkID0gb3V0LnN0ZG91dC50cmltKCk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBpZiAoZS5zdGRlcnIpIHtcbiAgICAgIGxvZy5lcnJvckFuZFRocm93KGBDb3VsZCBub3QgY3JlYXRlIHNpbXVsYXRvci4gUmVhc29uOiAke2Uuc3RkZXJyLnRyaW0oKX1gKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbG9nLmVycm9yQW5kVGhyb3coZSk7XG4gICAgfVxuXG4gIH1cblxuICAvLyBtYWtlIHN1cmUgdGhhdCBpdCBnZXRzIG91dCBvZiB0aGUgXCJDcmVhdGluZ1wiIHN0YXRlXG4gIGxldCByZXRyaWVzID0gcGFyc2VJbnQodGltZW91dCAvIDEwMDAsIDEwKTtcbiAgYXdhaXQgcmV0cnlJbnRlcnZhbChyZXRyaWVzLCAxMDAwLCBhc3luYyAoKSA9PiB7XG4gICAgbGV0IGRldmljZXMgPSBhd2FpdCBnZXREZXZpY2VzKCk7XG4gICAgZm9yIChsZXQgZGV2aWNlQXJyIG9mIF8udmFsdWVzKGRldmljZXMpKSB7XG4gICAgICBmb3IgKGxldCBkZXZpY2Ugb2YgZGV2aWNlQXJyKSB7XG4gICAgICAgIGlmIChkZXZpY2UudWRpZCA9PT0gdWRpZCkge1xuICAgICAgICAgIGlmIChkZXZpY2Uuc3RhdGUgPT09ICdDcmVhdGluZycpIHtcbiAgICAgICAgICAgIC8vIG5lZWQgdG8gcmV0cnlcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRGV2aWNlIHN0aWxsIGJlaW5nIGNyZWF0ZWQnKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gc3RvcCBsb29raW5nLCB3ZSdyZSBkb25lXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gdWRpZDtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZGVsZXRlRGV2aWNlICh1ZGlkOnN0cmluZyk6dm9pZCB7XG4gIGF3YWl0IHNpbUV4ZWMoJ2RlbGV0ZScsIDAsIFt1ZGlkXSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGVyYXNlRGV2aWNlICh1ZGlkOnN0cmluZywgdGltZW91dDppbnQgPSAxMDAwKTp2b2lkIHtcbiAgbGV0IGxvb3BGbjpGdW5jdGlvbiA9IGFzeW5jICgpID0+IHtcbiAgICBhd2FpdCBzaW1FeGVjKCdlcmFzZScsIDEwMDAwLCBbdWRpZF0pO1xuICB9O1xuICAvLyByZXRyeSBlcmFzZSB3aXRoIGEgc2xlZXAgaW4gYmV0d2VlbiBiZWNhdXNlIGl0J3MgZmxha2V5XG4gIGxldCByZXRyaWVzID0gcGFyc2VJbnQodGltZW91dCAvIDIwMCwgMTApO1xuICBhd2FpdCByZXRyeUludGVydmFsKHJldHJpZXMsIDIwMCwgbG9vcEZuKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZ2V0RGV2aWNlcyAoZm9yU2RrOnN0cmluZyA9IG51bGwpOk9iamVjdCB7XG4gIC8vIGdldCB0aGUgbGlzdCBvZiBkZXZpY2VzXG4gIGxldCB7c3Rkb3V0fSA9IGF3YWl0IHNpbUV4ZWMoJ2xpc3QnLCAwLCBbJ2RldmljZXMnXSk7XG5cbiAgLy8gZXhwZWN0IHRvIGdldCBhIGxpc3RpbmcgbGlrZVxuICAvLyAtLSBpT1MgOC4xIC0tXG4gIC8vICAgICBpUGhvbmUgNHMgKDNDQTZFN0RELTIyMEUtNDVFNS1CNzE2LTFFOTkyQjNBNDI5QykgKFNodXRkb3duKVxuICAvLyAgICAgLi4uXG4gIC8vIC0tIGlPUyA4LjIgLS1cbiAgLy8gICAgIGlQaG9uZSA0cyAoQTk5RkZGQzMtOEUxOS00RENGLUI1ODUtN0Q5RDQ2QjRDMTZFKSAoU2h1dGRvd24pXG4gIC8vICAgICAuLi5cbiAgLy8gc28sIGdldCB0aGUgYC0tIGlPUyBYLlggLS1gIGxpbmUgdG8gZmluZCB0aGUgc2RrIChYLlgpXG4gIC8vIGFuZCB0aGUgcmVzdCBvZiB0aGUgbGlzdGluZyBpbiBvcmRlciB0byBsYXRlciBmaW5kIHRoZSBkZXZpY2VzXG4gIGxldCBkZXZpY2VTZWN0aW9uUmU6UmVnRXhwID0gLy0tIGlPUyAoLispIC0tKFxcbiAgICAuKykqL21nO1xuICBsZXQgbWF0Y2hlczpBcnJheSA9IFtdO1xuICBsZXQgbWF0Y2g6T2JqZWN0ID0gZGV2aWNlU2VjdGlvblJlLmV4ZWMoc3Rkb3V0KTtcblxuICAvLyBtYWtlIGFuIGVudHJ5IGZvciBlYWNoIHNkayB2ZXJzaW9uXG4gIHdoaWxlIChtYXRjaCAhPT0gbnVsbCkge1xuICAgIG1hdGNoZXMucHVzaChtYXRjaCk7XG4gICAgbWF0Y2ggPSBkZXZpY2VTZWN0aW9uUmUuZXhlYyhzdGRvdXQpO1xuICB9XG4gIGlmIChtYXRjaGVzLmxlbmd0aCA8IDEpIHtcbiAgICBsb2cuZXJyb3JBbmRUaHJvdygnQ291bGQgbm90IGZpbmQgZGV2aWNlIHNlY3Rpb24nKTtcbiAgfVxuXG4gIC8vIGdldCBhbGwgdGhlIGRldmljZXMgZm9yIGVhY2ggc2RrXG4gIGxldCBkZXZpY2VzOk9iamVjdCA9IHt9O1xuICBmb3IgKG1hdGNoIG9mIG1hdGNoZXMpIHtcbiAgICBsZXQgc2RrOnN0cmluZyA9IG1hdGNoWzFdO1xuICAgIGRldmljZXNbc2RrXSA9IFtdO1xuICAgIC8vIHNwbGl0IHRoZSBmdWxsIG1hdGNoIGludG8gbGluZXMgYW5kIHJlbW92ZSB0aGUgZmlyc3RcbiAgICBmb3IgKGxldCBsaW5lOnN0cmluZyBvZiBtYXRjaFswXS5zcGxpdCgnXFxuJykuc2xpY2UoMSkpIHtcbiAgICAgIC8vIGEgbGluZSBpcyBzb21ldGhpbmcgbGlrZVxuICAgICAgLy8gICAgaVBob25lIDRzIChBOTlGRkZDMy04RTE5LTREQ0YtQjU4NS03RDlENDZCNEMxNkUpIChTaHV0ZG93bilcbiAgICAgIC8vIHJldHJpZXZlOlxuICAgICAgLy8gICBpUGhvbmUgNHNcbiAgICAgIC8vICAgQTk5RkZGQzMtOEUxOS00RENGLUI1ODUtN0Q5RDQ2QjRDMTZFXG4gICAgICAvLyAgIFNodXRkb3duXG4gICAgICBsZXQgbGluZVJlOlJlZ0V4cCA9IC8oW15cXHNdLispIFxcKChcXHcrLS4rXFx3KylcXCkgXFwoKFxcdytcXHM/XFx3KylcXCkvOyAvLyBodHRwczovL3JlZ2V4MTAxLmNvbS9yL2xHN21LNi8zXG4gICAgICBsZXQgbGluZU1hdGNoOk9iamVjdCA9IGxpbmVSZS5leGVjKGxpbmUpO1xuICAgICAgaWYgKGxpbmVNYXRjaCA9PT0gbnVsbCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENvdWxkIG5vdCBtYXRjaCBsaW5lOiAke2xpbmV9YCk7XG4gICAgICB9XG4gICAgICAvLyBzYXZlIHRoZSB3aG9sZSB0aGluZyBhcyBhYiBvYmplY3QgaW4gdGhlIGxpc3QgZm9yIHRoaXMgc2RrXG5cbiAgICAgIGRldmljZXNbc2RrXS5wdXNoKHtcbiAgICAgICAgbmFtZTogbGluZU1hdGNoWzFdLFxuICAgICAgICB1ZGlkOiBsaW5lTWF0Y2hbMl0sXG4gICAgICAgIHN0YXRlOiBsaW5lTWF0Y2hbM10sXG4gICAgICAgIHNkayxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8vIGlmIGEgYGZvclNka2Agd2FzIHBhc3NlZCBpbiwgcmV0dXJuIG9ubHkgdGhlIGNvcnJlc3BvbmRpbmcgbGlzdFxuICBpZiAoZm9yU2RrKSB7XG4gICAgaWYgKCFkZXZpY2VzW2ZvclNka10pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgU2RrICcke2ZvclNka30nIHdhcyBub3QgaW4gbGlzdCBvZiBzaW1jdGwgc2Rrc2ApO1xuICAgIH1cbiAgICByZXR1cm4gZGV2aWNlc1tmb3JTZGtdO1xuICB9XG5cbiAgLy8gb3RoZXJ3aXNlIHJldHVybiBhbGwgdGhlIHNkayAtPiBkZXZpY2UgbWFwcGluZ3MuXG4gIHJldHVybiBkZXZpY2VzO1xufVxuXG5leHBvcnQgeyBpbnN0YWxsQXBwLCByZW1vdmVBcHAsIGxhdW5jaCwgc3Bhd24sIHNwYXduU3ViUHJvY2Vzcywgb3BlblVybCwgdGVybWluYXRlLCBzaHV0ZG93biwgY3JlYXRlRGV2aWNlLFxuICAgICAgICAgZ2V0QXBwQ29udGFpbmVyLCBkZWxldGVEZXZpY2UsIGVyYXNlRGV2aWNlLCBnZXREZXZpY2VzIH07XG4iXSwic291cmNlUm9vdCI6Ii4uLy4uIn0=
//# sourceMappingURL=data:application/json;charset=utf8;base64,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ZSI6ImxpYi9zaW1jdGwuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBleGVjLCBTdWJQcm9jZXNzIH0gZnJvbSAndGVlbl9wcm9jZXNzJztcbmltcG9ydCB7IHJldHJ5SW50ZXJ2YWwgfSBmcm9tICdhc3luY2JveCc7XG5pbXBvcnQgeyBnZXRMb2dnZXIgfSBmcm9tICdhcHBpdW0tbG9nZ2VyJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5cblxuY29uc3QgbG9nID0gZ2V0TG9nZ2VyKCdzaW1jdGwnKTtcblxuYXN5bmMgZnVuY3Rpb24gc2ltQ29tbWFuZCAoY29tbWFuZDpzdHJpbmcsIHRpbWVvdXQ6bnVtYmVyLCBhcmdzOkFycmF5ID0gW10sIGVudiA9IHt9LCBleGVjdXRpbmdGdW5jdGlvbiA9IGV4ZWMsIGxvZ0Vycm9ycyA9IHRydWUpIHtcbiAgLy8gcnVuIGEgcGFydGljdWxhciBzaW1jdGwgY29tbWFuZFxuICBhcmdzID0gWydzaW1jdGwnLCBjb21tYW5kLCAuLi5hcmdzXTtcbiAgLy8gUHJlZml4IGFsbCBwYXNzZWQgaW4gZW52aXJvbm1lbnQgdmFyaWFibGVzIHdpdGggJ1NJTUNUTF9DSElMRF8nLCBzaW1jdGxcbiAgLy8gd2lsbCB0aGVuIHBhc3MgdGhlc2UgdG8gdGhlIGNoaWxkIChzcGF3bmVkKSBwcm9jZXNzLlxuICBlbnYgPSBfLmRlZmF1bHRzKF8ubWFwS2V5cyhlbnYsIGZ1bmN0aW9uKHZhbHVlLCBrZXkpIHtcbiAgICByZXR1cm4gYFNJTUNUTF9DSElMRF8ke2tleX1gO1xuICB9KSwgcHJvY2Vzcy5lbnYpO1xuXG4gIHRyeSB7XG4gICAgcmV0dXJuIGF3YWl0IGV4ZWN1dGluZ0Z1bmN0aW9uKCd4Y3J1bicsIGFyZ3MsIHt0aW1lb3V0LCBlbnZ9KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGlmICghbG9nRXJyb3JzKSB7XG4gICAgICAvLyBpZiB3ZSBkb24ndCB3YW50IHRvIHNlZSB0aGUgZXJyb3JzLCBqdXN0IHRocm93IGFuZCBhbGxvdyB0aGUgY2FsbGluZ1xuICAgICAgLy8gY29kZSBkbyB3aGF0IGl0IHdhbnRzXG4gICAgICB0aHJvdyBlO1xuICAgIH0gZWxzZSBpZiAoZS5zdGRlcnIpIHtcbiAgICAgIGxvZy5lcnJvckFuZFRocm93KGBzaW1jdGwgZXJyb3IgcnVubmluZyAnJHtjb21tYW5kfSc6ICR7ZS5zdGRlcnIudHJpbSgpfWApO1xuICAgIH0gZWxzZSB7XG4gICAgICBsb2cuZXJyb3JBbmRUaHJvdyhlKTtcbiAgICB9XG4gIH1cbn1cblxuYXN5bmMgZnVuY3Rpb24gc2ltRXhlYyAoY29tbWFuZDpzdHJpbmcsIHRpbWVvdXQ6bnVtYmVyLCBhcmdzOkFycmF5ID0gW10sIGVudiA9IHt9LCBsb2dFcnJvcnMgPSB0cnVlKSB7XG4gIHJldHVybiBhd2FpdCBzaW1Db21tYW5kKGNvbW1hbmQsIHRpbWVvdXQsIGFyZ3MsIGVudiwgYXN5bmMgKGMsIGEsIG9iKSA9PiB7XG4gICAgcmV0dXJuIGF3YWl0IGV4ZWMoYywgYSwgb2IpO1xuICB9LCBsb2dFcnJvcnMpO1xufVxuXG5hc3luYyBmdW5jdGlvbiBzaW1TdWJQcm9jZXNzIChjb21tYW5kOnN0cmluZywgdGltZW91dDpudW1iZXIsIGFyZ3M6QXJyYXkgPSBbXSwgZW52ID0ge30pIHtcbiAgcmV0dXJuIGF3YWl0IHNpbUNvbW1hbmQoY29tbWFuZCwgdGltZW91dCwgYXJncywgZW52LCBhc3luYyAoYywgYSwgb2IpID0+IHtcbiAgICByZXR1cm4gbmV3IFN1YlByb2Nlc3MoYywgYSwgb2IpO1xuICB9KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gaW5zdGFsbEFwcCAodWRpZDpzdHJpbmcsIGFwcFBhdGg6c3RyaW5nKTp2b2lkIHtcbiAgYXdhaXQgc2ltRXhlYygnaW5zdGFsbCcsIDAsIFt1ZGlkLCBhcHBQYXRoXSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHJlbW92ZUFwcCAodWRpZDpzdHJpbmcsIGJ1bmRsZUlkOnN0cmluZyk6dm9pZCB7XG4gIGF3YWl0IHNpbUV4ZWMoJ3VuaW5zdGFsbCcsIDAsIFt1ZGlkLCBidW5kbGVJZF0pO1xufVxuXG5hc3luYyBmdW5jdGlvbiBsYXVuY2ggKHVkaWQ6c3RyaW5nLCBidW5kbGVJZDpzdHJpbmcsIHRyaWVzOmludCA9IDUpOnZvaWQge1xuICBhd2FpdCByZXRyeUludGVydmFsKHRyaWVzLCAxMDAwLCBhc3luYyAoKSA9PiB7XG4gICAgYXdhaXQgc2ltRXhlYygnbGF1bmNoJywgMCwgW3VkaWQsIGJ1bmRsZUlkXSk7XG4gIH0pO1xufVxuXG5hc3luYyBmdW5jdGlvbiBzcGF3biAodWRpZDpzdHJpbmcsIGV4ZWN1dGFibGVQYXRoOnN0cmluZywgZW52ID0ge30pOnZvaWQge1xuICByZXR1cm4gYXdhaXQgc2ltRXhlYygnc3Bhd24nLCAwLCBbdWRpZCwgZXhlY3V0YWJsZVBhdGhdLCBlbnYpO1xufVxuXG5hc3luYyBmdW5jdGlvbiBzcGF3blN1YlByb2Nlc3MgKHVkaWQ6c3RyaW5nLCBleGVjdXRhYmxlUGF0aDpzdHJpbmcsIGVudiA9IHt9KTp2b2lkIHtcbiAgcmV0dXJuIGF3YWl0IHNpbVN1YlByb2Nlc3MoJ3NwYXduJywgMCwgW3VkaWQsIGV4ZWN1dGFibGVQYXRoXSwgZW52KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gb3BlblVybCAodWRpZDpzdHJpbmcsIHVybDpzdHJpbmcpOnZvaWQge1xuICByZXR1cm4gYXdhaXQgc2ltRXhlYygnb3BlbnVybCcsIDAsIFt1ZGlkLCB1cmxdKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gdGVybWluYXRlICh1ZGlkOnN0cmluZywgYnVuZGxlSWQ6c3RyaW5nKTp2b2lkIHtcbiAgYXdhaXQgc2ltRXhlYygndGVybWluYXRlJywgMCwgW3VkaWQsIGJ1bmRsZUlkXSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGdldEFwcENvbnRhaW5lciAodWRpZDpzdHJpbmcsIGJ1bmRsZUlkOnN0cmluZywgbG9nRXJyb3JzID0gdHJ1ZSkge1xuICByZXR1cm4gYXdhaXQgc2ltRXhlYygnZ2V0X2FwcF9jb250YWluZXInLCAwLCBbdWRpZCwgYnVuZGxlSWRdLCB7fSwgbG9nRXJyb3JzKS5zdGRvdXQudHJpbSgpO1xufVxuXG5hc3luYyBmdW5jdGlvbiBzaHV0ZG93biAodWRpZDpzdHJpbmcpOnZvaWQge1xuICBhd2FpdCBzaW1FeGVjKCdzaHV0ZG93bicsIDAsIFt1ZGlkXSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGNyZWF0ZURldmljZSAobmFtZTpzdHJpbmcsIGRldmljZVR5cGVJZDpzdHJpbmcsXG4gICAgcnVudGltZUlkOnN0cmluZywgdGltZW91dDppbnQgPSAxMDAwMCk6dm9pZCB7XG4gIGxldCB1ZGlkO1xuICB0cnkge1xuICAgIGxldCBvdXQgPSBhd2FpdCBzaW1FeGVjKCdjcmVhdGUnLCAwLCBbbmFtZSwgZGV2aWNlVHlwZUlkLCBydW50aW1lSWRdKTtcbiAgICB1ZGlkID0gb3V0LnN0ZG91dC50cmltKCk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBpZiAoZS5zdGRlcnIpIHtcbiAgICAgIGxvZy5lcnJvckFuZFRocm93KGBDb3VsZCBub3QgY3JlYXRlIHNpbXVsYXRvci4gUmVhc29uOiAke2Uuc3RkZXJyLnRyaW0oKX1gKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbG9nLmVycm9yQW5kVGhyb3coZSk7XG4gICAgfVxuXG4gIH1cblxuICAvLyBtYWtlIHN1cmUgdGhhdCBpdCBnZXRzIG91dCBvZiB0aGUgXCJDcmVhdGluZ1wiIHN0YXRlXG4gIGxldCByZXRyaWVzID0gcGFyc2VJbnQodGltZW91dCAvIDEwMDAsIDEwKTtcbiAgYXdhaXQgcmV0cnlJbnRlcnZhbChyZXRyaWVzLCAxMDAwLCBhc3luYyAoKSA9PiB7XG4gICAgbGV0IGRldmljZXMgPSBhd2FpdCBnZXREZXZpY2VzKCk7XG4gICAgZm9yIChsZXQgZGV2aWNlQXJyIG9mIF8udmFsdWVzKGRldmljZXMpKSB7XG4gICAgICBmb3IgKGxldCBkZXZpY2Ugb2YgZGV2aWNlQXJyKSB7XG4gICAgICAgIGlmIChkZXZpY2UudWRpZCA9PT0gdWRpZCkge1xuICAgICAgICAgIGlmIChkZXZpY2Uuc3RhdGUgPT09ICdDcmVhdGluZycpIHtcbiAgICAgICAgICAgIC8vIG5lZWQgdG8gcmV0cnlcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRGV2aWNlIHN0aWxsIGJlaW5nIGNyZWF0ZWQnKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gc3RvcCBsb29raW5nLCB3ZSdyZSBkb25lXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gdWRpZDtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZGVsZXRlRGV2aWNlICh1ZGlkOnN0cmluZyk6dm9pZCB7XG4gIGF3YWl0IHNpbUV4ZWMoJ2RlbGV0ZScsIDAsIFt1ZGlkXSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGVyYXNlRGV2aWNlICh1ZGlkOnN0cmluZywgdGltZW91dDppbnQgPSAxMDAwKTp2b2lkIHtcbiAgbGV0IGxvb3BGbjpGdW5jdGlvbiA9IGFzeW5jICgpID0+IHtcbiAgICBhd2FpdCBzaW1FeGVjKCdlcmFzZScsIDEwMDAwLCBbdWRpZF0pO1xuICB9O1xuICAvLyByZXRyeSBlcmFzZSB3aXRoIGEgc2xlZXAgaW4gYmV0d2VlbiBiZWNhdXNlIGl0J3MgZmxha2V5XG4gIGxldCByZXRyaWVzID0gcGFyc2VJbnQodGltZW91dCAvIDIwMCwgMTApO1xuICBhd2FpdCByZXRyeUludGVydmFsKHJldHJpZXMsIDIwMCwgbG9vcEZuKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZ2V0RGV2aWNlcyAoZm9yU2RrOnN0cmluZyA9IG51bGwpOk9iamVjdCB7XG4gIC8vIGdldCB0aGUgbGlzdCBvZiBkZXZpY2VzXG4gIGxldCB7c3Rkb3V0fSA9IGF3YWl0IHNpbUV4ZWMoJ2xpc3QnLCAwLCBbJ2RldmljZXMnXSk7XG5cbiAgLy8gZXhwZWN0IHRvIGdldCBhIGxpc3RpbmcgbGlrZVxuICAvLyAtLSBpT1MgOC4xIC0tXG4gIC8vICAgICBpUGhvbmUgNHMgKDNDQTZFN0RELTIyMEUtNDVFNS1CNzE2LTFFOTkyQjNBNDI5QykgKFNodXRkb3duKVxuICAvLyAgICAgLi4uXG4gIC8vIC0tIGlPUyA4LjIgLS1cbiAgLy8gICAgIGlQaG9uZSA0cyAoQTk5RkZGQzMtOEUxOS00RENGLUI1ODUtN0Q5RDQ2QjRDMTZFKSAoU2h1dGRvd24pXG4gIC8vICAgICAuLi5cbiAgLy8gc28sIGdldCB0aGUgYC0tIGlPUyBYLlggLS1gIGxpbmUgdG8gZmluZCB0aGUgc2RrIChYLlgpXG4gIC8vIGFuZCB0aGUgcmVzdCBvZiB0aGUgbGlzdGluZyBpbiBvcmRlciB0byBsYXRlciBmaW5kIHRoZSBkZXZpY2VzXG4gIGxldCBkZXZpY2VTZWN0aW9uUmU6UmVnRXhwID0gLy0tIGlPUyAoLispIC0tKFxcbiAgICAuKykqL21nO1xuICBsZXQgbWF0Y2hlczpBcnJheSA9IFtdO1xuICBsZXQgbWF0Y2g6T2JqZWN0ID0gZGV2aWNlU2VjdGlvblJlLmV4ZWMoc3Rkb3V0KTtcblxuICAvLyBtYWtlIGFuIGVudHJ5IGZvciBlYWNoIHNkayB2ZXJzaW9uXG4gIHdoaWxlIChtYXRjaCAhPT0gbnVsbCkge1xuICAgIG1hdGNoZXMucHVzaChtYXRjaCk7XG4gICAgbWF0Y2ggPSBkZXZpY2VTZWN0aW9uUmUuZXhlYyhzdGRvdXQpO1xuICB9XG4gIGlmIChtYXRjaGVzLmxlbmd0aCA8IDEpIHtcbiAgICBsb2cuZXJyb3JBbmRUaHJvdygnQ291bGQgbm90IGZpbmQgZGV2aWNlIHNlY3Rpb24nKTtcbiAgfVxuXG4gIC8vIGdldCBhbGwgdGhlIGRldmljZXMgZm9yIGVhY2ggc2RrXG4gIGxldCBkZXZpY2VzOk9iamVjdCA9IHt9O1xuICBmb3IgKG1hdGNoIG9mIG1hdGNoZXMpIHtcbiAgICBsZXQgc2RrOnN0cmluZyA9IG1hdGNoWzFdO1xuICAgIGRldmljZXNbc2RrXSA9IFtdO1xuICAgIC8vIHNwbGl0IHRoZSBmdWxsIG1hdGNoIGludG8gbGluZXMgYW5kIHJlbW92ZSB0aGUgZmlyc3RcbiAgICBmb3IgKGxldCBsaW5lOnN0cmluZyBvZiBtYXRjaFswXS5zcGxpdCgnXFxuJykuc2xpY2UoMSkpIHtcbiAgICAgIC8vIGEgbGluZSBpcyBzb21ldGhpbmcgbGlrZVxuICAgICAgLy8gICAgaVBob25lIDRzIChBOTlGRkZDMy04RTE5LTREQ0YtQjU4NS03RDlENDZCNEMxNkUpIChTaHV0ZG93bilcbiAgICAgIC8vIHJldHJpZXZlOlxuICAgICAgLy8gICBpUGhvbmUgNHNcbiAgICAgIC8vICAgQTk5RkZGQzMtOEUxOS00RENGLUI1ODUtN0Q5RDQ2QjRDMTZFXG4gICAgICAvLyAgIFNodXRkb3duXG4gICAgICBsZXQgbGluZVJlOlJlZ0V4cCA9IC8oW15cXHNdLispIFxcKChcXHcrLS4rXFx3KylcXCkgXFwoKFxcdytcXHM/XFx3KylcXCkvOyAvLyBodHRwczovL3JlZ2V4MTAxLmNvbS9yL2xHN21LNi8zXG4gICAgICBsZXQgbGluZU1hdGNoOk9iamVjdCA9IGxpbmVSZS5leGVjKGxpbmUpO1xuICAgICAgaWYgKGxpbmVNYXRjaCA9PT0gbnVsbCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENvdWxkIG5vdCBtYXRjaCBsaW5lOiAke2xpbmV9YCk7XG4gICAgICB9XG4gICAgICAvLyBzYXZlIHRoZSB3aG9sZSB0aGluZyBhcyBhYiBvYmplY3QgaW4gdGhlIGxpc3QgZm9yIHRoaXMgc2RrXG5cbiAgICAgIGRldmljZXNbc2RrXS5wdXNoKHtcbiAgICAgICAgbmFtZTogbGluZU1hdGNoWzFdLFxuICAgICAgICB1ZGlkOiBsaW5lTWF0Y2hbMl0sXG4gICAgICAgIHN0YXRlOiBsaW5lTWF0Y2hbM10sXG4gICAgICAgIHNkayxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8vIGlmIGEgYGZvclNka2Agd2FzIHBhc3NlZCBpbiwgcmV0dXJuIG9ubHkgdGhlIGNvcnJlc3BvbmRpbmcgbGlzdFxuICBpZiAoZm9yU2RrKSB7XG4gICAgaWYgKCFkZXZpY2VzW2ZvclNka10pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgU2RrICcke2ZvclNka30nIHdhcyBub3QgaW4gbGlzdCBvZiBzaW1jdGwgc2Rrc2ApO1xuICAgIH1cbiAgICByZXR1cm4gZGV2aWNlc1tmb3JTZGtdO1xuICB9XG5cbiAgLy8gb3RoZXJ3aXNlIHJldHVybiBhbGwgdGhlIHNkayAtPiBkZXZpY2UgbWFwcGluZ3MuXG4gIHJldHVybiBkZXZpY2VzO1xufVxuXG5leHBvcnQgeyBpbnN0YWxsQXBwLCByZW1vdmVBcHAsIGxhdW5jaCwgc3Bhd24sIHNwYXduU3ViUHJvY2Vzcywgb3BlblVybCwgdGVybWluYXRlLCBzaHV0ZG93biwgY3JlYXRlRGV2aWNlLFxuICAgICAgICAgZ2V0QXBwQ29udGFpbmVyLCBkZWxldGVEZXZpY2UsIGVyYXNlRGV2aWNlLCBnZXREZXZpY2VzIH07XG4iXSwic291cmNlUm9vdCI6Ii4uLy4uIn0=

16

lib/simctl.js

@@ -9,3 +9,3 @@ import { exec, SubProcess } from 'teen_process';

async function simCommand (command:string, timeout:number, args:Array = [], env = {}, executingFunction = exec) {
async function simCommand (command:string, timeout:number, args:Array = [], env = {}, executingFunction = exec, logErrors = true) {
// run a particular simctl command

@@ -22,3 +22,7 @@ args = ['simctl', command, ...args];

} catch (e) {
if (e.stderr) {
if (!logErrors) {
// if we don't want to see the errors, just throw and allow the calling
// code do what it wants
throw e;
} else if (e.stderr) {
log.errorAndThrow(`simctl error running '${command}': ${e.stderr.trim()}`);

@@ -31,6 +35,6 @@ } else {

async function simExec (command:string, timeout:number, args:Array = [], env = {}) {
async function simExec (command:string, timeout:number, args:Array = [], env = {}, logErrors = true) {
return await simCommand(command, timeout, args, env, async (c, a, ob) => {
return await exec(c, a, ob);
});
}, logErrors);
}

@@ -74,4 +78,4 @@

async function getAppContainer (udid:string, bundleId:string) {
return await simExec('get_app_container', 0, [udid, bundleId]).stdout.trim();
async function getAppContainer (udid:string, bundleId:string, logErrors = true) {
return await simExec('get_app_container', 0, [udid, bundleId], {}, logErrors).stdout.trim();
}

@@ -78,0 +82,0 @@

@@ -9,3 +9,3 @@ {

],
"version": "3.5.0",
"version": "3.5.1",
"author": "https://github.com/appium",

@@ -12,0 +12,0 @@ "license": "Apache-2.0",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc