lim 0.28.2 → 0.28.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 +3 -2
- package/dist/commands/ios/ls.d.ts +22 -0
- package/dist/commands/ios/ls.d.ts.map +1 -0
- package/dist/commands/ios/ls.js +63 -0
- package/dist/commands/ios/ls.js.map +1 -0
- package/dist/commands/xcode/attach-simulator.d.ts +1 -1
- package/dist/commands/xcode/attach-simulator.d.ts.map +1 -1
- package/dist/commands/xcode/attach-simulator.js +24 -10
- package/dist/commands/xcode/attach-simulator.js.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -249,8 +249,9 @@ lim ios simctl -- listapps booted
|
|
|
249
249
|
lim ios xcrun -- --sdk iphonesimulator --show-sdk-version
|
|
250
250
|
lim ios xcodebuild -- -version
|
|
251
251
|
lim ios push-file ./fixtures/payload.json payload.json
|
|
252
|
-
lim ios
|
|
253
|
-
lim ios
|
|
252
|
+
lim ios ls Documents --bundle-id com.example.app --container-type data
|
|
253
|
+
lim ios pull-file Documents/photo.jpeg ./photo.jpeg --bundle-id com.example.app --container-type data
|
|
254
|
+
lim ios delete-file Documents/photo.jpeg --bundle-id com.example.app --container-type data
|
|
254
255
|
lim ios lsof
|
|
255
256
|
```
|
|
256
257
|
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { BaseCommand } from '../../base-command';
|
|
2
|
+
export default class IosLs 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 | undefined, Record<string, unknown>>;
|
|
8
|
+
};
|
|
9
|
+
static flags: {
|
|
10
|
+
id: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
11
|
+
'bundle-id': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
12
|
+
'container-type': 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
|
+
create: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
17
|
+
workspace: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
18
|
+
daemon: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
19
|
+
};
|
|
20
|
+
run(): Promise<void>;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=ls.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ls.d.ts","sourceRoot":"","sources":["../../../src/commands/ios/ls.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAIjD,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,WAAW;IAC5C,MAAM,CAAC,OAAO,SAAyD;IACvE,MAAM,CAAC,WAAW,SAGyF;IAC3G,MAAM,CAAC,QAAQ,WAIb;IAEF,MAAM,CAAC,IAAI;;MAKT;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;MAaV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA+B3B"}
|
|
@@ -0,0 +1,63 @@
|
|
|
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 bytes_1 = require("../../lib/bytes");
|
|
6
|
+
const instance_client_factory_1 = require("../../lib/instance-client-factory");
|
|
7
|
+
class IosLs extends base_command_1.BaseCommand {
|
|
8
|
+
async run() {
|
|
9
|
+
const { args, flags } = await this.parse(IosLs);
|
|
10
|
+
this.setParsedFlags(flags);
|
|
11
|
+
await this.withAuth(async () => {
|
|
12
|
+
const resolvedInstance = this.resolveIosInstance(flags.id);
|
|
13
|
+
const { client, disconnect } = await (0, instance_client_factory_1.getIosInstanceClient)(this.client, resolvedInstance);
|
|
14
|
+
try {
|
|
15
|
+
const entries = await client.listFiles(args.path, flags['bundle-id'] ?
|
|
16
|
+
{ bundleId: flags['bundle-id'], containerType: flags['container-type'] }
|
|
17
|
+
: undefined);
|
|
18
|
+
if (flags.json) {
|
|
19
|
+
this.outputJson(entries);
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
this.outputTable(['Type', 'Size', 'Path'], entries.map((entry) => [
|
|
23
|
+
entry.isDirectory ? 'directory' : 'file',
|
|
24
|
+
entry.isDirectory ? '' : (0, bytes_1.formatBytes)(entry.size ?? 0),
|
|
25
|
+
entry.path,
|
|
26
|
+
]));
|
|
27
|
+
}
|
|
28
|
+
finally {
|
|
29
|
+
disconnect();
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
IosLs.summary = 'List files in the iOS simulator or an app container';
|
|
35
|
+
IosLs.description = 'List a directory in the simulator staging folder. ' +
|
|
36
|
+
'With --bundle-id, the path is relative to that app container instead. ' +
|
|
37
|
+
'Returned paths can be passed directly to ios pull-file, push-file, or delete-file with the same flags.';
|
|
38
|
+
IosLs.examples = [
|
|
39
|
+
'<%= config.bin %> ios ls',
|
|
40
|
+
'<%= config.bin %> ios ls Documents --bundle-id com.example.app --container-type data',
|
|
41
|
+
'<%= config.bin %> ios ls Documents --bundle-id com.example.app --container-type data --json',
|
|
42
|
+
];
|
|
43
|
+
IosLs.args = {
|
|
44
|
+
path: core_1.Args.string({
|
|
45
|
+
description: 'Relative directory to list. Defaults to the selected storage root.',
|
|
46
|
+
required: false,
|
|
47
|
+
}),
|
|
48
|
+
};
|
|
49
|
+
IosLs.flags = {
|
|
50
|
+
...base_command_1.BaseCommand.baseFlags,
|
|
51
|
+
id: core_1.Flags.string({
|
|
52
|
+
description: 'iOS instance ID to target. Defaults to the last created iOS instance.',
|
|
53
|
+
}),
|
|
54
|
+
'bundle-id': core_1.Flags.string({
|
|
55
|
+
description: 'Bundle ID of the installed app whose container should be listed.',
|
|
56
|
+
}),
|
|
57
|
+
'container-type': core_1.Flags.string({
|
|
58
|
+
description: "Container to target when --bundle-id is provided: 'app', 'data', or a specific App Group identifier. Defaults to 'app'.",
|
|
59
|
+
dependsOn: ['bundle-id'],
|
|
60
|
+
}),
|
|
61
|
+
};
|
|
62
|
+
exports.default = IosLs;
|
|
63
|
+
//# sourceMappingURL=ls.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ls.js","sourceRoot":"","sources":["../../../src/commands/ios/ls.ts"],"names":[],"mappings":";;AAAA,sCAA0C;AAC1C,qDAAiD;AACjD,2CAA8C;AAC9C,+EAAyE;AAEzE,MAAqB,KAAM,SAAQ,0BAAW;IAkC5C,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,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC3D,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,IAAA,8CAAoB,EAAC,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;YACzF,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,SAAS,CACpC,IAAI,CAAC,IAAI,EACT,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;oBAClB,EAAE,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,gBAAgB,CAAC,EAAE;oBAC1E,CAAC,CAAC,SAAS,CACZ,CAAC;gBACF,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;oBACf,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;oBACzB,OAAO;gBACT,CAAC;gBACD,IAAI,CAAC,WAAW,CACd,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EACxB,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;oBACrB,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM;oBACxC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAA,mBAAW,EAAC,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;oBACrD,KAAK,CAAC,IAAI;iBACX,CAAC,CACH,CAAC;YACJ,CAAC;oBAAS,CAAC;gBACT,UAAU,EAAE,CAAC;YACf,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;;AA/DM,aAAO,GAAG,qDAAqD,CAAC;AAChE,iBAAW,GAChB,oDAAoD;IACpD,wEAAwE;IACxE,wGAAwG,CAAC;AACpG,cAAQ,GAAG;IAChB,0BAA0B;IAC1B,sFAAsF;IACtF,6FAA6F;CAC9F,CAAC;AAEK,UAAI,GAAG;IACZ,IAAI,EAAE,WAAI,CAAC,MAAM,CAAC;QAChB,WAAW,EAAE,oEAAoE;QACjF,QAAQ,EAAE,KAAK;KAChB,CAAC;CACH,CAAC;AAEK,WAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;IACxB,EAAE,EAAE,YAAK,CAAC,MAAM,CAAC;QACf,WAAW,EAAE,uEAAuE;KACrF,CAAC;IACF,WAAW,EAAE,YAAK,CAAC,MAAM,CAAC;QACxB,WAAW,EAAE,kEAAkE;KAChF,CAAC;IACF,gBAAgB,EAAE,YAAK,CAAC,MAAM,CAAC;QAC7B,WAAW,EACT,yHAAyH;QAC3H,SAAS,EAAE,CAAC,WAAW,CAAC;KACzB,CAAC;CACH,CAAC;kBAhCiB,KAAK"}
|
|
@@ -4,7 +4,7 @@ export default class XcodeAttachSimulator extends BaseCommand {
|
|
|
4
4
|
static description: string;
|
|
5
5
|
static examples: string[];
|
|
6
6
|
static args: {
|
|
7
|
-
simulatorId: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
|
|
7
|
+
simulatorId: import("@oclif/core/lib/interfaces").Arg<string | undefined, Record<string, unknown>>;
|
|
8
8
|
};
|
|
9
9
|
static flags: {
|
|
10
10
|
create: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attach-simulator.d.ts","sourceRoot":"","sources":["../../../src/commands/xcode/attach-simulator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAIjD,MAAM,CAAC,OAAO,OAAO,oBAAqB,SAAQ,WAAW;IAC3D,MAAM,CAAC,OAAO,SAAkD;IAChE,MAAM,CAAC,WAAW,
|
|
1
|
+
{"version":3,"file":"attach-simulator.d.ts","sourceRoot":"","sources":["../../../src/commands/xcode/attach-simulator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAIjD,MAAM,CAAC,OAAO,OAAO,oBAAqB,SAAQ,WAAW;IAC3D,MAAM,CAAC,OAAO,SAAkD;IAChE,MAAM,CAAC,WAAW,SAGqE;IAEvF,MAAM,CAAC,QAAQ,WAIb;IAEF,MAAM,CAAC,IAAI;;MAMT;IAEF,MAAM,CAAC,KAAK;;;;;;;;MAWV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAkC3B"}
|
|
@@ -11,33 +11,47 @@ class XcodeAttachSimulator extends base_command_1.BaseCommand {
|
|
|
11
11
|
await this.withAuth(async () => {
|
|
12
12
|
const xcodeTarget = await this.resolveXcodeTarget(flags.id);
|
|
13
13
|
const xcodeInstanceId = xcodeTarget.id;
|
|
14
|
-
const
|
|
14
|
+
const resolved = this.resolveIosInstance(args.simulatorId);
|
|
15
15
|
const xcodeClient = await this.resolveXcodeClient(xcodeTarget);
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
// The attach itself is a call to the Xcode instance carrying the
|
|
17
|
+
// simulator's apiUrl and token. Only fetch from the management API
|
|
18
|
+
// when those credentials are not already known locally.
|
|
19
|
+
let attachInput;
|
|
20
|
+
if (resolved.apiUrl && resolved.token) {
|
|
21
|
+
attachInput = { apiUrl: resolved.apiUrl, token: resolved.token };
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
const simulator = await this.client.iosInstances.get(resolved.id);
|
|
25
|
+
(0, config_1.registerCreatedInstance)(simulator);
|
|
26
|
+
attachInput = simulator;
|
|
27
|
+
}
|
|
28
|
+
this.info(`Attaching simulator ${resolved.id} to Xcode target ${xcodeInstanceId}...`);
|
|
29
|
+
const result = await xcodeClient.attachSimulator(attachInput);
|
|
19
30
|
if (flags.json) {
|
|
20
|
-
this.outputJson((0, simulator_attach_1.simulatorAttachJson)(
|
|
31
|
+
this.outputJson((0, simulator_attach_1.simulatorAttachJson)(resolved.id, xcodeInstanceId, result));
|
|
21
32
|
}
|
|
22
33
|
else if (this.isQuietEnabled()) {
|
|
23
|
-
this.output(
|
|
34
|
+
this.output(resolved.id);
|
|
24
35
|
}
|
|
25
36
|
else {
|
|
26
|
-
this.output((0, simulator_attach_1.formatSimulatorAttachResult)(
|
|
37
|
+
this.output((0, simulator_attach_1.formatSimulatorAttachResult)(resolved.id, xcodeInstanceId, result));
|
|
27
38
|
}
|
|
28
39
|
});
|
|
29
40
|
}
|
|
30
41
|
}
|
|
31
42
|
XcodeAttachSimulator.summary = 'Attach an iOS simulator to an Xcode instance';
|
|
32
|
-
XcodeAttachSimulator.description = 'Attach an existing iOS simulator to an Xcode sandbox so future builds can auto-install on that simulator.'
|
|
43
|
+
XcodeAttachSimulator.description = 'Attach an existing iOS simulator to an Xcode sandbox so future builds can auto-install on that simulator. ' +
|
|
44
|
+
'When the simulator is omitted, the LIM_IOS_INSTANCE_URL/LIM_IOS_INSTANCE_TOKEN pair or the last used ' +
|
|
45
|
+
'simulator is attached; if its credentials are known locally, no API key is needed.';
|
|
33
46
|
XcodeAttachSimulator.examples = [
|
|
47
|
+
'<%= config.bin %> xcode attach-simulator',
|
|
34
48
|
'<%= config.bin %> xcode attach-simulator <ios-instance-ID>',
|
|
35
49
|
'<%= config.bin %> xcode attach-simulator <ios-instance-ID> --id <xcode-instance-ID>',
|
|
36
50
|
];
|
|
37
51
|
XcodeAttachSimulator.args = {
|
|
38
52
|
simulatorId: core_1.Args.string({
|
|
39
|
-
description: 'iOS simulator instance ID to attach',
|
|
40
|
-
required:
|
|
53
|
+
description: 'iOS simulator instance ID to attach. Defaults to the environment-pinned or last used simulator.',
|
|
54
|
+
required: false,
|
|
41
55
|
}),
|
|
42
56
|
};
|
|
43
57
|
XcodeAttachSimulator.flags = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attach-simulator.js","sourceRoot":"","sources":["../../../src/commands/xcode/attach-simulator.ts"],"names":[],"mappings":";;AAAA,sCAA0C;AAC1C,qDAAiD;AACjD,6CAA2D;AAC3D,iEAA8F;AAE9F,MAAqB,oBAAqB,SAAQ,0BAAW;
|
|
1
|
+
{"version":3,"file":"attach-simulator.js","sourceRoot":"","sources":["../../../src/commands/xcode/attach-simulator.ts"],"names":[],"mappings":";;AAAA,sCAA0C;AAC1C,qDAAiD;AACjD,6CAA2D;AAC3D,iEAA8F;AAE9F,MAAqB,oBAAqB,SAAQ,0BAAW;IAkC3D,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAC/D,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAE3B,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YAC7B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC5D,MAAM,eAAe,GAAG,WAAW,CAAC,EAAE,CAAC;YACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC3D,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;YAE/D,iEAAiE;YACjE,mEAAmE;YACnE,wDAAwD;YACxD,IAAI,WAA8D,CAAC;YACnE,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACtC,WAAW,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC;YACnE,CAAC;iBAAM,CAAC;gBACN,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAClE,IAAA,gCAAuB,EAAC,SAAS,CAAC,CAAC;gBACnC,WAAW,GAAG,SAAS,CAAC;YAC1B,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,uBAAuB,QAAQ,CAAC,EAAE,oBAAoB,eAAe,KAAK,CAAC,CAAC;YACtF,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;YAE9D,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBACf,IAAI,CAAC,UAAU,CAAC,IAAA,sCAAmB,EAAC,QAAQ,CAAC,EAAE,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;YAC7E,CAAC;iBAAM,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;gBACjC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,MAAM,CAAC,IAAA,8CAA2B,EAAC,QAAQ,CAAC,EAAE,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;YACjF,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;;AAlEM,4BAAO,GAAG,8CAA8C,CAAC;AACzD,gCAAW,GAChB,4GAA4G;IAC5G,uGAAuG;IACvG,oFAAoF,CAAC;AAEhF,6BAAQ,GAAG;IAChB,0CAA0C;IAC1C,4DAA4D;IAC5D,qFAAqF;CACtF,CAAC;AAEK,yBAAI,GAAG;IACZ,WAAW,EAAE,WAAI,CAAC,MAAM,CAAC;QACvB,WAAW,EACT,iGAAiG;QACnG,QAAQ,EAAE,KAAK;KAChB,CAAC;CACH,CAAC;AAEK,0BAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;IACxB,MAAM,EAAE,YAAK,CAAC,OAAO,CAAC;QACpB,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,IAAI;KACd,CAAC;IACF,EAAE,EAAE,YAAK,CAAC,MAAM,CAAC;QACf,WAAW,EACT,2IAA2I;KAC9I,CAAC;CACH,CAAC;kBAhCiB,oBAAoB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lim",
|
|
3
|
-
"version": "0.28.
|
|
3
|
+
"version": "0.28.3",
|
|
4
4
|
"description": "Use remote XCode, Gradle, iOS Simulator, Android Emulator and more to build and test apps from Linux, Windows or macOS.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"lim": "./bin/run.js"
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"test": "jest"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@limrun/api": "^0.46.
|
|
28
|
+
"@limrun/api": "^0.46.14",
|
|
29
29
|
"@oclif/core": "^4",
|
|
30
30
|
"cli-progress": "^3.12.0",
|
|
31
31
|
"cli-table3": "^0.6.5",
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
"description": "Build Android projects on cloud gradle sandboxes"
|
|
67
67
|
},
|
|
68
68
|
"ios": {
|
|
69
|
-
"description": "Execute any task on remote iOS Simulators: create, list, get, delete, info, list-apps, launch-app, terminate-app, app-log, syslog, sync, screenshot, tap, tap-element, element-tree, type, press-key, toggle-keyboard, scroll, open-url, install-app, keychain, record, perform, simctl, cp, xcrun, xcodebuild, lsof, reverse"
|
|
69
|
+
"description": "Execute any task on remote iOS Simulators: create, list, get, delete, info, list-apps, launch-app, terminate-app, app-log, syslog, sync, screenshot, tap, tap-element, element-tree, type, press-key, toggle-keyboard, scroll, open-url, install-app, keychain, record, perform, ls, push-file, pull-file, delete-file, simctl, cp, xcrun, xcodebuild, lsof, reverse"
|
|
70
70
|
},
|
|
71
71
|
"session": {
|
|
72
72
|
"description": "Manage persistent background sessions for device interaction: start, status, stop. Sessions are used to execute commands on remote devices without the need to reconnect to the device after each command."
|