eas-cli 2.8.0 → 2.9.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 CHANGED
@@ -70,6 +70,7 @@ eas --help COMMAND
70
70
  * [`eas build:configure`](#eas-buildconfigure)
71
71
  * [`eas build:inspect`](#eas-buildinspect)
72
72
  * [`eas build:list`](#eas-buildlist)
73
+ * [`eas build:run`](#eas-buildrun)
73
74
  * [`eas build:submit`](#eas-buildsubmit)
74
75
  * [`eas build:version:set`](#eas-buildversionset)
75
76
  * [`eas build:version:sync`](#eas-buildversionsync)
@@ -95,6 +96,8 @@ eas --help COMMAND
95
96
  * [`eas open`](#eas-open)
96
97
  * [`eas project:info`](#eas-projectinfo)
97
98
  * [`eas project:init`](#eas-projectinit)
99
+ * [`eas run`](#eas-run)
100
+ * [`eas run:run`](#eas-runrun)
98
101
  * [`eas secret:create`](#eas-secretcreate)
99
102
  * [`eas secret:delete`](#eas-secretdelete)
100
103
  * [`eas secret:list`](#eas-secretlist)
@@ -127,7 +130,7 @@ ALIASES
127
130
  $ eas login
128
131
  ```
129
132
 
130
- _See code: [src/commands/account/login.ts](https://github.com/expo/eas-cli/blob/v2.8.0/packages/eas-cli/src/commands/account/login.ts)_
133
+ _See code: [src/commands/account/login.ts](https://github.com/expo/eas-cli/blob/v2.9.0/packages/eas-cli/src/commands/account/login.ts)_
131
134
 
132
135
  ## `eas account:logout`
133
136
 
@@ -144,7 +147,7 @@ ALIASES
144
147
  $ eas logout
145
148
  ```
146
149
 
147
- _See code: [src/commands/account/logout.ts](https://github.com/expo/eas-cli/blob/v2.8.0/packages/eas-cli/src/commands/account/logout.ts)_
150
+ _See code: [src/commands/account/logout.ts](https://github.com/expo/eas-cli/blob/v2.9.0/packages/eas-cli/src/commands/account/logout.ts)_
148
151
 
149
152
  ## `eas account:view`
150
153
 
@@ -161,7 +164,7 @@ ALIASES
161
164
  $ eas whoami
162
165
  ```
163
166
 
164
- _See code: [src/commands/account/view.ts](https://github.com/expo/eas-cli/blob/v2.8.0/packages/eas-cli/src/commands/account/view.ts)_
167
+ _See code: [src/commands/account/view.ts](https://github.com/expo/eas-cli/blob/v2.9.0/packages/eas-cli/src/commands/account/view.ts)_
165
168
 
166
169
  ## `eas analytics [STATUS]`
167
170
 
@@ -175,7 +178,7 @@ DESCRIPTION
175
178
  display or change analytics settings
176
179
  ```
177
180
 
178
- _See code: [src/commands/analytics.ts](https://github.com/expo/eas-cli/blob/v2.8.0/packages/eas-cli/src/commands/analytics.ts)_
181
+ _See code: [src/commands/analytics.ts](https://github.com/expo/eas-cli/blob/v2.9.0/packages/eas-cli/src/commands/analytics.ts)_
179
182
 
180
183
  ## `eas autocomplete [SHELL]`
181
184
 
@@ -225,7 +228,7 @@ DESCRIPTION
225
228
  create a branch
226
229
  ```
227
230
 
228
- _See code: [src/commands/branch/create.ts](https://github.com/expo/eas-cli/blob/v2.8.0/packages/eas-cli/src/commands/branch/create.ts)_
231
+ _See code: [src/commands/branch/create.ts](https://github.com/expo/eas-cli/blob/v2.9.0/packages/eas-cli/src/commands/branch/create.ts)_
229
232
 
230
233
  ## `eas branch:delete [NAME]`
231
234
 
@@ -246,7 +249,7 @@ DESCRIPTION
246
249
  delete a branch
247
250
  ```
248
251
 
249
- _See code: [src/commands/branch/delete.ts](https://github.com/expo/eas-cli/blob/v2.8.0/packages/eas-cli/src/commands/branch/delete.ts)_
252
+ _See code: [src/commands/branch/delete.ts](https://github.com/expo/eas-cli/blob/v2.9.0/packages/eas-cli/src/commands/branch/delete.ts)_
250
253
 
251
254
  ## `eas branch:list`
252
255
 
@@ -266,7 +269,7 @@ DESCRIPTION
266
269
  list all branches
267
270
  ```
268
271
 
269
- _See code: [src/commands/branch/list.ts](https://github.com/expo/eas-cli/blob/v2.8.0/packages/eas-cli/src/commands/branch/list.ts)_
272
+ _See code: [src/commands/branch/list.ts](https://github.com/expo/eas-cli/blob/v2.9.0/packages/eas-cli/src/commands/branch/list.ts)_
270
273
 
271
274
  ## `eas branch:rename`
272
275
 
@@ -286,7 +289,7 @@ DESCRIPTION
286
289
  rename a branch
287
290
  ```
288
291
 
289
- _See code: [src/commands/branch/rename.ts](https://github.com/expo/eas-cli/blob/v2.8.0/packages/eas-cli/src/commands/branch/rename.ts)_
292
+ _See code: [src/commands/branch/rename.ts](https://github.com/expo/eas-cli/blob/v2.9.0/packages/eas-cli/src/commands/branch/rename.ts)_
290
293
 
291
294
  ## `eas branch:view [NAME]`
292
295
 
@@ -309,7 +312,7 @@ DESCRIPTION
309
312
  view a branch
310
313
  ```
311
314
 
312
- _See code: [src/commands/branch/view.ts](https://github.com/expo/eas-cli/blob/v2.8.0/packages/eas-cli/src/commands/branch/view.ts)_
315
+ _See code: [src/commands/branch/view.ts](https://github.com/expo/eas-cli/blob/v2.9.0/packages/eas-cli/src/commands/branch/view.ts)_
313
316
 
314
317
  ## `eas build`
315
318
 
@@ -339,7 +342,7 @@ DESCRIPTION
339
342
  start a build
340
343
  ```
341
344
 
342
- _See code: [src/commands/build/index.ts](https://github.com/expo/eas-cli/blob/v2.8.0/packages/eas-cli/src/commands/build/index.ts)_
345
+ _See code: [src/commands/build/index.ts](https://github.com/expo/eas-cli/blob/v2.9.0/packages/eas-cli/src/commands/build/index.ts)_
343
346
 
344
347
  ## `eas build:cancel [BUILD_ID]`
345
348
 
@@ -356,7 +359,7 @@ DESCRIPTION
356
359
  cancel a build
357
360
  ```
358
361
 
359
- _See code: [src/commands/build/cancel.ts](https://github.com/expo/eas-cli/blob/v2.8.0/packages/eas-cli/src/commands/build/cancel.ts)_
362
+ _See code: [src/commands/build/cancel.ts](https://github.com/expo/eas-cli/blob/v2.9.0/packages/eas-cli/src/commands/build/cancel.ts)_
360
363
 
361
364
  ## `eas build:configure`
362
365
 
@@ -373,7 +376,7 @@ DESCRIPTION
373
376
  configure the project to support EAS Build
374
377
  ```
375
378
 
376
- _See code: [src/commands/build/configure.ts](https://github.com/expo/eas-cli/blob/v2.8.0/packages/eas-cli/src/commands/build/configure.ts)_
379
+ _See code: [src/commands/build/configure.ts](https://github.com/expo/eas-cli/blob/v2.9.0/packages/eas-cli/src/commands/build/configure.ts)_
377
380
 
378
381
  ## `eas build:inspect`
379
382
 
@@ -408,7 +411,7 @@ DESCRIPTION
408
411
  inspect the state of the project at specific build stages, useful for troubleshooting
409
412
  ```
410
413
 
411
- _See code: [src/commands/build/inspect.ts](https://github.com/expo/eas-cli/blob/v2.8.0/packages/eas-cli/src/commands/build/inspect.ts)_
414
+ _See code: [src/commands/build/inspect.ts](https://github.com/expo/eas-cli/blob/v2.9.0/packages/eas-cli/src/commands/build/inspect.ts)_
412
415
 
413
416
  ## `eas build:list`
414
417
 
@@ -445,7 +448,31 @@ DESCRIPTION
445
448
  list all builds for your project
446
449
  ```
447
450
 
448
- _See code: [src/commands/build/list.ts](https://github.com/expo/eas-cli/blob/v2.8.0/packages/eas-cli/src/commands/build/list.ts)_
451
+ _See code: [src/commands/build/list.ts](https://github.com/expo/eas-cli/blob/v2.9.0/packages/eas-cli/src/commands/build/list.ts)_
452
+
453
+ ## `eas build:run`
454
+
455
+ run simulator/emulator builds from eas-cli
456
+
457
+ ```
458
+ USAGE
459
+ $ eas build:run [--latest | --id <value> | --path <value> | --url <value>] [-p android|ios] [--offset
460
+ <value>] [--limit <value>]
461
+
462
+ FLAGS
463
+ -p, --platform=(android|ios)
464
+ --id=<value> ID of the simulator/emulator build to run
465
+ --latest Run the latest simulator/emulator build for specified platform
466
+ --limit=<value> The number of items to fetch each query. Defaults to 50 and is capped at 100.
467
+ --offset=<value> Start queries from specified index. Use for paginating results. Defaults to 0.
468
+ --path=<value> Path to the simulator/emulator build archive or app
469
+ --url=<value> Simulator/Emulator build archive url
470
+
471
+ DESCRIPTION
472
+ run simulator/emulator builds from eas-cli
473
+ ```
474
+
475
+ _See code: [src/commands/build/run.ts](https://github.com/expo/eas-cli/blob/v2.9.0/packages/eas-cli/src/commands/build/run.ts)_
449
476
 
450
477
  ## `eas build:submit`
451
478
 
@@ -465,7 +492,7 @@ FLAGS
465
492
  --non-interactive Run command in non-interactive mode
466
493
  --path=<value> Path to the .apk/.aab/.ipa file
467
494
  --url=<value> App archive url
468
- --verbose Always print logs from Submission Service
495
+ --verbose Always print logs from EAS Submit
469
496
  --[no-]wait Wait for submission to complete
470
497
 
471
498
  DESCRIPTION
@@ -492,7 +519,7 @@ DESCRIPTION
492
519
  Update version of an app.
493
520
  ```
494
521
 
495
- _See code: [src/commands/build/version/set.ts](https://github.com/expo/eas-cli/blob/v2.8.0/packages/eas-cli/src/commands/build/version/set.ts)_
522
+ _See code: [src/commands/build/version/set.ts](https://github.com/expo/eas-cli/blob/v2.9.0/packages/eas-cli/src/commands/build/version/set.ts)_
496
523
 
497
524
  ## `eas build:version:sync`
498
525
 
@@ -511,7 +538,7 @@ DESCRIPTION
511
538
  Update a version in native code with a value stored on EAS servers
512
539
  ```
513
540
 
514
- _See code: [src/commands/build/version/sync.ts](https://github.com/expo/eas-cli/blob/v2.8.0/packages/eas-cli/src/commands/build/version/sync.ts)_
541
+ _See code: [src/commands/build/version/sync.ts](https://github.com/expo/eas-cli/blob/v2.9.0/packages/eas-cli/src/commands/build/version/sync.ts)_
515
542
 
516
543
  ## `eas build:view [BUILD_ID]`
517
544
 
@@ -528,7 +555,7 @@ DESCRIPTION
528
555
  view a build for your project
529
556
  ```
530
557
 
531
- _See code: [src/commands/build/view.ts](https://github.com/expo/eas-cli/blob/v2.8.0/packages/eas-cli/src/commands/build/view.ts)_
558
+ _See code: [src/commands/build/view.ts](https://github.com/expo/eas-cli/blob/v2.9.0/packages/eas-cli/src/commands/build/view.ts)_
532
559
 
533
560
  ## `eas channel:create [NAME]`
534
561
 
@@ -549,7 +576,7 @@ DESCRIPTION
549
576
  create a channel
550
577
  ```
551
578
 
552
- _See code: [src/commands/channel/create.ts](https://github.com/expo/eas-cli/blob/v2.8.0/packages/eas-cli/src/commands/channel/create.ts)_
579
+ _See code: [src/commands/channel/create.ts](https://github.com/expo/eas-cli/blob/v2.9.0/packages/eas-cli/src/commands/channel/create.ts)_
553
580
 
554
581
  ## `eas channel:edit [NAME]`
555
582
 
@@ -571,7 +598,7 @@ DESCRIPTION
571
598
  point a channel at a new branch
572
599
  ```
573
600
 
574
- _See code: [src/commands/channel/edit.ts](https://github.com/expo/eas-cli/blob/v2.8.0/packages/eas-cli/src/commands/channel/edit.ts)_
601
+ _See code: [src/commands/channel/edit.ts](https://github.com/expo/eas-cli/blob/v2.9.0/packages/eas-cli/src/commands/channel/edit.ts)_
575
602
 
576
603
  ## `eas channel:list`
577
604
 
@@ -591,7 +618,7 @@ DESCRIPTION
591
618
  list all channels
592
619
  ```
593
620
 
594
- _See code: [src/commands/channel/list.ts](https://github.com/expo/eas-cli/blob/v2.8.0/packages/eas-cli/src/commands/channel/list.ts)_
621
+ _See code: [src/commands/channel/list.ts](https://github.com/expo/eas-cli/blob/v2.9.0/packages/eas-cli/src/commands/channel/list.ts)_
595
622
 
596
623
  ## `eas channel:view [NAME]`
597
624
 
@@ -614,7 +641,7 @@ DESCRIPTION
614
641
  view a channel
615
642
  ```
616
643
 
617
- _See code: [src/commands/channel/view.ts](https://github.com/expo/eas-cli/blob/v2.8.0/packages/eas-cli/src/commands/channel/view.ts)_
644
+ _See code: [src/commands/channel/view.ts](https://github.com/expo/eas-cli/blob/v2.9.0/packages/eas-cli/src/commands/channel/view.ts)_
618
645
 
619
646
  ## `eas config`
620
647
 
@@ -633,7 +660,7 @@ DESCRIPTION
633
660
  display project configuration (app.json + eas.json)
634
661
  ```
635
662
 
636
- _See code: [src/commands/config.ts](https://github.com/expo/eas-cli/blob/v2.8.0/packages/eas-cli/src/commands/config.ts)_
663
+ _See code: [src/commands/config.ts](https://github.com/expo/eas-cli/blob/v2.9.0/packages/eas-cli/src/commands/config.ts)_
637
664
 
638
665
  ## `eas credentials`
639
666
 
@@ -650,7 +677,7 @@ DESCRIPTION
650
677
  manage credentials
651
678
  ```
652
679
 
653
- _See code: [src/commands/credentials.ts](https://github.com/expo/eas-cli/blob/v2.8.0/packages/eas-cli/src/commands/credentials.ts)_
680
+ _See code: [src/commands/credentials.ts](https://github.com/expo/eas-cli/blob/v2.9.0/packages/eas-cli/src/commands/credentials.ts)_
654
681
 
655
682
  ## `eas device:create`
656
683
 
@@ -664,7 +691,7 @@ DESCRIPTION
664
691
  register new Apple Devices to use for internal distribution
665
692
  ```
666
693
 
667
- _See code: [src/commands/device/create.ts](https://github.com/expo/eas-cli/blob/v2.8.0/packages/eas-cli/src/commands/device/create.ts)_
694
+ _See code: [src/commands/device/create.ts](https://github.com/expo/eas-cli/blob/v2.9.0/packages/eas-cli/src/commands/device/create.ts)_
668
695
 
669
696
  ## `eas device:delete`
670
697
 
@@ -684,7 +711,7 @@ DESCRIPTION
684
711
  remove a registered device from your account
685
712
  ```
686
713
 
687
- _See code: [src/commands/device/delete.ts](https://github.com/expo/eas-cli/blob/v2.8.0/packages/eas-cli/src/commands/device/delete.ts)_
714
+ _See code: [src/commands/device/delete.ts](https://github.com/expo/eas-cli/blob/v2.9.0/packages/eas-cli/src/commands/device/delete.ts)_
688
715
 
689
716
  ## `eas device:list`
690
717
 
@@ -705,7 +732,7 @@ DESCRIPTION
705
732
  list all registered devices for your account
706
733
  ```
707
734
 
708
- _See code: [src/commands/device/list.ts](https://github.com/expo/eas-cli/blob/v2.8.0/packages/eas-cli/src/commands/device/list.ts)_
735
+ _See code: [src/commands/device/list.ts](https://github.com/expo/eas-cli/blob/v2.9.0/packages/eas-cli/src/commands/device/list.ts)_
709
736
 
710
737
  ## `eas device:view [UDID]`
711
738
 
@@ -719,7 +746,7 @@ DESCRIPTION
719
746
  view a device for your project
720
747
  ```
721
748
 
722
- _See code: [src/commands/device/view.ts](https://github.com/expo/eas-cli/blob/v2.8.0/packages/eas-cli/src/commands/device/view.ts)_
749
+ _See code: [src/commands/device/view.ts](https://github.com/expo/eas-cli/blob/v2.9.0/packages/eas-cli/src/commands/device/view.ts)_
723
750
 
724
751
  ## `eas diagnostics`
725
752
 
@@ -733,7 +760,7 @@ DESCRIPTION
733
760
  display environment info
734
761
  ```
735
762
 
736
- _See code: [src/commands/diagnostics.ts](https://github.com/expo/eas-cli/blob/v2.8.0/packages/eas-cli/src/commands/diagnostics.ts)_
763
+ _See code: [src/commands/diagnostics.ts](https://github.com/expo/eas-cli/blob/v2.9.0/packages/eas-cli/src/commands/diagnostics.ts)_
737
764
 
738
765
  ## `eas help [COMMAND]`
739
766
 
@@ -821,7 +848,7 @@ DESCRIPTION
821
848
  validate the local store configuration
822
849
  ```
823
850
 
824
- _See code: [src/commands/metadata/lint.ts](https://github.com/expo/eas-cli/blob/v2.8.0/packages/eas-cli/src/commands/metadata/lint.ts)_
851
+ _See code: [src/commands/metadata/lint.ts](https://github.com/expo/eas-cli/blob/v2.9.0/packages/eas-cli/src/commands/metadata/lint.ts)_
825
852
 
826
853
  ## `eas metadata:pull`
827
854
 
@@ -838,7 +865,7 @@ DESCRIPTION
838
865
  generate the local store configuration from the app stores
839
866
  ```
840
867
 
841
- _See code: [src/commands/metadata/pull.ts](https://github.com/expo/eas-cli/blob/v2.8.0/packages/eas-cli/src/commands/metadata/pull.ts)_
868
+ _See code: [src/commands/metadata/pull.ts](https://github.com/expo/eas-cli/blob/v2.9.0/packages/eas-cli/src/commands/metadata/pull.ts)_
842
869
 
843
870
  ## `eas metadata:push`
844
871
 
@@ -855,7 +882,7 @@ DESCRIPTION
855
882
  sync the local store configuration to the app stores
856
883
  ```
857
884
 
858
- _See code: [src/commands/metadata/push.ts](https://github.com/expo/eas-cli/blob/v2.8.0/packages/eas-cli/src/commands/metadata/push.ts)_
885
+ _See code: [src/commands/metadata/push.ts](https://github.com/expo/eas-cli/blob/v2.9.0/packages/eas-cli/src/commands/metadata/push.ts)_
859
886
 
860
887
  ## `eas open`
861
888
 
@@ -869,7 +896,7 @@ DESCRIPTION
869
896
  open the project page in a web browser
870
897
  ```
871
898
 
872
- _See code: [src/commands/open.ts](https://github.com/expo/eas-cli/blob/v2.8.0/packages/eas-cli/src/commands/open.ts)_
899
+ _See code: [src/commands/open.ts](https://github.com/expo/eas-cli/blob/v2.9.0/packages/eas-cli/src/commands/open.ts)_
873
900
 
874
901
  ## `eas project:info`
875
902
 
@@ -883,7 +910,7 @@ DESCRIPTION
883
910
  information about the current project
884
911
  ```
885
912
 
886
- _See code: [src/commands/project/info.ts](https://github.com/expo/eas-cli/blob/v2.8.0/packages/eas-cli/src/commands/project/info.ts)_
913
+ _See code: [src/commands/project/info.ts](https://github.com/expo/eas-cli/blob/v2.9.0/packages/eas-cli/src/commands/project/info.ts)_
887
914
 
888
915
  ## `eas project:init`
889
916
 
@@ -905,7 +932,55 @@ ALIASES
905
932
  $ eas init
906
933
  ```
907
934
 
908
- _See code: [src/commands/project/init.ts](https://github.com/expo/eas-cli/blob/v2.8.0/packages/eas-cli/src/commands/project/init.ts)_
935
+ _See code: [src/commands/project/init.ts](https://github.com/expo/eas-cli/blob/v2.9.0/packages/eas-cli/src/commands/project/init.ts)_
936
+
937
+ ## `eas run`
938
+
939
+ run simulator build
940
+
941
+ ```
942
+ USAGE
943
+ $ eas run [--latest | --id <value> | --path <value> | --url <value>] [-p android|ios|all] [--offset
944
+ <value>] [--limit <value>]
945
+
946
+ FLAGS
947
+ -p, --platform=(android|ios|all)
948
+ --id=<value> ID of the simulator build to run
949
+ --latest Run the latest simulator build for specified platform
950
+ --limit=<value> The number of items to fetch each query. Defaults to 50 and is capped at 100.
951
+ --offset=<value> Start queries from specified index. Use for paginating results. Defaults to 0.
952
+ --path=<value> Path to the simulator build file file
953
+ --url=<value> Simulator build archive url
954
+
955
+ DESCRIPTION
956
+ run simulator build
957
+ ```
958
+
959
+ _See code: [src/commands/run/index.ts](https://github.com/expo/eas-cli/blob/v2.9.0/packages/eas-cli/src/commands/run/index.ts)_
960
+
961
+ ## `eas run:run`
962
+
963
+ run simulator build
964
+
965
+ ```
966
+ USAGE
967
+ $ eas run:run [--latest | --id <value> | --path <value> | --url <value>] [-p android|ios|all] [--offset
968
+ <value>] [--limit <value>]
969
+
970
+ FLAGS
971
+ -p, --platform=(android|ios|all)
972
+ --id=<value> ID of the simulator build to run
973
+ --latest Run the latest simulator build for specified platform
974
+ --limit=<value> The number of items to fetch each query. Defaults to 50 and is capped at 100.
975
+ --offset=<value> Start queries from specified index. Use for paginating results. Defaults to 0.
976
+ --path=<value> Path to the simulator build file file
977
+ --url=<value> Simulator build archive url
978
+
979
+ DESCRIPTION
980
+ run simulator build
981
+ ```
982
+
983
+ _See code: [src/commands/run/run.ts](https://github.com/expo/eas-cli/blob/v2.9.0/packages/eas-cli/src/commands/run/run.ts)_
909
984
 
910
985
  ## `eas secret:create`
911
986
 
@@ -928,7 +1003,7 @@ DESCRIPTION
928
1003
  create an environment secret on the current project or owner account
929
1004
  ```
930
1005
 
931
- _See code: [src/commands/secret/create.ts](https://github.com/expo/eas-cli/blob/v2.8.0/packages/eas-cli/src/commands/secret/create.ts)_
1006
+ _See code: [src/commands/secret/create.ts](https://github.com/expo/eas-cli/blob/v2.9.0/packages/eas-cli/src/commands/secret/create.ts)_
932
1007
 
933
1008
  ## `eas secret:delete`
934
1009
 
@@ -946,7 +1021,7 @@ DESCRIPTION
946
1021
  delete an environment secret by ID
947
1022
  ```
948
1023
 
949
- _See code: [src/commands/secret/delete.ts](https://github.com/expo/eas-cli/blob/v2.8.0/packages/eas-cli/src/commands/secret/delete.ts)_
1024
+ _See code: [src/commands/secret/delete.ts](https://github.com/expo/eas-cli/blob/v2.9.0/packages/eas-cli/src/commands/secret/delete.ts)_
950
1025
 
951
1026
  ## `eas secret:list`
952
1027
 
@@ -960,7 +1035,7 @@ DESCRIPTION
960
1035
  list environment secrets available for your current app
961
1036
  ```
962
1037
 
963
- _See code: [src/commands/secret/list.ts](https://github.com/expo/eas-cli/blob/v2.8.0/packages/eas-cli/src/commands/secret/list.ts)_
1038
+ _See code: [src/commands/secret/list.ts](https://github.com/expo/eas-cli/blob/v2.9.0/packages/eas-cli/src/commands/secret/list.ts)_
964
1039
 
965
1040
  ## `eas secret:push`
966
1041
 
@@ -980,7 +1055,7 @@ DESCRIPTION
980
1055
  read environment secrets from env file and store on the server
981
1056
  ```
982
1057
 
983
- _See code: [src/commands/secret/push.ts](https://github.com/expo/eas-cli/blob/v2.8.0/packages/eas-cli/src/commands/secret/push.ts)_
1058
+ _See code: [src/commands/secret/push.ts](https://github.com/expo/eas-cli/blob/v2.9.0/packages/eas-cli/src/commands/secret/push.ts)_
984
1059
 
985
1060
  ## `eas submit`
986
1061
 
@@ -1000,7 +1075,7 @@ FLAGS
1000
1075
  --non-interactive Run command in non-interactive mode
1001
1076
  --path=<value> Path to the .apk/.aab/.ipa file
1002
1077
  --url=<value> App archive url
1003
- --verbose Always print logs from Submission Service
1078
+ --verbose Always print logs from EAS Submit
1004
1079
  --[no-]wait Wait for submission to complete
1005
1080
 
1006
1081
  DESCRIPTION
@@ -1010,7 +1085,7 @@ ALIASES
1010
1085
  $ eas build:submit
1011
1086
  ```
1012
1087
 
1013
- _See code: [src/commands/submit.ts](https://github.com/expo/eas-cli/blob/v2.8.0/packages/eas-cli/src/commands/submit.ts)_
1088
+ _See code: [src/commands/submit.ts](https://github.com/expo/eas-cli/blob/v2.9.0/packages/eas-cli/src/commands/submit.ts)_
1014
1089
 
1015
1090
  ## `eas update`
1016
1091
 
@@ -1040,7 +1115,7 @@ DESCRIPTION
1040
1115
  publish an update group
1041
1116
  ```
1042
1117
 
1043
- _See code: [src/commands/update/index.ts](https://github.com/expo/eas-cli/blob/v2.8.0/packages/eas-cli/src/commands/update/index.ts)_
1118
+ _See code: [src/commands/update/index.ts](https://github.com/expo/eas-cli/blob/v2.9.0/packages/eas-cli/src/commands/update/index.ts)_
1044
1119
 
1045
1120
  ## `eas update:configure`
1046
1121
 
@@ -1058,7 +1133,7 @@ DESCRIPTION
1058
1133
  configure the project to support EAS Update
1059
1134
  ```
1060
1135
 
1061
- _See code: [src/commands/update/configure.ts](https://github.com/expo/eas-cli/blob/v2.8.0/packages/eas-cli/src/commands/update/configure.ts)_
1136
+ _See code: [src/commands/update/configure.ts](https://github.com/expo/eas-cli/blob/v2.9.0/packages/eas-cli/src/commands/update/configure.ts)_
1062
1137
 
1063
1138
  ## `eas update:delete GROUPID`
1064
1139
 
@@ -1079,7 +1154,7 @@ DESCRIPTION
1079
1154
  delete all the updates in an update group
1080
1155
  ```
1081
1156
 
1082
- _See code: [src/commands/update/delete.ts](https://github.com/expo/eas-cli/blob/v2.8.0/packages/eas-cli/src/commands/update/delete.ts)_
1157
+ _See code: [src/commands/update/delete.ts](https://github.com/expo/eas-cli/blob/v2.9.0/packages/eas-cli/src/commands/update/delete.ts)_
1083
1158
 
1084
1159
  ## `eas update:list`
1085
1160
 
@@ -1101,7 +1176,7 @@ DESCRIPTION
1101
1176
  view the recent updates
1102
1177
  ```
1103
1178
 
1104
- _See code: [src/commands/update/list.ts](https://github.com/expo/eas-cli/blob/v2.8.0/packages/eas-cli/src/commands/update/list.ts)_
1179
+ _See code: [src/commands/update/list.ts](https://github.com/expo/eas-cli/blob/v2.9.0/packages/eas-cli/src/commands/update/list.ts)_
1105
1180
 
1106
1181
  ## `eas update:view GROUPID`
1107
1182
 
@@ -1121,7 +1196,7 @@ DESCRIPTION
1121
1196
  update group details
1122
1197
  ```
1123
1198
 
1124
- _See code: [src/commands/update/view.ts](https://github.com/expo/eas-cli/blob/v2.8.0/packages/eas-cli/src/commands/update/view.ts)_
1199
+ _See code: [src/commands/update/view.ts](https://github.com/expo/eas-cli/blob/v2.9.0/packages/eas-cli/src/commands/update/view.ts)_
1125
1200
 
1126
1201
  ## `eas webhook:create`
1127
1202
 
@@ -1142,7 +1217,7 @@ DESCRIPTION
1142
1217
  create a webhook
1143
1218
  ```
1144
1219
 
1145
- _See code: [src/commands/webhook/create.ts](https://github.com/expo/eas-cli/blob/v2.8.0/packages/eas-cli/src/commands/webhook/create.ts)_
1220
+ _See code: [src/commands/webhook/create.ts](https://github.com/expo/eas-cli/blob/v2.9.0/packages/eas-cli/src/commands/webhook/create.ts)_
1146
1221
 
1147
1222
  ## `eas webhook:delete [ID]`
1148
1223
 
@@ -1162,7 +1237,7 @@ DESCRIPTION
1162
1237
  delete a webhook
1163
1238
  ```
1164
1239
 
1165
- _See code: [src/commands/webhook/delete.ts](https://github.com/expo/eas-cli/blob/v2.8.0/packages/eas-cli/src/commands/webhook/delete.ts)_
1240
+ _See code: [src/commands/webhook/delete.ts](https://github.com/expo/eas-cli/blob/v2.9.0/packages/eas-cli/src/commands/webhook/delete.ts)_
1166
1241
 
1167
1242
  ## `eas webhook:list`
1168
1243
 
@@ -1179,7 +1254,7 @@ DESCRIPTION
1179
1254
  list webhooks
1180
1255
  ```
1181
1256
 
1182
- _See code: [src/commands/webhook/list.ts](https://github.com/expo/eas-cli/blob/v2.8.0/packages/eas-cli/src/commands/webhook/list.ts)_
1257
+ _See code: [src/commands/webhook/list.ts](https://github.com/expo/eas-cli/blob/v2.9.0/packages/eas-cli/src/commands/webhook/list.ts)_
1183
1258
 
1184
1259
  ## `eas webhook:update`
1185
1260
 
@@ -1201,7 +1276,7 @@ DESCRIPTION
1201
1276
  update a webhook
1202
1277
  ```
1203
1278
 
1204
- _See code: [src/commands/webhook/update.ts](https://github.com/expo/eas-cli/blob/v2.8.0/packages/eas-cli/src/commands/webhook/update.ts)_
1279
+ _See code: [src/commands/webhook/update.ts](https://github.com/expo/eas-cli/blob/v2.9.0/packages/eas-cli/src/commands/webhook/update.ts)_
1205
1280
 
1206
1281
  ## `eas webhook:view ID`
1207
1282
 
@@ -1218,7 +1293,7 @@ DESCRIPTION
1218
1293
  view a webhook
1219
1294
  ```
1220
1295
 
1221
- _See code: [src/commands/webhook/view.ts](https://github.com/expo/eas-cli/blob/v2.8.0/packages/eas-cli/src/commands/webhook/view.ts)_
1296
+ _See code: [src/commands/webhook/view.ts](https://github.com/expo/eas-cli/blob/v2.9.0/packages/eas-cli/src/commands/webhook/view.ts)_
1222
1297
 
1223
1298
  ## `eas whoami`
1224
1299
 
@@ -21,7 +21,7 @@ interface Builder<TPlatform extends Platform, Credentials, TJob extends Job> {
21
21
  }
22
22
  export declare type BuildRequestSender = () => Promise<BuildFragment | undefined>;
23
23
  export declare function prepareBuildRequestForPlatformAsync<TPlatform extends Platform, Credentials, TJob extends Job>(builder: Builder<TPlatform, Credentials, TJob>): Promise<BuildRequestSender>;
24
- declare type MaybeBuildFragment = BuildFragment | null;
24
+ export declare type MaybeBuildFragment = BuildFragment | null;
25
25
  export declare function waitForBuildEndAsync(graphqlClient: ExpoGraphqlClient, { buildIds, accountName }: {
26
26
  buildIds: string[];
27
27
  accountName: string;
@@ -4,6 +4,7 @@ exports.runBuildAndSubmitAsync = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const eas_build_job_1 = require("@expo/eas-build-job");
6
6
  const eas_json_1 = require("@expo/eas-json");
7
+ const assert_1 = tslib_1.__importDefault(require("assert"));
7
8
  const chalk_1 = tslib_1.__importDefault(require("chalk"));
8
9
  const nullthrows_1 = tslib_1.__importDefault(require("nullthrows"));
9
10
  const generated_1 = require("../graphql/generated");
@@ -15,10 +16,15 @@ const expoSdk_1 = require("../project/expoSdk");
15
16
  const metroConfig_1 = require("../project/metroConfig");
16
17
  const projectUtils_1 = require("../project/projectUtils");
17
18
  const remoteVersionSource_1 = require("../project/remoteVersionSource");
19
+ const prompts_1 = require("../prompts");
20
+ const run_1 = require("../run/run");
21
+ const utils_1 = require("../run/utils");
18
22
  const context_1 = require("../submit/context");
19
23
  const submit_1 = require("../submit/submit");
20
24
  const urls_1 = require("../submit/utils/urls");
21
- const utils_1 = require("../update/utils");
25
+ const utils_2 = require("../update/utils");
26
+ const download_1 = require("../utils/download");
27
+ const filter_1 = require("../utils/expodash/filter");
22
28
  const json_1 = require("../utils/json");
23
29
  const profiles_1 = require("../utils/profiles");
24
30
  const vcs_1 = require("../vcs");
@@ -142,6 +148,7 @@ async function runBuildAndSubmitAsync(graphqlClient, analytics, projectDir, flag
142
148
  (0, printBuildInfo_1.printBuildResults)(builds);
143
149
  }
144
150
  const haveAllBuildsFailedOrCanceled = builds.every(build => (build === null || build === void 0 ? void 0 : build.status) && [generated_1.BuildStatus.Errored, generated_1.BuildStatus.Canceled].includes(build === null || build === void 0 ? void 0 : build.status));
151
+ await maybeDownloadAndRunSimulatorBuildsAsync(builds, flags);
145
152
  if (haveAllBuildsFailedOrCanceled || !flags.autoSubmit) {
146
153
  if (flags.json) {
147
154
  (0, json_1.printJsonOnlyOutput)(builds);
@@ -182,7 +189,7 @@ async function prepareAndStartBuildAsync({ projectDir, flags, moreBuilds, buildP
182
189
  const appPlatform = (0, AppPlatform_1.toAppPlatform)(buildProfile.platform);
183
190
  log_1.default.log(`${platform_1.appPlatformEmojis[appPlatform]} ${chalk_1.default.bold(`${platform_1.appPlatformDisplayNames[appPlatform]} build`)}`);
184
191
  }
185
- await (0, utils_1.validateBuildProfileConfigMatchesProjectConfigAsync)(buildCtx.exp, buildProfile, buildCtx.projectId, flags.nonInteractive);
192
+ await (0, utils_2.validateBuildProfileConfigMatchesProjectConfigAsync)(buildCtx.exp, buildProfile, buildCtx.projectId, flags.nonInteractive);
186
193
  await (0, projectUtils_1.validateAppVersionRuntimePolicySupportAsync)(buildCtx.projectDir, buildCtx.exp);
187
194
  if ((easJsonCliConfig === null || easJsonCliConfig === void 0 ? void 0 : easJsonCliConfig.appVersionSource) === eas_json_1.AppVersionSource.REMOTE) {
188
195
  (0, remoteVersionSource_1.validateAppConfigForRemoteVersionSource)(buildCtx.exp, buildProfile.platform);
@@ -243,3 +250,25 @@ function exitWithNonZeroCodeIfSomeBuildsFailed(maybeBuilds) {
243
250
  process.exit(1);
244
251
  }
245
252
  }
253
+ async function downloadAndRunAsync(build) {
254
+ var _a;
255
+ (0, assert_1.default)((_a = build.artifacts) === null || _a === void 0 ? void 0 : _a.applicationArchiveUrl);
256
+ const buildPath = await (0, download_1.downloadAndMaybeExtractAppAsync)(build.artifacts.applicationArchiveUrl, build.platform);
257
+ await (0, run_1.runAsync)(buildPath, build.platform);
258
+ }
259
+ async function maybeDownloadAndRunSimulatorBuildsAsync(builds, flags) {
260
+ const simBuilds = builds.filter(filter_1.truthy).filter(utils_1.isRunnableOnSimulatorOrEmulator);
261
+ if (simBuilds.length > 0 && !flags.autoSubmit && !flags.nonInteractive) {
262
+ for (const simBuild of simBuilds) {
263
+ if (simBuild.platform === generated_1.AppPlatform.Android || process.platform === 'darwin') {
264
+ log_1.default.newLine();
265
+ const confirm = await (0, prompts_1.confirmAsync)({
266
+ message: `Install and run the ${simBuild.platform === generated_1.AppPlatform.Android ? 'Android' : 'iOS'} build on ${simBuild.platform === generated_1.AppPlatform.Android ? 'an emulator' : 'a simulator'}?`,
267
+ });
268
+ if (confirm) {
269
+ await downloadAndRunAsync(simBuild);
270
+ }
271
+ }
272
+ }
273
+ }
274
+ }
@@ -1,6 +1,5 @@
1
1
  import EasCommand from '../../commandUtils/EasCommand';
2
2
  export default class Run extends EasCommand {
3
- static hidden: boolean;
4
3
  static description: string;
5
4
  static flags: {
6
5
  offset: import("@oclif/core/lib/interfaces").OptionFlag<number | undefined>;
@@ -5,15 +5,19 @@ const tslib_1 = require("tslib");
5
5
  const core_1 = require("@oclif/core");
6
6
  const fs_extra_1 = require("fs-extra");
7
7
  const node_assert_1 = tslib_1.__importDefault(require("node:assert"));
8
+ const path_1 = tslib_1.__importDefault(require("path"));
8
9
  const queries_1 = require("../../build/queries");
9
10
  const EasCommand_1 = tslib_1.__importDefault(require("../../commandUtils/EasCommand"));
10
11
  const pagination_1 = require("../../commandUtils/pagination");
11
12
  const generated_1 = require("../../graphql/generated");
12
13
  const BuildQuery_1 = require("../../graphql/queries/BuildQuery");
14
+ const log_1 = tslib_1.__importDefault(require("../../log"));
13
15
  const projectUtils_1 = require("../../project/projectUtils");
14
16
  const prompts_1 = require("../../prompts");
15
17
  const run_1 = require("../../run/run");
18
+ const utils_1 = require("../../run/utils");
16
19
  const download_1 = require("../../utils/download");
20
+ const paths_1 = require("../../utils/paths");
17
21
  class Run extends EasCommand_1.default {
18
22
  async runAsync() {
19
23
  const { flags: rawFlags } = await this.parse(Run);
@@ -52,7 +56,6 @@ class Run extends EasCommand_1.default {
52
56
  }
53
57
  exports.default = Run;
54
58
  _a = Run;
55
- Run.hidden = true;
56
59
  Run.description = 'run simulator/emulator builds from eas-cli';
57
60
  Run.flags = {
58
61
  latest: core_1.Flags.boolean({
@@ -118,13 +121,8 @@ async function maybeGetBuildAsync(graphqlClient, flags, projectId, paginatedQuer
118
121
  status: generated_1.BuildStatus.Finished,
119
122
  },
120
123
  queryOptions: paginatedQueryOptions,
121
- selectPromptDisabledFunction: build => {
122
- var _b, _c, _d;
123
- return build.platform === generated_1.AppPlatform.Ios
124
- ? false
125
- : (_d = !((_c = (_b = build.artifacts) === null || _b === void 0 ? void 0 : _b.applicationArchiveUrl) === null || _c === void 0 ? void 0 : _c.endsWith('.apk'))) !== null && _d !== void 0 ? _d : false;
126
- },
127
- warningMessage: 'This is not a simulator/emulator build',
124
+ selectPromptDisabledFunction: build => !(0, utils_1.isRunnableOnSimulatorOrEmulator)(build),
125
+ warningMessage: 'Artifacts for this build have expired and are no longer available, or this is not a simulator/emulator build.',
128
126
  });
129
127
  }
130
128
  else if (flags.runArchiveFlags.latest) {
@@ -141,14 +139,23 @@ async function maybeGetBuildAsync(graphqlClient, flags, projectId, paginatedQuer
141
139
  return null;
142
140
  }
143
141
  }
142
+ function getEasBuildRunCachedAppPath(projectId, buildId, platform) {
143
+ return path_1.default.join((0, paths_1.getEasBuildRunCacheDirectoryPath)(), `${projectId}_${buildId}.${platform === generated_1.AppPlatform.Ios ? 'app' : 'apk'}`);
144
+ }
144
145
  async function getPathToSimulatorBuildAppAsync(graphqlClient, projectId, flags, queryOptions) {
145
146
  var _b, _c;
146
147
  const maybeBuild = await maybeGetBuildAsync(graphqlClient, flags, projectId, queryOptions);
147
148
  if (maybeBuild) {
149
+ const cachedAppPath = getEasBuildRunCachedAppPath(projectId, maybeBuild.id, flags.selectedPlatform);
150
+ if (await (0, fs_extra_1.pathExists)(cachedAppPath)) {
151
+ log_1.default.newLine();
152
+ log_1.default.log(`Using cached app...`);
153
+ return cachedAppPath;
154
+ }
148
155
  if (!((_b = maybeBuild.artifacts) === null || _b === void 0 ? void 0 : _b.applicationArchiveUrl)) {
149
156
  throw new Error('Build does not have an application archive url');
150
157
  }
151
- return await (0, download_1.downloadAndMaybeExtractAppAsync)(maybeBuild.artifacts.applicationArchiveUrl, flags.selectedPlatform);
158
+ return await (0, download_1.downloadAndMaybeExtractAppAsync)(maybeBuild.artifacts.applicationArchiveUrl, flags.selectedPlatform, cachedAppPath);
152
159
  }
153
160
  if (flags.runArchiveFlags.url) {
154
161
  return await (0, download_1.downloadAndMaybeExtractAppAsync)(flags.runArchiveFlags.url, flags.selectedPlatform);
@@ -260,7 +260,9 @@ class UpdatePublish extends EasCommand_1.default {
260
260
  });
261
261
  }
262
262
  log_1.default.withTick(`Channel: ${chalk_1.default.bold(branchName)} pointed at branch: ${chalk_1.default.bold(branchName)}`);
263
- const gitCommitHash = await (0, vcs_1.getVcsClient)().getCommitHashAsync();
263
+ const vcsClient = (0, vcs_1.getVcsClient)();
264
+ const gitCommitHash = await vcsClient.getCommitHashAsync();
265
+ const isGitWorkingTreeDirty = await vcsClient.hasUncommittedChangesAsync();
264
266
  // Sort the updates into different groups based on their platform specific runtime versions
265
267
  const updateGroups = runtimeToPlatformMapping.map(({ runtimeVersion, platforms }) => {
266
268
  const localUpdateInfoGroup = Object.fromEntries(platforms.map(platform => [
@@ -276,6 +278,7 @@ class UpdatePublish extends EasCommand_1.default {
276
278
  runtimeVersion: republish ? oldRuntimeVersion : runtimeVersion,
277
279
  message: truncatedMessage,
278
280
  gitCommitHash,
281
+ isGitWorkingTreeDirty,
279
282
  awaitingCodeSigningInfo: !!codeSigningInfo,
280
283
  };
281
284
  });
@@ -348,7 +351,14 @@ class UpdatePublish extends EasCommand_1.default {
348
351
  : []),
349
352
  ...(newIosUpdate ? [{ label: 'iOS update ID', value: newIosUpdate.id }] : []),
350
353
  { label: 'Message', value: truncatedMessage },
351
- ...(gitCommitHash ? [{ label: 'Commit', value: gitCommitHash }] : []),
354
+ ...(gitCommitHash
355
+ ? [
356
+ {
357
+ label: 'Commit',
358
+ value: `${gitCommitHash}${isGitWorkingTreeDirty ? '*' : ''}`,
359
+ },
360
+ ]
361
+ : []),
352
362
  { label: 'Website link', value: updateGroupLink },
353
363
  ]));
354
364
  log_1.default.addNewLineIfNone();
@@ -2784,7 +2784,9 @@ export declare type PublicArtifacts = {
2784
2784
  export declare type PublishUpdateGroupInput = {
2785
2785
  awaitingCodeSigningInfo?: InputMaybe<Scalars['Boolean']>;
2786
2786
  branchId: Scalars['String'];
2787
+ excludedAssets?: InputMaybe<Array<PartialManifestAsset>>;
2787
2788
  gitCommitHash?: InputMaybe<Scalars['String']>;
2789
+ isGitWorkingTreeDirty?: InputMaybe<Scalars['Boolean']>;
2788
2790
  message?: InputMaybe<Scalars['String']>;
2789
2791
  runtimeVersion: Scalars['String'];
2790
2792
  updateInfoGroup: UpdateInfoGroup;
@@ -3358,6 +3360,7 @@ export declare type Update = ActivityTimelineProjectActivity & {
3358
3360
  gitCommitHash?: Maybe<Scalars['String']>;
3359
3361
  group: Scalars['String'];
3360
3362
  id: Scalars['ID'];
3363
+ isGitWorkingTreeDirty: Scalars['Boolean'];
3361
3364
  manifestFragment: Scalars['String'];
3362
3365
  manifestPermalink: Scalars['String'];
3363
3366
  message?: Maybe<Scalars['String']>;
@@ -12,14 +12,18 @@ async function getApplicationIdentifierAsync(projectDir, exp, buildProfile, plat
12
12
  if (platform === eas_build_job_1.Platform.ANDROID) {
13
13
  const profile = buildProfile;
14
14
  const workflow = await (0, workflow_1.resolveWorkflowAsync)(projectDir, eas_build_job_1.Platform.ANDROID);
15
- const gradleContext = await (0, gradle_1.resolveGradleBuildContextAsync)(projectDir, profile);
16
15
  if (workflow === eas_build_job_1.Workflow.MANAGED) {
17
- await (0, applicationId_1.ensureApplicationIdIsDefinedForManagedProjectAsync)(projectDir, exp, actor);
16
+ return await (0, applicationId_1.ensureApplicationIdIsDefinedForManagedProjectAsync)(projectDir, exp, actor);
18
17
  }
18
+ const gradleContext = await (0, gradle_1.resolveGradleBuildContextAsync)(projectDir, profile);
19
19
  return await (0, applicationId_1.getApplicationIdAsync)(projectDir, exp, gradleContext);
20
20
  }
21
21
  else {
22
+ const workflow = await (0, workflow_1.resolveWorkflowAsync)(projectDir, eas_build_job_1.Platform.IOS);
22
23
  const profile = buildProfile;
24
+ if (workflow === eas_build_job_1.Workflow.MANAGED) {
25
+ return await (0, bundleIdentifier_1.ensureBundleIdentifierIsDefinedForManagedProjectAsync)(projectDir, exp, actor);
26
+ }
23
27
  const xcodeBuildContext = await (0, scheme_1.resolveXcodeBuildContextAsync)({ exp, projectDir, nonInteractive: false }, profile);
24
28
  const targets = await (0, target_1.resolveTargetsAsync)({
25
29
  projectDir,
@@ -102,7 +102,7 @@ async function startAppAsync(emulator, packageName, activityName) {
102
102
  log_1.default.newLine();
103
103
  log_1.default.log('Starting your app...');
104
104
  (0, node_assert_1.default)(emulator.pid);
105
- await (0, adb_1.adbAsync)('-s', emulator.pid, 'shell', 'am', 'start', '-a', 'android.intent.action.RUN', '-f', '0x20000000', // FLAG_ACTIVITY_SINGLE_TOP -- If set, the activity will not be launched if it is already running at the top of the history stack.
105
+ await (0, adb_1.adbAsync)('-s', emulator.pid, 'shell', 'am', 'start', '-a', 'android.intent.action.MAIN', '-f', '0x20000000', // FLAG_ACTIVITY_SINGLE_TOP -- If set, the activity will not be launched if it is already running at the top of the history stack.
106
106
  '-n', `${packageName}/${activityName}`);
107
107
  log_1.default.succeed('Successfully started your app!');
108
108
  }
@@ -20,7 +20,7 @@ async function selectSimulatorAsync() {
20
20
  message: `Select a simulator to run your app on`,
21
21
  name: 'selectedSimulator',
22
22
  choices: simulators.map(simulator => ({
23
- title: `ios ${simulator.osVersion} ${simulator.name}`,
23
+ title: `iOS ${simulator.osVersion} ${simulator.name}`,
24
24
  value: simulator,
25
25
  })),
26
26
  });
@@ -0,0 +1,2 @@
1
+ import { BuildFragment } from '../graphql/generated';
2
+ export declare function isRunnableOnSimulatorOrEmulator(build: BuildFragment): boolean;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isRunnableOnSimulatorOrEmulator = void 0;
4
+ const generated_1 = require("../graphql/generated");
5
+ function isAab(build) {
6
+ var _a, _b, _c;
7
+ return (_c = (_b = (_a = build.artifacts) === null || _a === void 0 ? void 0 : _a.applicationArchiveUrl) === null || _b === void 0 ? void 0 : _b.endsWith('.aab')) !== null && _c !== void 0 ? _c : false;
8
+ }
9
+ function didArtifactsExpire(build) {
10
+ return new Date().getTime() - new Date(build.updatedAt).getTime() > 30 * 24 * 60 * 60 * 1000; // 30 days
11
+ }
12
+ function isRunnableOnSimulatorOrEmulator(build) {
13
+ var _a;
14
+ return (build.status === generated_1.BuildStatus.Finished &&
15
+ !!((_a = build.artifacts) === null || _a === void 0 ? void 0 : _a.applicationArchiveUrl) &&
16
+ ((build.platform === generated_1.AppPlatform.Ios && build.distribution === generated_1.DistributionType.Simulator) ||
17
+ (build.platform === generated_1.AppPlatform.Android && !isAab(build))) &&
18
+ !didArtifactsExpire(build));
19
+ }
20
+ exports.isRunnableOnSimulatorOrEmulator = isRunnableOnSimulatorOrEmulator;
@@ -1,3 +1,3 @@
1
1
  import { AppPlatform } from '../graphql/generated';
2
- export declare function downloadAndMaybeExtractAppAsync(url: string, platform: AppPlatform): Promise<string>;
2
+ export declare function downloadAndMaybeExtractAppAsync(url: string, platform: AppPlatform, cachedAppPath?: string): Promise<string>;
3
3
  export declare function extractAppFromLocalArchiveAsync(appArchivePath: string, platform: AppPlatform): Promise<string>;
@@ -4,7 +4,7 @@ exports.extractAppFromLocalArchiveAsync = exports.downloadAndMaybeExtractAppAsyn
4
4
  const tslib_1 = require("tslib");
5
5
  const spawn_async_1 = tslib_1.__importDefault(require("@expo/spawn-async"));
6
6
  const fast_glob_1 = tslib_1.__importDefault(require("fast-glob"));
7
- const fs_1 = tslib_1.__importDefault(require("fs"));
7
+ const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
8
8
  const path_1 = tslib_1.__importDefault(require("path"));
9
9
  const stream_1 = require("stream");
10
10
  const tar_1 = require("tar");
@@ -17,8 +17,8 @@ const files_1 = require("./files");
17
17
  const paths_1 = require("./paths");
18
18
  const progress_1 = require("./progress");
19
19
  const pipeline = (0, util_1.promisify)(stream_1.Stream.pipeline);
20
- let didProgressBarFinish = false;
21
20
  function wrapFetchWithProgress() {
21
+ let didProgressBarFinish = false;
22
22
  return async (url, init, progressHandler) => {
23
23
  const response = await (0, fetch_1.default)(url, init);
24
24
  if (response.ok) {
@@ -56,38 +56,55 @@ function wrapFetchWithProgress() {
56
56
  }
57
57
  async function downloadFileWithProgressTrackerAsync(url, outputPath, progressTrackerMessage, progressTrackerCompletedMessage) {
58
58
  log_1.default.newLine();
59
- const response = await wrapFetchWithProgress()(url, {
60
- timeout: 1000 * 60 * 5, // 5 minutes
61
- }, (0, progress_1.createProgressTracker)({
62
- message: progressTrackerMessage,
63
- completedMessage: progressTrackerCompletedMessage,
64
- }));
65
- if (!response.ok) {
66
- throw new Error(`Failed to download file from ${url}`);
59
+ try {
60
+ const response = await wrapFetchWithProgress()(url, {
61
+ timeout: 1000 * 60 * 5, // 5 minutes
62
+ }, (0, progress_1.createProgressTracker)({
63
+ message: progressTrackerMessage,
64
+ completedMessage: progressTrackerCompletedMessage,
65
+ }));
66
+ if (!response.ok) {
67
+ throw new Error(`Failed to download file from ${url}`);
68
+ }
69
+ await pipeline(response.body, fs_extra_1.default.createWriteStream(outputPath));
70
+ }
71
+ catch (error) {
72
+ if (await fs_extra_1.default.pathExists(outputPath)) {
73
+ await fs_extra_1.default.remove(outputPath);
74
+ }
75
+ throw error;
76
+ }
77
+ }
78
+ async function maybeCacheAppAsync(appPath, cachedAppPath) {
79
+ if (cachedAppPath) {
80
+ await fs_extra_1.default.ensureDir(path_1.default.dirname(cachedAppPath));
81
+ await fs_extra_1.default.move(appPath, cachedAppPath);
82
+ return cachedAppPath;
67
83
  }
68
- await pipeline(response.body, fs_1.default.createWriteStream(outputPath));
84
+ return appPath;
69
85
  }
70
- async function downloadAndMaybeExtractAppAsync(url, platform) {
86
+ async function downloadAndMaybeExtractAppAsync(url, platform, cachedAppPath) {
71
87
  const outputDir = path_1.default.join((0, paths_1.getTmpDirectory)(), (0, uuid_1.v4)());
72
- await fs_1.default.promises.mkdir(outputDir, { recursive: true });
88
+ await fs_extra_1.default.promises.mkdir(outputDir, { recursive: true });
73
89
  if (url.endsWith('apk')) {
74
90
  const apkFilePath = path_1.default.join(outputDir, `${(0, uuid_1.v4)()}.apk`);
75
91
  await downloadFileWithProgressTrackerAsync(url, apkFilePath, (ratio, total) => `Downloading app (${(0, files_1.formatBytes)(total * ratio)} / ${(0, files_1.formatBytes)(total)})`, 'Successfully downloaded app');
76
- return apkFilePath;
92
+ return maybeCacheAppAsync(apkFilePath, cachedAppPath);
77
93
  }
78
94
  else {
79
95
  const tmpArchivePathDir = path_1.default.join((0, paths_1.getTmpDirectory)(), (0, uuid_1.v4)());
80
- await fs_1.default.promises.mkdir(tmpArchivePathDir, { recursive: true });
96
+ await fs_extra_1.default.mkdir(tmpArchivePathDir, { recursive: true });
81
97
  const tmpArchivePath = path_1.default.join(tmpArchivePathDir, `${(0, uuid_1.v4)()}.tar.gz`);
82
98
  await downloadFileWithProgressTrackerAsync(url, tmpArchivePath, (ratio, total) => `Downloading app archive (${(0, files_1.formatBytes)(total * ratio)} / ${(0, files_1.formatBytes)(total)})`, 'Successfully downloaded app archive');
83
99
  await tarExtractAsync(tmpArchivePath, outputDir);
84
- return await getAppPathAsync(outputDir, platform === generated_1.AppPlatform.Ios ? 'app' : 'apk');
100
+ const appPath = await getAppPathAsync(outputDir, platform === generated_1.AppPlatform.Ios ? 'app' : 'apk');
101
+ return maybeCacheAppAsync(appPath, cachedAppPath);
85
102
  }
86
103
  }
87
104
  exports.downloadAndMaybeExtractAppAsync = downloadAndMaybeExtractAppAsync;
88
105
  async function extractAppFromLocalArchiveAsync(appArchivePath, platform) {
89
106
  const outputDir = path_1.default.join((0, paths_1.getTmpDirectory)(), (0, uuid_1.v4)());
90
- await fs_1.default.promises.mkdir(outputDir, { recursive: true });
107
+ await fs_extra_1.default.promises.mkdir(outputDir, { recursive: true });
91
108
  await tarExtractAsync(appArchivePath, outputDir);
92
109
  return await getAppPathAsync(outputDir, platform === generated_1.AppPlatform.Android ? 'apk' : 'app');
93
110
  }
@@ -1,7 +1,7 @@
1
- declare const getStateJsonPath: () => string;
2
- declare const getDataDirectory: () => string;
3
- declare const getConfigDirectory: () => string;
4
- declare const getCacheDirectory: () => string;
5
- declare const getLogDirectory: () => string;
6
- declare const getTmpDirectory: () => string;
7
- export { getDataDirectory, getConfigDirectory, getCacheDirectory, getLogDirectory, getTmpDirectory, getStateJsonPath, };
1
+ export declare const getStateJsonPath: () => string;
2
+ export declare const getEasBuildRunCacheDirectoryPath: () => string;
3
+ export declare const getDataDirectory: () => string;
4
+ export declare const getConfigDirectory: () => string;
5
+ export declare const getCacheDirectory: () => string;
6
+ export declare const getLogDirectory: () => string;
7
+ export declare const getTmpDirectory: () => string;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getStateJsonPath = exports.getTmpDirectory = exports.getLogDirectory = exports.getCacheDirectory = exports.getConfigDirectory = exports.getDataDirectory = void 0;
3
+ exports.getTmpDirectory = exports.getLogDirectory = exports.getCacheDirectory = exports.getConfigDirectory = exports.getDataDirectory = exports.getEasBuildRunCacheDirectoryPath = exports.getStateJsonPath = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const env_paths_1 = tslib_1.__importDefault(require("env-paths"));
6
6
  const os_1 = require("os");
@@ -26,6 +26,8 @@ function dotExpoHomeDirectory() {
26
26
  }
27
27
  const getStateJsonPath = () => path.join(dotExpoHomeDirectory(), 'state.json');
28
28
  exports.getStateJsonPath = getStateJsonPath;
29
+ const getEasBuildRunCacheDirectoryPath = () => path.join((0, exports.getTmpDirectory)(), 'eas-build-run-cache');
30
+ exports.getEasBuildRunCacheDirectoryPath = getEasBuildRunCacheDirectoryPath;
29
31
  // Paths for storing things like data, config, cache, etc.
30
32
  // Should use the correct OS-specific paths (e.g. XDG base directory on Linux)
31
33
  const { data: DATA_PATH, config: CONFIG_PATH, cache: CACHE_PATH, log: LOG_PATH, temp: TEMP_PATH, } = (0, env_paths_1.default)('eas-cli');
@@ -1 +1 @@
1
- {"version":"2.8.0","commands":{"analytics":{"id":"analytics","description":"display or change analytics settings","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[{"name":"STATUS","options":["on","off"]}]},"config":{"id":"config","description":"display project configuration (app.json + eas.json)","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","char":"p","helpValue":"(android|ios)","multiple":false,"options":["android","ios"]},"profile":{"name":"profile","type":"option","char":"e","description":"Name of the build profile from eas.json. Defaults to \"production\" if defined in eas.json.","helpValue":"PROFILE_NAME","multiple":false}},"args":[],"contextDefinition":{"getDynamicProjectConfigAsync":{},"projectDir":{}}},"credentials":{"id":"credentials","description":"manage credentials","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","char":"p","helpValue":"(android|ios)","multiple":false,"options":["android","ios"]}},"args":[],"contextDefinition":{"loggedIn":{},"projectConfig":{},"getDynamicProjectConfigAsync":{},"analytics":{}}},"diagnostics":{"id":"diagnostics","description":"display environment info","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[],"contextDefinition":{"projectDir":{}}},"open":{"id":"open","description":"open the project page in a web browser","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[],"contextDefinition":{"loggedIn":{},"projectConfig":{}}},"submit":{"id":"submit","description":"submit app binary to App Store and/or Play Store","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":["build:submit"],"flags":{"platform":{"name":"platform","type":"option","char":"p","helpValue":"(android|ios|all)","multiple":false,"options":["android","ios","all"]},"profile":{"name":"profile","type":"option","char":"e","description":"Name of the submit profile from eas.json. Defaults to \"production\" if defined in eas.json.","multiple":false},"latest":{"name":"latest","type":"boolean","description":"Submit the latest build for specified platform","allowNo":false,"exclusive":["id","path","url"]},"id":{"name":"id","type":"option","description":"ID of the build to submit","multiple":false,"exclusive":["latest, path, url"]},"path":{"name":"path","type":"option","description":"Path to the .apk/.aab/.ipa file","multiple":false,"exclusive":["latest","id","url"]},"url":{"name":"url","type":"option","description":"App archive url","multiple":false,"exclusive":["latest","id","path"]},"verbose":{"name":"verbose","type":"boolean","description":"Always print logs from EAS Submit","allowNo":false},"wait":{"name":"wait","type":"boolean","description":"Wait for submission to complete","allowNo":true},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run command in non-interactive mode","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"projectConfig":{},"projectDir":{},"analytics":{}}},"account:login":{"id":"account:login","description":"log in with your Expo account","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":["login"],"flags":{},"args":[],"contextDefinition":{"sessionManager":{}}},"account:logout":{"id":"account:logout","description":"log out","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":["logout"],"flags":{},"args":[],"contextDefinition":{"sessionManager":{}}},"account:view":{"id":"account:view","description":"show the username you are logged in as","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":["whoami"],"flags":{},"args":[],"contextDefinition":{"maybeLoggedIn":{}}},"branch:create":{"id":"branch:create","description":"create a branch","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[{"name":"name","description":"Name of the branch to create","required":false}],"contextDefinition":{"loggedIn":{},"projectConfig":{}}},"branch:delete":{"id":"branch:delete","description":"delete a branch","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[{"name":"name","description":"Name of the branch to delete","required":false}],"contextDefinition":{"loggedIn":{},"projectConfig":{}}},"branch:list":{"id":"branch:list","description":"list all branches","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"offset":{"name":"offset","type":"option","description":"Start queries from specified index. Use for paginating results. Defaults to 0.","multiple":false},"limit":{"name":"limit","type":"option","description":"The number of items to fetch each query. Defaults to 50 and is capped at 100.","multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"projectConfig":{}}},"branch:publish":{"id":"branch:publish","description":"deprecated, use \"eas update\"","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{},"args":[]},"branch:rename":{"id":"branch:rename","description":"rename a branch","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"from":{"name":"from","type":"option","description":"current name of the branch.","required":false,"multiple":false},"to":{"name":"to","type":"option","description":"new name of the branch.","required":false,"multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"projectConfig":{}}},"branch:view":{"id":"branch:view","description":"view a branch","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"offset":{"name":"offset","type":"option","description":"Start queries from specified index. Use for paginating results. Defaults to 0.","multiple":false},"limit":{"name":"limit","type":"option","description":"The number of items to fetch each query. Defaults to 25 and is capped at 50.","multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[{"name":"name","description":"Name of the branch to view","required":false}],"contextDefinition":{"loggedIn":{},"projectConfig":{}}},"build:cancel":{"id":"build:cancel","description":"cancel a build","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[{"name":"BUILD_ID"}],"contextDefinition":{"loggedIn":{},"projectConfig":{}}},"build:configure":{"id":"build:configure","description":"configure the project to support EAS Build","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","char":"p","description":"Platform to configure","helpValue":"(android|ios|all)","multiple":false,"options":["android","ios","all"]}},"args":[],"contextDefinition":{"loggedIn":{},"projectConfig":{}}},"build":{"id":"build","description":"start a build","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","char":"p","helpValue":"(android|ios|all)","multiple":false,"options":["android","ios","all"]},"skip-credentials-check":{"name":"skip-credentials-check","type":"boolean","hidden":true,"allowNo":false},"skip-project-configuration":{"name":"skip-project-configuration","type":"boolean","hidden":true,"allowNo":false},"profile":{"name":"profile","type":"option","char":"e","description":"Name of the build profile from eas.json. Defaults to \"production\" if defined in eas.json.","helpValue":"PROFILE_NAME","multiple":false},"local":{"name":"local","type":"boolean","description":"Run build locally [experimental]","allowNo":false},"output":{"name":"output","type":"option","description":"Output path for local build","multiple":false},"wait":{"name":"wait","type":"boolean","description":"Wait for build(s) to complete","allowNo":true},"clear-cache":{"name":"clear-cache","type":"boolean","description":"Clear cache before the build","allowNo":false},"auto-submit":{"name":"auto-submit","type":"boolean","description":"Submit on build complete using the submit profile with the same name as the build profile","allowNo":false,"exclusive":["auto-submit-with-profile"]},"auto-submit-with-profile":{"name":"auto-submit-with-profile","type":"option","description":"Submit on build complete using the submit profile with provided name","helpValue":"PROFILE_NAME","multiple":false,"exclusive":["auto-submit"]},"resource-class":{"name":"resource-class","type":"option","description":"The instance type that will be used to run this build [experimental]","hidden":true,"helpValue":"(default|large|m1-experimental)","multiple":false,"options":["default","large","m1-experimental"]},"message":{"name":"message","type":"option","char":"m","description":"A short message describing the build","multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"getDynamicProjectConfigAsync":{},"projectDir":{},"analytics":{}}},"build:inspect":{"id":"build:inspect","description":"inspect the state of the project at specific build stages, useful for troubleshooting","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","char":"p","required":true,"helpValue":"(android|ios)","multiple":false,"options":["android","ios"]},"profile":{"name":"profile","type":"option","char":"e","description":"Name of the build profile from eas.json. Defaults to \"production\" if defined in eas.json.","helpValue":"PROFILE_NAME","multiple":false},"stage":{"name":"stage","type":"option","char":"s","description":"Stage of the build you want to inspect.\n archive - builds the project archive that would be uploaded to EAS when building\n pre-build - prepares the project to be built with Gradle/Xcode. Does not run the native build.\n post-build - builds the native project and leaves the output directory for inspection","required":true,"helpValue":"(archive|pre-build|post-build)","multiple":false,"options":["archive","pre-build","post-build"]},"output":{"name":"output","type":"option","char":"o","description":"Output directory.","required":true,"helpValue":"OUTPUT_DIRECTORY","multiple":false},"force":{"name":"force","type":"boolean","description":"Delete OUTPUT_DIRECTORY if it already exists.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"getDynamicProjectConfigAsync":{},"projectDir":{},"analytics":{}}},"build:list":{"id":"build:list","description":"list all builds for your project","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","helpValue":"(all|android|ios)","multiple":false,"options":["all","android","ios"]},"status":{"name":"status","type":"option","helpValue":"(new|in-queue|in-progress|errored|finished|canceled)","multiple":false,"options":["new","in-queue","in-progress","errored","finished","canceled"]},"distribution":{"name":"distribution","type":"option","helpValue":"(store|internal|simulator)","multiple":false,"options":["store","internal","simulator"]},"channel":{"name":"channel","type":"option","multiple":false},"appVersion":{"name":"appVersion","type":"option","multiple":false},"appBuildVersion":{"name":"appBuildVersion","type":"option","multiple":false},"sdkVersion":{"name":"sdkVersion","type":"option","multiple":false},"runtimeVersion":{"name":"runtimeVersion","type":"option","multiple":false},"appIdentifier":{"name":"appIdentifier","type":"option","multiple":false},"buildProfile":{"name":"buildProfile","type":"option","multiple":false},"gitCommitHash":{"name":"gitCommitHash","type":"option","multiple":false},"offset":{"name":"offset","type":"option","description":"Start queries from specified index. Use for paginating results. Defaults to 0.","multiple":false},"limit":{"name":"limit","type":"option","description":"The number of items to fetch each query. Defaults to 10 and is capped at 50.","multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"projectConfig":{}}},"build:run":{"id":"build:run","description":"run simulator/emulator builds from eas-cli","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"latest":{"name":"latest","type":"boolean","description":"Run the latest simulator/emulator build for specified platform","allowNo":false,"exclusive":["id","path","url"]},"url":{"name":"url","type":"option","description":"Simulator/Emulator build archive url","multiple":false,"exclusive":["latest","id","path"]},"path":{"name":"path","type":"option","description":"Path to the simulator/emulator build archive or app","multiple":false,"exclusive":["latest","id","url"]},"id":{"name":"id","type":"option","description":"ID of the simulator/emulator build to run","multiple":false,"exclusive":["latest, path, url"]},"platform":{"name":"platform","type":"option","char":"p","helpValue":"(android|ios)","multiple":false,"options":["android","ios"]},"offset":{"name":"offset","type":"option","description":"Start queries from specified index. Use for paginating results. Defaults to 0.","multiple":false},"limit":{"name":"limit","type":"option","description":"The number of items to fetch each query. Defaults to 50 and is capped at 100.","multiple":false}},"args":[],"contextDefinition":{"loggedIn":{},"projectConfig":{},"projectDir":{}}},"build:view":{"id":"build:view","description":"view a build for your project","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false}},"args":[{"name":"BUILD_ID"}],"contextDefinition":{"loggedIn":{},"projectConfig":{}}},"channel:create":{"id":"channel:create","description":"create a channel","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[{"name":"name","description":"Name of the channel to create","required":false}],"contextDefinition":{"loggedIn":{},"projectConfig":{}}},"channel:delete":{"id":"channel:delete","description":"Delete a channel","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[{"name":"name","description":"Name of the channel to delete","required":false}],"contextDefinition":{"loggedIn":{},"projectConfig":{}}},"channel:edit":{"id":"channel:edit","description":"point a channel at a new branch","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"branch":{"name":"branch","type":"option","description":"Name of the branch to point to","multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[{"name":"name","description":"Name of the channel to edit","required":false}],"contextDefinition":{"loggedIn":{},"projectConfig":{}}},"channel:list":{"id":"channel:list","description":"list all channels","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"offset":{"name":"offset","type":"option","description":"Start queries from specified index. Use for paginating results. Defaults to 0.","multiple":false},"limit":{"name":"limit","type":"option","description":"The number of items to fetch each query. Defaults to 10 and is capped at 25.","multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"projectConfig":{}}},"channel:rollout":{"id":"channel:rollout","description":"Rollout a new branch out to a channel incrementally.","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"branch":{"name":"branch","type":"option","description":"branch to rollout","required":false,"multiple":false},"percent":{"name":"percent","type":"option","description":"percent of traffic to redirect to the new branch","required":false,"multiple":false},"end":{"name":"end","type":"boolean","description":"end the rollout","allowNo":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[{"name":"channel","description":"rollout that the channel is on","required":true}],"contextDefinition":{"loggedIn":{},"projectConfig":{}}},"channel:view":{"id":"channel:view","description":"view a channel","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false},"offset":{"name":"offset","type":"option","description":"Start queries from specified index. Use for paginating results. Defaults to 0.","multiple":false},"limit":{"name":"limit","type":"option","description":"The number of items to fetch each query. Defaults to 50 and is capped at 100.","multiple":false}},"args":[{"name":"name","description":"Name of the channel to view","required":false}],"contextDefinition":{"loggedIn":{},"projectConfig":{}}},"device:create":{"id":"device:create","description":"register new Apple Devices to use for internal distribution","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[],"contextDefinition":{"loggedIn":{},"projectConfig":{}}},"device:delete":{"id":"device:delete","description":"remove a registered device from your account","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"apple-team-id":{"name":"apple-team-id","type":"option","description":"The Apple team ID on which to find the device","multiple":false},"udid":{"name":"udid","type":"option","description":"The Apple device ID to disable","multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"projectConfig":{}}},"device:list":{"id":"device:list","description":"list all registered devices for your account","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"apple-team-id":{"name":"apple-team-id","type":"option","multiple":false},"offset":{"name":"offset","type":"option","description":"Start queries from specified index. Use for paginating results. Defaults to 0.","multiple":false},"limit":{"name":"limit","type":"option","description":"The number of items to fetch each query. Defaults to 50 and is capped at 100.","multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"projectConfig":{}}},"device:view":{"id":"device:view","description":"view a device for your project","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[{"name":"UDID"}],"contextDefinition":{"loggedIn":{},"projectConfig":{}}},"metadata:lint":{"id":"metadata:lint","description":"validate the local store configuration","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr","allowNo":false},"profile":{"name":"profile","type":"option","description":"Name of the submit profile from eas.json. Defaults to \"production\" if defined in eas.json.","multiple":false}},"args":[],"contextDefinition":{"projectDir":{}}},"metadata:pull":{"id":"metadata:pull","description":"generate the local store configuration from the app stores","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"profile":{"name":"profile","type":"option","char":"e","description":"Name of the submit profile from eas.json. Defaults to \"production\" if defined in eas.json.","multiple":false}},"args":[],"contextDefinition":{"loggedIn":{},"projectConfig":{},"analytics":{}}},"metadata:push":{"id":"metadata:push","description":"sync the local store configuration to the app stores","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"profile":{"name":"profile","type":"option","char":"e","description":"Name of the submit profile from eas.json. Defaults to \"production\" if defined in eas.json.","multiple":false}},"args":[],"contextDefinition":{"loggedIn":{},"projectConfig":{},"analytics":{}}},"project:info":{"id":"project:info","description":"information about the current project","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[],"contextDefinition":{"loggedIn":{},"projectConfig":{}}},"project:init":{"id":"project:init","description":"create or link an EAS project","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":["init"],"flags":{"id":{"name":"id","type":"option","description":"ID of the EAS project to link","multiple":false},"force":{"name":"force","type":"boolean","description":"Whether to overwrite any existing project ID","allowNo":false,"dependsOn":["id"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false,"dependsOn":["id"]}},"args":[],"contextDefinition":{"loggedIn":{},"projectDir":{}}},"secret:create":{"id":"secret:create","description":"create an environment secret on the current project or owner account","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"scope":{"name":"scope","type":"option","description":"Scope for the secret","helpValue":"(account|project)","multiple":false,"options":["account","project"],"default":"project"},"name":{"name":"name","type":"option","description":"Name of the secret","multiple":false},"value":{"name":"value","type":"option","description":"Text value or path to a file to store in the secret","multiple":false},"type":{"name":"type","type":"option","description":"The type of secret","helpValue":"(string|file)","multiple":false,"options":["string","file"]},"force":{"name":"force","type":"boolean","description":"Delete and recreate existing secrets","allowNo":false},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"projectConfig":{}}},"secret:delete":{"id":"secret:delete","description":"delete an environment secret by ID","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"id":{"name":"id","type":"option","description":"ID of the secret to delete","multiple":false},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"projectConfig":{}}},"secret:list":{"id":"secret:list","description":"list environment secrets available for your current app","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[],"contextDefinition":{"loggedIn":{},"projectConfig":{}}},"secret:push":{"id":"secret:push","description":"read environment secrets from env file and store on the server","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"scope":{"name":"scope","type":"option","description":"Scope for the secrets","helpValue":"(account|project)","multiple":false,"options":["account","project"],"default":"project"},"env-file":{"name":"env-file","type":"option","description":"Env file with secrets","multiple":false},"force":{"name":"force","type":"boolean","description":"Delete and recreate existing secrets","allowNo":false},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"projectConfig":{}}},"update:configure":{"id":"update:configure","description":"configure the project to support EAS Update","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","char":"p","description":"Platform to configure","helpValue":"(android|ios|all)","multiple":false,"options":["android","ios","all"],"default":"all"},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"projectConfig":{}}},"update:delete":{"id":"update:delete","description":"delete all the updates in an update group","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[{"name":"groupId","description":"The ID of an update group to delete.","required":true}],"contextDefinition":{"loggedIn":{}}},"update":{"id":"update","description":"publish an update group","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"branch":{"name":"branch","type":"option","description":"Branch to publish the update group on","required":false,"multiple":false},"message":{"name":"message","type":"option","description":"A short message describing the update","required":false,"multiple":false},"republish":{"name":"republish","type":"boolean","description":"Republish an update group","allowNo":false,"exclusive":["input-dir","skip-bundler"]},"group":{"name":"group","type":"option","description":"Update group to republish","multiple":false,"exclusive":["input-dir","skip-bundler"]},"input-dir":{"name":"input-dir","type":"option","description":"Location of the bundle","required":false,"multiple":false,"default":"dist"},"skip-bundler":{"name":"skip-bundler","type":"boolean","description":"Skip running Expo CLI to bundle the app before publishing","allowNo":false},"platform":{"name":"platform","type":"option","char":"p","required":false,"helpValue":"(android|ios|all)","multiple":false,"options":["android","ios","all"],"default":"all"},"auto":{"name":"auto","type":"boolean","description":"Use the current git branch and commit message for the EAS branch and update message","allowNo":false},"private-key-path":{"name":"private-key-path","type":"option","description":"File containing the PEM-encoded private key corresponding to the certificate in expo-updates' configuration. Defaults to a file named \"private-key.pem\" in the certificate's directory.","required":false,"multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"getDynamicProjectConfigAsync":{},"loggedIn":{}}},"update:list":{"id":"update:list","description":"view the recent updates","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"branch":{"name":"branch","type":"option","description":"List updates only on this branch","multiple":false,"exclusive":["all"]},"all":{"name":"all","type":"boolean","description":"List updates on all branches","allowNo":false,"exclusive":["branch"]},"offset":{"name":"offset","type":"option","description":"Start queries from specified index. Use for paginating results. Defaults to 0.","multiple":false},"limit":{"name":"limit","type":"option","description":"The number of items to fetch each query. Defaults to 25 and is capped at 50.","multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"projectConfig":{}}},"update:view":{"id":"update:view","description":"update group details","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false}},"args":[{"name":"groupId","description":"The ID of an update group.","required":true}],"contextDefinition":{"loggedIn":{}}},"webhook:create":{"id":"webhook:create","description":"create a webhook","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"event":{"name":"event","type":"option","description":"Event type that triggers the webhook","helpValue":"(BUILD|SUBMIT)","multiple":false,"options":["BUILD","SUBMIT"]},"url":{"name":"url","type":"option","description":"Webhook URL","multiple":false},"secret":{"name":"secret","type":"option","description":"Secret used to create a hash signature of the request payload, provided in the 'Expo-Signature' header.","multiple":false},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"projectConfig":{}}},"webhook:delete":{"id":"webhook:delete","description":"delete a webhook","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[{"name":"ID","description":"ID of the webhook to delete","required":false}],"contextDefinition":{"loggedIn":{},"projectConfig":{}}},"webhook:list":{"id":"webhook:list","description":"list webhooks","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"event":{"name":"event","type":"option","description":"Event type that triggers the webhook","helpValue":"(BUILD|SUBMIT)","multiple":false,"options":["BUILD","SUBMIT"]}},"args":[],"contextDefinition":{"loggedIn":{},"projectConfig":{}}},"webhook:update":{"id":"webhook:update","description":"update a webhook","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"id":{"name":"id","type":"option","description":"Webhook ID","required":true,"multiple":false},"event":{"name":"event","type":"option","description":"Event type that triggers the webhook","helpValue":"(BUILD|SUBMIT)","multiple":false,"options":["BUILD","SUBMIT"]},"url":{"name":"url","type":"option","description":"Webhook URL","multiple":false},"secret":{"name":"secret","type":"option","description":"Secret used to create a hash signature of the request payload, provided in the 'Expo-Signature' header.","multiple":false},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{}}},"webhook:view":{"id":"webhook:view","description":"view a webhook","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[{"name":"ID","description":"ID of the webhook to view","required":true}],"contextDefinition":{"loggedIn":{}}},"build:version:set":{"id":"build:version:set","description":"Update version of an app.","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","char":"p","helpValue":"(android|ios)","multiple":false,"options":["android","ios"]},"profile":{"name":"profile","type":"option","char":"e","description":"Name of the build profile from eas.json. Defaults to \"production\" if defined in eas.json.","helpValue":"PROFILE_NAME","multiple":false}},"args":[],"contextDefinition":{"loggedIn":{},"getDynamicProjectConfigAsync":{},"projectDir":{}}},"build:version:sync":{"id":"build:version:sync","description":"Update a version in native code with a value stored on EAS servers","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","char":"p","helpValue":"(android|ios|all)","multiple":false,"options":["android","ios","all"]},"profile":{"name":"profile","type":"option","char":"e","description":"Name of the build profile from eas.json. Defaults to \"production\" if defined in eas.json.","helpValue":"PROFILE_NAME","multiple":false}},"args":[],"contextDefinition":{"loggedIn":{},"getDynamicProjectConfigAsync":{},"projectDir":{}}}}}
1
+ {"version":"2.9.0","commands":{"analytics":{"id":"analytics","description":"display or change analytics settings","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[{"name":"STATUS","options":["on","off"]}]},"config":{"id":"config","description":"display project configuration (app.json + eas.json)","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","char":"p","helpValue":"(android|ios)","multiple":false,"options":["android","ios"]},"profile":{"name":"profile","type":"option","char":"e","description":"Name of the build profile from eas.json. Defaults to \"production\" if defined in eas.json.","helpValue":"PROFILE_NAME","multiple":false}},"args":[],"contextDefinition":{"getDynamicProjectConfigAsync":{},"projectDir":{}}},"credentials":{"id":"credentials","description":"manage credentials","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","char":"p","helpValue":"(android|ios)","multiple":false,"options":["android","ios"]}},"args":[],"contextDefinition":{"loggedIn":{},"projectConfig":{},"getDynamicProjectConfigAsync":{},"analytics":{}}},"diagnostics":{"id":"diagnostics","description":"display environment info","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[],"contextDefinition":{"projectDir":{}}},"open":{"id":"open","description":"open the project page in a web browser","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[],"contextDefinition":{"loggedIn":{},"projectConfig":{}}},"submit":{"id":"submit","description":"submit app binary to App Store and/or Play Store","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":["build:submit"],"flags":{"platform":{"name":"platform","type":"option","char":"p","helpValue":"(android|ios|all)","multiple":false,"options":["android","ios","all"]},"profile":{"name":"profile","type":"option","char":"e","description":"Name of the submit profile from eas.json. Defaults to \"production\" if defined in eas.json.","multiple":false},"latest":{"name":"latest","type":"boolean","description":"Submit the latest build for specified platform","allowNo":false,"exclusive":["id","path","url"]},"id":{"name":"id","type":"option","description":"ID of the build to submit","multiple":false,"exclusive":["latest, path, url"]},"path":{"name":"path","type":"option","description":"Path to the .apk/.aab/.ipa file","multiple":false,"exclusive":["latest","id","url"]},"url":{"name":"url","type":"option","description":"App archive url","multiple":false,"exclusive":["latest","id","path"]},"verbose":{"name":"verbose","type":"boolean","description":"Always print logs from EAS Submit","allowNo":false},"wait":{"name":"wait","type":"boolean","description":"Wait for submission to complete","allowNo":true},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run command in non-interactive mode","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"projectConfig":{},"projectDir":{},"analytics":{}}},"account:login":{"id":"account:login","description":"log in with your Expo account","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":["login"],"flags":{},"args":[],"contextDefinition":{"sessionManager":{}}},"account:logout":{"id":"account:logout","description":"log out","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":["logout"],"flags":{},"args":[],"contextDefinition":{"sessionManager":{}}},"account:view":{"id":"account:view","description":"show the username you are logged in as","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":["whoami"],"flags":{},"args":[],"contextDefinition":{"maybeLoggedIn":{}}},"branch:create":{"id":"branch:create","description":"create a branch","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[{"name":"name","description":"Name of the branch to create","required":false}],"contextDefinition":{"loggedIn":{},"projectConfig":{}}},"branch:delete":{"id":"branch:delete","description":"delete a branch","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[{"name":"name","description":"Name of the branch to delete","required":false}],"contextDefinition":{"loggedIn":{},"projectConfig":{}}},"branch:list":{"id":"branch:list","description":"list all branches","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"offset":{"name":"offset","type":"option","description":"Start queries from specified index. Use for paginating results. Defaults to 0.","multiple":false},"limit":{"name":"limit","type":"option","description":"The number of items to fetch each query. Defaults to 50 and is capped at 100.","multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"projectConfig":{}}},"branch:publish":{"id":"branch:publish","description":"deprecated, use \"eas update\"","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{},"args":[]},"branch:rename":{"id":"branch:rename","description":"rename a branch","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"from":{"name":"from","type":"option","description":"current name of the branch.","required":false,"multiple":false},"to":{"name":"to","type":"option","description":"new name of the branch.","required":false,"multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"projectConfig":{}}},"branch:view":{"id":"branch:view","description":"view a branch","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"offset":{"name":"offset","type":"option","description":"Start queries from specified index. Use for paginating results. Defaults to 0.","multiple":false},"limit":{"name":"limit","type":"option","description":"The number of items to fetch each query. Defaults to 25 and is capped at 50.","multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[{"name":"name","description":"Name of the branch to view","required":false}],"contextDefinition":{"loggedIn":{},"projectConfig":{}}},"build:cancel":{"id":"build:cancel","description":"cancel a build","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[{"name":"BUILD_ID"}],"contextDefinition":{"loggedIn":{},"projectConfig":{}}},"build:configure":{"id":"build:configure","description":"configure the project to support EAS Build","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","char":"p","description":"Platform to configure","helpValue":"(android|ios|all)","multiple":false,"options":["android","ios","all"]}},"args":[],"contextDefinition":{"loggedIn":{},"projectConfig":{}}},"build":{"id":"build","description":"start a build","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","char":"p","helpValue":"(android|ios|all)","multiple":false,"options":["android","ios","all"]},"skip-credentials-check":{"name":"skip-credentials-check","type":"boolean","hidden":true,"allowNo":false},"skip-project-configuration":{"name":"skip-project-configuration","type":"boolean","hidden":true,"allowNo":false},"profile":{"name":"profile","type":"option","char":"e","description":"Name of the build profile from eas.json. Defaults to \"production\" if defined in eas.json.","helpValue":"PROFILE_NAME","multiple":false},"local":{"name":"local","type":"boolean","description":"Run build locally [experimental]","allowNo":false},"output":{"name":"output","type":"option","description":"Output path for local build","multiple":false},"wait":{"name":"wait","type":"boolean","description":"Wait for build(s) to complete","allowNo":true},"clear-cache":{"name":"clear-cache","type":"boolean","description":"Clear cache before the build","allowNo":false},"auto-submit":{"name":"auto-submit","type":"boolean","description":"Submit on build complete using the submit profile with the same name as the build profile","allowNo":false,"exclusive":["auto-submit-with-profile"]},"auto-submit-with-profile":{"name":"auto-submit-with-profile","type":"option","description":"Submit on build complete using the submit profile with provided name","helpValue":"PROFILE_NAME","multiple":false,"exclusive":["auto-submit"]},"resource-class":{"name":"resource-class","type":"option","description":"The instance type that will be used to run this build [experimental]","hidden":true,"helpValue":"(default|large|m1-experimental)","multiple":false,"options":["default","large","m1-experimental"]},"message":{"name":"message","type":"option","char":"m","description":"A short message describing the build","multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"getDynamicProjectConfigAsync":{},"projectDir":{},"analytics":{}}},"build:inspect":{"id":"build:inspect","description":"inspect the state of the project at specific build stages, useful for troubleshooting","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","char":"p","required":true,"helpValue":"(android|ios)","multiple":false,"options":["android","ios"]},"profile":{"name":"profile","type":"option","char":"e","description":"Name of the build profile from eas.json. Defaults to \"production\" if defined in eas.json.","helpValue":"PROFILE_NAME","multiple":false},"stage":{"name":"stage","type":"option","char":"s","description":"Stage of the build you want to inspect.\n archive - builds the project archive that would be uploaded to EAS when building\n pre-build - prepares the project to be built with Gradle/Xcode. Does not run the native build.\n post-build - builds the native project and leaves the output directory for inspection","required":true,"helpValue":"(archive|pre-build|post-build)","multiple":false,"options":["archive","pre-build","post-build"]},"output":{"name":"output","type":"option","char":"o","description":"Output directory.","required":true,"helpValue":"OUTPUT_DIRECTORY","multiple":false},"force":{"name":"force","type":"boolean","description":"Delete OUTPUT_DIRECTORY if it already exists.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"getDynamicProjectConfigAsync":{},"projectDir":{},"analytics":{}}},"build:list":{"id":"build:list","description":"list all builds for your project","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","helpValue":"(all|android|ios)","multiple":false,"options":["all","android","ios"]},"status":{"name":"status","type":"option","helpValue":"(new|in-queue|in-progress|errored|finished|canceled)","multiple":false,"options":["new","in-queue","in-progress","errored","finished","canceled"]},"distribution":{"name":"distribution","type":"option","helpValue":"(store|internal|simulator)","multiple":false,"options":["store","internal","simulator"]},"channel":{"name":"channel","type":"option","multiple":false},"appVersion":{"name":"appVersion","type":"option","multiple":false},"appBuildVersion":{"name":"appBuildVersion","type":"option","multiple":false},"sdkVersion":{"name":"sdkVersion","type":"option","multiple":false},"runtimeVersion":{"name":"runtimeVersion","type":"option","multiple":false},"appIdentifier":{"name":"appIdentifier","type":"option","multiple":false},"buildProfile":{"name":"buildProfile","type":"option","multiple":false},"gitCommitHash":{"name":"gitCommitHash","type":"option","multiple":false},"offset":{"name":"offset","type":"option","description":"Start queries from specified index. Use for paginating results. Defaults to 0.","multiple":false},"limit":{"name":"limit","type":"option","description":"The number of items to fetch each query. Defaults to 10 and is capped at 50.","multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"projectConfig":{}}},"build:run":{"id":"build:run","description":"run simulator/emulator builds from eas-cli","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"latest":{"name":"latest","type":"boolean","description":"Run the latest simulator/emulator build for specified platform","allowNo":false,"exclusive":["id","path","url"]},"url":{"name":"url","type":"option","description":"Simulator/Emulator build archive url","multiple":false,"exclusive":["latest","id","path"]},"path":{"name":"path","type":"option","description":"Path to the simulator/emulator build archive or app","multiple":false,"exclusive":["latest","id","url"]},"id":{"name":"id","type":"option","description":"ID of the simulator/emulator build to run","multiple":false,"exclusive":["latest, path, url"]},"platform":{"name":"platform","type":"option","char":"p","helpValue":"(android|ios)","multiple":false,"options":["android","ios"]},"offset":{"name":"offset","type":"option","description":"Start queries from specified index. Use for paginating results. Defaults to 0.","multiple":false},"limit":{"name":"limit","type":"option","description":"The number of items to fetch each query. Defaults to 50 and is capped at 100.","multiple":false}},"args":[],"contextDefinition":{"loggedIn":{},"projectConfig":{},"projectDir":{}}},"build:view":{"id":"build:view","description":"view a build for your project","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false}},"args":[{"name":"BUILD_ID"}],"contextDefinition":{"loggedIn":{},"projectConfig":{}}},"channel:create":{"id":"channel:create","description":"create a channel","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[{"name":"name","description":"Name of the channel to create","required":false}],"contextDefinition":{"loggedIn":{},"projectConfig":{}}},"channel:delete":{"id":"channel:delete","description":"Delete a channel","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[{"name":"name","description":"Name of the channel to delete","required":false}],"contextDefinition":{"loggedIn":{},"projectConfig":{}}},"channel:edit":{"id":"channel:edit","description":"point a channel at a new branch","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"branch":{"name":"branch","type":"option","description":"Name of the branch to point to","multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[{"name":"name","description":"Name of the channel to edit","required":false}],"contextDefinition":{"loggedIn":{},"projectConfig":{}}},"channel:list":{"id":"channel:list","description":"list all channels","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"offset":{"name":"offset","type":"option","description":"Start queries from specified index. Use for paginating results. Defaults to 0.","multiple":false},"limit":{"name":"limit","type":"option","description":"The number of items to fetch each query. Defaults to 10 and is capped at 25.","multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"projectConfig":{}}},"channel:rollout":{"id":"channel:rollout","description":"Rollout a new branch out to a channel incrementally.","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"branch":{"name":"branch","type":"option","description":"branch to rollout","required":false,"multiple":false},"percent":{"name":"percent","type":"option","description":"percent of traffic to redirect to the new branch","required":false,"multiple":false},"end":{"name":"end","type":"boolean","description":"end the rollout","allowNo":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[{"name":"channel","description":"rollout that the channel is on","required":true}],"contextDefinition":{"loggedIn":{},"projectConfig":{}}},"channel:view":{"id":"channel:view","description":"view a channel","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false},"offset":{"name":"offset","type":"option","description":"Start queries from specified index. Use for paginating results. Defaults to 0.","multiple":false},"limit":{"name":"limit","type":"option","description":"The number of items to fetch each query. Defaults to 50 and is capped at 100.","multiple":false}},"args":[{"name":"name","description":"Name of the channel to view","required":false}],"contextDefinition":{"loggedIn":{},"projectConfig":{}}},"device:create":{"id":"device:create","description":"register new Apple Devices to use for internal distribution","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[],"contextDefinition":{"loggedIn":{},"projectConfig":{}}},"device:delete":{"id":"device:delete","description":"remove a registered device from your account","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"apple-team-id":{"name":"apple-team-id","type":"option","description":"The Apple team ID on which to find the device","multiple":false},"udid":{"name":"udid","type":"option","description":"The Apple device ID to disable","multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"projectConfig":{}}},"device:list":{"id":"device:list","description":"list all registered devices for your account","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"apple-team-id":{"name":"apple-team-id","type":"option","multiple":false},"offset":{"name":"offset","type":"option","description":"Start queries from specified index. Use for paginating results. Defaults to 0.","multiple":false},"limit":{"name":"limit","type":"option","description":"The number of items to fetch each query. Defaults to 50 and is capped at 100.","multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"projectConfig":{}}},"device:view":{"id":"device:view","description":"view a device for your project","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[{"name":"UDID"}],"contextDefinition":{"loggedIn":{},"projectConfig":{}}},"metadata:lint":{"id":"metadata:lint","description":"validate the local store configuration","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr","allowNo":false},"profile":{"name":"profile","type":"option","description":"Name of the submit profile from eas.json. Defaults to \"production\" if defined in eas.json.","multiple":false}},"args":[],"contextDefinition":{"projectDir":{}}},"metadata:pull":{"id":"metadata:pull","description":"generate the local store configuration from the app stores","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"profile":{"name":"profile","type":"option","char":"e","description":"Name of the submit profile from eas.json. Defaults to \"production\" if defined in eas.json.","multiple":false}},"args":[],"contextDefinition":{"loggedIn":{},"projectConfig":{},"analytics":{}}},"metadata:push":{"id":"metadata:push","description":"sync the local store configuration to the app stores","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"profile":{"name":"profile","type":"option","char":"e","description":"Name of the submit profile from eas.json. Defaults to \"production\" if defined in eas.json.","multiple":false}},"args":[],"contextDefinition":{"loggedIn":{},"projectConfig":{},"analytics":{}}},"project:info":{"id":"project:info","description":"information about the current project","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[],"contextDefinition":{"loggedIn":{},"projectConfig":{}}},"project:init":{"id":"project:init","description":"create or link an EAS project","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":["init"],"flags":{"id":{"name":"id","type":"option","description":"ID of the EAS project to link","multiple":false},"force":{"name":"force","type":"boolean","description":"Whether to overwrite any existing project ID","allowNo":false,"dependsOn":["id"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false,"dependsOn":["id"]}},"args":[],"contextDefinition":{"loggedIn":{},"projectDir":{}}},"secret:create":{"id":"secret:create","description":"create an environment secret on the current project or owner account","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"scope":{"name":"scope","type":"option","description":"Scope for the secret","helpValue":"(account|project)","multiple":false,"options":["account","project"],"default":"project"},"name":{"name":"name","type":"option","description":"Name of the secret","multiple":false},"value":{"name":"value","type":"option","description":"Text value or path to a file to store in the secret","multiple":false},"type":{"name":"type","type":"option","description":"The type of secret","helpValue":"(string|file)","multiple":false,"options":["string","file"]},"force":{"name":"force","type":"boolean","description":"Delete and recreate existing secrets","allowNo":false},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"projectConfig":{}}},"secret:delete":{"id":"secret:delete","description":"delete an environment secret by ID","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"id":{"name":"id","type":"option","description":"ID of the secret to delete","multiple":false},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"projectConfig":{}}},"secret:list":{"id":"secret:list","description":"list environment secrets available for your current app","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[],"contextDefinition":{"loggedIn":{},"projectConfig":{}}},"secret:push":{"id":"secret:push","description":"read environment secrets from env file and store on the server","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"scope":{"name":"scope","type":"option","description":"Scope for the secrets","helpValue":"(account|project)","multiple":false,"options":["account","project"],"default":"project"},"env-file":{"name":"env-file","type":"option","description":"Env file with secrets","multiple":false},"force":{"name":"force","type":"boolean","description":"Delete and recreate existing secrets","allowNo":false},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"projectConfig":{}}},"update:configure":{"id":"update:configure","description":"configure the project to support EAS Update","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","char":"p","description":"Platform to configure","helpValue":"(android|ios|all)","multiple":false,"options":["android","ios","all"],"default":"all"},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"projectConfig":{}}},"update:delete":{"id":"update:delete","description":"delete all the updates in an update group","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[{"name":"groupId","description":"The ID of an update group to delete.","required":true}],"contextDefinition":{"loggedIn":{}}},"update":{"id":"update","description":"publish an update group","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"branch":{"name":"branch","type":"option","description":"Branch to publish the update group on","required":false,"multiple":false},"message":{"name":"message","type":"option","description":"A short message describing the update","required":false,"multiple":false},"republish":{"name":"republish","type":"boolean","description":"Republish an update group","allowNo":false,"exclusive":["input-dir","skip-bundler"]},"group":{"name":"group","type":"option","description":"Update group to republish","multiple":false,"exclusive":["input-dir","skip-bundler"]},"input-dir":{"name":"input-dir","type":"option","description":"Location of the bundle","required":false,"multiple":false,"default":"dist"},"skip-bundler":{"name":"skip-bundler","type":"boolean","description":"Skip running Expo CLI to bundle the app before publishing","allowNo":false},"platform":{"name":"platform","type":"option","char":"p","required":false,"helpValue":"(android|ios|all)","multiple":false,"options":["android","ios","all"],"default":"all"},"auto":{"name":"auto","type":"boolean","description":"Use the current git branch and commit message for the EAS branch and update message","allowNo":false},"private-key-path":{"name":"private-key-path","type":"option","description":"File containing the PEM-encoded private key corresponding to the certificate in expo-updates' configuration. Defaults to a file named \"private-key.pem\" in the certificate's directory.","required":false,"multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"getDynamicProjectConfigAsync":{},"loggedIn":{}}},"update:list":{"id":"update:list","description":"view the recent updates","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"branch":{"name":"branch","type":"option","description":"List updates only on this branch","multiple":false,"exclusive":["all"]},"all":{"name":"all","type":"boolean","description":"List updates on all branches","allowNo":false,"exclusive":["branch"]},"offset":{"name":"offset","type":"option","description":"Start queries from specified index. Use for paginating results. Defaults to 0.","multiple":false},"limit":{"name":"limit","type":"option","description":"The number of items to fetch each query. Defaults to 25 and is capped at 50.","multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"projectConfig":{}}},"update:view":{"id":"update:view","description":"update group details","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false}},"args":[{"name":"groupId","description":"The ID of an update group.","required":true}],"contextDefinition":{"loggedIn":{}}},"webhook:create":{"id":"webhook:create","description":"create a webhook","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"event":{"name":"event","type":"option","description":"Event type that triggers the webhook","helpValue":"(BUILD|SUBMIT)","multiple":false,"options":["BUILD","SUBMIT"]},"url":{"name":"url","type":"option","description":"Webhook URL","multiple":false},"secret":{"name":"secret","type":"option","description":"Secret used to create a hash signature of the request payload, provided in the 'Expo-Signature' header.","multiple":false},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"projectConfig":{}}},"webhook:delete":{"id":"webhook:delete","description":"delete a webhook","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[{"name":"ID","description":"ID of the webhook to delete","required":false}],"contextDefinition":{"loggedIn":{},"projectConfig":{}}},"webhook:list":{"id":"webhook:list","description":"list webhooks","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"event":{"name":"event","type":"option","description":"Event type that triggers the webhook","helpValue":"(BUILD|SUBMIT)","multiple":false,"options":["BUILD","SUBMIT"]}},"args":[],"contextDefinition":{"loggedIn":{},"projectConfig":{}}},"webhook:update":{"id":"webhook:update","description":"update a webhook","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"id":{"name":"id","type":"option","description":"Webhook ID","required":true,"multiple":false},"event":{"name":"event","type":"option","description":"Event type that triggers the webhook","helpValue":"(BUILD|SUBMIT)","multiple":false,"options":["BUILD","SUBMIT"]},"url":{"name":"url","type":"option","description":"Webhook URL","multiple":false},"secret":{"name":"secret","type":"option","description":"Secret used to create a hash signature of the request payload, provided in the 'Expo-Signature' header.","multiple":false},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{}}},"webhook:view":{"id":"webhook:view","description":"view a webhook","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[{"name":"ID","description":"ID of the webhook to view","required":true}],"contextDefinition":{"loggedIn":{}}},"build:version:set":{"id":"build:version:set","description":"Update version of an app.","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","char":"p","helpValue":"(android|ios)","multiple":false,"options":["android","ios"]},"profile":{"name":"profile","type":"option","char":"e","description":"Name of the build profile from eas.json. Defaults to \"production\" if defined in eas.json.","helpValue":"PROFILE_NAME","multiple":false}},"args":[],"contextDefinition":{"loggedIn":{},"getDynamicProjectConfigAsync":{},"projectDir":{}}},"build:version:sync":{"id":"build:version:sync","description":"Update a version in native code with a value stored on EAS servers","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","char":"p","helpValue":"(android|ios|all)","multiple":false,"options":["android","ios","all"]},"profile":{"name":"profile","type":"option","char":"e","description":"Name of the build profile from eas.json. Defaults to \"production\" if defined in eas.json.","helpValue":"PROFILE_NAME","multiple":false}},"args":[],"contextDefinition":{"loggedIn":{},"getDynamicProjectConfigAsync":{},"projectDir":{}}}}}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "eas-cli",
3
3
  "description": "EAS command line tool",
4
- "version": "2.8.0",
4
+ "version": "2.9.0",
5
5
  "author": "Expo <support@expo.dev>",
6
6
  "bin": {
7
7
  "eas": "./bin/run"
@@ -216,5 +216,5 @@
216
216
  "node": "18.6.0",
217
217
  "yarn": "1.22.19"
218
218
  },
219
- "gitHead": "72283cdda26857296695d75e78bb508e38efb562"
219
+ "gitHead": "77e02f5759a8d7ab754bf7d23195974a50086c89"
220
220
  }