node-devicectl 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -0,0 +1,15 @@
1
+ ## [1.0.1](https://github.com/appium/node-devicectl/compare/v1.0.0...v1.0.1) (2025-10-23)
2
+
3
+ ### Miscellaneous Chores
4
+
5
+ * Prettify ([0b44180](https://github.com/appium/node-devicectl/commit/0b441806c2803231861260424bc82f2fb3a42224))
6
+
7
+ ## 1.0.0 (2025-10-23)
8
+
9
+ ### Features
10
+
11
+ * Initial release ([#1](https://github.com/appium/node-devicectl/issues/1)) ([59ba0bb](https://github.com/appium/node-devicectl/commit/59ba0bb4a002b21e5b3cdd78a6f7be21362f4ac1))
12
+
13
+ ### Bug Fixes
14
+
15
+ * Update buidling logic ([#2](https://github.com/appium/node-devicectl/issues/2)) ([2b6dbd5](https://github.com/appium/node-devicectl/commit/2b6dbd50878940e60152e3850b8d7aa480663bb0))
@@ -0,0 +1,37 @@
1
+ import type { ExecuteOptions, ExecuteResult } from './types';
2
+ import * as processMixins from './mixins/process';
3
+ import * as infoMixins from './mixins/info';
4
+ import * as copyMixins from './mixins/copy';
5
+ /**
6
+ * Node.js wrapper around Apple's devicectl tool
7
+ *
8
+ * This class provides methods to interact with iOS devices using the devicectl command-line tool.
9
+ * It requires Xcode 15+ and iOS 17+ to function properly.
10
+ *
11
+ */
12
+ export declare class Devicectl {
13
+ /** The unique device identifier */
14
+ readonly udid: string;
15
+ /**
16
+ * Creates a new Devicectl instance
17
+ *
18
+ * @param udid - The unique device identifier
19
+ */
20
+ constructor(udid: string);
21
+ /**
22
+ * Executes a devicectl command
23
+ *
24
+ * @param subcommand - The devicectl subcommand to execute
25
+ * @param opts - Execution options
26
+ * @returns Promise that resolves to the command result
27
+ */
28
+ execute<T extends ExecuteOptions>(subcommand: string[], opts?: T): Promise<ExecuteResult<T>>;
29
+ sendMemoryWarning: typeof processMixins.sendMemoryWarning;
30
+ sendSignalToProcess: typeof processMixins.sendSignalToProcess;
31
+ launchApp: typeof processMixins.launchApp;
32
+ listProcesses: typeof infoMixins.listProcesses;
33
+ listApps: typeof infoMixins.listApps;
34
+ listFiles: typeof copyMixins.listFiles;
35
+ pullFile: typeof copyMixins.pullFile;
36
+ }
37
+ //# sourceMappingURL=devicectl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"devicectl.d.ts","sourceRoot":"","sources":["../../lib/devicectl.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,cAAc,EAAE,aAAa,EAAC,MAAM,SAAS,CAAC;AAC3D,OAAO,KAAK,aAAa,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,UAAU,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,UAAU,MAAM,eAAe,CAAC;AAK5C;;;;;;GAMG;AACH,qBAAa,SAAS;IACpB,mCAAmC;IACnC,SAAgB,IAAI,EAAE,MAAM,CAAC;IAE7B;;;;OAIG;gBACS,IAAI,EAAE,MAAM;IAIxB;;;;;;OAMG;IACG,OAAO,CAAC,CAAC,SAAS,cAAc,EACpC,UAAU,EAAE,MAAM,EAAE,EACpB,IAAI,CAAC,EAAE,CAAC,GACP,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IA2C5B,iBAAiB,yCAAmC;IACpD,mBAAmB,2CAAqC;IACxD,SAAS,iCAA2B;IACpC,aAAa,kCAA4B;IACzC,QAAQ,6BAAuB;IAC/B,SAAS,8BAAwB;IACjC,QAAQ,6BAAuB;CAChC"}
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.Devicectl = void 0;
40
+ const teen_process_1 = require("teen_process");
41
+ const lodash_1 = __importDefault(require("lodash"));
42
+ const logger_1 = __importDefault(require("@appium/logger"));
43
+ const processMixins = __importStar(require("./mixins/process"));
44
+ const infoMixins = __importStar(require("./mixins/info"));
45
+ const copyMixins = __importStar(require("./mixins/copy"));
46
+ const XCRUN = 'xcrun';
47
+ const LOG_TAG = 'Devicectl';
48
+ /**
49
+ * Node.js wrapper around Apple's devicectl tool
50
+ *
51
+ * This class provides methods to interact with iOS devices using the devicectl command-line tool.
52
+ * It requires Xcode 15+ and iOS 17+ to function properly.
53
+ *
54
+ */
55
+ class Devicectl {
56
+ /** The unique device identifier */
57
+ udid;
58
+ /**
59
+ * Creates a new Devicectl instance
60
+ *
61
+ * @param udid - The unique device identifier
62
+ */
63
+ constructor(udid) {
64
+ this.udid = udid;
65
+ }
66
+ /**
67
+ * Executes a devicectl command
68
+ *
69
+ * @param subcommand - The devicectl subcommand to execute
70
+ * @param opts - Execution options
71
+ * @returns Promise that resolves to the command result
72
+ */
73
+ async execute(subcommand, opts) {
74
+ const { logStdout = false, asynchronous = false, asJson = true, subcommandOptions, timeout, } = opts ?? {};
75
+ const finalArgs = ['devicectl', ...subcommand, '--device', this.udid];
76
+ if (subcommandOptions && !lodash_1.default.isEmpty(subcommandOptions)) {
77
+ finalArgs.push(...(Array.isArray(subcommandOptions) ? subcommandOptions : [subcommandOptions]));
78
+ }
79
+ if (asJson) {
80
+ finalArgs.push('--quiet', '--json-output', '-');
81
+ }
82
+ const cmdStr = [XCRUN, ...finalArgs].map((arg) => `"${arg}"`).join(' ');
83
+ logger_1.default.debug(LOG_TAG, `Executing ${cmdStr}`);
84
+ try {
85
+ if (asynchronous) {
86
+ const result = new teen_process_1.SubProcess(XCRUN, finalArgs);
87
+ await result.start(0);
88
+ return result;
89
+ }
90
+ const result = await (0, teen_process_1.exec)(XCRUN, finalArgs, ...(lodash_1.default.isNumber(timeout) ? [{ timeout }] : []));
91
+ if (logStdout) {
92
+ logger_1.default.debug(LOG_TAG, `Command output: ${result.stdout}`);
93
+ }
94
+ return result;
95
+ }
96
+ catch (e) {
97
+ throw new Error(`'${cmdStr}' failed. Original error: ${e.stderr || e.stdout || e.message}`);
98
+ }
99
+ }
100
+ sendMemoryWarning = processMixins.sendMemoryWarning;
101
+ sendSignalToProcess = processMixins.sendSignalToProcess;
102
+ launchApp = processMixins.launchApp;
103
+ listProcesses = infoMixins.listProcesses;
104
+ listApps = infoMixins.listApps;
105
+ listFiles = copyMixins.listFiles;
106
+ pullFile = copyMixins.pullFile;
107
+ }
108
+ exports.Devicectl = Devicectl;
109
+ //# sourceMappingURL=devicectl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"devicectl.js","sourceRoot":"","sources":["../../lib/devicectl.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA8C;AAC9C,oDAAuB;AACvB,4DAAoC;AAEpC,gEAAkD;AAClD,0DAA4C;AAC5C,0DAA4C;AAE5C,MAAM,KAAK,GAAG,OAAO,CAAC;AACtB,MAAM,OAAO,GAAG,WAAW,CAAC;AAE5B;;;;;;GAMG;AACH,MAAa,SAAS;IACpB,mCAAmC;IACnB,IAAI,CAAS;IAE7B;;;;OAIG;IACH,YAAY,IAAY;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,OAAO,CACX,UAAoB,EACpB,IAAQ;QAER,MAAM,EACJ,SAAS,GAAG,KAAK,EACjB,YAAY,GAAG,KAAK,EACpB,MAAM,GAAG,IAAI,EACb,iBAAiB,EACjB,OAAO,GACR,GAAG,IAAI,IAAI,EAAE,CAAC;QAEf,MAAM,SAAS,GAAG,CAAC,WAAW,EAAE,GAAG,UAAU,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAEtE,IAAI,iBAAiB,IAAI,CAAC,gBAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACvD,SAAS,CAAC,IAAI,CACZ,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAChF,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACX,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,EAAE,GAAG,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,MAAM,GAAG,CAAC,KAAK,EAAE,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxE,gBAAM,CAAC,KAAK,CAAC,OAAO,EAAE,aAAa,MAAM,EAAE,CAAC,CAAC;QAE7C,IAAI,CAAC;YACH,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,MAAM,GAAG,IAAI,yBAAU,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;gBAChD,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACtB,OAAO,MAA0B,CAAC;YACpC,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAI,EAAC,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC,gBAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,OAAO,EAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAEzF,IAAI,SAAS,EAAE,CAAC;gBACd,gBAAM,CAAC,KAAK,CAAC,OAAO,EAAE,mBAAmB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YAC5D,CAAC;YAED,OAAO,MAA0B,CAAC;QACpC,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,IAAI,MAAM,6BAA6B,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9F,CAAC;IACH,CAAC;IAED,iBAAiB,GAAG,aAAa,CAAC,iBAAiB,CAAC;IACpD,mBAAmB,GAAG,aAAa,CAAC,mBAAmB,CAAC;IACxD,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC;IACpC,aAAa,GAAG,UAAU,CAAC,aAAa,CAAC;IACzC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;IAC/B,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;IACjC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;CAChC;AAzED,8BAyEC"}
@@ -0,0 +1,3 @@
1
+ export { Devicectl } from './devicectl';
2
+ export type * from './types';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AACtC,mBAAmB,SAAS,CAAC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Devicectl = void 0;
4
+ var devicectl_1 = require("./devicectl");
5
+ Object.defineProperty(exports, "Devicectl", { enumerable: true, get: function () { return devicectl_1.Devicectl; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/index.ts"],"names":[],"mappings":";;;AAAA,yCAAsC;AAA9B,sGAAA,SAAS,OAAA"}
@@ -0,0 +1,11 @@
1
+ import type { ListFilesOptions, PullFileOptions } from '../types';
2
+ import type { Devicectl } from '../devicectl';
3
+ /**
4
+ * Lists files at a specified path on the device
5
+ */
6
+ export declare function listFiles(this: Devicectl, domainType: string, domainIdentifier: string, opts?: ListFilesOptions): Promise<string[]>;
7
+ /**
8
+ * Pulls a file from the specified path on the device to a local file system
9
+ */
10
+ export declare function pullFile(this: Devicectl, from: string, to: string, opts: PullFileOptions): Promise<string>;
11
+ //# sourceMappingURL=copy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copy.d.ts","sourceRoot":"","sources":["../../../lib/mixins/copy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,gBAAgB,EAAE,eAAe,EAAC,MAAM,UAAU,CAAC;AAChE,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAE5C;;GAEG;AACH,wBAAsB,SAAS,CAC7B,IAAI,EAAE,SAAS,EACf,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,MAAM,EACxB,IAAI,GAAE,gBAAqB,GAC1B,OAAO,CAAC,MAAM,EAAE,CAAC,CAgBnB;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAC5B,IAAI,EAAE,SAAS,EACf,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,eAAe,GACpB,OAAO,CAAC,MAAM,CAAC,CAuBjB"}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.listFiles = listFiles;
4
+ exports.pullFile = pullFile;
5
+ /**
6
+ * Lists files at a specified path on the device
7
+ */
8
+ async function listFiles(domainType, domainIdentifier, opts = {}) {
9
+ const subcommandOptions = ['--domain-type', domainType, '--domain-identifier', domainIdentifier];
10
+ if (opts.username) {
11
+ subcommandOptions.push('--username', opts.username);
12
+ }
13
+ if (opts.subdirectory) {
14
+ subcommandOptions.push('--subdirectory', opts.subdirectory);
15
+ }
16
+ const { stdout } = await this.execute(['device', 'info', 'files'], {
17
+ subcommandOptions,
18
+ });
19
+ return JSON.parse(stdout).result.files.map(({ name }) => name);
20
+ }
21
+ /**
22
+ * Pulls a file from the specified path on the device to a local file system
23
+ */
24
+ async function pullFile(from, to, opts) {
25
+ const subcommandOptions = [
26
+ '--domain-type',
27
+ opts.domainType,
28
+ '--domain-identifier',
29
+ opts.domainIdentifier,
30
+ '--source',
31
+ from,
32
+ '--destination',
33
+ to,
34
+ ];
35
+ if (opts.username) {
36
+ subcommandOptions.push('--user', opts.username);
37
+ }
38
+ await this.execute(['device', 'copy', 'from'], {
39
+ subcommandOptions,
40
+ timeout: opts.timeout ?? 120000,
41
+ asJson: false,
42
+ });
43
+ return to;
44
+ }
45
+ //# sourceMappingURL=copy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copy.js","sourceRoot":"","sources":["../../../lib/mixins/copy.ts"],"names":[],"mappings":";;AAMA,8BAqBC;AAKD,4BA4BC;AAzDD;;GAEG;AACI,KAAK,UAAU,SAAS,CAE7B,UAAkB,EAClB,gBAAwB,EACxB,OAAyB,EAAE;IAE3B,MAAM,iBAAiB,GAAG,CAAC,eAAe,EAAE,UAAU,EAAE,qBAAqB,EAAE,gBAAgB,CAAC,CAAC;IAEjG,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,iBAAiB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtD,CAAC;IAED,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAC9D,CAAC;IAED,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAC/D,iBAAiB;KAClB,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAC,IAAI,EAAiB,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;AAC/E,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,QAAQ,CAE5B,IAAY,EACZ,EAAU,EACV,IAAqB;IAErB,MAAM,iBAAiB,GAAG;QACxB,eAAe;QACf,IAAI,CAAC,UAAU;QACf,qBAAqB;QACrB,IAAI,CAAC,gBAAgB;QACrB,UAAU;QACV,IAAI;QACJ,eAAe;QACf,EAAE;KACH,CAAC;IAEF,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE;QAC7C,iBAAiB;QACjB,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,MAAM;QAC/B,MAAM,EAAE,KAAK;KACd,CAAC,CAAC;IAEH,OAAO,EAAE,CAAC;AACZ,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { AppInfo, ProcessInfo } from '../types';
2
+ import type { Devicectl } from '../devicectl';
3
+ /**
4
+ * Retrieves the list of installed apps from the device
5
+ */
6
+ export declare function listApps(this: Devicectl, bundleId?: string): Promise<AppInfo[]>;
7
+ /**
8
+ * Lists running processes on the device
9
+ */
10
+ export declare function listProcesses(this: Devicectl): Promise<ProcessInfo[]>;
11
+ //# sourceMappingURL=info.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"info.d.ts","sourceRoot":"","sources":["../../../lib/mixins/info.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,OAAO,EAAE,WAAW,EAAC,MAAM,UAAU,CAAC;AACnD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAE5C;;GAEG;AACH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAYrF;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAG3E"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.listApps = listApps;
4
+ exports.listProcesses = listProcesses;
5
+ /**
6
+ * Retrieves the list of installed apps from the device
7
+ */
8
+ async function listApps(bundleId) {
9
+ const subcommandOptions = ['--include-all-apps'];
10
+ if (bundleId) {
11
+ subcommandOptions.push('--bundle-id', bundleId);
12
+ }
13
+ const { stdout } = await this.execute(['device', 'info', 'apps'], {
14
+ subcommandOptions,
15
+ });
16
+ return JSON.parse(stdout).result.apps;
17
+ }
18
+ /**
19
+ * Lists running processes on the device
20
+ */
21
+ async function listProcesses() {
22
+ const { stdout } = await this.execute(['device', 'info', 'processes']);
23
+ return JSON.parse(stdout).result.runningProcesses;
24
+ }
25
+ //# sourceMappingURL=info.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"info.js","sourceRoot":"","sources":["../../../lib/mixins/info.ts"],"names":[],"mappings":";;AAMA,4BAYC;AAKD,sCAGC;AAvBD;;GAEG;AACI,KAAK,UAAU,QAAQ,CAAkB,QAAiB;IAC/D,MAAM,iBAAiB,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAEjD,IAAI,QAAQ,EAAE,CAAC;QACb,iBAAiB,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE;QAC9D,iBAAiB;KAClB,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;AACxC,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,aAAa;IACjC,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;IACrE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC;AACpD,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { LaunchAppOptions } from '../types';
2
+ import type { Devicectl } from '../devicectl';
3
+ /**
4
+ * Simulates memory warning for the process with the given PID
5
+ */
6
+ export declare function sendMemoryWarning(this: Devicectl, pid: number | string): Promise<void>;
7
+ /**
8
+ * Send POSIX signal to the running process
9
+ */
10
+ export declare function sendSignalToProcess(this: Devicectl, pid: number | string, signal: number | string): Promise<void>;
11
+ /**
12
+ * Launch the given bundle id application with the given environment variable.
13
+ * This method is over devicectl command, this it may take additional seconds to launch the app.
14
+ * Please use via WDA or via appium-ios-device as primary method to launch app if possible.
15
+ */
16
+ export declare function launchApp(this: Devicectl, bundleId: string, opts?: LaunchAppOptions): Promise<void>;
17
+ //# sourceMappingURL=process.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../../../lib/mixins/process.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,UAAU,CAAC;AAC/C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAE5C;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAI5F;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,SAAS,EACf,GAAG,EAAE,MAAM,GAAG,MAAM,EACpB,MAAM,EAAE,MAAM,GAAG,MAAM,GACtB,OAAO,CAAC,IAAI,CAAC,CAIf;AAED;;;;GAIG;AACH,wBAAsB,SAAS,CAC7B,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,gBAAqB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAwBf"}
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.sendMemoryWarning = sendMemoryWarning;
7
+ exports.sendSignalToProcess = sendSignalToProcess;
8
+ exports.launchApp = launchApp;
9
+ const lodash_1 = __importDefault(require("lodash"));
10
+ /**
11
+ * Simulates memory warning for the process with the given PID
12
+ */
13
+ async function sendMemoryWarning(pid) {
14
+ await this.execute(['device', 'process', 'sendMemoryWarning'], {
15
+ subcommandOptions: ['--pid', `${pid}`],
16
+ });
17
+ }
18
+ /**
19
+ * Send POSIX signal to the running process
20
+ */
21
+ async function sendSignalToProcess(pid, signal) {
22
+ await this.execute(['device', 'process', 'signal'], {
23
+ subcommandOptions: ['--signal', `${signal}`, '--pid', `${pid}`],
24
+ });
25
+ }
26
+ /**
27
+ * Launch the given bundle id application with the given environment variable.
28
+ * This method is over devicectl command, this it may take additional seconds to launch the app.
29
+ * Please use via WDA or via appium-ios-device as primary method to launch app if possible.
30
+ */
31
+ async function launchApp(bundleId, opts = {}) {
32
+ const { env, terminateExisting = false } = opts;
33
+ const subcommandOptions = [];
34
+ if (terminateExisting) {
35
+ subcommandOptions.push('--terminate-existing');
36
+ }
37
+ if (!lodash_1.default.isEmpty(env)) {
38
+ subcommandOptions.push('--environment-variables', JSON.stringify(lodash_1.default.mapValues(env, (v) => lodash_1.default.toString(v))));
39
+ }
40
+ // The bundle id should be the last to apply arguments properly.
41
+ // devicectl command might not raise exception while the order is wrong.
42
+ subcommandOptions.push(bundleId);
43
+ await this.execute(['device', 'process', 'launch'], {
44
+ subcommandOptions,
45
+ asJson: false,
46
+ });
47
+ }
48
+ //# sourceMappingURL=process.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"process.js","sourceRoot":"","sources":["../../../lib/mixins/process.ts"],"names":[],"mappings":";;;;;AAOA,8CAIC;AAKD,kDAQC;AAOD,8BA4BC;AA3DD,oDAAuB;AAIvB;;GAEG;AACI,KAAK,UAAU,iBAAiB,CAAkB,GAAoB;IAC3E,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,mBAAmB,CAAC,EAAE;QAC7D,iBAAiB,EAAE,CAAC,OAAO,EAAE,GAAG,GAAG,EAAE,CAAC;KACvC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,mBAAmB,CAEvC,GAAoB,EACpB,MAAuB;IAEvB,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE;QAClD,iBAAiB,EAAE,CAAC,UAAU,EAAE,GAAG,MAAM,EAAE,EAAE,OAAO,EAAE,GAAG,GAAG,EAAE,CAAC;KAChE,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,SAAS,CAE7B,QAAgB,EAChB,OAAyB,EAAE;IAE3B,MAAM,EAAC,GAAG,EAAE,iBAAiB,GAAG,KAAK,EAAC,GAAG,IAAI,CAAC;IAE9C,MAAM,iBAAiB,GAAa,EAAE,CAAC;IAEvC,IAAI,iBAAiB,EAAE,CAAC;QACtB,iBAAiB,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,CAAC,gBAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACpB,iBAAiB,CAAC,IAAI,CACpB,yBAAyB,EACzB,IAAI,CAAC,SAAS,CAAC,gBAAC,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CACvD,CAAC;IACJ,CAAC;IAED,gEAAgE;IAChE,wEAAwE;IACxE,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAEjC,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE;QAClD,iBAAiB;QACjB,MAAM,EAAE,KAAK;KACd,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,102 @@
1
+ import { SubProcess, TeenProcessExecResult } from 'teen_process';
2
+ /**
3
+ * Information about a running process on the device
4
+ */
5
+ export interface ProcessInfo {
6
+ /** The process identifier */
7
+ processIdentifier: number;
8
+ /** The executable path */
9
+ executable: string;
10
+ }
11
+ /**
12
+ * Information about an installed app on the device
13
+ */
14
+ export interface AppInfo {
15
+ /** Whether this is an app clip */
16
+ appClip: boolean;
17
+ /** Whether this app was built by a developer */
18
+ builtByDeveloper: boolean;
19
+ /** The bundle identifier */
20
+ bundleIdentifier: string;
21
+ /** The bundle version */
22
+ bundleVersion: string;
23
+ /** Whether this is a default system app */
24
+ defaultApp: boolean;
25
+ /** Whether this app is hidden */
26
+ hidden: boolean;
27
+ /** Whether this is an internal system app */
28
+ internalApp: boolean;
29
+ /** The app name */
30
+ name: string;
31
+ /** Whether this app can be removed */
32
+ removable: boolean;
33
+ /** The app URL/path */
34
+ url: string;
35
+ /** The app version */
36
+ version: string;
37
+ }
38
+ /**
39
+ * Options for executing devicectl commands
40
+ */
41
+ export interface ExecuteOptions {
42
+ /** Whether to log stdout output */
43
+ logStdout?: boolean;
44
+ /** Whether to return JSON output */
45
+ asJson?: boolean;
46
+ /** Whether to run the command asynchronously */
47
+ asynchronous?: boolean;
48
+ /** Additional subcommand options */
49
+ subcommandOptions?: string[] | string;
50
+ /** Timeout in milliseconds */
51
+ timeout?: number;
52
+ }
53
+ /**
54
+ * Options for asynchronous execution
55
+ */
56
+ export interface AsyncExecuteOptions extends ExecuteOptions {
57
+ asynchronous: true;
58
+ }
59
+ /**
60
+ * Options for listing files on the device
61
+ */
62
+ export interface ListFilesOptions {
63
+ /** The username of the user we should target. Only relevant for certain domains. */
64
+ username?: string;
65
+ /** A subdirectory within the domain. If not specified, defaults to the root. */
66
+ subdirectory?: string;
67
+ }
68
+ /**
69
+ * Options for pulling files from the device
70
+ */
71
+ export interface PullFileOptions {
72
+ /** The username of the user we should target. Only relevant for certain domains. */
73
+ username?: string;
74
+ /** The file service domain. Valid values are: temporary, rootStaging, appDataContainer, appGroupDataContainer, systemCrashLogs */
75
+ domainType: string;
76
+ /** A unique string used to provide additional context to the domain */
77
+ domainIdentifier: string;
78
+ /** The timeout for pulling a file in milliseconds */
79
+ timeout?: number;
80
+ }
81
+ /**
82
+ * Options for launching an app
83
+ */
84
+ export interface LaunchAppOptions {
85
+ /** Environment variables for the launching app process */
86
+ env?: Record<string, string | number>;
87
+ /** Whether to terminate the already running app */
88
+ terminateExisting?: boolean;
89
+ }
90
+ /**
91
+ * Result type for synchronous execution
92
+ */
93
+ export type SyncExecuteResult = TeenProcessExecResult<string>;
94
+ /**
95
+ * Result type for asynchronous execution
96
+ */
97
+ export type AsyncExecuteResult = SubProcess;
98
+ /**
99
+ * Union type for execute method return
100
+ */
101
+ export type ExecuteResult<T extends ExecuteOptions> = T extends AsyncExecuteOptions ? AsyncExecuteResult : SyncExecuteResult;
102
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../lib/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,qBAAqB,EAAC,MAAM,cAAc,CAAC;AAE/D;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,6BAA6B;IAC7B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,0BAA0B;IAC1B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,kCAAkC;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,gDAAgD;IAChD,gBAAgB,EAAE,OAAO,CAAC;IAC1B,4BAA4B;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,yBAAyB;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,2CAA2C;IAC3C,UAAU,EAAE,OAAO,CAAC;IACpB,iCAAiC;IACjC,MAAM,EAAE,OAAO,CAAC;IAChB,6CAA6C;IAC7C,WAAW,EAAE,OAAO,CAAC;IACrB,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,sCAAsC;IACtC,SAAS,EAAE,OAAO,CAAC;IACnB,uBAAuB;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,sBAAsB;IACtB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,mCAAmC;IACnC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,oCAAoC;IACpC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,gDAAgD;IAChD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,oCAAoC;IACpC,iBAAiB,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IACtC,8BAA8B;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,cAAc;IACzD,YAAY,EAAE,IAAI,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,oFAAoF;IACpF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gFAAgF;IAChF,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,oFAAoF;IACpF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kIAAkI;IAClI,UAAU,EAAE,MAAM,CAAC;IACnB,uEAAuE;IACvE,gBAAgB,EAAE,MAAM,CAAC;IACzB,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,0DAA0D;IAC1D,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;IACtC,mDAAmD;IACnD,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;AAE9D;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,UAAU,CAAC;AAE5C;;GAEG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,cAAc,IAAI,CAAC,SAAS,mBAAmB,GAC/E,kBAAkB,GAClB,iBAAiB,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../lib/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.es2021.d.ts","../node_modules/typescript/lib/lib.es2022.d.ts","../node_modules/typescript/lib/lib.es2023.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2016.intl.d.ts","../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../node_modules/typescript/lib/lib.es2017.date.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.es2021.promise.d.ts","../node_modules/typescript/lib/lib.es2021.string.d.ts","../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../node_modules/typescript/lib/lib.es2021.intl.d.ts","../node_modules/typescript/lib/lib.es2022.array.d.ts","../node_modules/typescript/lib/lib.es2022.error.d.ts","../node_modules/typescript/lib/lib.es2022.intl.d.ts","../node_modules/typescript/lib/lib.es2022.object.d.ts","../node_modules/typescript/lib/lib.es2022.string.d.ts","../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../node_modules/typescript/lib/lib.es2023.array.d.ts","../node_modules/typescript/lib/lib.es2023.collection.d.ts","../node_modules/typescript/lib/lib.es2023.intl.d.ts","../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../node_modules/typescript/lib/lib.esnext.float16.d.ts","../node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../node_modules/@types/node/compatibility/iterators.d.ts","../node_modules/@types/node/globals.typedarray.d.ts","../node_modules/@types/node/buffer.buffer.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/web-globals/abortcontroller.d.ts","../node_modules/@types/node/web-globals/crypto.d.ts","../node_modules/@types/node/web-globals/domexception.d.ts","../node_modules/@types/node/web-globals/events.d.ts","../node_modules/undici-types/utility.d.ts","../node_modules/undici-types/header.d.ts","../node_modules/undici-types/readable.d.ts","../node_modules/undici-types/fetch.d.ts","../node_modules/undici-types/formdata.d.ts","../node_modules/undici-types/connector.d.ts","../node_modules/undici-types/client-stats.d.ts","../node_modules/undici-types/client.d.ts","../node_modules/undici-types/errors.d.ts","../node_modules/undici-types/dispatcher.d.ts","../node_modules/undici-types/global-dispatcher.d.ts","../node_modules/undici-types/global-origin.d.ts","../node_modules/undici-types/pool-stats.d.ts","../node_modules/undici-types/pool.d.ts","../node_modules/undici-types/handlers.d.ts","../node_modules/undici-types/balanced-pool.d.ts","../node_modules/undici-types/h2c-client.d.ts","../node_modules/undici-types/agent.d.ts","../node_modules/undici-types/mock-interceptor.d.ts","../node_modules/undici-types/mock-call-history.d.ts","../node_modules/undici-types/mock-agent.d.ts","../node_modules/undici-types/mock-client.d.ts","../node_modules/undici-types/mock-pool.d.ts","../node_modules/undici-types/snapshot-agent.d.ts","../node_modules/undici-types/mock-errors.d.ts","../node_modules/undici-types/proxy-agent.d.ts","../node_modules/undici-types/env-http-proxy-agent.d.ts","../node_modules/undici-types/retry-handler.d.ts","../node_modules/undici-types/retry-agent.d.ts","../node_modules/undici-types/api.d.ts","../node_modules/undici-types/cache-interceptor.d.ts","../node_modules/undici-types/interceptors.d.ts","../node_modules/undici-types/util.d.ts","../node_modules/undici-types/cookies.d.ts","../node_modules/undici-types/patch.d.ts","../node_modules/undici-types/websocket.d.ts","../node_modules/undici-types/eventsource.d.ts","../node_modules/undici-types/diagnostics-channel.d.ts","../node_modules/undici-types/content-type.d.ts","../node_modules/undici-types/cache.d.ts","../node_modules/undici-types/index.d.ts","../node_modules/@types/node/web-globals/fetch.d.ts","../node_modules/@types/node/web-globals/navigator.d.ts","../node_modules/@types/node/web-globals/storage.d.ts","../node_modules/@types/node/web-globals/streams.d.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/inspector.generated.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/readline/promises.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/sea.d.ts","../node_modules/@types/node/sqlite.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/test.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/index.d.ts","../node_modules/@types/teen_process/index.d.ts","../node_modules/@types/lodash/common/common.d.ts","../node_modules/@types/lodash/common/array.d.ts","../node_modules/@types/lodash/common/collection.d.ts","../node_modules/@types/lodash/common/date.d.ts","../node_modules/@types/lodash/common/function.d.ts","../node_modules/@types/lodash/common/lang.d.ts","../node_modules/@types/lodash/common/math.d.ts","../node_modules/@types/lodash/common/number.d.ts","../node_modules/@types/lodash/common/object.d.ts","../node_modules/@types/lodash/common/seq.d.ts","../node_modules/@types/lodash/common/string.d.ts","../node_modules/@types/lodash/common/util.d.ts","../node_modules/@types/lodash/index.d.ts","../node_modules/@appium/logger/build/lib/types.d.ts","../node_modules/@appium/logger/build/lib/secure-values-preprocessor.d.ts","../node_modules/@appium/logger/build/lib/log.d.ts","../node_modules/@appium/logger/build/index.d.ts","../lib/types.ts","../lib/mixins/process.ts","../lib/mixins/info.ts","../lib/mixins/copy.ts","../lib/devicectl.ts","../lib/index.ts"],"fileIdsList":[[66,120,137,138,171,184,188,189,190,191,192],[66,120,137,138,189,193],[66,120,137,138,184,189,193],[66,120,137,138,171],[66,120,137,138,185,187],[66,119,120,131,137,138,152,185,186],[66,120,137,138,185],[66,119,120,131,137,138],[66,120,137,138,172,174,175,176,177,178,179,180,181,182,183,184],[66,120,137,138,172,173,175,176,177,178,179,180,181,182,183,184],[66,120,137,138,173,174,175,176,177,178,179,180,181,182,183,184],[66,120,137,138,172,173,174,176,177,178,179,180,181,182,183,184],[66,120,137,138,172,173,174,175,177,178,179,180,181,182,183,184],[66,120,137,138,172,173,174,175,176,178,179,180,181,182,183,184],[66,120,137,138,172,173,174,175,176,177,179,180,181,182,183,184],[66,120,137,138,172,173,174,175,176,177,178,180,181,182,183,184],[66,120,137,138,172,173,174,175,176,177,178,179,181,182,183,184],[66,120,137,138,172,173,174,175,176,177,178,179,180,182,183,184],[66,120,137,138,172,173,174,175,176,177,178,179,180,181,183,184],[66,120,137,138,172,173,174,175,176,177,178,179,180,181,182,184],[66,120,137,138,172,173,174,175,176,177,178,179,180,181,182,183],[66,117,118,120,137,138],[66,119,120,137,138],[120,137,138],[66,120,125,137,138,155],[66,120,121,126,131,137,138,140,152,163],[66,120,121,122,131,137,138,140],[66,120,137,138],[66,120,123,137,138,164],[66,120,124,125,132,137,138,141],[66,120,125,137,138,152,160],[66,120,126,128,131,137,138,140],[66,119,120,127,137,138],[66,120,128,129,137,138],[66,120,130,131,137,138],[66,120,131,132,133,137,138,152,163],[66,120,131,132,133,137,138,147,152,155],[66,112,120,128,131,134,137,138,140,152,163],[66,120,131,132,134,135,137,138,140,152,160,163],[66,120,134,136,137,138,152,160,163],[64,65,66,67,68,69,70,71,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[66,120,131,137,138],[66,120,137,138,139,163],[66,120,128,131,137,138,140,152],[66,120,137,138,141],[66,120,137,138,142],[66,119,120,137,138,143],[66,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[66,120,137,138,145],[66,120,137,138,146],[66,120,131,137,138,147,148],[66,120,137,138,147,149,164,166],[66,120,132,137,138],[66,120,131,137,138,152,153,155],[66,120,137,138,154,155],[66,120,137,138,152,153],[66,120,137,138,155],[66,120,137,138,156],[66,117,120,137,138,152,157],[66,120,131,137,138,158,159],[66,120,137,138,158,159],[66,120,125,137,138,140,152,160],[66,120,137,138,161],[66,120,137,138,140,162],[66,120,134,137,138,146,163],[66,120,125,137,138,164],[66,120,137,138,152,165],[66,120,137,138,139,166],[66,120,137,138,167],[66,120,125,137,138],[66,112,120,137,138],[66,120,137,138,168],[66,112,120,131,133,137,138,143,152,155,163,165,166,168],[66,120,137,138,152,169],[66,120,121,131,137,138,163,170],[66,78,81,84,85,120,137,138,163],[66,81,120,137,138,152,163],[66,81,85,120,137,138,163],[66,120,137,138,152],[66,75,120,137,138],[66,79,120,137,138],[66,77,78,81,120,137,138,163],[66,120,137,138,140,160],[66,120,137,138,170],[66,75,120,137,138,170],[66,77,81,120,137,138,140,163],[66,72,73,74,76,80,120,131,137,138,152,163],[66,81,89,97,120,137,138],[66,73,79,120,137,138],[66,81,106,107,120,137,138],[66,73,76,81,120,137,138,155,163,170],[66,81,120,137,138],[66,77,81,120,137,138,163],[66,72,120,137,138],[66,75,76,77,79,80,81,82,83,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,107,108,109,110,111,120,137,138],[66,81,99,102,120,128,137,138],[66,81,89,90,91,120,137,138],[66,79,81,90,92,120,137,138],[66,80,120,137,138],[66,73,75,81,120,137,138],[66,81,85,90,92,120,137,138],[66,85,120,137,138],[66,79,81,84,120,137,138,163],[66,73,77,81,89,120,137,138],[66,81,99,120,137,138],[66,92,120,137,138],[66,75,81,106,120,137,138,155,168,170]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"27bdc30a0e32783366a5abeda841bc22757c1797de8681bbe81fbc735eeb1c10","impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"df83c2a6c73228b625b0beb6669c7ee2a09c914637e2d35170723ad49c0f5cd4","affectsGlobalScope":true,"impliedFormat":1},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e3c06ea092138bf9fa5e874a1fdbc9d54805d074bee1de31b99a11e2fec239d","affectsGlobalScope":true,"impliedFormat":1},{"version":"51ad4c928303041605b4d7ae32e0c1ee387d43a24cd6f1ebf4a2699e1076d4fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"196cb558a13d4533a5163286f30b0509ce0210e4b316c56c38d4c0fd2fb38405","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"378281aa35786c27d5811af7e6bcaa492eebd0c7013d48137c35bbc69a2b9751","affectsGlobalScope":true,"impliedFormat":1},{"version":"3af97acf03cc97de58a3a4bc91f8f616408099bc4233f6d0852e72a8ffb91ac9","affectsGlobalScope":true,"impliedFormat":1},{"version":"1b2dd1cbeb0cc6ae20795958ba5950395ebb2849b7c8326853dd15530c77ab0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"1db0b7dca579049ca4193d034d835f6bfe73096c73663e5ef9a0b5779939f3d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"387a023d363f755eb63450a66c28b14cdd7bc30a104565e2dbf0a8988bb4a56c","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"f26b11d8d8e4b8028f1c7d618b22274c892e4b0ef5b3678a8ccbad85419aef43","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdcf9ea426ad970f96ac930cd176d5c69c6c24eebd9fc580e1572d6c6a88f62c","impliedFormat":1},{"version":"23cd712e2ce083d68afe69224587438e5914b457b8acf87073c22494d706a3d0","impliedFormat":1},{"version":"487b694c3de27ddf4ad107d4007ad304d29effccf9800c8ae23c2093638d906a","impliedFormat":1},{"version":"3a80bc85f38526ca3b08007ee80712e7bb0601df178b23fbf0bf87036fce40ce","impliedFormat":1},{"version":"ccf4552357ce3c159ef75f0f0114e80401702228f1898bdc9402214c9499e8c0","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"68834d631c8838c715f225509cfc3927913b9cc7a4870460b5b60c8dbdb99baf","impliedFormat":1},{"version":"2931540c47ee0ff8a62860e61782eb17b155615db61e36986e54645ec67f67c2","impliedFormat":1},{"version":"ccab02f3920fc75c01174c47fcf67882a11daf16baf9e81701d0a94636e94556","impliedFormat":1},{"version":"f6faf5f74e4c4cc309a6c6a6c4da02dbb840be5d3e92905a23dcd7b2b0bd1986","impliedFormat":1},{"version":"ea6bc8de8b59f90a7a3960005fd01988f98fd0784e14bc6922dde2e93305ec7d","impliedFormat":1},{"version":"36107995674b29284a115e21a0618c4c2751b32a8766dd4cb3ba740308b16d59","impliedFormat":1},{"version":"914a0ae30d96d71915fc519ccb4efbf2b62c0ddfb3a3fc6129151076bc01dc60","impliedFormat":1},{"version":"33e981bf6376e939f99bd7f89abec757c64897d33c005036b9a10d9587d80187","impliedFormat":1},{"version":"7fd1b31fd35876b0aa650811c25ec2c97a3c6387e5473eb18004bed86cdd76b6","impliedFormat":1},{"version":"b41767d372275c154c7ea6c9d5449d9a741b8ce080f640155cc88ba1763e35b3","impliedFormat":1},{"version":"3bacf516d686d08682751a3bd2519ea3b8041a164bfb4f1d35728993e70a2426","impliedFormat":1},{"version":"7fb266686238369442bd1719bc0d7edd0199da4fb8540354e1ff7f16669b4323","impliedFormat":1},{"version":"0a60a292b89ca7218b8616f78e5bbd1c96b87e048849469cccb4355e98af959a","impliedFormat":1},{"version":"0b6e25234b4eec6ed96ab138d96eb70b135690d7dd01f3dd8a8ab291c35a683a","impliedFormat":1},{"version":"9666f2f84b985b62400d2e5ab0adae9ff44de9b2a34803c2c5bd3c8325b17dc0","impliedFormat":1},{"version":"40cd35c95e9cf22cfa5bd84e96408b6fcbca55295f4ff822390abb11afbc3dca","impliedFormat":1},{"version":"b1616b8959bf557feb16369c6124a97a0e74ed6f49d1df73bb4b9ddf68acf3f3","impliedFormat":1},{"version":"5b03a034c72146b61573aab280f295b015b9168470f2df05f6080a2122f9b4df","impliedFormat":1},{"version":"40b463c6766ca1b689bfcc46d26b5e295954f32ad43e37ee6953c0a677e4ae2b","impliedFormat":1},{"version":"249b9cab7f5d628b71308c7d9bb0a808b50b091e640ba3ed6e2d0516f4a8d91d","impliedFormat":1},{"version":"80aae6afc67faa5ac0b32b5b8bc8cc9f7fa299cff15cf09cc2e11fd28c6ae29e","impliedFormat":1},{"version":"f473cd2288991ff3221165dcf73cd5d24da30391f87e85b3dd4d0450c787a391","impliedFormat":1},{"version":"499e5b055a5aba1e1998f7311a6c441a369831c70905cc565ceac93c28083d53","impliedFormat":1},{"version":"54c3e2371e3d016469ad959697fd257e5621e16296fa67082c2575d0bf8eced0","impliedFormat":1},{"version":"beb8233b2c220cfa0feea31fbe9218d89fa02faa81ef744be8dce5acb89bb1fd","impliedFormat":1},{"version":"c183b931b68ad184bc8e8372bf663f3d33304772fb482f29fb91b3c391031f3e","impliedFormat":1},{"version":"5d0375ca7310efb77e3ef18d068d53784faf62705e0ad04569597ae0e755c401","impliedFormat":1},{"version":"59af37caec41ecf7b2e76059c9672a49e682c1a2aa6f9d7dc78878f53aa284d6","impliedFormat":1},{"version":"addf417b9eb3f938fddf8d81e96393a165e4be0d4a8b6402292f9c634b1cb00d","impliedFormat":1},{"version":"48cc3ec153b50985fb95153258a710782b25975b10dd4ac8a4f3920632d10790","impliedFormat":1},{"version":"adf27937dba6af9f08a68c5b1d3fce0ca7d4b960c57e6d6c844e7d1a8e53adae","impliedFormat":1},{"version":"e1528ca65ac90f6fa0e4a247eb656b4263c470bb22d9033e466463e13395e599","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"866078923a56d026e39243b4392e282c1c63159723996fa89243140e1388a98d","impliedFormat":1},{"version":"830171b27c5fdf9bcbe4cf7d428fcf3ae2c67780fb7fbdccdf70d1623d938bc4","affectsGlobalScope":true,"impliedFormat":1},{"version":"1cf059eaf468efcc649f8cf6075d3cb98e9a35a0fe9c44419ec3d2f5428d7123","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d97fb21da858fb18b8ae72c314e9743fd52f73ebe2764e12af1db32fc03f853f","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ea15fd99b2e34cb25fe8346c955000bb70c8b423ae4377a972ef46bfb37f595","impliedFormat":1},{"version":"7cf69dd5502c41644c9e5106210b5da7144800670cbe861f66726fa209e231c4","impliedFormat":1},{"version":"72c1f5e0a28e473026074817561d1bc9647909cf253c8d56c41d1df8d95b85f7","impliedFormat":1},{"version":"f9b4137a0d285bd77dba2e6e895530112264310ae47e07bf311feae428fb8b61","affectsGlobalScope":true,"impliedFormat":1},{"version":"8b21e13ed07d0df176ae31d6b7f01f7b17d66dbeb489c0d31d00de2ca14883da","impliedFormat":1},{"version":"51aecd2df90a3cffea1eb4696b33b2d78594ea2aa2138e6b9471ec4841c6c2ee","impliedFormat":1},{"version":"2c91d8366ff2506296191c26fd97cc1990bab3ee22576275d28b654a21261a44","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"f929f0b6b3421a2d34344b0f421f45aeb2c84ad365ebf29d04312023b3accc58","impliedFormat":1},{"version":"db9ada976f9e52e13f7ae8b9a320f4b67b87685938c5879187d8864b2fbe97f3","impliedFormat":1},{"version":"9f39e70a354d0fba29ac3cdf6eca00b7f9e96f64b2b2780c432e8ea27f133743","impliedFormat":1},{"version":"0dace96cc0f7bc6d0ee2044921bdf19fe42d16284dbcc8ae200800d1c9579335","impliedFormat":1},{"version":"a2e2bbde231b65c53c764c12313897ffdfb6c49183dd31823ee2405f2f7b5378","impliedFormat":1},{"version":"ad1cc0ed328f3f708771272021be61ab146b32ecf2b78f3224959ff1e2cd2a5c","impliedFormat":1},{"version":"c64e1888baaa3253ca4405b455e4bf44f76357868a1bd0a52998ade9a092ad78","affectsGlobalScope":true,"impliedFormat":1},{"version":"d8cf132379078d0974a59df26069689a2d33c7dc826b5be56231841cb2f32e58","impliedFormat":1},{"version":"fbf413fc617837453c878a9174a1f1b383616857a3f8366bc41cf30df4aea7d5","impliedFormat":1},{"version":"148c73ec11318850f571172ceae3e55ce479d850fe18ec8eae0abd99d9f6c319","impliedFormat":1},{"version":"230bdc111d7578276e4a3bb9d075d85c78c6b68f428c3a9935e2eaa10f4ae1f5","impliedFormat":1},{"version":"e8aabbee5e7b9101b03bb4222607d57f38859b8115a8050a4eb91b4ee43a3a73","impliedFormat":1},{"version":"bbf42f98a5819f4f06e18c8b669a994afe9a17fe520ae3454a195e6eabf7700d","impliedFormat":1},{"version":"c0bb1b65757c72bbf8ddf7eaa532223bacf58041ff16c883e76f45506596e925","impliedFormat":1},{"version":"c8b85f7aed29f8f52b813f800611406b0bfe5cf3224d20a4bdda7c7f73ce368e","affectsGlobalScope":true,"impliedFormat":1},{"version":"145dcf25fd4967c610c53d93d7bc4dce8fbb1b6dd7935362472d4ae49363c7ba","impliedFormat":1},{"version":"ff65b8a8bd380c6d129becc35de02f7c29ad7ce03300331ca91311fb4044d1a9","impliedFormat":1},{"version":"76957a6d92b94b9e2852cf527fea32ad2dc0ef50f67fe2b14bd027c9ceef2d86","impliedFormat":1},{"version":"9043daec15206650fa119bad6b8d70136021ea7d52673a71f79a87a42ee38d44","affectsGlobalScope":true,"impliedFormat":1},{"version":"150d28d98d2f6aa7053ee0eb7de5a1c2ab23a6dbcc92eed0a630b2f572a1a5ec","affectsGlobalScope":true,"impliedFormat":1},{"version":"a58a15da4c5ba3df60c910a043281256fa52d36a0fcdef9b9100c646282e88dd","impliedFormat":1},{"version":"b36beffbf8acdc3ebc58c8bb4b75574b31a2169869c70fc03f82895b93950a12","impliedFormat":1},{"version":"de263f0089aefbfd73c89562fb7254a7468b1f33b61839aafc3f035d60766cb4","impliedFormat":1},{"version":"77fbe5eecb6fac4b6242bbf6eebfc43e98ce5ccba8fa44e0ef6a95c945ff4d98","impliedFormat":1},{"version":"8c81fd4a110490c43d7c578e8c6f69b3af01717189196899a6a44f93daa57a3a","impliedFormat":1},{"version":"5fb39858b2459864b139950a09adae4f38dad87c25bf572ce414f10e4bd7baab","impliedFormat":1},{"version":"28e3631087ecef78fef8efdb21d4d2509f776ef6f0d660ff605b5ee6a22ebb8c","impliedFormat":1},{"version":"b33b74b97952d9bf4fbd2951dcfbb5136656ddb310ce1c84518aaa77dbca9992","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"45650f47bfb376c8a8ed39d4bcda5902ab899a3150029684ee4c10676d9fbaee","impliedFormat":1},{"version":"6b306cd4282bbb54d4a6bb23cfb7a271160983dfc38c67b5a132504cfcc34896","affectsGlobalScope":true,"impliedFormat":1},{"version":"c119835edf36415081dfd9ed15fc0cd37aaa28d232be029ad073f15f3d88c323","impliedFormat":1},{"version":"450172a56b944c2d83f45cc11c9a388ea967cd301a21202aa0a23c34c7506a18","impliedFormat":1},{"version":"9705cd157ffbb91c5cab48bdd2de5a437a372e63f870f8a8472e72ff634d47c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"ae86f30d5d10e4f75ce8dcb6e1bd3a12ecec3d071a21e8f462c5c85c678efb41","impliedFormat":1},{"version":"72f8936aebf0c4a1adab767b97d34ba7d3a308afcf76de4417b9c16fb92ed548","impliedFormat":1},{"version":"e03460fe72b259f6d25ad029f085e4bedc3f90477da4401d8fbc1efa9793230e","impliedFormat":1},{"version":"4286a3a6619514fca656089aee160bb6f2e77f4dd53dc5a96b26a0b4fc778055","impliedFormat":1},{"version":"04aa8fb012abeecf5666b013c59ba01dca5aa0c28173cb5385bc88d4adeb8d64","affectsGlobalScope":true,"impliedFormat":1},{"version":"3585d6891e9ea18e07d0755a6d90d71331558ba5dc5561933553209f886db106","affectsGlobalScope":true,"impliedFormat":1},{"version":"86be71cbb0593468644932a6eb96d527cfa600cecfc0b698af5f52e51804451d","impliedFormat":1},{"version":"84dd6b0fd2505135692935599d6606f50a421389e8d4535194bcded307ee5cf2","impliedFormat":1},{"version":"0d5b085f36e6dc55bc6332ecb9c733be3a534958c238fb8d8d18d4a2b6f2a15a","impliedFormat":1},{"version":"db19ea066fdc5f97df3f769e582ae3000380ab7942e266654bdb1a4650d19eaf","affectsGlobalScope":true,"impliedFormat":1},{"version":"2a034894bf28c220a331c7a0229d33564803abe2ac1b9a5feee91b6b9b6e88ea","impliedFormat":1},{"version":"d7e9ab1b0996639047c61c1e62f85c620e4382206b3abb430d9a21fb7bc23c77","impliedFormat":1},{"version":"2e8251a99e74d346007736417443afb2edc5ee68ecdcf3180ad48feb66ad1791","impliedFormat":1},{"version":"380b919bfa0516118edaf25b99e45f855e7bc3fd75ce4163a1cfe4a666388804","impliedFormat":1},{"version":"0b24a72109c8dd1b41f94abfe1bb296ba01b3734b8ac632db2c48ffc5dccaf01","impliedFormat":1},{"version":"fcf79300e5257a23ed3bacaa6861d7c645139c6f7ece134d15e6669447e5e6db","impliedFormat":1},{"version":"187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","impliedFormat":1},{"version":"aa2c18a1b5a086bbcaae10a4efba409cc95ba7287d8cf8f2591b53704fea3dea","impliedFormat":1},{"version":"b88749bdb18fc1398370e33aa72bc4f88274118f4960e61ce26605f9b33c5ba2","impliedFormat":1},{"version":"0aaef8cded245bf5036a7a40b65622dd6c4da71f7a35343112edbe112b348a1e","impliedFormat":1},{"version":"00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","impliedFormat":1},{"version":"a873c50d3e47c21aa09fbe1e2023d9a44efb07cc0cb8c72f418bf301b0771fd3","impliedFormat":1},{"version":"7c14ccd2eaa82619fffc1bfa877eb68a012e9fb723d07ee98db451fadb618906","impliedFormat":1},{"version":"49c36529ee09ea9ce19525af5bb84985ea8e782cb7ee8c493d9e36d027a3d019","impliedFormat":1},{"version":"df996e25faa505f85aeb294d15ebe61b399cf1d1e49959cdfaf2cc0815c203f9","impliedFormat":1},{"version":"4f6a12044ee6f458db11964153830abbc499e73d065c51c329ec97407f4b13dd","impliedFormat":1},{"version":"b7a7751953517df72be7e576749f6b549d9cdd4d13e4a36143f2f7aed9b5009f","impliedFormat":1},{"version":"792441f3474fbc9cc78d47981c067ef4859c6ea716ab5d9fa1b7bfc6310b26db","impliedFormat":1},{"version":"c7dfe91912b478b3df13afcee9aa1c76fedd8c963932bb0d389db9ba730926cc","impliedFormat":1},{"version":"d6076b41c73c486fbe2e8ddb37d43fd5dd1349d5ea29db983ba697f663646da6","impliedFormat":1},{"version":"f4fe5d284ca565117ece45cda6273bbc7ba65b4c63b2b361c986dd7e68ad86f6","signature":"ec2367f89bf71290f4fc8e76424aebbeef5a8afdb31c25ceca1c8a9e42faf2c6","impliedFormat":1},{"version":"c107ea04f543b8b854a615d8e12f1930cea1c9fae7e1deee0caa4977fab7e506","signature":"2e7b685d489813a38259923c1c4af1496ca7ac5c93c535493e2f7b56782b301f","impliedFormat":1},{"version":"4318a46e2de1f936970cd19a8add801f347eab3e9fdfd59e62587cc839444a2f","signature":"6b31a2c7a8e4a9cafa3f0a5ef42cc62b00cb50fc0ed52e048eb92dc1e1231b02","impliedFormat":1},{"version":"ff69af1c2f3475ce9390b373441aa013535fe380681d313b3230f3472e2ed546","signature":"cf936c8a43d6853bc76d938e0f756f1aa94628a7a06327a984b6e69c53723808","impliedFormat":1},{"version":"85c4eb14a37d9584b7749dc812aa2839923c3e9301292087b0459fa38edd3f12","signature":"56a6842c218ffbedee8876e1b1d00ed8e567a1703376462292fc4a0b7ea60014","impliedFormat":1},{"version":"bb46ac69df86cc555af3a4af3870f77d74800f0deda688079931f6d7b345952e","signature":"e1b0135a73df09526b177be282ff7ec9b2747bed1072d459a7a62c85513a253a","impliedFormat":1}],"root":[[189,194]],"options":{"allowJs":true,"allowSyntheticDefaultImports":true,"checkJs":true,"composite":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"module":199,"outDir":"./","removeComments":false,"skipLibCheck":true,"sourceMap":true,"strict":true,"strictNullChecks":true,"stripInternal":true,"target":9},"referencedMap":[[193,1],[194,2],[192,2],[191,2],[190,3],[189,4],[188,5],[187,6],[186,7],[185,8],[173,9],[174,10],[172,11],[175,12],[176,13],[177,14],[178,15],[179,16],[180,17],[181,18],[182,19],[183,20],[184,21],[117,22],[118,22],[119,23],[66,24],[120,25],[121,26],[122,27],[64,28],[123,29],[124,30],[125,31],[126,32],[127,33],[128,34],[129,34],[130,35],[131,8],[132,36],[133,37],[67,28],[65,28],[134,38],[135,39],[136,40],[170,41],[137,42],[138,28],[139,43],[140,44],[141,45],[142,46],[143,47],[144,48],[145,49],[146,50],[147,51],[148,51],[149,52],[150,28],[151,53],[152,54],[154,55],[153,56],[155,57],[156,58],[157,59],[158,60],[159,61],[160,62],[161,63],[162,64],[163,65],[164,66],[165,67],[166,68],[167,69],[68,28],[69,70],[70,28],[71,28],[113,71],[114,72],[115,28],[116,57],[168,73],[169,74],[171,75],[62,28],[63,28],[12,28],[11,28],[2,28],[13,28],[14,28],[15,28],[16,28],[17,28],[18,28],[19,28],[20,28],[3,28],[21,28],[22,28],[4,28],[23,28],[27,28],[24,28],[25,28],[26,28],[28,28],[29,28],[30,28],[5,28],[31,28],[32,28],[33,28],[34,28],[6,28],[38,28],[35,28],[36,28],[37,28],[39,28],[7,28],[40,28],[45,28],[46,28],[41,28],[42,28],[43,28],[44,28],[8,28],[50,28],[47,28],[48,28],[49,28],[51,28],[9,28],[52,28],[53,28],[54,28],[56,28],[55,28],[57,28],[58,28],[10,28],[59,28],[1,28],[60,28],[61,28],[89,76],[101,77],[87,78],[102,79],[111,80],[78,81],[79,82],[77,83],[110,84],[105,85],[109,86],[81,87],[98,88],[80,89],[108,90],[75,91],[76,85],[82,92],[83,28],[88,93],[86,92],[73,94],[112,95],[103,96],[92,97],[91,92],[93,98],[96,99],[90,100],[94,101],[106,84],[84,102],[85,103],[97,104],[74,79],[100,105],[99,92],[95,106],[104,28],[72,28],[107,107]],"latestChangedDtsFile":"./lib/index.d.ts","version":"5.9.3"}
package/lib/devicectl.ts CHANGED
@@ -1,10 +1,7 @@
1
- import { exec, SubProcess } from 'teen_process';
1
+ import {exec, SubProcess} from 'teen_process';
2
2
  import _ from 'lodash';
3
3
  import logger from '@appium/logger';
4
- import type {
5
- ExecuteOptions,
6
- ExecuteResult,
7
- } from './types';
4
+ import type {ExecuteOptions, ExecuteResult} from './types';
8
5
  import * as processMixins from './mixins/process';
9
6
  import * as infoMixins from './mixins/info';
10
7
  import * as copyMixins from './mixins/copy';
@@ -41,7 +38,7 @@ export class Devicectl {
41
38
  */
42
39
  async execute<T extends ExecuteOptions>(
43
40
  subcommand: string[],
44
- opts?: T
41
+ opts?: T,
45
42
  ): Promise<ExecuteResult<T>> {
46
43
  const {
47
44
  logStdout = false,
@@ -51,14 +48,11 @@ export class Devicectl {
51
48
  timeout,
52
49
  } = opts ?? {};
53
50
 
54
- const finalArgs = [
55
- 'devicectl', ...subcommand,
56
- '--device', this.udid,
57
- ];
51
+ const finalArgs = ['devicectl', ...subcommand, '--device', this.udid];
58
52
 
59
53
  if (subcommandOptions && !_.isEmpty(subcommandOptions)) {
60
54
  finalArgs.push(
61
- ...(Array.isArray(subcommandOptions) ? subcommandOptions : [subcommandOptions])
55
+ ...(Array.isArray(subcommandOptions) ? subcommandOptions : [subcommandOptions]),
62
56
  );
63
57
  }
64
58
 
@@ -76,11 +70,7 @@ export class Devicectl {
76
70
  return result as ExecuteResult<T>;
77
71
  }
78
72
 
79
- const result = await exec(
80
- XCRUN,
81
- finalArgs,
82
- ...(_.isNumber(timeout) ? [{ timeout }] : []),
83
- );
73
+ const result = await exec(XCRUN, finalArgs, ...(_.isNumber(timeout) ? [{timeout}] : []));
84
74
 
85
75
  if (logStdout) {
86
76
  logger.debug(LOG_TAG, `Command output: ${result.stdout}`);
package/lib/index.ts CHANGED
@@ -1,2 +1,2 @@
1
- export { Devicectl } from './devicectl';
1
+ export {Devicectl} from './devicectl';
2
2
  export type * from './types';
@@ -1,5 +1,5 @@
1
- import type { ListFilesOptions, PullFileOptions } from '../types';
2
- import type { Devicectl } from '../devicectl';
1
+ import type {ListFilesOptions, PullFileOptions} from '../types';
2
+ import type {Devicectl} from '../devicectl';
3
3
 
4
4
  /**
5
5
  * Lists files at a specified path on the device
@@ -8,12 +8,9 @@ export async function listFiles(
8
8
  this: Devicectl,
9
9
  domainType: string,
10
10
  domainIdentifier: string,
11
- opts: ListFilesOptions = {}
11
+ opts: ListFilesOptions = {},
12
12
  ): Promise<string[]> {
13
- const subcommandOptions = [
14
- '--domain-type', domainType,
15
- '--domain-identifier', domainIdentifier,
16
- ];
13
+ const subcommandOptions = ['--domain-type', domainType, '--domain-identifier', domainIdentifier];
17
14
 
18
15
  if (opts.username) {
19
16
  subcommandOptions.push('--username', opts.username);
@@ -23,11 +20,11 @@ export async function listFiles(
23
20
  subcommandOptions.push('--subdirectory', opts.subdirectory);
24
21
  }
25
22
 
26
- const { stdout } = await this.execute(['device', 'info', 'files'], {
23
+ const {stdout} = await this.execute(['device', 'info', 'files'], {
27
24
  subcommandOptions,
28
25
  });
29
26
 
30
- return JSON.parse(stdout).result.files.map(({ name }: { name: string }) => name);
27
+ return JSON.parse(stdout).result.files.map(({name}: {name: string}) => name);
31
28
  }
32
29
 
33
30
  /**
@@ -37,13 +34,17 @@ export async function pullFile(
37
34
  this: Devicectl,
38
35
  from: string,
39
36
  to: string,
40
- opts: PullFileOptions
37
+ opts: PullFileOptions,
41
38
  ): Promise<string> {
42
39
  const subcommandOptions = [
43
- '--domain-type', opts.domainType,
44
- '--domain-identifier', opts.domainIdentifier,
45
- '--source', from,
46
- '--destination', to,
40
+ '--domain-type',
41
+ opts.domainType,
42
+ '--domain-identifier',
43
+ opts.domainIdentifier,
44
+ '--source',
45
+ from,
46
+ '--destination',
47
+ to,
47
48
  ];
48
49
 
49
50
  if (opts.username) {
@@ -1,20 +1,17 @@
1
- import type { AppInfo, ProcessInfo } from '../types';
2
- import type { Devicectl } from '../devicectl';
1
+ import type {AppInfo, ProcessInfo} from '../types';
2
+ import type {Devicectl} from '../devicectl';
3
3
 
4
4
  /**
5
5
  * Retrieves the list of installed apps from the device
6
6
  */
7
- export async function listApps(
8
- this: Devicectl,
9
- bundleId?: string
10
- ): Promise<AppInfo[]> {
7
+ export async function listApps(this: Devicectl, bundleId?: string): Promise<AppInfo[]> {
11
8
  const subcommandOptions = ['--include-all-apps'];
12
9
 
13
10
  if (bundleId) {
14
11
  subcommandOptions.push('--bundle-id', bundleId);
15
12
  }
16
13
 
17
- const { stdout } = await this.execute(['device', 'info', 'apps'], {
14
+ const {stdout} = await this.execute(['device', 'info', 'apps'], {
18
15
  subcommandOptions,
19
16
  });
20
17
 
@@ -25,6 +22,6 @@ export async function listApps(
25
22
  * Lists running processes on the device
26
23
  */
27
24
  export async function listProcesses(this: Devicectl): Promise<ProcessInfo[]> {
28
- const { stdout } = await this.execute(['device', 'info', 'processes']);
25
+ const {stdout} = await this.execute(['device', 'info', 'processes']);
29
26
  return JSON.parse(stdout).result.runningProcesses;
30
27
  }
@@ -1,16 +1,13 @@
1
1
  import _ from 'lodash';
2
- import type { LaunchAppOptions } from '../types';
3
- import type { Devicectl } from '../devicectl';
2
+ import type {LaunchAppOptions} from '../types';
3
+ import type {Devicectl} from '../devicectl';
4
4
 
5
5
  /**
6
6
  * Simulates memory warning for the process with the given PID
7
7
  */
8
- export async function sendMemoryWarning(
9
- this: Devicectl,
10
- pid: number | string
11
- ): Promise<void> {
8
+ export async function sendMemoryWarning(this: Devicectl, pid: number | string): Promise<void> {
12
9
  await this.execute(['device', 'process', 'sendMemoryWarning'], {
13
- subcommandOptions: ['--pid', `${pid}`]
10
+ subcommandOptions: ['--pid', `${pid}`],
14
11
  });
15
12
  }
16
13
 
@@ -20,10 +17,10 @@ export async function sendMemoryWarning(
20
17
  export async function sendSignalToProcess(
21
18
  this: Devicectl,
22
19
  pid: number | string,
23
- signal: number | string
20
+ signal: number | string,
24
21
  ): Promise<void> {
25
22
  await this.execute(['device', 'process', 'signal'], {
26
- subcommandOptions: ['--signal', `${signal}`, '--pid', `${pid}`]
23
+ subcommandOptions: ['--signal', `${signal}`, '--pid', `${pid}`],
27
24
  });
28
25
  }
29
26
 
@@ -35,12 +32,9 @@ export async function sendSignalToProcess(
35
32
  export async function launchApp(
36
33
  this: Devicectl,
37
34
  bundleId: string,
38
- opts: LaunchAppOptions = {}
35
+ opts: LaunchAppOptions = {},
39
36
  ): Promise<void> {
40
- const {
41
- env,
42
- terminateExisting = false
43
- } = opts;
37
+ const {env, terminateExisting = false} = opts;
44
38
 
45
39
  const subcommandOptions: string[] = [];
46
40
 
@@ -49,7 +43,10 @@ export async function launchApp(
49
43
  }
50
44
 
51
45
  if (!_.isEmpty(env)) {
52
- subcommandOptions.push('--environment-variables', JSON.stringify(_.mapValues(env, (v) => _.toString(v))));
46
+ subcommandOptions.push(
47
+ '--environment-variables',
48
+ JSON.stringify(_.mapValues(env, (v) => _.toString(v))),
49
+ );
53
50
  }
54
51
 
55
52
  // The bundle id should be the last to apply arguments properly.
@@ -58,6 +55,6 @@ export async function launchApp(
58
55
 
59
56
  await this.execute(['device', 'process', 'launch'], {
60
57
  subcommandOptions,
61
- asJson: false
58
+ asJson: false,
62
59
  });
63
60
  }
package/lib/types.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { SubProcess, TeenProcessExecResult } from 'teen_process';
1
+ import {SubProcess, TeenProcessExecResult} from 'teen_process';
2
2
 
3
3
  /**
4
4
  * Information about a running process on the device
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "device",
9
9
  "xcode"
10
10
  ],
11
- "version": "1.0.0",
11
+ "version": "1.0.1",
12
12
  "author": "Appium Contributors",
13
13
  "license": "Apache-2.0",
14
14
  "repository": {
@@ -22,8 +22,8 @@
22
22
  "node": "^20.19.0 || ^22.12.0 || >=24.0.0",
23
23
  "npm": ">=10"
24
24
  },
25
- "main": "./build/index.js",
26
- "types": "./build/index.d.ts",
25
+ "main": "./build/lib/index.js",
26
+ "types": "./build/lib/index.d.ts",
27
27
  "bin": {},
28
28
  "directories": {
29
29
  "lib": "./lib"
@@ -43,6 +43,7 @@
43
43
  "clean": "npm run build -- --clean",
44
44
  "rebuild": "npm run clean; npm run build",
45
45
  "dev": "npm run build -- --watch",
46
+ "format": "prettier -w ./lib",
46
47
  "lint": "eslint .",
47
48
  "lint:fix": "npm run lint -- --fix",
48
49
  "prepare": "npm run build",