@limrun/cli 0.3.0 → 0.4.0
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/README.md +127 -99
- package/bin/run.js +60 -5
- package/dist/base-command.d.ts +6 -0
- package/dist/base-command.d.ts.map +1 -1
- package/dist/base-command.js +28 -7
- package/dist/base-command.js.map +1 -1
- package/dist/commands/android/connect.d.ts +2 -1
- package/dist/commands/android/connect.d.ts.map +1 -1
- package/dist/commands/android/connect.js +13 -4
- package/dist/commands/android/connect.js.map +1 -1
- package/dist/commands/android/create.d.ts +1 -2
- package/dist/commands/android/create.d.ts.map +1 -1
- package/dist/commands/android/create.js +37 -32
- package/dist/commands/android/create.js.map +1 -1
- package/dist/commands/android/delete.d.ts +2 -1
- package/dist/commands/android/delete.d.ts.map +1 -1
- package/dist/commands/android/delete.js +6 -3
- package/dist/commands/android/delete.js.map +1 -1
- package/dist/commands/android/element-tree.d.ts +15 -0
- package/dist/commands/android/element-tree.d.ts.map +1 -0
- package/dist/commands/android/element-tree.js +62 -0
- package/dist/commands/android/element-tree.js.map +1 -0
- package/dist/commands/android/find-element.d.ts +27 -0
- package/dist/commands/android/find-element.d.ts.map +1 -0
- package/dist/commands/android/find-element.js +72 -0
- package/dist/commands/android/find-element.js.map +1 -0
- package/dist/commands/android/get.d.ts +2 -1
- package/dist/commands/android/get.d.ts.map +1 -1
- package/dist/commands/android/get.js +3 -3
- package/dist/commands/android/get.js.map +1 -1
- package/dist/commands/android/install-app.d.ts +17 -0
- package/dist/commands/android/install-app.d.ts.map +1 -0
- package/dist/commands/android/install-app.js +72 -0
- package/dist/commands/android/install-app.js.map +1 -0
- package/dist/commands/android/list.d.ts +2 -0
- package/dist/commands/android/list.d.ts.map +1 -1
- package/dist/commands/android/list.js +17 -5
- package/dist/commands/android/list.js.map +1 -1
- package/dist/commands/android/open-url.d.ts +17 -0
- package/dist/commands/android/open-url.d.ts.map +1 -0
- package/dist/commands/android/open-url.js +53 -0
- package/dist/commands/android/open-url.js.map +1 -0
- package/dist/commands/android/press-key.d.ts +18 -0
- package/dist/commands/android/press-key.d.ts.map +1 -0
- package/dist/commands/android/press-key.js +54 -0
- package/dist/commands/android/press-key.js.map +1 -0
- package/dist/commands/android/record.d.ts +21 -0
- package/dist/commands/android/record.d.ts.map +1 -0
- package/dist/commands/android/record.js +105 -0
- package/dist/commands/android/record.js.map +1 -0
- package/dist/commands/android/screenshot.d.ts +16 -0
- package/dist/commands/android/screenshot.d.ts.map +1 -0
- package/dist/commands/android/screenshot.js +70 -0
- package/dist/commands/android/screenshot.js.map +1 -0
- package/dist/commands/android/scroll.d.ts +31 -0
- package/dist/commands/android/scroll.d.ts.map +1 -0
- package/dist/commands/android/scroll.js +73 -0
- package/dist/commands/android/scroll.js.map +1 -0
- package/dist/commands/android/tap-element.d.ts +26 -0
- package/dist/commands/android/tap-element.d.ts.map +1 -0
- package/dist/commands/android/tap-element.js +62 -0
- package/dist/commands/android/tap-element.js.map +1 -0
- package/dist/commands/android/tap.d.ts +24 -0
- package/dist/commands/android/tap.d.ts.map +1 -0
- package/dist/commands/android/tap.js +57 -0
- package/dist/commands/android/tap.js.map +1 -0
- package/dist/commands/android/type.d.ts +30 -0
- package/dist/commands/android/type.d.ts.map +1 -0
- package/dist/commands/android/type.js +55 -0
- package/dist/commands/android/type.js.map +1 -0
- package/dist/commands/asset/delete.d.ts +2 -1
- package/dist/commands/asset/delete.d.ts.map +1 -1
- package/dist/commands/asset/delete.js +2 -2
- package/dist/commands/asset/delete.js.map +1 -1
- package/dist/commands/asset/list.d.ts +3 -1
- package/dist/commands/asset/list.d.ts.map +1 -1
- package/dist/commands/asset/list.js +22 -6
- package/dist/commands/asset/list.js.map +1 -1
- package/dist/commands/asset/pull.d.ts +2 -1
- package/dist/commands/asset/pull.d.ts.map +1 -1
- package/dist/commands/asset/pull.js +18 -6
- package/dist/commands/asset/pull.js.map +1 -1
- package/dist/commands/asset/push.d.ts +2 -1
- package/dist/commands/asset/push.d.ts.map +1 -1
- package/dist/commands/asset/push.js +5 -6
- package/dist/commands/asset/push.js.map +1 -1
- package/dist/commands/exec/element-tree.d.ts +2 -1
- package/dist/commands/exec/element-tree.d.ts.map +1 -1
- package/dist/commands/exec/element-tree.js +6 -2
- package/dist/commands/exec/element-tree.js.map +1 -1
- package/dist/commands/exec/install-app.d.ts +1 -1
- package/dist/commands/exec/install-app.d.ts.map +1 -1
- package/dist/commands/exec/install-app.js +10 -5
- package/dist/commands/exec/install-app.js.map +1 -1
- package/dist/commands/exec/open-url.d.ts +2 -1
- package/dist/commands/exec/open-url.d.ts.map +1 -1
- package/dist/commands/exec/open-url.js +9 -3
- package/dist/commands/exec/open-url.js.map +1 -1
- package/dist/commands/exec/perform.d.ts +17 -0
- package/dist/commands/exec/perform.d.ts.map +1 -0
- package/dist/commands/exec/perform.js +232 -0
- package/dist/commands/exec/perform.js.map +1 -0
- package/dist/commands/exec/press-key.d.ts +2 -1
- package/dist/commands/exec/press-key.d.ts.map +1 -1
- package/dist/commands/exec/press-key.js +9 -3
- package/dist/commands/exec/press-key.js.map +1 -1
- package/dist/commands/exec/record.d.ts +2 -1
- package/dist/commands/exec/record.d.ts.map +1 -1
- package/dist/commands/exec/record.js +20 -6
- package/dist/commands/exec/record.js.map +1 -1
- package/dist/commands/exec/screenshot.d.ts +2 -1
- package/dist/commands/exec/screenshot.d.ts.map +1 -1
- package/dist/commands/exec/screenshot.js +9 -3
- package/dist/commands/exec/screenshot.js.map +1 -1
- package/dist/commands/exec/scroll.d.ts +2 -1
- package/dist/commands/exec/scroll.d.ts.map +1 -1
- package/dist/commands/exec/scroll.js +7 -4
- package/dist/commands/exec/scroll.js.map +1 -1
- package/dist/commands/exec/tap-element.d.ts +2 -1
- package/dist/commands/exec/tap-element.d.ts.map +1 -1
- package/dist/commands/exec/tap-element.js +16 -6
- package/dist/commands/exec/tap-element.js.map +1 -1
- package/dist/commands/exec/tap.d.ts +2 -1
- package/dist/commands/exec/tap.d.ts.map +1 -1
- package/dist/commands/exec/tap.js +13 -4
- package/dist/commands/exec/tap.js.map +1 -1
- package/dist/commands/exec/type.d.ts +3 -2
- package/dist/commands/exec/type.d.ts.map +1 -1
- package/dist/commands/exec/type.js +12 -6
- package/dist/commands/exec/type.js.map +1 -1
- package/dist/commands/ios/app-log.d.ts +19 -0
- package/dist/commands/ios/app-log.d.ts.map +1 -0
- package/dist/commands/ios/app-log.js +93 -0
- package/dist/commands/ios/app-log.js.map +1 -0
- package/dist/commands/ios/cp.d.ts +18 -0
- package/dist/commands/ios/cp.d.ts.map +1 -0
- package/dist/commands/ios/cp.js +66 -0
- package/dist/commands/ios/cp.js.map +1 -0
- package/dist/commands/ios/create.d.ts +1 -1
- package/dist/commands/ios/create.d.ts.map +1 -1
- package/dist/commands/ios/create.js +55 -24
- package/dist/commands/ios/create.js.map +1 -1
- package/dist/commands/ios/delete.d.ts +2 -1
- package/dist/commands/ios/delete.d.ts.map +1 -1
- package/dist/commands/ios/delete.js +3 -3
- package/dist/commands/ios/delete.js.map +1 -1
- package/dist/commands/ios/element-tree.d.ts +15 -0
- package/dist/commands/ios/element-tree.d.ts.map +1 -0
- package/dist/commands/ios/element-tree.js +59 -0
- package/dist/commands/ios/element-tree.js.map +1 -0
- package/dist/commands/ios/get.d.ts +2 -1
- package/dist/commands/ios/get.d.ts.map +1 -1
- package/dist/commands/ios/get.js +3 -3
- package/dist/commands/ios/get.js.map +1 -1
- package/dist/commands/{delete/index.d.ts → ios/info.d.ts} +6 -5
- package/dist/commands/ios/info.d.ts.map +1 -0
- package/dist/commands/ios/info.js +60 -0
- package/dist/commands/ios/info.js.map +1 -0
- package/dist/commands/ios/install-app.d.ts +19 -0
- package/dist/commands/ios/install-app.d.ts.map +1 -0
- package/dist/commands/ios/install-app.js +99 -0
- package/dist/commands/ios/install-app.js.map +1 -0
- package/dist/commands/ios/launch-app.d.ts +2 -1
- package/dist/commands/ios/launch-app.d.ts.map +1 -1
- package/dist/commands/ios/launch-app.js +5 -3
- package/dist/commands/ios/launch-app.js.map +1 -1
- package/dist/commands/ios/list-apps.d.ts +2 -1
- package/dist/commands/ios/list-apps.d.ts.map +1 -1
- package/dist/commands/ios/list-apps.js +9 -3
- package/dist/commands/ios/list-apps.js.map +1 -1
- package/dist/commands/ios/list.d.ts +2 -0
- package/dist/commands/ios/list.d.ts.map +1 -1
- package/dist/commands/ios/list.js +17 -5
- package/dist/commands/ios/list.js.map +1 -1
- package/dist/commands/ios/log.d.ts +3 -1
- package/dist/commands/ios/log.d.ts.map +1 -1
- package/dist/commands/ios/log.js +31 -8
- package/dist/commands/ios/log.js.map +1 -1
- package/dist/commands/ios/lsof.d.ts +15 -0
- package/dist/commands/ios/lsof.d.ts.map +1 -0
- package/dist/commands/ios/lsof.js +49 -0
- package/dist/commands/ios/lsof.js.map +1 -0
- package/dist/commands/ios/open-url.d.ts +17 -0
- package/dist/commands/ios/open-url.d.ts.map +1 -0
- package/dist/commands/ios/open-url.js +53 -0
- package/dist/commands/ios/open-url.js.map +1 -0
- package/dist/commands/ios/perform.d.ts +17 -0
- package/dist/commands/ios/perform.d.ts.map +1 -0
- package/dist/commands/ios/perform.js +230 -0
- package/dist/commands/ios/perform.js.map +1 -0
- package/dist/commands/ios/press-key.d.ts +18 -0
- package/dist/commands/ios/press-key.d.ts.map +1 -0
- package/dist/commands/ios/press-key.js +54 -0
- package/dist/commands/ios/press-key.js.map +1 -0
- package/dist/commands/ios/record.d.ts +21 -0
- package/dist/commands/ios/record.d.ts.map +1 -0
- package/dist/commands/ios/record.js +106 -0
- package/dist/commands/ios/record.js.map +1 -0
- package/dist/commands/ios/screenshot.d.ts +16 -0
- package/dist/commands/ios/screenshot.d.ts.map +1 -0
- package/dist/commands/ios/screenshot.js +69 -0
- package/dist/commands/ios/screenshot.js.map +1 -0
- package/dist/commands/ios/scroll.d.ts +18 -0
- package/dist/commands/ios/scroll.d.ts.map +1 -0
- package/dist/commands/ios/scroll.js +58 -0
- package/dist/commands/ios/scroll.js.map +1 -0
- package/dist/commands/ios/simctl.d.ts +16 -0
- package/dist/commands/ios/simctl.d.ts.map +1 -0
- package/dist/commands/ios/simctl.js +75 -0
- package/dist/commands/ios/simctl.js.map +1 -0
- package/dist/commands/ios/sync.d.ts +22 -0
- package/dist/commands/ios/sync.d.ts.map +1 -0
- package/dist/commands/ios/sync.js +100 -0
- package/dist/commands/ios/sync.js.map +1 -0
- package/dist/commands/ios/syslog.d.ts +15 -0
- package/dist/commands/ios/syslog.d.ts.map +1 -0
- package/dist/commands/ios/syslog.js +65 -0
- package/dist/commands/ios/syslog.js.map +1 -0
- package/dist/commands/ios/tap-element.d.ts +22 -0
- package/dist/commands/ios/tap-element.d.ts.map +1 -0
- package/dist/commands/ios/tap-element.js +94 -0
- package/dist/commands/ios/tap-element.js.map +1 -0
- package/dist/commands/ios/tap.d.ts +24 -0
- package/dist/commands/ios/tap.d.ts.map +1 -0
- package/dist/commands/ios/tap.js +57 -0
- package/dist/commands/ios/tap.js.map +1 -0
- package/dist/commands/ios/terminate-app.d.ts +2 -1
- package/dist/commands/ios/terminate-app.d.ts.map +1 -1
- package/dist/commands/ios/terminate-app.js +9 -3
- package/dist/commands/ios/terminate-app.js.map +1 -1
- package/dist/commands/ios/type.d.ts +18 -0
- package/dist/commands/ios/type.d.ts.map +1 -0
- package/dist/commands/ios/type.js +55 -0
- package/dist/commands/ios/type.js.map +1 -0
- package/dist/commands/ios/xcodebuild.d.ts +16 -0
- package/dist/commands/ios/xcodebuild.d.ts.map +1 -0
- package/dist/commands/ios/xcodebuild.js +61 -0
- package/dist/commands/ios/xcodebuild.js.map +1 -0
- package/dist/commands/ios/xcrun.d.ts +16 -0
- package/dist/commands/ios/xcrun.d.ts.map +1 -0
- package/dist/commands/ios/xcrun.js +62 -0
- package/dist/commands/ios/xcrun.js.map +1 -0
- package/dist/commands/login.d.ts +8 -2
- package/dist/commands/login.d.ts.map +1 -1
- package/dist/commands/login.js +7 -3
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/logout.d.ts +8 -2
- package/dist/commands/logout.d.ts.map +1 -1
- package/dist/commands/logout.js +7 -3
- package/dist/commands/logout.js.map +1 -1
- package/dist/commands/session/start.d.ts +1 -0
- package/dist/commands/session/start.d.ts.map +1 -1
- package/dist/commands/session/start.js +4 -2
- package/dist/commands/session/start.js.map +1 -1
- package/dist/commands/session/status.d.ts +2 -0
- package/dist/commands/session/status.d.ts.map +1 -1
- package/dist/commands/session/status.js +2 -1
- package/dist/commands/session/status.js.map +1 -1
- package/dist/commands/session/stop.d.ts +5 -2
- package/dist/commands/session/stop.d.ts.map +1 -1
- package/dist/commands/session/stop.js +12 -5
- package/dist/commands/session/stop.js.map +1 -1
- package/dist/commands/{build.d.ts → xcode/build.d.ts} +6 -3
- package/dist/commands/xcode/build.d.ts.map +1 -0
- package/dist/commands/xcode/build.js +117 -0
- package/dist/commands/xcode/build.js.map +1 -0
- package/dist/commands/xcode/create.d.ts +1 -1
- package/dist/commands/xcode/create.d.ts.map +1 -1
- package/dist/commands/xcode/create.js +28 -14
- package/dist/commands/xcode/create.js.map +1 -1
- package/dist/commands/xcode/delete.d.ts +2 -1
- package/dist/commands/xcode/delete.d.ts.map +1 -1
- package/dist/commands/xcode/delete.js +4 -4
- package/dist/commands/xcode/delete.js.map +1 -1
- package/dist/commands/xcode/get.d.ts +2 -1
- package/dist/commands/xcode/get.d.ts.map +1 -1
- package/dist/commands/xcode/get.js +3 -3
- package/dist/commands/xcode/get.js.map +1 -1
- package/dist/commands/xcode/list.d.ts +2 -0
- package/dist/commands/xcode/list.d.ts.map +1 -1
- package/dist/commands/xcode/list.js +16 -4
- package/dist/commands/xcode/list.js.map +1 -1
- package/dist/commands/{sync.d.ts → xcode/sync.d.ts} +6 -3
- package/dist/commands/xcode/sync.d.ts.map +1 -0
- package/dist/commands/xcode/sync.js +107 -0
- package/dist/commands/xcode/sync.js.map +1 -0
- package/dist/lib/android-selector.d.ts +50 -0
- package/dist/lib/android-selector.d.ts.map +1 -0
- package/dist/lib/android-selector.js +103 -0
- package/dist/lib/android-selector.js.map +1 -0
- package/dist/lib/daemon-client.d.ts +1 -1
- package/dist/lib/daemon-client.d.ts.map +1 -1
- package/dist/lib/daemon-client.js +2 -2
- package/dist/lib/daemon-client.js.map +1 -1
- package/dist/lib/daemon.d.ts.map +1 -1
- package/dist/lib/daemon.js +37 -3
- package/dist/lib/daemon.js.map +1 -1
- package/dist/lib/ignore-patterns.d.ts +2 -0
- package/dist/lib/ignore-patterns.d.ts.map +1 -0
- package/dist/lib/ignore-patterns.js +18 -0
- package/dist/lib/ignore-patterns.js.map +1 -0
- package/dist/lib/instance-client-factory.d.ts +1 -1
- package/dist/lib/instance-client-factory.d.ts.map +1 -1
- package/dist/lib/instance-client-factory.js +2 -2
- package/dist/lib/instance-client-factory.js.map +1 -1
- package/package.json +7 -19
- package/dist/commands/build.d.ts.map +0 -1
- package/dist/commands/build.js +0 -93
- package/dist/commands/build.js.map +0 -1
- package/dist/commands/delete/index.d.ts.map +0 -1
- package/dist/commands/delete/index.js +0 -48
- package/dist/commands/delete/index.js.map +0 -1
- package/dist/commands/sync.d.ts.map +0 -1
- package/dist/commands/sync.js +0 -85
- package/dist/commands/sync.js.map +0 -1
|
@@ -0,0 +1,66 @@
|
|
|
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
|
+
const fs_1 = __importDefault(require("fs"));
|
|
7
|
+
const path_1 = __importDefault(require("path"));
|
|
8
|
+
const core_1 = require("@oclif/core");
|
|
9
|
+
const base_command_1 = require("../../base-command");
|
|
10
|
+
const instance_client_factory_1 = require("../../lib/instance-client-factory");
|
|
11
|
+
class IosCp extends base_command_1.BaseCommand {
|
|
12
|
+
async run() {
|
|
13
|
+
const { args, flags } = await this.parse(IosCp);
|
|
14
|
+
this.setParsedFlags(flags);
|
|
15
|
+
await this.withAuth(async () => {
|
|
16
|
+
const id = this.resolveId(flags.id);
|
|
17
|
+
if ((0, instance_client_factory_1.detectInstanceType)(id) !== 'ios') {
|
|
18
|
+
this.error('ios cp only supports iOS instances');
|
|
19
|
+
}
|
|
20
|
+
const localPath = path_1.default.resolve(args.path);
|
|
21
|
+
if (!fs_1.default.existsSync(localPath)) {
|
|
22
|
+
this.error(`File not found: ${localPath}`);
|
|
23
|
+
}
|
|
24
|
+
const { type, client, disconnect } = await (0, instance_client_factory_1.getInstanceClient)(this.client, id);
|
|
25
|
+
try {
|
|
26
|
+
if (type !== 'ios') {
|
|
27
|
+
this.error('ios cp only supports iOS instances');
|
|
28
|
+
}
|
|
29
|
+
const sandboxPath = await client.cp(args.name, localPath);
|
|
30
|
+
if (flags.json) {
|
|
31
|
+
this.outputJson({ sandboxPath });
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
this.output(sandboxPath);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
finally {
|
|
38
|
+
disconnect();
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
IosCp.summary = 'Copy a local file into the iOS sandbox';
|
|
44
|
+
IosCp.description = 'Upload a local file into the simulator sandbox and return the remote path that can be used by follow-up commands such as `ios simctl`.';
|
|
45
|
+
IosCp.examples = [
|
|
46
|
+
'<%= config.bin %> ios cp test.txt ./fixtures/test.txt',
|
|
47
|
+
'<%= config.bin %> ios cp input.json ./payloads/input.json --json',
|
|
48
|
+
];
|
|
49
|
+
IosCp.args = {
|
|
50
|
+
name: core_1.Args.string({
|
|
51
|
+
description: 'Filename to use inside the simulator sandbox.',
|
|
52
|
+
required: true,
|
|
53
|
+
}),
|
|
54
|
+
path: core_1.Args.string({
|
|
55
|
+
description: 'Local file path to upload into the simulator sandbox.',
|
|
56
|
+
required: true,
|
|
57
|
+
}),
|
|
58
|
+
};
|
|
59
|
+
IosCp.flags = {
|
|
60
|
+
...base_command_1.BaseCommand.baseFlags,
|
|
61
|
+
id: core_1.Flags.string({
|
|
62
|
+
description: 'iOS instance ID to target. Defaults to the last created iOS instance.',
|
|
63
|
+
}),
|
|
64
|
+
};
|
|
65
|
+
exports.default = IosCp;
|
|
66
|
+
//# sourceMappingURL=cp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cp.js","sourceRoot":"","sources":["../../../src/commands/ios/cp.ts"],"names":[],"mappings":";;;;;AAAA,4CAAoB;AACpB,gDAAwB;AACxB,sCAA0C;AAC1C,qDAAiD;AACjD,+EAA0F;AAE1F,MAAqB,KAAM,SAAQ,0BAAW;IA2B5C,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAE3B,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YAC7B,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACpC,IAAI,IAAA,4CAAkB,EAAC,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC;gBACrC,IAAI,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;YACnD,CAAC;YAED,MAAM,SAAS,GAAG,cAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC9B,IAAI,CAAC,KAAK,CAAC,mBAAmB,SAAS,EAAE,CAAC,CAAC;YAC7C,CAAC;YAED,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,IAAA,2CAAiB,EAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAC9E,IAAI,CAAC;gBACH,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;oBACnB,IAAI,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;gBACnD,CAAC;gBAED,MAAM,WAAW,GAAG,MAAO,MAAc,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;gBACnE,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;oBACf,IAAI,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;gBACnC,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC;oBAAS,CAAC;gBACT,UAAU,EAAE,CAAC;YACf,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;;AAzDM,aAAO,GAAG,wCAAwC,CAAC;AACnD,iBAAW,GAChB,wIAAwI,CAAC;AACpI,cAAQ,GAAG;IAChB,uDAAuD;IACvD,kEAAkE;CACnE,CAAC;AAEK,UAAI,GAAG;IACZ,IAAI,EAAE,WAAI,CAAC,MAAM,CAAC;QAChB,WAAW,EAAE,+CAA+C;QAC5D,QAAQ,EAAE,IAAI;KACf,CAAC;IACF,IAAI,EAAE,WAAI,CAAC,MAAM,CAAC;QAChB,WAAW,EAAE,uDAAuD;QACpE,QAAQ,EAAE,IAAI;KACf,CAAC;CACH,CAAC;AAEK,WAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;IACxB,EAAE,EAAE,YAAK,CAAC,MAAM,CAAC;QACf,WAAW,EAAE,uEAAuE;KACrF,CAAC;CACH,CAAC;kBAzBiB,KAAK"}
|
|
@@ -2,7 +2,6 @@ import { BaseCommand } from '../../base-command';
|
|
|
2
2
|
export default class IosCreate extends BaseCommand {
|
|
3
3
|
static summary: string;
|
|
4
4
|
static description: string;
|
|
5
|
-
static aliases: string[];
|
|
6
5
|
static examples: string[];
|
|
7
6
|
static flags: {
|
|
8
7
|
rm: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
@@ -18,6 +17,7 @@ export default class IosCreate extends BaseCommand {
|
|
|
18
17
|
xcode: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
19
18
|
'api-key': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
20
19
|
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
20
|
+
quiet: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
21
21
|
};
|
|
22
22
|
run(): Promise<void>;
|
|
23
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/commands/ios/create.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/commands/ios/create.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AASjD,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,WAAW;IAChD,MAAM,CAAC,OAAO,SAA+B;IAC7C,MAAM,CAAC,WAAW,SACiK;IAEnL,MAAM,CAAC,QAAQ,WAKb;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;;;;;;MAqCV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAsG3B"}
|
|
@@ -8,6 +8,9 @@ const core_1 = require("@oclif/core");
|
|
|
8
8
|
const base_command_1 = require("../../base-command");
|
|
9
9
|
const formatting_1 = require("../../lib/formatting");
|
|
10
10
|
const config_1 = require("../../lib/config");
|
|
11
|
+
function xcodeSandboxIdFromUrl(url) {
|
|
12
|
+
return url.match(/\/(sandbox_[^/]+)(?:\/|$)/)?.[1];
|
|
13
|
+
}
|
|
11
14
|
class IosCreate extends base_command_1.BaseCommand {
|
|
12
15
|
async run() {
|
|
13
16
|
const { flags } = await this.parse(IosCreate);
|
|
@@ -19,11 +22,11 @@ class IosCreate extends base_command_1.BaseCommand {
|
|
|
19
22
|
for (const filePath of flags.install) {
|
|
20
23
|
const resolved = path_1.default.resolve(filePath);
|
|
21
24
|
const name = path_1.default.basename(resolved);
|
|
22
|
-
this.
|
|
25
|
+
this.info(`Uploading ${name}...`);
|
|
23
26
|
const asset = await this.client.assets.getOrUpload({ path: resolved, name });
|
|
24
27
|
assetNames.push(asset.name);
|
|
25
28
|
}
|
|
26
|
-
this.
|
|
29
|
+
this.info(`Successfully uploaded ${flags.install.length} file(s)`);
|
|
27
30
|
}
|
|
28
31
|
// Build params
|
|
29
32
|
const params = {
|
|
@@ -59,33 +62,44 @@ class IosCreate extends base_command_1.BaseCommand {
|
|
|
59
62
|
}
|
|
60
63
|
const start = Date.now();
|
|
61
64
|
const instance = await this.client.iosInstances.create(params);
|
|
65
|
+
const consoleUrl = this.consoleStreamUrl(instance.metadata.id);
|
|
66
|
+
const xcodeSandboxUrl = instance.status.sandbox?.xcode?.url;
|
|
67
|
+
const xcodeSandboxId = xcodeSandboxUrl ? xcodeSandboxIdFromUrl(xcodeSandboxUrl) : undefined;
|
|
62
68
|
(0, config_1.saveLastInstanceId)(instance.metadata.id);
|
|
63
|
-
this.
|
|
64
|
-
this.
|
|
65
|
-
this.
|
|
66
|
-
this.
|
|
67
|
-
this.
|
|
68
|
-
|
|
69
|
-
|
|
69
|
+
this.info(`Created a new iOS instance in ${((Date.now() - start) / 1000).toFixed(1)}s`);
|
|
70
|
+
this.info('iOS Instance:');
|
|
71
|
+
this.info(` ID: ${instance.metadata.id}`);
|
|
72
|
+
this.info(` Console URL: ${consoleUrl}`);
|
|
73
|
+
this.info(` Region: ${instance.spec.region}`);
|
|
74
|
+
this.info(` State: ${instance.status.state}`);
|
|
75
|
+
if (xcodeSandboxUrl) {
|
|
76
|
+
this.info('Xcode Sandbox:');
|
|
77
|
+
if (xcodeSandboxId) {
|
|
78
|
+
this.info(` ID: ${xcodeSandboxId}`);
|
|
79
|
+
}
|
|
80
|
+
this.info(` URL: ${xcodeSandboxUrl}`);
|
|
70
81
|
(0, config_1.saveInstanceCache)(instance.metadata.id, {
|
|
71
|
-
sandboxXcodeUrl:
|
|
82
|
+
sandboxXcodeUrl: xcodeSandboxUrl,
|
|
72
83
|
token: instance.status.token,
|
|
73
84
|
});
|
|
74
85
|
}
|
|
75
86
|
if (flags.json) {
|
|
76
87
|
this.outputJson(instance);
|
|
77
88
|
}
|
|
89
|
+
else if (this.isQuietEnabled()) {
|
|
90
|
+
this.output(instance.metadata.id);
|
|
91
|
+
}
|
|
78
92
|
if (flags.rm) {
|
|
79
93
|
const cleanup = async () => {
|
|
80
94
|
try {
|
|
81
95
|
await this.client.iosInstances.delete(instance.metadata.id);
|
|
82
|
-
this.
|
|
96
|
+
this.info(`${instance.metadata.id} is deleted`);
|
|
83
97
|
}
|
|
84
98
|
catch (e) {
|
|
85
|
-
this.
|
|
99
|
+
this.info(`Failed to delete instance: ${e}`);
|
|
86
100
|
}
|
|
87
101
|
};
|
|
88
|
-
this.
|
|
102
|
+
this.info('Instance running. Press Ctrl+C to stop and delete.');
|
|
89
103
|
await new Promise((resolve) => {
|
|
90
104
|
const keepAlive = setInterval(() => { }, 1 << 30);
|
|
91
105
|
const shutdown = () => {
|
|
@@ -101,32 +115,49 @@ class IosCreate extends base_command_1.BaseCommand {
|
|
|
101
115
|
}
|
|
102
116
|
}
|
|
103
117
|
IosCreate.summary = 'Create a new iOS instance';
|
|
104
|
-
IosCreate.description = '
|
|
105
|
-
IosCreate.aliases = ['run ios'];
|
|
118
|
+
IosCreate.description = 'Create a new cloud iOS simulator instance and wait for it to become ready. You can attach labels, install apps, choose a device model, and optionally enable an Xcode sandbox.';
|
|
106
119
|
IosCreate.examples = [
|
|
107
120
|
'<%= config.bin %> ios create',
|
|
108
121
|
'<%= config.bin %> ios create --rm --model ipad',
|
|
109
122
|
'<%= config.bin %> ios create --region us-west --install-asset my-app.ipa',
|
|
123
|
+
'<%= config.bin %> ios create --install ./MyApp.ipa --xcode',
|
|
110
124
|
];
|
|
111
125
|
IosCreate.flags = {
|
|
112
126
|
...base_command_1.BaseCommand.baseFlags,
|
|
113
|
-
rm: core_1.Flags.boolean({
|
|
114
|
-
|
|
115
|
-
|
|
127
|
+
rm: core_1.Flags.boolean({
|
|
128
|
+
description: 'Delete the instance automatically when this CLI process exits',
|
|
129
|
+
default: false,
|
|
130
|
+
}),
|
|
131
|
+
'display-name': core_1.Flags.string({
|
|
132
|
+
description: 'Human-friendly display name shown in listings and the console',
|
|
133
|
+
}),
|
|
134
|
+
region: core_1.Flags.string({ description: 'Region where the instance should be created, such as us-west' }),
|
|
116
135
|
'hard-timeout': core_1.Flags.string({ description: 'Hard timeout (e.g. 1m, 10m, 3h). Default: no timeout' }),
|
|
117
136
|
'inactivity-timeout': core_1.Flags.string({ description: 'Inactivity timeout (e.g. 1m, 10m, 3h). Default: 3m' }),
|
|
118
|
-
label: core_1.Flags.string({
|
|
137
|
+
label: core_1.Flags.string({
|
|
138
|
+
description: 'Metadata label in key=value format. Repeat to attach multiple labels.',
|
|
139
|
+
multiple: true,
|
|
140
|
+
}),
|
|
119
141
|
model: core_1.Flags.string({
|
|
120
|
-
description: 'Device model
|
|
142
|
+
description: 'Device model to create',
|
|
121
143
|
options: ['iphone', 'ipad', 'watch'],
|
|
122
144
|
}),
|
|
123
145
|
'reuse-if-exists': core_1.Flags.boolean({
|
|
124
|
-
description: 'Reuse existing instance
|
|
146
|
+
description: 'Reuse an existing matching instance instead of creating a new one',
|
|
147
|
+
default: false,
|
|
148
|
+
}),
|
|
149
|
+
'install-asset': core_1.Flags.string({
|
|
150
|
+
description: 'Existing asset name to install onto the instance after creation',
|
|
151
|
+
multiple: true,
|
|
152
|
+
}),
|
|
153
|
+
install: core_1.Flags.string({
|
|
154
|
+
description: 'Local app file to upload and install automatically after creation. Repeat for multiple files.',
|
|
155
|
+
multiple: true,
|
|
156
|
+
}),
|
|
157
|
+
xcode: core_1.Flags.boolean({
|
|
158
|
+
description: 'Enable an attached Xcode sandbox for build and sync workflows',
|
|
125
159
|
default: false,
|
|
126
160
|
}),
|
|
127
|
-
'install-asset': core_1.Flags.string({ description: 'Asset name to install', multiple: true }),
|
|
128
|
-
install: core_1.Flags.string({ description: 'Local file to install (auto-uploads if needed)', multiple: true }),
|
|
129
|
-
xcode: core_1.Flags.boolean({ description: 'Enable Xcode sandbox on this iOS instance', default: false }),
|
|
130
161
|
};
|
|
131
162
|
exports.default = IosCreate;
|
|
132
163
|
//# sourceMappingURL=create.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/ios/create.ts"],"names":[],"mappings":";;;;;AAAA,gDAAwB;AACxB,sCAAoC;AACpC,qDAAiD;AACjD,qDAAmD;AACnD,6CAAyE;AAGzE,MAAqB,SAAU,SAAQ,0BAAW;
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/ios/create.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { BaseCommand } from '../../base-command';
|
|
2
2
|
export default class IosDelete extends BaseCommand {
|
|
3
3
|
static summary: string;
|
|
4
|
-
static
|
|
4
|
+
static description: string;
|
|
5
5
|
static examples: string[];
|
|
6
6
|
static args: {
|
|
7
7
|
id: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
|
|
@@ -9,6 +9,7 @@ export default class IosDelete extends BaseCommand {
|
|
|
9
9
|
static flags: {
|
|
10
10
|
'api-key': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
11
11
|
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
12
|
+
quiet: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
12
13
|
};
|
|
13
14
|
run(): Promise<void>;
|
|
14
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/commands/ios/delete.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,WAAW;IAChD,MAAM,CAAC,OAAO,SAA4B;IAC1C,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/commands/ios/delete.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,WAAW;IAChD,MAAM,CAAC,OAAO,SAA4B;IAC1C,MAAM,CAAC,WAAW,SAAwF;IAC1G,MAAM,CAAC,QAAQ,WAAoF;IAEnG,MAAM,CAAC,IAAI;;MAET;IAEF,MAAM,CAAC,KAAK;;;;MAAgC;IAEtC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAU3B"}
|
|
@@ -15,10 +15,10 @@ class IosDelete extends base_command_1.BaseCommand {
|
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
17
|
IosDelete.summary = 'Delete an iOS instance';
|
|
18
|
-
IosDelete.
|
|
19
|
-
IosDelete.examples = ['<%= config.bin %> ios delete <ID>'];
|
|
18
|
+
IosDelete.description = 'Delete an existing iOS instance by ID and remove any cached local metadata for it.';
|
|
19
|
+
IosDelete.examples = ['<%= config.bin %> ios delete <ID>', '<%= config.bin %> ios delete ios_abc123'];
|
|
20
20
|
IosDelete.args = {
|
|
21
|
-
id: core_1.Args.string({ description: '
|
|
21
|
+
id: core_1.Args.string({ description: 'iOS instance ID to delete', required: true }),
|
|
22
22
|
};
|
|
23
23
|
IosDelete.flags = { ...base_command_1.BaseCommand.baseFlags };
|
|
24
24
|
exports.default = IosDelete;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/commands/ios/delete.ts"],"names":[],"mappings":";;AAAA,sCAAmC;AACnC,qDAAiD;AACjD,6CAAsD;AAEtD,MAAqB,SAAU,SAAQ,0BAAW;IAWhD,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACpD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAE3B,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YAC7B,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC/C,IAAA,2BAAkB,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC5B,IAAI,CAAC,GAAG,CAAC,yBAAyB,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC;;AAnBM,iBAAO,GAAG,wBAAwB,CAAC;AACnC,
|
|
1
|
+
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/commands/ios/delete.ts"],"names":[],"mappings":";;AAAA,sCAAmC;AACnC,qDAAiD;AACjD,6CAAsD;AAEtD,MAAqB,SAAU,SAAQ,0BAAW;IAWhD,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACpD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAE3B,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YAC7B,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC/C,IAAA,2BAAkB,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC5B,IAAI,CAAC,GAAG,CAAC,yBAAyB,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC;;AAnBM,iBAAO,GAAG,wBAAwB,CAAC;AACnC,qBAAW,GAAG,oFAAoF,CAAC;AACnG,kBAAQ,GAAG,CAAC,mCAAmC,EAAE,yCAAyC,CAAC,CAAC;AAE5F,cAAI,GAAG;IACZ,EAAE,EAAE,WAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,2BAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;CAC9E,CAAC;AAEK,eAAK,GAAG,EAAE,GAAG,0BAAW,CAAC,SAAS,EAAE,CAAC;kBATzB,SAAS"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { BaseCommand } from '../../base-command';
|
|
2
|
+
export default class IosElementTree extends BaseCommand {
|
|
3
|
+
static summary: string;
|
|
4
|
+
static description: string;
|
|
5
|
+
static examples: string[];
|
|
6
|
+
static args: {};
|
|
7
|
+
static flags: {
|
|
8
|
+
id: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
9
|
+
'api-key': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
10
|
+
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
11
|
+
quiet: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
12
|
+
};
|
|
13
|
+
run(): Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=element-tree.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"element-tree.d.ts","sourceRoot":"","sources":["../../../src/commands/ios/element-tree.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAQjD,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,WAAW;IACrD,MAAM,CAAC,OAAO,SAAyD;IACvE,MAAM,CAAC,WAAW,SACwJ;IAC1K,MAAM,CAAC,QAAQ,WAIb;IAEF,MAAM,CAAC,IAAI,KAAM;IAEjB,MAAM,CAAC,KAAK;;;;;MAKV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAoC3B"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const core_1 = require("@oclif/core");
|
|
4
|
+
const base_command_1 = require("../../base-command");
|
|
5
|
+
const instance_client_factory_1 = require("../../lib/instance-client-factory");
|
|
6
|
+
class IosElementTree extends base_command_1.BaseCommand {
|
|
7
|
+
async run() {
|
|
8
|
+
const { flags } = await this.parse(IosElementTree);
|
|
9
|
+
this.setParsedFlags(flags);
|
|
10
|
+
await this.withAuth(async () => {
|
|
11
|
+
const id = this.resolveId(flags.id);
|
|
12
|
+
if ((0, instance_client_factory_1.detectInstanceType)(id) !== 'ios') {
|
|
13
|
+
this.error('ios element-tree only supports iOS instances');
|
|
14
|
+
}
|
|
15
|
+
if ((0, instance_client_factory_1.hasActiveSession)(id)) {
|
|
16
|
+
const tree = await (0, instance_client_factory_1.sendSessionCommand)(id, 'element-tree');
|
|
17
|
+
if (flags.json) {
|
|
18
|
+
this.outputJson(tree);
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
this.log(typeof tree === 'string' ? tree : JSON.stringify(tree, null, 2));
|
|
22
|
+
}
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
const { type, client, disconnect } = await (0, instance_client_factory_1.getInstanceClient)(this.client, id);
|
|
26
|
+
try {
|
|
27
|
+
if (type !== 'ios') {
|
|
28
|
+
this.error('ios element-tree only supports iOS instances');
|
|
29
|
+
}
|
|
30
|
+
const tree = await client.elementTree();
|
|
31
|
+
if (flags.json) {
|
|
32
|
+
this.outputJson(tree);
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
this.log(typeof tree === 'string' ? tree : JSON.stringify(tree, null, 2));
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
finally {
|
|
39
|
+
disconnect();
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
IosElementTree.summary = 'Get the UI element tree from a running iOS instance';
|
|
45
|
+
IosElementTree.description = 'Inspect the current accessibility hierarchy of a running iOS instance. Use `--json` for structured output that agents can search or feed into later automation steps.';
|
|
46
|
+
IosElementTree.examples = [
|
|
47
|
+
'<%= config.bin %> ios element-tree',
|
|
48
|
+
'<%= config.bin %> ios element-tree --id <instance-ID>',
|
|
49
|
+
'<%= config.bin %> ios element-tree --json',
|
|
50
|
+
];
|
|
51
|
+
IosElementTree.args = {};
|
|
52
|
+
IosElementTree.flags = {
|
|
53
|
+
...base_command_1.BaseCommand.baseFlags,
|
|
54
|
+
id: core_1.Flags.string({
|
|
55
|
+
description: 'iOS instance ID to inspect. Defaults to the last created iOS instance.',
|
|
56
|
+
}),
|
|
57
|
+
};
|
|
58
|
+
exports.default = IosElementTree;
|
|
59
|
+
//# sourceMappingURL=element-tree.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"element-tree.js","sourceRoot":"","sources":["../../../src/commands/ios/element-tree.ts"],"names":[],"mappings":";;AAAA,sCAAoC;AACpC,qDAAiD;AACjD,+EAK2C;AAE3C,MAAqB,cAAe,SAAQ,0BAAW;IAmBrD,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACnD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAE3B,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YAC7B,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACpC,IAAI,IAAA,4CAAkB,EAAC,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC;gBACrC,IAAI,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;YAC7D,CAAC;YAED,IAAI,IAAA,0CAAgB,EAAC,EAAE,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAI,GAAG,MAAM,IAAA,4CAAkB,EAAC,EAAE,EAAE,cAAc,CAAC,CAAC;gBAC1D,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;oBACf,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBACxB,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC5E,CAAC;gBACD,OAAO;YACT,CAAC;YAED,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,IAAA,2CAAiB,EAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAC9E,IAAI,CAAC;gBACH,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;oBACnB,IAAI,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;gBAC7D,CAAC;gBACD,MAAM,IAAI,GAAG,MAAO,MAAc,CAAC,WAAW,EAAE,CAAC;gBACjD,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;oBACf,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBACxB,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC5E,CAAC;YACH,CAAC;oBAAS,CAAC;gBACT,UAAU,EAAE,CAAC;YACf,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;;AArDM,sBAAO,GAAG,qDAAqD,CAAC;AAChE,0BAAW,GAChB,uKAAuK,CAAC;AACnK,uBAAQ,GAAG;IAChB,oCAAoC;IACpC,uDAAuD;IACvD,2CAA2C;CAC5C,CAAC;AAEK,mBAAI,GAAG,EAAE,CAAC;AAEV,oBAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;IACxB,EAAE,EAAE,YAAK,CAAC,MAAM,CAAC;QACf,WAAW,EAAE,wEAAwE;KACtF,CAAC;CACH,CAAC;kBAjBiB,cAAc"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { BaseCommand } from '../../base-command';
|
|
2
2
|
export default class IosGet extends BaseCommand {
|
|
3
3
|
static summary: string;
|
|
4
|
-
static
|
|
4
|
+
static description: string;
|
|
5
5
|
static examples: string[];
|
|
6
6
|
static args: {
|
|
7
7
|
id: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
|
|
@@ -9,6 +9,7 @@ export default class IosGet extends BaseCommand {
|
|
|
9
9
|
static flags: {
|
|
10
10
|
'api-key': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
11
11
|
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
12
|
+
quiet: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
12
13
|
};
|
|
13
14
|
run(): Promise<void>;
|
|
14
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../src/commands/ios/get.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,WAAW;IAC7C,MAAM,CAAC,OAAO,SAA6C;IAC3D,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../src/commands/ios/get.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,WAAW;IAC7C,MAAM,CAAC,OAAO,SAA6C;IAC3D,MAAM,CAAC,WAAW,SAC+H;IACjJ,MAAM,CAAC,QAAQ,WAA+E;IAE9F,MAAM,CAAC,IAAI;;MAET;IAEF,MAAM,CAAC,KAAK;;;;MAAgC;IAEtC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAqB3B"}
|
package/dist/commands/ios/get.js
CHANGED
|
@@ -23,10 +23,10 @@ class IosGet extends base_command_1.BaseCommand {
|
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
IosGet.summary = 'Get details for a specific iOS instance';
|
|
26
|
-
IosGet.
|
|
27
|
-
IosGet.examples = ['<%= config.bin %> ios get <ID>'];
|
|
26
|
+
IosGet.description = 'Fetch detailed metadata for a single iOS instance, including region, state, and display name. Use `--json` to inspect the full API response.';
|
|
27
|
+
IosGet.examples = ['<%= config.bin %> ios get <ID>', '<%= config.bin %> ios get <ID> --json'];
|
|
28
28
|
IosGet.args = {
|
|
29
|
-
id: core_1.Args.string({ description: '
|
|
29
|
+
id: core_1.Args.string({ description: 'iOS instance ID to fetch', required: true }),
|
|
30
30
|
};
|
|
31
31
|
IosGet.flags = { ...base_command_1.BaseCommand.baseFlags };
|
|
32
32
|
exports.default = IosGet;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../../src/commands/ios/get.ts"],"names":[],"mappings":";;AAAA,sCAAmC;AACnC,qDAAiD;AAEjD,MAAqB,MAAO,SAAQ,0BAAW;
|
|
1
|
+
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../../src/commands/ios/get.ts"],"names":[],"mappings":";;AAAA,sCAAmC;AACnC,qDAAiD;AAEjD,MAAqB,MAAO,SAAQ,0BAAW;IAY7C,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAE3B,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YAC7B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC7D,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBACf,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,WAAW,CACd,CAAC,OAAO,EAAE,OAAO,CAAC,EAClB;oBACE,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC5B,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,WAAW,IAAI,EAAE,CAAC;oBAC7C,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;oBAChC,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC;iBACjC,CACF,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;;AA/BM,cAAO,GAAG,yCAAyC,CAAC;AACpD,kBAAW,GAChB,8IAA8I,CAAC;AAC1I,eAAQ,GAAG,CAAC,gCAAgC,EAAE,uCAAuC,CAAC,CAAC;AAEvF,WAAI,GAAG;IACZ,EAAE,EAAE,WAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,0BAA0B,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;CAC7E,CAAC;AAEK,YAAK,GAAG,EAAE,GAAG,0BAAW,CAAC,SAAS,EAAE,CAAC;kBAVzB,MAAM"}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import { BaseCommand } from '../../base-command';
|
|
2
|
-
export default class
|
|
2
|
+
export default class IosInfo extends BaseCommand {
|
|
3
3
|
static summary: string;
|
|
4
|
+
static description: string;
|
|
4
5
|
static examples: string[];
|
|
5
|
-
static args: {
|
|
6
|
-
id: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
|
|
7
|
-
};
|
|
6
|
+
static args: {};
|
|
8
7
|
static flags: {
|
|
8
|
+
id: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
9
9
|
'api-key': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
10
10
|
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
11
|
+
quiet: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
11
12
|
};
|
|
12
13
|
run(): Promise<void>;
|
|
13
14
|
}
|
|
14
|
-
//# sourceMappingURL=
|
|
15
|
+
//# sourceMappingURL=info.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"info.d.ts","sourceRoot":"","sources":["../../../src/commands/ios/info.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAejD,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,WAAW;IAC9C,MAAM,CAAC,OAAO,SAAwD;IACtE,MAAM,CAAC,WAAW,SAC0L;IAC5M,MAAM,CAAC,QAAQ,WAIb;IAEF,MAAM,CAAC,IAAI,KAAM;IAEjB,MAAM,CAAC,KAAK;;;;;MAKV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAwC3B"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const core_1 = require("@oclif/core");
|
|
4
|
+
const base_command_1 = require("../../base-command");
|
|
5
|
+
const instance_client_factory_1 = require("../../lib/instance-client-factory");
|
|
6
|
+
class IosInfo extends base_command_1.BaseCommand {
|
|
7
|
+
async run() {
|
|
8
|
+
const { flags } = await this.parse(IosInfo);
|
|
9
|
+
this.setParsedFlags(flags);
|
|
10
|
+
await this.withAuth(async () => {
|
|
11
|
+
const id = this.resolveId(flags.id);
|
|
12
|
+
if ((0, instance_client_factory_1.detectInstanceType)(id) !== 'ios') {
|
|
13
|
+
this.error('info is only supported on iOS instances');
|
|
14
|
+
}
|
|
15
|
+
let info;
|
|
16
|
+
if ((0, instance_client_factory_1.hasActiveSession)(id)) {
|
|
17
|
+
info = (await (0, instance_client_factory_1.sendSessionCommand)(id, 'device-info'));
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
const { type, client, disconnect } = await (0, instance_client_factory_1.getInstanceClient)(this.client, id);
|
|
21
|
+
try {
|
|
22
|
+
if (type !== 'ios') {
|
|
23
|
+
this.error('info is only supported on iOS instances');
|
|
24
|
+
}
|
|
25
|
+
info = client.deviceInfo;
|
|
26
|
+
}
|
|
27
|
+
finally {
|
|
28
|
+
disconnect();
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
if (flags.json) {
|
|
32
|
+
this.outputJson(info);
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
this.outputTable(['Field', 'Value'], [
|
|
36
|
+
['UDID', info.udid],
|
|
37
|
+
['Model', info.model],
|
|
38
|
+
['Screen Width', String(info.screenWidth)],
|
|
39
|
+
['Screen Height', String(info.screenHeight)],
|
|
40
|
+
]);
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
IosInfo.summary = 'Get device information from a running iOS instance';
|
|
46
|
+
IosInfo.description = 'Show basic simulator metadata for a running iOS instance, including UDID, model, and screen dimensions. This is useful when building coordinate-based automation or debugging device-specific behavior.';
|
|
47
|
+
IosInfo.examples = [
|
|
48
|
+
'<%= config.bin %> ios info',
|
|
49
|
+
'<%= config.bin %> ios info --id <instance-ID>',
|
|
50
|
+
'<%= config.bin %> ios info --json',
|
|
51
|
+
];
|
|
52
|
+
IosInfo.args = {};
|
|
53
|
+
IosInfo.flags = {
|
|
54
|
+
...base_command_1.BaseCommand.baseFlags,
|
|
55
|
+
id: core_1.Flags.string({
|
|
56
|
+
description: 'iOS instance ID to inspect. Defaults to the last created iOS instance.',
|
|
57
|
+
}),
|
|
58
|
+
};
|
|
59
|
+
exports.default = IosInfo;
|
|
60
|
+
//# sourceMappingURL=info.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../../src/commands/ios/info.ts"],"names":[],"mappings":";;AAAA,sCAAoC;AACpC,qDAAiD;AACjD,+EAK2C;AAS3C,MAAqB,OAAQ,SAAQ,0BAAW;IAmB9C,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAE3B,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YAC7B,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACpC,IAAI,IAAA,4CAAkB,EAAC,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC;gBACrC,IAAI,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;YACxD,CAAC;YAED,IAAI,IAAgB,CAAC;YACrB,IAAI,IAAA,0CAAgB,EAAC,EAAE,CAAC,EAAE,CAAC;gBACzB,IAAI,GAAG,CAAC,MAAM,IAAA,4CAAkB,EAAC,EAAE,EAAE,aAAa,CAAC,CAAe,CAAC;YACrE,CAAC;iBAAM,CAAC;gBACN,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,IAAA,2CAAiB,EAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBAC9E,IAAI,CAAC;oBACH,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;wBACnB,IAAI,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;oBACxD,CAAC;oBACD,IAAI,GAAI,MAAgD,CAAC,UAAU,CAAC;gBACtE,CAAC;wBAAS,CAAC;oBACT,UAAU,EAAE,CAAC;gBACf,CAAC;YACH,CAAC;YAED,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBACf,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACxB,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,WAAW,CACd,CAAC,OAAO,EAAE,OAAO,CAAC,EAClB;oBACE,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC;oBACnB,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC;oBACrB,CAAC,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBAC1C,CAAC,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;iBAC7C,CACF,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;;AAzDM,eAAO,GAAG,oDAAoD,CAAC;AAC/D,mBAAW,GAChB,yMAAyM,CAAC;AACrM,gBAAQ,GAAG;IAChB,4BAA4B;IAC5B,+CAA+C;IAC/C,mCAAmC;CACpC,CAAC;AAEK,YAAI,GAAG,EAAE,CAAC;AAEV,aAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;IACxB,EAAE,EAAE,YAAK,CAAC,MAAM,CAAC;QACf,WAAW,EAAE,wEAAwE;KACtF,CAAC;CACH,CAAC;kBAjBiB,OAAO"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { BaseCommand } from '../../base-command';
|
|
2
|
+
export default class IosInstallApp extends BaseCommand {
|
|
3
|
+
static summary: string;
|
|
4
|
+
static description: string;
|
|
5
|
+
static examples: string[];
|
|
6
|
+
static args: {
|
|
7
|
+
path_or_url: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
|
|
8
|
+
};
|
|
9
|
+
static flags: {
|
|
10
|
+
id: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
11
|
+
md5: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
12
|
+
'launch-mode': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
13
|
+
'api-key': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
14
|
+
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
15
|
+
quiet: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
16
|
+
};
|
|
17
|
+
run(): Promise<void>;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=install-app.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install-app.d.ts","sourceRoot":"","sources":["../../../src/commands/ios/install-app.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAQjD,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,WAAW;IACpD,MAAM,CAAC,OAAO,SAA8C;IAC5D,MAAM,CAAC,WAAW,SACuJ;IAEzK,MAAM,CAAC,QAAQ,WAMb;IAEF,MAAM,CAAC,IAAI;;MAKT;IAEF,MAAM,CAAC,KAAK;;;;;;;MAYV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA4D3B"}
|