lim 0.29.1 → 0.29.3
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 +8 -4
- package/dist/commands/android/adb-shell.d.ts +19 -0
- package/dist/commands/android/adb-shell.d.ts.map +1 -0
- package/dist/commands/android/adb-shell.js +68 -0
- package/dist/commands/android/adb-shell.js.map +1 -0
- package/dist/commands/android/create.d.ts +1 -0
- package/dist/commands/android/create.d.ts.map +1 -1
- package/dist/commands/android/create.js +7 -0
- package/dist/commands/android/create.js.map +1 -1
- package/dist/commands/android/pull-file.d.ts +21 -0
- package/dist/commands/android/pull-file.d.ts.map +1 -0
- package/dist/commands/android/pull-file.js +67 -0
- package/dist/commands/android/pull-file.js.map +1 -0
- package/dist/commands/ios/launch-app.d.ts.map +1 -1
- package/dist/commands/ios/launch-app.js +2 -2
- package/dist/commands/ios/launch-app.js.map +1 -1
- package/dist/commands/ios/tunnel/index.d.ts +29 -0
- package/dist/commands/ios/tunnel/index.d.ts.map +1 -0
- package/dist/commands/ios/tunnel/index.js +302 -0
- package/dist/commands/ios/tunnel/index.js.map +1 -0
- package/dist/commands/ios/tunnel/status.d.ts +17 -0
- package/dist/commands/ios/tunnel/status.d.ts.map +1 -0
- package/dist/commands/ios/tunnel/status.js +79 -0
- package/dist/commands/ios/tunnel/status.js.map +1 -0
- package/dist/commands/ios/tunnel/stop.d.ts +21 -0
- package/dist/commands/ios/tunnel/stop.d.ts.map +1 -0
- package/dist/commands/ios/tunnel/stop.js +148 -0
- package/dist/commands/ios/tunnel/stop.js.map +1 -0
- package/dist/commands/xcode/build.d.ts.map +1 -1
- package/dist/commands/xcode/build.js +6 -4
- package/dist/commands/xcode/build.js.map +1 -1
- package/dist/lib/ios-tunnel-process.d.ts +70 -0
- package/dist/lib/ios-tunnel-process.d.ts.map +1 -0
- package/dist/lib/ios-tunnel-process.js +502 -0
- package/dist/lib/ios-tunnel-process.js.map +1 -0
- package/dist/lib/ios-tunnel-process.test.d.ts +2 -0
- package/dist/lib/ios-tunnel-process.test.d.ts.map +1 -0
- package/dist/lib/ios-tunnel-process.test.js +339 -0
- package/dist/lib/ios-tunnel-process.test.js.map +1 -0
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -368,6 +368,9 @@ lim android create
|
|
|
368
368
|
# With apps pre-installed
|
|
369
369
|
lim android create --install ./my-app.apk --install ./another.apk
|
|
370
370
|
|
|
371
|
+
# With a specific Android OS version
|
|
372
|
+
lim android create --os-version 15
|
|
373
|
+
|
|
371
374
|
# Create without opening an ADB tunnel
|
|
372
375
|
lim android create --no-connect
|
|
373
376
|
|
|
@@ -377,10 +380,11 @@ lim android create --region us-west --display-name "CI Test" --label env=ci --rm
|
|
|
377
380
|
|
|
378
381
|
**Android-specific flags:**
|
|
379
382
|
|
|
380
|
-
| Flag
|
|
381
|
-
|
|
|
382
|
-
| `--
|
|
383
|
-
| `--
|
|
383
|
+
| Flag | Description |
|
|
384
|
+
| ------------------------ | ----------------------------------------------- |
|
|
385
|
+
| `--os-version <version>` | Android OS major version (14 or 15) |
|
|
386
|
+
| `--[no-]connect` | Start an ADB tunnel immediately (default: true) |
|
|
387
|
+
| `--adb-path <path>` | Path to `adb` binary (default: `adb`) |
|
|
384
388
|
|
|
385
389
|
`lim android create` always prints a Console URL such as `https://console.limrun.com/stream/android_...` that you can open in the browser for live viewing. For automation, `--no-connect` is usually the safest default.
|
|
386
390
|
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { BaseCommand } from '../../base-command';
|
|
2
|
+
export default class AndroidAdbShell extends BaseCommand {
|
|
3
|
+
static summary: string;
|
|
4
|
+
static description: string;
|
|
5
|
+
static strict: boolean;
|
|
6
|
+
static examples: string[];
|
|
7
|
+
static flags: {
|
|
8
|
+
id: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
9
|
+
timeout: import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
10
|
+
'api-key': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
11
|
+
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
12
|
+
quiet: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
13
|
+
create: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
14
|
+
workspace: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
15
|
+
daemon: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
16
|
+
};
|
|
17
|
+
run(): Promise<void>;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=adb-shell.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adb-shell.d.ts","sourceRoot":"","sources":["../../../src/commands/android/adb-shell.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,WAAW;IACtD,MAAM,CAAC,OAAO,SAAwE;IACtF,MAAM,CAAC,WAAW,SAKwD;IAG1E,MAAM,CAAC,MAAM,UAAS;IAEtB,MAAM,CAAC,QAAQ,WAIb;IAEF,MAAM,CAAC,KAAK;;;;;;;;;MASV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAoC3B"}
|
|
@@ -0,0 +1,68 @@
|
|
|
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 AndroidAdbShell extends base_command_1.BaseCommand {
|
|
7
|
+
async run() {
|
|
8
|
+
const { argv, flags } = await this.parse(AndroidAdbShell);
|
|
9
|
+
this.setParsedFlags(flags);
|
|
10
|
+
const tokens = argv;
|
|
11
|
+
if (tokens.length === 0) {
|
|
12
|
+
this.error('Provide a command after `--`, e.g. `android adb-shell -- pm list packages -3`.');
|
|
13
|
+
}
|
|
14
|
+
const [command, ...args] = tokens;
|
|
15
|
+
await this.withAuth(async () => {
|
|
16
|
+
const resolvedInstance = this.resolveAndroidInstance(flags.id);
|
|
17
|
+
const { client, disconnect } = await (0, instance_client_factory_1.getAndroidInstanceClient)(this.client, resolvedInstance);
|
|
18
|
+
try {
|
|
19
|
+
const result = await client.adbShell(command, args, { timeoutMs: flags.timeout });
|
|
20
|
+
if (flags.json) {
|
|
21
|
+
this.outputJson(result);
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
if (result.stdout) {
|
|
25
|
+
process.stdout.write(result.stdout);
|
|
26
|
+
}
|
|
27
|
+
if (result.stderr) {
|
|
28
|
+
process.stderr.write(result.stderr);
|
|
29
|
+
}
|
|
30
|
+
if (result.truncated) {
|
|
31
|
+
process.stderr.write('\n[output truncated]\n');
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
if (result.exitCode !== 0) {
|
|
35
|
+
this.exit(result.exitCode);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
finally {
|
|
39
|
+
disconnect();
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
AndroidAdbShell.summary = 'Run a shell command on a running Android instance (like adb shell)';
|
|
45
|
+
AndroidAdbShell.description = 'Run a command on the Android instance without needing adb installed locally. ' +
|
|
46
|
+
'The command runs with the same permissions the adb shell user has, and its stdout, stderr, ' +
|
|
47
|
+
'and exit code are returned. Pass the command and its arguments after `--`; each argument is ' +
|
|
48
|
+
'sent as a separate, quoted token. To use shell features like pipes, invoke a shell explicitly ' +
|
|
49
|
+
'(e.g. `-- sh -c "..."`). The CLI exits with the command\'s exit code.';
|
|
50
|
+
// Everything after `--` is captured verbatim as the command and its args.
|
|
51
|
+
AndroidAdbShell.strict = false;
|
|
52
|
+
AndroidAdbShell.examples = [
|
|
53
|
+
'<%= config.bin %> android adb-shell -- pm list packages -3',
|
|
54
|
+
'<%= config.bin %> android adb-shell -- getprop ro.build.version.sdk',
|
|
55
|
+
'<%= config.bin %> android adb-shell --id <instance-ID> -- sh -c "dumpsys battery | grep level"',
|
|
56
|
+
];
|
|
57
|
+
AndroidAdbShell.flags = {
|
|
58
|
+
...base_command_1.BaseCommand.baseFlags,
|
|
59
|
+
id: core_1.Flags.string({
|
|
60
|
+
description: 'Android instance ID to target. Defaults to the last created Android instance.',
|
|
61
|
+
}),
|
|
62
|
+
timeout: core_1.Flags.integer({
|
|
63
|
+
description: 'Command timeout in milliseconds.',
|
|
64
|
+
default: 30000,
|
|
65
|
+
}),
|
|
66
|
+
};
|
|
67
|
+
exports.default = AndroidAdbShell;
|
|
68
|
+
//# sourceMappingURL=adb-shell.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adb-shell.js","sourceRoot":"","sources":["../../../src/commands/android/adb-shell.ts"],"names":[],"mappings":";;AAAA,sCAAoC;AACpC,qDAAiD;AACjD,+EAA6E;AAE7E,MAAqB,eAAgB,SAAQ,0BAAW;IA6BtD,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAC1D,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAE3B,MAAM,MAAM,GAAG,IAAgB,CAAC;QAChC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,KAAK,CAAC,gFAAgF,CAAC,CAAC;QAC/F,CAAC;QACD,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,MAAM,CAAC;QAElC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YAC7B,MAAM,gBAAgB,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC/D,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,IAAA,kDAAwB,EAAC,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;YAC7F,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBAClF,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;oBACf,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBAC1B,CAAC;qBAAM,CAAC;oBACN,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;wBAClB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBACtC,CAAC;oBACD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;wBAClB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBACtC,CAAC;oBACD,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;wBACrB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;oBACjD,CAAC;gBACH,CAAC;gBACD,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;oBAC1B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC;oBAAS,CAAC;gBACT,UAAU,EAAE,CAAC;YACf,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;;AA/DM,uBAAO,GAAG,oEAAoE,CAAC;AAC/E,2BAAW,GAChB,+EAA+E;IAC/E,6FAA6F;IAC7F,8FAA8F;IAC9F,gGAAgG;IAChG,uEAAuE,CAAC;AAE1E,0EAA0E;AACnE,sBAAM,GAAG,KAAK,CAAC;AAEf,wBAAQ,GAAG;IAChB,4DAA4D;IAC5D,qEAAqE;IACrE,gGAAgG;CACjG,CAAC;AAEK,qBAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;IACxB,EAAE,EAAE,YAAK,CAAC,MAAM,CAAC;QACf,WAAW,EAAE,+EAA+E;KAC7F,CAAC;IACF,OAAO,EAAE,YAAK,CAAC,OAAO,CAAC;QACrB,WAAW,EAAE,kCAAkC;QAC/C,OAAO,EAAE,KAAK;KACf,CAAC;CACH,CAAC;kBA3BiB,eAAe"}
|
|
@@ -11,6 +11,7 @@ export default class AndroidCreate extends BaseCommand {
|
|
|
11
11
|
'display-name': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
12
12
|
region: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
13
13
|
jurisdiction: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
14
|
+
'os-version': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
14
15
|
'hard-timeout': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
15
16
|
'inactivity-timeout': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
16
17
|
label: import("@oclif/core/lib/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/commands/android/create.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAMjD,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,WAAW;IACpD,MAAM,CAAC,OAAO,SAAmC;IACjD,MAAM,CAAC,WAAW,SAC+J;IAEjL,MAAM,CAAC,QAAQ,
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/commands/android/create.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAMjD,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,WAAW;IACpD,MAAM,CAAC,OAAO,SAAmC;IACjD,MAAM,CAAC,WAAW,SAC+J;IAEjL,MAAM,CAAC,QAAQ,WAQb;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;;;;;;;;;;;;;;MAsEV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAwK3B"}
|
|
@@ -96,6 +96,9 @@ class AndroidCreate extends base_command_1.BaseCommand {
|
|
|
96
96
|
params.spec.region = flags.region;
|
|
97
97
|
if (flags.jurisdiction)
|
|
98
98
|
params.spec.jurisdiction = flags.jurisdiction;
|
|
99
|
+
if (flags['os-version']) {
|
|
100
|
+
params.spec.clues = [{ kind: 'OSVersion', osVersion: flags['os-version'] }];
|
|
101
|
+
}
|
|
99
102
|
if (flags['hard-timeout'])
|
|
100
103
|
params.spec.hardTimeout = flags['hard-timeout'];
|
|
101
104
|
if (flags['inactivity-timeout'])
|
|
@@ -208,6 +211,7 @@ AndroidCreate.examples = [
|
|
|
208
211
|
'<%= config.bin %> android create',
|
|
209
212
|
'<%= config.bin %> android create --rm --install ./app.apk',
|
|
210
213
|
'<%= config.bin %> android create --install-url https://example.t3.storage.dev/app.apk?...',
|
|
214
|
+
'<%= config.bin %> android create --os-version 15',
|
|
211
215
|
'<%= config.bin %> android create --jurisdiction us --label env=dev',
|
|
212
216
|
'<%= config.bin %> android create --no-connect',
|
|
213
217
|
'<%= config.bin %> android create --daemon=false',
|
|
@@ -242,6 +246,9 @@ AndroidCreate.flags = {
|
|
|
242
246
|
description: 'Jurisdiction the instance must be created in. Unlike --region, this is a hard constraint: creation fails when no region in the jurisdiction has capacity.',
|
|
243
247
|
options: ['us', 'eu', 'as'],
|
|
244
248
|
}),
|
|
249
|
+
'os-version': core_1.Flags.string({
|
|
250
|
+
description: 'Android OS major version to create (14 or 15)',
|
|
251
|
+
}),
|
|
245
252
|
'hard-timeout': core_1.Flags.string({ description: 'Hard timeout (e.g. 1m, 10m, 3h). Default: no timeout' }),
|
|
246
253
|
'inactivity-timeout': core_1.Flags.string({
|
|
247
254
|
description: 'Inactivity timeout (e.g. 1m, 10m, 3h). Default is in organization settings.',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/android/create.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAwB;AACxB,iDAAsC;AACtC,sCAAoC;AACpC,qDAAiD;AACjD,qDAAmD;AACnD,6CAA2D;AAC3D,+CAAkD;AAGlD,MAAqB,aAAc,SAAQ,0BAAW;
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/android/create.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { BaseCommand } from '../../base-command';
|
|
2
|
+
export default class AndroidPullFile extends BaseCommand {
|
|
3
|
+
static summary: string;
|
|
4
|
+
static description: string;
|
|
5
|
+
static examples: string[];
|
|
6
|
+
static args: {
|
|
7
|
+
path: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
|
|
8
|
+
destination: import("@oclif/core/lib/interfaces").Arg<string | undefined, Record<string, unknown>>;
|
|
9
|
+
};
|
|
10
|
+
static flags: {
|
|
11
|
+
id: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
12
|
+
'api-key': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
13
|
+
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
14
|
+
quiet: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
15
|
+
create: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
16
|
+
workspace: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
17
|
+
daemon: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
18
|
+
};
|
|
19
|
+
run(): Promise<void>;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=pull-file.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pull-file.d.ts","sourceRoot":"","sources":["../../../src/commands/android/pull-file.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,WAAW;IACtD,MAAM,CAAC,OAAO,SAAiD;IAC/D,MAAM,CAAC,WAAW,SAGqD;IAEvE,MAAM,CAAC,QAAQ,WAIb;IAEF,MAAM,CAAC,IAAI;;;MAWT;IAEF,MAAM,CAAC,KAAK;;;;;;;;MAKV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA2B3B"}
|
|
@@ -0,0 +1,67 @@
|
|
|
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 AndroidPullFile extends base_command_1.BaseCommand {
|
|
12
|
+
async run() {
|
|
13
|
+
const { args, flags } = await this.parse(AndroidPullFile);
|
|
14
|
+
this.setParsedFlags(flags);
|
|
15
|
+
await this.withAuth(async () => {
|
|
16
|
+
let localPath = path_1.default.resolve(args.destination ?? path_1.default.posix.basename(args.path));
|
|
17
|
+
// adb pull semantics: an existing directory destination (e.g. `.`)
|
|
18
|
+
// receives the file under its remote basename.
|
|
19
|
+
if (fs_1.default.existsSync(localPath) && fs_1.default.statSync(localPath).isDirectory()) {
|
|
20
|
+
localPath = path_1.default.join(localPath, path_1.default.posix.basename(args.path));
|
|
21
|
+
}
|
|
22
|
+
const resolvedInstance = this.resolveAndroidInstance(flags.id);
|
|
23
|
+
const { client, disconnect } = await (0, instance_client_factory_1.getAndroidInstanceClient)(this.client, resolvedInstance);
|
|
24
|
+
try {
|
|
25
|
+
// Streamed to disk by the SDK, so large files never sit in memory.
|
|
26
|
+
await client.pullFile(args.path, localPath);
|
|
27
|
+
if (flags.json) {
|
|
28
|
+
this.outputJson({ localPath, bytes: fs_1.default.statSync(localPath).size });
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
this.output(localPath);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
finally {
|
|
35
|
+
disconnect();
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
AndroidPullFile.summary = 'Pull a file from a running Android instance';
|
|
41
|
+
AndroidPullFile.description = 'Download a file from the Android instance without an ADB connection and save it locally. ' +
|
|
42
|
+
'This behaves like `adb pull`: the read happens with the same permissions the ADB shell user has, ' +
|
|
43
|
+
'so protected locations are rejected just as they would be for adb.';
|
|
44
|
+
AndroidPullFile.examples = [
|
|
45
|
+
'<%= config.bin %> android pull-file /sdcard/Download/photo.jpeg',
|
|
46
|
+
'<%= config.bin %> android pull-file /data/local/tmp/log.txt ./device-log.txt',
|
|
47
|
+
'<%= config.bin %> android pull-file /sdcard/Download/photo.jpeg ./photo.jpeg --id <instance-ID>',
|
|
48
|
+
];
|
|
49
|
+
AndroidPullFile.args = {
|
|
50
|
+
path: core_1.Args.string({
|
|
51
|
+
description: 'Absolute path of the file on the instance, like the adb pull source.',
|
|
52
|
+
required: true,
|
|
53
|
+
}),
|
|
54
|
+
destination: core_1.Args.string({
|
|
55
|
+
description: 'Local path to save the file to. An existing directory saves the remote filename inside it, ' +
|
|
56
|
+
'like adb pull. Defaults to the remote filename in the current directory.',
|
|
57
|
+
required: false,
|
|
58
|
+
}),
|
|
59
|
+
};
|
|
60
|
+
AndroidPullFile.flags = {
|
|
61
|
+
...base_command_1.BaseCommand.baseFlags,
|
|
62
|
+
id: core_1.Flags.string({
|
|
63
|
+
description: 'Android instance ID to target. Defaults to the last created Android instance.',
|
|
64
|
+
}),
|
|
65
|
+
};
|
|
66
|
+
exports.default = AndroidPullFile;
|
|
67
|
+
//# sourceMappingURL=pull-file.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pull-file.js","sourceRoot":"","sources":["../../../src/commands/android/pull-file.ts"],"names":[],"mappings":";;;;;AAAA,4CAAoB;AACpB,gDAAwB;AACxB,sCAA0C;AAC1C,qDAAiD;AACjD,+EAA6E;AAE7E,MAAqB,eAAgB,SAAQ,0BAAW;IAiCtD,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAC1D,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAE3B,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YAC7B,IAAI,SAAS,GAAG,cAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,IAAI,cAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACjF,mEAAmE;YACnE,+CAA+C;YAC/C,IAAI,YAAE,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,YAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;gBACrE,SAAS,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACnE,CAAC;YAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC/D,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,IAAA,kDAAwB,EAAC,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;YAC7F,IAAI,CAAC;gBACH,mEAAmE;gBACnE,MAAM,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;gBAC5C,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;oBACf,IAAI,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,YAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBACrE,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACzB,CAAC;YACH,CAAC;oBAAS,CAAC;gBACT,UAAU,EAAE,CAAC;YACf,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;;AA1DM,uBAAO,GAAG,6CAA6C,CAAC;AACxD,2BAAW,GAChB,2FAA2F;IAC3F,mGAAmG;IACnG,oEAAoE,CAAC;AAEhE,wBAAQ,GAAG;IAChB,iEAAiE;IACjE,8EAA8E;IAC9E,iGAAiG;CAClG,CAAC;AAEK,oBAAI,GAAG;IACZ,IAAI,EAAE,WAAI,CAAC,MAAM,CAAC;QAChB,WAAW,EAAE,sEAAsE;QACnF,QAAQ,EAAE,IAAI;KACf,CAAC;IACF,WAAW,EAAE,WAAI,CAAC,MAAM,CAAC;QACvB,WAAW,EACT,6FAA6F;YAC7F,0EAA0E;QAC5E,QAAQ,EAAE,KAAK;KAChB,CAAC;CACH,CAAC;AAEK,qBAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;IACxB,EAAE,EAAE,YAAK,CAAC,MAAM,CAAC;QACf,WAAW,EAAE,+EAA+E;KAC7F,CAAC;CACH,CAAC;kBA/BiB,eAAe"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"launch-app.d.ts","sourceRoot":"","sources":["../../../src/commands/ios/launch-app.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AA0BjD,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,WAAW;IACnD,MAAM,CAAC,OAAO,SAA6C;IAC3D,MAAM,CAAC,WAAW,SACoX;IACtY,MAAM,CAAC,QAAQ,WAKb;IAEF,MAAM,CAAC,IAAI;;MAET;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"launch-app.d.ts","sourceRoot":"","sources":["../../../src/commands/ios/launch-app.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AA0BjD,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,WAAW;IACnD,MAAM,CAAC,OAAO,SAA6C;IAC3D,MAAM,CAAC,WAAW,SACoX;IACtY,MAAM,CAAC,QAAQ,WAKb;IAEF,MAAM,CAAC,IAAI;;MAET;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;;;;;MA8BV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAoF3B"}
|
|
@@ -98,7 +98,7 @@ IosLaunchApp.examples = [
|
|
|
98
98
|
'<%= config.bin %> ios launch-app com.example.app',
|
|
99
99
|
'<%= config.bin %> ios launch-app com.example.app --detach',
|
|
100
100
|
'<%= config.bin %> ios launch-app com.example.app --mode RelaunchIfRunning --id <instance-ID>',
|
|
101
|
-
'<%= config.bin %> ios launch-app host.exp.Exponent --runtime detox --detox-server-url ws://
|
|
101
|
+
'<%= config.bin %> ios launch-app host.exp.Exponent --runtime detox --detox-server-url ws://localhost:8099 --detox-session-id limrun-detox --detox-version 20.51.1 --id <instance-ID>',
|
|
102
102
|
];
|
|
103
103
|
IosLaunchApp.args = {
|
|
104
104
|
bundleId: core_1.Args.string({ description: 'App bundle identifier', required: true }),
|
|
@@ -122,7 +122,7 @@ IosLaunchApp.flags = {
|
|
|
122
122
|
options: ['detox'],
|
|
123
123
|
}),
|
|
124
124
|
'detox-server-url': core_1.Flags.string({
|
|
125
|
-
description: 'Detox mediator URL reachable from the simulator, usually
|
|
125
|
+
description: 'Detox mediator URL reachable from the simulator, usually exposed with `lim ios tunnel --route localhost:<port>`',
|
|
126
126
|
}),
|
|
127
127
|
'detox-session-id': core_1.Flags.string({
|
|
128
128
|
description: 'Detox session ID shared by the app and tester',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"launch-app.js","sourceRoot":"","sources":["../../../src/commands/ios/launch-app.ts"],"names":[],"mappings":";;AAAA,sCAA0C;AAE1C,qDAAiD;AACjD,+EAI2C;AAC3C,qEAIsC;AAItC,KAAK,UAAU,qBAAqB,CAClC,MAAuB,EACvB,QAAgB,EAChB,cAAiC;IAEjC,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QACjD,OAAO;IACT,CAAC;IACD,MAAM,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;AACnD,CAAC;AAED,MAAqB,YAAa,SAAQ,0BAAW;
|
|
1
|
+
{"version":3,"file":"launch-app.js","sourceRoot":"","sources":["../../../src/commands/ios/launch-app.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { BaseCommand } from '../../../base-command';
|
|
2
|
+
export default class IosTunnel extends BaseCommand {
|
|
3
|
+
static summary: string;
|
|
4
|
+
static description: string;
|
|
5
|
+
static examples: string[];
|
|
6
|
+
static flags: {
|
|
7
|
+
id: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
8
|
+
route: import("@oclif/core/lib/interfaces").OptionFlag<string[], import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
9
|
+
detach: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
10
|
+
serve: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
11
|
+
'tunnel-owner': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
12
|
+
'api-key': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
13
|
+
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
14
|
+
quiet: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
15
|
+
create: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
16
|
+
workspace: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
17
|
+
daemon: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
18
|
+
};
|
|
19
|
+
run(): Promise<void>;
|
|
20
|
+
private runForeground;
|
|
21
|
+
private serveDetached;
|
|
22
|
+
private startDetached;
|
|
23
|
+
private assertNoActiveTunnel;
|
|
24
|
+
private clearDeadOwners;
|
|
25
|
+
private awaitTunnel;
|
|
26
|
+
private waitForProcessExit;
|
|
27
|
+
private printReady;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/ios/tunnel/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAyBpD,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,WAAW;IAChD,MAAM,CAAC,OAAO,SAA6D;IAC3E,MAAM,CAAC,WAAW,SAC4I;IAC9J,MAAM,CAAC,QAAQ,WAKb;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;;;MA0BV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;YA4BZ,aAAa;YAiBb,aAAa;YAuCb,aAAa;YA0Gb,oBAAoB;IAgBlC,OAAO,CAAC,eAAe;YAkBT,WAAW;YA8BX,kBAAkB;IAchC,OAAO,CAAC,UAAU;CAyBnB"}
|