lim 0.18.2 → 0.18.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 +13 -8
- package/dist/commands/asset/delete.d.ts +1 -0
- package/dist/commands/asset/delete.d.ts.map +1 -1
- package/dist/commands/asset/delete.js +1 -0
- package/dist/commands/asset/delete.js.map +1 -1
- package/dist/commands/asset/list.d.ts +1 -0
- package/dist/commands/asset/list.d.ts.map +1 -1
- package/dist/commands/asset/list.js +1 -0
- package/dist/commands/asset/list.js.map +1 -1
- package/dist/commands/asset/pull.d.ts +1 -0
- package/dist/commands/asset/pull.d.ts.map +1 -1
- package/dist/commands/asset/pull.js +1 -0
- package/dist/commands/asset/pull.js.map +1 -1
- package/dist/commands/asset/push.d.ts +1 -0
- package/dist/commands/asset/push.d.ts.map +1 -1
- package/dist/commands/asset/push.js +1 -0
- package/dist/commands/asset/push.js.map +1 -1
- package/dist/commands/ios/launch-app.d.ts +1 -0
- package/dist/commands/ios/launch-app.d.ts.map +1 -1
- package/dist/commands/ios/launch-app.js +70 -9
- package/dist/commands/ios/launch-app.js.map +1 -1
- package/package.json +5 -2
package/README.md
CHANGED
|
@@ -252,9 +252,14 @@ lim ios install-app https://example.com/app.ipa
|
|
|
252
252
|
lim ios install-app https://example.com/app.ipa --md5 <hex-digest>
|
|
253
253
|
lim ios install-app ./MyApp.ipa --launch-mode RelaunchIfRunning
|
|
254
254
|
|
|
255
|
-
# Launch
|
|
255
|
+
# Launch — streams the app's logs until the app exits or Ctrl+C
|
|
256
256
|
lim ios launch-app com.example.myapp
|
|
257
257
|
lim ios launch-app com.example.myapp --mode RelaunchIfRunning
|
|
258
|
+
|
|
259
|
+
# Launch and exit immediately without streaming logs
|
|
260
|
+
lim ios launch-app com.example.myapp --detach
|
|
261
|
+
|
|
262
|
+
# Terminate
|
|
258
263
|
lim ios terminate-app com.example.myapp
|
|
259
264
|
|
|
260
265
|
# List installed apps
|
|
@@ -533,7 +538,7 @@ lim ios create --model iphone
|
|
|
533
538
|
lim session start
|
|
534
539
|
|
|
535
540
|
# Fast interaction loop — each command takes ~50ms
|
|
536
|
-
lim ios launch-app com.example.myapp
|
|
541
|
+
lim ios launch-app com.example.myapp --detach
|
|
537
542
|
lim ios element-tree | jq '.tree'
|
|
538
543
|
lim ios tap-element --ax-label "Login"
|
|
539
544
|
lim ios type "user@example.com"
|
|
@@ -554,8 +559,8 @@ lim session start --id ios_phone_123
|
|
|
554
559
|
lim session start --id ios_tablet_456
|
|
555
560
|
|
|
556
561
|
# Agent controls both devices in parallel — ~50ms per command
|
|
557
|
-
lim ios launch-app com.example.myapp --id ios_phone_123
|
|
558
|
-
lim ios launch-app com.example.myapp --id ios_tablet_456
|
|
562
|
+
lim ios launch-app com.example.myapp --id ios_phone_123 --detach
|
|
563
|
+
lim ios launch-app com.example.myapp --id ios_tablet_456 --detach
|
|
559
564
|
|
|
560
565
|
lim ios screenshot phone.png --id ios_phone_123
|
|
561
566
|
lim ios screenshot tablet.png --id ios_tablet_456
|
|
@@ -584,7 +589,7 @@ done
|
|
|
584
589
|
|
|
585
590
|
# Run tests against all devices
|
|
586
591
|
for ID in "${IDS[@]}"; do
|
|
587
|
-
lim ios launch-app com.example.myapp --id $ID
|
|
592
|
+
lim ios launch-app com.example.myapp --id $ID --detach
|
|
588
593
|
lim ios screenshot "test_${ID}.png" --id $ID
|
|
589
594
|
done
|
|
590
595
|
|
|
@@ -620,7 +625,7 @@ lim xcode build ./MyProject --id ios_abc123 --scheme MyApp --workspace MyApp.xcw
|
|
|
620
625
|
lim session start
|
|
621
626
|
|
|
622
627
|
# 4. Test the built app on the simulator (~50ms per command)
|
|
623
|
-
lim ios launch-app com.example.myapp
|
|
628
|
+
lim ios launch-app com.example.myapp --detach
|
|
624
629
|
lim ios element-tree | jq '.'
|
|
625
630
|
lim ios screenshot built-app.png
|
|
626
631
|
|
|
@@ -770,7 +775,7 @@ lim ios create --install ./build/MyApp.ipa
|
|
|
770
775
|
lim session start
|
|
771
776
|
|
|
772
777
|
# Verify — each command takes ~50ms with session
|
|
773
|
-
lim ios launch-app com.example.myapp
|
|
778
|
+
lim ios launch-app com.example.myapp --detach
|
|
774
779
|
sleep 2
|
|
775
780
|
lim ios element-tree | grep "Welcome"
|
|
776
781
|
lim ios screenshot test-result.png
|
|
@@ -816,7 +821,7 @@ lim xcode build ./MyiOSProject --id $ID --scheme MyApp --workspace MyApp.xcworks
|
|
|
816
821
|
|
|
817
822
|
# Verify the built app on the simulator
|
|
818
823
|
lim session start
|
|
819
|
-
lim ios launch-app com.example.myapp
|
|
824
|
+
lim ios launch-app com.example.myapp --detach
|
|
820
825
|
sleep 2
|
|
821
826
|
lim ios element-tree | grep "Welcome"
|
|
822
827
|
lim ios screenshot test-result.png
|
|
@@ -2,6 +2,7 @@ import { BaseCommand } from '../../base-command';
|
|
|
2
2
|
export default class AssetDelete extends BaseCommand {
|
|
3
3
|
static summary: string;
|
|
4
4
|
static description: string;
|
|
5
|
+
static aliases: string[];
|
|
5
6
|
static examples: string[];
|
|
6
7
|
static args: {
|
|
7
8
|
id: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/commands/asset/delete.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,WAAW;IAClD,MAAM,CAAC,OAAO,SAAqB;IACnC,MAAM,CAAC,WAAW,SAAqC;IACvD,MAAM,CAAC,QAAQ,WAA0F;IAEzG,MAAM,CAAC,IAAI;;MAET;IAEF,MAAM,CAAC,KAAK;;;;;;MAAgC;IAEtC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAS3B"}
|
|
1
|
+
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/commands/asset/delete.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,WAAW;IAClD,MAAM,CAAC,OAAO,SAAqB;IACnC,MAAM,CAAC,WAAW,SAAqC;IACvD,MAAM,CAAC,OAAO,WAAqB;IACnC,MAAM,CAAC,QAAQ,WAA0F;IAEzG,MAAM,CAAC,IAAI;;MAET;IAEF,MAAM,CAAC,KAAK;;;;;;MAAgC;IAEtC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAS3B"}
|
|
@@ -14,6 +14,7 @@ class AssetDelete extends base_command_1.BaseCommand {
|
|
|
14
14
|
}
|
|
15
15
|
AssetDelete.summary = 'Delete an asset';
|
|
16
16
|
AssetDelete.description = 'Delete an uploaded asset by ID.';
|
|
17
|
+
AssetDelete.aliases = ['assets:delete'];
|
|
17
18
|
AssetDelete.examples = ['<%= config.bin %> asset delete <ID>', '<%= config.bin %> asset delete asset_abc123'];
|
|
18
19
|
AssetDelete.args = {
|
|
19
20
|
id: core_1.Args.string({ description: 'Asset ID to delete', required: true }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/commands/asset/delete.ts"],"names":[],"mappings":";;AAAA,sCAAmC;AACnC,qDAAiD;AAEjD,MAAqB,WAAY,SAAQ,0BAAW;
|
|
1
|
+
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/commands/asset/delete.ts"],"names":[],"mappings":";;AAAA,sCAAmC;AACnC,qDAAiD;AAEjD,MAAqB,WAAY,SAAQ,0BAAW;IAYlD,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACtD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAE3B,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YAC7B,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACzC,IAAI,CAAC,GAAG,CAAC,kBAAkB,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;IACL,CAAC;;AAnBM,mBAAO,GAAG,iBAAiB,CAAC;AAC5B,uBAAW,GAAG,iCAAiC,CAAC;AAChD,mBAAO,GAAG,CAAC,eAAe,CAAC,CAAC;AAC5B,oBAAQ,GAAG,CAAC,qCAAqC,EAAE,6CAA6C,CAAC,CAAC;AAElG,gBAAI,GAAG;IACZ,EAAE,EAAE,WAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,oBAAoB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;CACvE,CAAC;AAEK,iBAAK,GAAG,EAAE,GAAG,0BAAW,CAAC,SAAS,EAAE,CAAC;kBAVzB,WAAW"}
|
|
@@ -2,6 +2,7 @@ import { BaseCommand } from '../../base-command';
|
|
|
2
2
|
export default class AssetList extends BaseCommand {
|
|
3
3
|
static summary: string;
|
|
4
4
|
static description: string;
|
|
5
|
+
static aliases: string[];
|
|
5
6
|
static examples: string[];
|
|
6
7
|
static args: {
|
|
7
8
|
id: import("@oclif/core/lib/interfaces").Arg<string | undefined, Record<string, unknown>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/commands/asset/list.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,WAAW;IAChD,MAAM,CAAC,OAAO,SAAuC;IACrD,MAAM,CAAC,WAAW,SAC2J;IAC7K,MAAM,CAAC,QAAQ,WAMb;IAEF,MAAM,CAAC,IAAI;;MAET;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;;;MAoBV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA4D3B"}
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/commands/asset/list.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,WAAW;IAChD,MAAM,CAAC,OAAO,SAAuC;IACrD,MAAM,CAAC,WAAW,SAC2J;IAC7K,MAAM,CAAC,OAAO,WAAmB;IACjC,MAAM,CAAC,QAAQ,WAMb;IAEF,MAAM,CAAC,IAAI;;MAET;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;;;MAoBV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA4D3B"}
|
|
@@ -68,6 +68,7 @@ class AssetList extends base_command_1.BaseCommand {
|
|
|
68
68
|
}
|
|
69
69
|
AssetList.summary = 'List assets or get a specific one';
|
|
70
70
|
AssetList.description = 'List uploaded assets in your account or fetch a single asset by ID. You can optionally include signed download or upload URLs when preparing follow-up automation steps.';
|
|
71
|
+
AssetList.aliases = ['assets:list'];
|
|
71
72
|
AssetList.examples = [
|
|
72
73
|
'<%= config.bin %> asset list',
|
|
73
74
|
'<%= config.bin %> asset list <ID>',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/asset/list.ts"],"names":[],"mappings":";;AAAA,sCAA0C;AAC1C,qDAAiD;AAEjD,MAAqB,SAAU,SAAQ,0BAAW;
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/asset/list.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { BaseCommand } from '../../base-command';
|
|
|
2
2
|
export default class AssetPull extends BaseCommand {
|
|
3
3
|
static summary: string;
|
|
4
4
|
static description: string;
|
|
5
|
+
static aliases: string[];
|
|
5
6
|
static examples: string[];
|
|
6
7
|
static args: {
|
|
7
8
|
id_or_name: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../../src/commands/asset/pull.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,WAAW;IAChD,MAAM,CAAC,OAAO,SAA4B;IAC1C,MAAM,CAAC,WAAW,SAC2I;IAC7J,MAAM,CAAC,QAAQ,WAMb;IAEF,MAAM,CAAC,IAAI;;MAET;IAEF,MAAM,CAAC,KAAK;;;;;;;;MAWV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAwD3B"}
|
|
1
|
+
{"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../../src/commands/asset/pull.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,WAAW;IAChD,MAAM,CAAC,OAAO,SAA4B;IAC1C,MAAM,CAAC,WAAW,SAC2I;IAC7J,MAAM,CAAC,OAAO,WAAmB;IACjC,MAAM,CAAC,QAAQ,WAMb;IAEF,MAAM,CAAC,IAAI;;MAET;IAEF,MAAM,CAAC,KAAK;;;;;;;;MAWV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAwD3B"}
|
|
@@ -58,6 +58,7 @@ class AssetPull extends base_command_1.BaseCommand {
|
|
|
58
58
|
}
|
|
59
59
|
AssetPull.summary = 'Download an asset file';
|
|
60
60
|
AssetPull.description = 'Download an asset by ID or by name into a local directory. For reliable automation, prefer an asset ID or ensure the name resolves to exactly one asset.';
|
|
61
|
+
AssetPull.aliases = ['assets:pull'];
|
|
61
62
|
AssetPull.examples = [
|
|
62
63
|
'<%= config.bin %> asset pull <ID>',
|
|
63
64
|
'<%= config.bin %> asset pull my-app.apk',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pull.js","sourceRoot":"","sources":["../../../src/commands/asset/pull.ts"],"names":[],"mappings":";;;;;AAAA,gDAAwB;AACxB,4CAAoB;AACpB,sCAA0C;AAC1C,qDAAiD;AAEjD,MAAqB,SAAU,SAAQ,0BAAW;
|
|
1
|
+
{"version":3,"file":"pull.js","sourceRoot":"","sources":["../../../src/commands/asset/pull.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { BaseCommand } from '../../base-command';
|
|
|
2
2
|
export default class AssetPush extends BaseCommand {
|
|
3
3
|
static summary: string;
|
|
4
4
|
static description: string;
|
|
5
|
+
static aliases: string[];
|
|
5
6
|
static examples: string[];
|
|
6
7
|
static args: {
|
|
7
8
|
file: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../../src/commands/asset/push.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,WAAW;IAChD,MAAM,CAAC,OAAO,SAA0B;IACxC,MAAM,CAAC,WAAW,SACgK;IAClL,MAAM,CAAC,QAAQ,WAIb;IAEF,MAAM,CAAC,IAAI;;MAET;IAEF,MAAM,CAAC,KAAK;;;;;;;;MAMV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAyB3B"}
|
|
1
|
+
{"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../../src/commands/asset/push.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,WAAW;IAChD,MAAM,CAAC,OAAO,SAA0B;IACxC,MAAM,CAAC,WAAW,SACgK;IAClL,MAAM,CAAC,OAAO,WAAmB;IACjC,MAAM,CAAC,QAAQ,WAIb;IAEF,MAAM,CAAC,IAAI;;MAET;IAEF,MAAM,CAAC,KAAK;;;;;;;;MAMV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAyB3B"}
|
|
@@ -32,6 +32,7 @@ class AssetPush extends base_command_1.BaseCommand {
|
|
|
32
32
|
}
|
|
33
33
|
AssetPush.summary = 'Upload an asset file';
|
|
34
34
|
AssetPush.description = 'Upload a local file to Limrun asset storage so it can be installed on instances or reused by later commands. The asset name defaults to the filename unless you provide `-n`.';
|
|
35
|
+
AssetPush.aliases = ['assets:push'];
|
|
35
36
|
AssetPush.examples = [
|
|
36
37
|
'<%= config.bin %> asset push ./app.apk',
|
|
37
38
|
'<%= config.bin %> asset push ./app.ipa -n my-app',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"push.js","sourceRoot":"","sources":["../../../src/commands/asset/push.ts"],"names":[],"mappings":";;;;;AAAA,gDAAwB;AACxB,4CAAoB;AACpB,sCAA0C;AAC1C,qDAAiD;AAEjD,MAAqB,SAAU,SAAQ,0BAAW;
|
|
1
|
+
{"version":3,"file":"push.js","sourceRoot":"","sources":["../../../src/commands/asset/push.ts"],"names":[],"mappings":";;;;;AAAA,gDAAwB;AACxB,4CAAoB;AACpB,sCAA0C;AAC1C,qDAAiD;AAEjD,MAAqB,SAAU,SAAQ,0BAAW;IAuBhD,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,QAAQ,GAAG,cAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC,KAAK,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,IAAI,cAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACxD,IAAI,CAAC,IAAI,CAAC,SAAS,SAAS,EAAE,CAAC,CAAC;QAEhC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YAC7B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC;gBACjD,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;gBACf,GAAG,EAAE,KAAK,CAAC,GAAG;aACf,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,OAAO,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/B,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;gBACpB,IAAI,CAAC,MAAM,CAAC,eAAe,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;YAChD,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;;AA9CM,iBAAO,GAAG,sBAAsB,CAAC;AACjC,qBAAW,GAChB,+KAA+K,CAAC;AAC3K,iBAAO,GAAG,CAAC,aAAa,CAAC,CAAC;AAC1B,kBAAQ,GAAG;IAChB,wCAAwC;IACxC,kDAAkD;IAClD,kDAAkD;CACnD,CAAC;AAEK,cAAI,GAAG;IACZ,IAAI,EAAE,WAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,8CAA8C,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;CACnG,CAAC;AAEK,eAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;IACxB,IAAI,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,uDAAuD,EAAE,CAAC;IACvG,GAAG,EAAE,YAAK,CAAC,MAAM,CAAC;QAChB,WAAW,EAAE,4EAA4E;KAC1F,CAAC;CACH,CAAC;kBArBiB,SAAS"}
|
|
@@ -8,6 +8,7 @@ export default class IosLaunchApp extends BaseCommand {
|
|
|
8
8
|
};
|
|
9
9
|
static flags: {
|
|
10
10
|
id: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
11
|
+
detach: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
11
12
|
mode: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
12
13
|
runtime: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
13
14
|
'detox-server-url': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"launch-app.d.ts","sourceRoot":"","sources":["../../../src/commands/ios/launch-app.ts"],"names":[],"mappings":"
|
|
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;;;;;;;;;;;;;MA6BV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAoF3B"}
|
|
@@ -21,26 +21,82 @@ class IosLaunchApp extends base_command_1.BaseCommand {
|
|
|
21
21
|
const launchArgument = (0, launch_app_runtime_1.buildLaunchAppArgument)(flags, {
|
|
22
22
|
modeExplicitlyProvided: flags.mode !== undefined,
|
|
23
23
|
});
|
|
24
|
-
if (
|
|
25
|
-
|
|
24
|
+
if (flags.detach) {
|
|
25
|
+
if ((0, instance_client_factory_1.hasActiveSession)(id)) {
|
|
26
|
+
await (0, instance_client_factory_1.sendSessionCommand)(id, 'launch-app', [args.bundleId, launchArgument]);
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
const { client, disconnect } = await (0, instance_client_factory_1.getIosInstanceClient)(this.client, resolvedInstance);
|
|
30
|
+
try {
|
|
31
|
+
await launchAppWithArgument(client, args.bundleId, launchArgument);
|
|
32
|
+
}
|
|
33
|
+
finally {
|
|
34
|
+
disconnect();
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
this.log(`Launched ${args.bundleId}`);
|
|
38
|
+
return;
|
|
26
39
|
}
|
|
27
|
-
|
|
28
|
-
|
|
40
|
+
// Log streaming always needs a direct connection, even when a daemon
|
|
41
|
+
// session is active for the instance. The launch also goes through the
|
|
42
|
+
// direct client because the appExit notification that ends this command
|
|
43
|
+
// is delivered on the launching client's signaling WebSocket.
|
|
44
|
+
const { client, disconnect } = await (0, instance_client_factory_1.getIosInstanceClient)(this.client, resolvedInstance);
|
|
45
|
+
try {
|
|
46
|
+
// Subscribe before launching so early log lines are not missed.
|
|
47
|
+
const logStream = client.streamAppLog(args.bundleId);
|
|
48
|
+
logStream.on('line', (line) => {
|
|
49
|
+
process.stdout.write(line + '\n');
|
|
50
|
+
});
|
|
51
|
+
logStream.on('error', (err) => {
|
|
52
|
+
this.warn(`App log stream error: ${err.message}`);
|
|
53
|
+
});
|
|
54
|
+
let notifyAppExited = () => { };
|
|
55
|
+
const appExited = new Promise((resolve) => {
|
|
56
|
+
notifyAppExited = resolve;
|
|
57
|
+
});
|
|
58
|
+
const launchOptions = {
|
|
59
|
+
...(typeof launchArgument === 'string' ? { mode: launchArgument } : launchArgument),
|
|
60
|
+
onExit: async () => {
|
|
61
|
+
notifyAppExited();
|
|
62
|
+
},
|
|
63
|
+
};
|
|
29
64
|
try {
|
|
30
|
-
await
|
|
65
|
+
await client.launchApp(args.bundleId, launchOptions);
|
|
31
66
|
}
|
|
32
|
-
|
|
33
|
-
|
|
67
|
+
catch (error) {
|
|
68
|
+
logStream.stop();
|
|
69
|
+
throw error;
|
|
34
70
|
}
|
|
71
|
+
this.logToStderr(`Launched ${args.bundleId}. Streaming app logs until the app exits; press Ctrl+C to stop earlier, or pass --detach to skip streaming.`);
|
|
72
|
+
await new Promise((resolve) => {
|
|
73
|
+
const keepAlive = setInterval(() => { }, 1 << 30);
|
|
74
|
+
const finish = () => {
|
|
75
|
+
clearInterval(keepAlive);
|
|
76
|
+
logStream.stop();
|
|
77
|
+
resolve();
|
|
78
|
+
};
|
|
79
|
+
process.on('SIGINT', finish);
|
|
80
|
+
process.on('SIGTERM', finish);
|
|
81
|
+
logStream.on('close', finish);
|
|
82
|
+
void appExited.then(() => {
|
|
83
|
+
this.logToStderr(`${args.bundleId} exited.`);
|
|
84
|
+
// Log lines arrive in ~500ms batches; give the tail a moment to flush.
|
|
85
|
+
setTimeout(finish, 1000);
|
|
86
|
+
});
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
finally {
|
|
90
|
+
disconnect();
|
|
35
91
|
}
|
|
36
|
-
this.log(`Launched ${args.bundleId}`);
|
|
37
92
|
});
|
|
38
93
|
}
|
|
39
94
|
}
|
|
40
95
|
IosLaunchApp.summary = 'Launch an app on a running iOS instance';
|
|
41
|
-
IosLaunchApp.description = 'Launch an installed app on a running iOS instance by bundle identifier. Choose `ForegroundIfRunning` to bring an already-running app to the front or `RelaunchIfRunning` to restart it. Use `--runtime detox` to launch with the Limrun-managed Detox runtime.';
|
|
96
|
+
IosLaunchApp.description = 'Launch an installed app on a running iOS instance by bundle identifier and stream its logs until the app exits or the command is interrupted. Use `--detach` to exit immediately after the launch instead. Choose `ForegroundIfRunning` to bring an already-running app to the front or `RelaunchIfRunning` to restart it. Use `--runtime detox` to launch with the Limrun-managed Detox runtime.';
|
|
42
97
|
IosLaunchApp.examples = [
|
|
43
98
|
'<%= config.bin %> ios launch-app com.example.app',
|
|
99
|
+
'<%= config.bin %> ios launch-app com.example.app --detach',
|
|
44
100
|
'<%= config.bin %> ios launch-app com.example.app --mode RelaunchIfRunning --id <instance-ID>',
|
|
45
101
|
'<%= config.bin %> ios launch-app host.exp.Exponent --runtime detox --detox-server-url ws://10.244.0.10:57091 --detox-session-id limrun-detox --detox-version 20.51.1 --id <instance-ID>',
|
|
46
102
|
];
|
|
@@ -52,6 +108,11 @@ IosLaunchApp.flags = {
|
|
|
52
108
|
id: core_1.Flags.string({
|
|
53
109
|
description: 'iOS instance ID to target. Defaults to the last created iOS instance.',
|
|
54
110
|
}),
|
|
111
|
+
detach: core_1.Flags.boolean({
|
|
112
|
+
char: 'd',
|
|
113
|
+
description: 'Exit right after launching instead of streaming app logs',
|
|
114
|
+
default: false,
|
|
115
|
+
}),
|
|
55
116
|
mode: core_1.Flags.string({
|
|
56
117
|
description: 'Launch behavior to use when the app may already be running. Default: ForegroundIfRunning.',
|
|
57
118
|
options: ['ForegroundIfRunning', 'RelaunchIfRunning'],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"launch-app.js","sourceRoot":"","sources":["../../../src/commands/ios/launch-app.ts"],"names":[],"mappings":";;AAAA,sCAA0C;
|
|
1
|
+
{"version":3,"file":"launch-app.js","sourceRoot":"","sources":["../../../src/commands/ios/launch-app.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lim",
|
|
3
|
-
"version": "0.18.
|
|
3
|
+
"version": "0.18.3",
|
|
4
4
|
"description": "Use remote XCode, 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.39.
|
|
28
|
+
"@limrun/api": "0.39.4",
|
|
29
29
|
"@oclif/core": "^4",
|
|
30
30
|
"cli-progress": "^3.12.0",
|
|
31
31
|
"cli-table3": "^0.6.5",
|
|
@@ -60,6 +60,9 @@
|
|
|
60
60
|
"asset": {
|
|
61
61
|
"description": "Upload, download, list, inspect, and delete files that can be used by iOS & Android as pre-installed apps: push, pull, list, delete"
|
|
62
62
|
},
|
|
63
|
+
"assets": {
|
|
64
|
+
"description": "Upload, download, list, inspect, and delete files that can be used by iOS & Android as pre-installed apps: push, pull, list, delete"
|
|
65
|
+
},
|
|
63
66
|
"session": {
|
|
64
67
|
"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."
|
|
65
68
|
},
|