shipthis 0.1.13 → 0.1.14

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.
@@ -4,10 +4,9 @@
4
4
 
5
5
  ## What now?
6
6
 
7
- - The last 10 lines of the failed jobs are shown below
7
+ - **The last 10 lines of the failed jobs are shown below**
8
8
  - Check out the full output in the **ShipThis Dashboard** [${jobDashboardUrl}](${jobDashboardUrl})
9
9
 
10
10
  ### Need help?
11
11
 
12
12
  - Join the Discord [https://discord.gg/HuSvK4GT](https://discord.gg/HuSvK4GT)
13
- - Report an issue [https://gitlab.com/shipthis.cc/shipthis-cli/-/issues](https://gitlab.com/shipthis.cc/shipthis-cli/-/issues)
@@ -4,9 +4,9 @@
4
4
 
5
5
  ## Next Steps
6
6
 
7
- - Checkout the available builds in your **ShipThis Dashboard** [${gameBuildsUrl}](${gameBuildsUrl})
7
+ - See all builds in the **Dashboard** [${gameBuildsUrl}](${gameBuildsUrl})
8
8
 
9
9
  ### Need help?
10
10
 
11
11
  - Join the Discord [https://discord.gg/HuSvK4GT](https://discord.gg/HuSvK4GT)
12
- - Report an issue [https://gitlab.com/shipthis.cc/shipthis-cli/-/issues](https://gitlab.com/shipthis.cc/shipthis-cli/-/issues)
12
+
@@ -92,6 +92,7 @@ class GameDetails extends BaseGameCommand {
92
92
  {
93
93
  title: "Game Details",
94
94
  statuses: {
95
+ "Game Name": game.name,
95
96
  "Game Engine": game.details?.gameEngine || "Please set!",
96
97
  "Game Engine Version": game.details?.gameEngineVersion || "Please set!",
97
98
  "iOS Bundle ID": game.details?.iosBundleId || "N/A",
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "shipthis",
3
- "version": "0.1.13",
3
+ "version": "0.1.14",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "shipthis",
9
- "version": "0.1.13",
9
+ "version": "0.1.14",
10
10
  "license": "MIT",
11
11
  "dependencies": {
12
12
  "@expo/apple-utils": "2.0.3",
@@ -156,110 +156,6 @@
156
156
  "status.js"
157
157
  ]
158
158
  },
159
- "internal:fastlane": {
160
- "aliases": [],
161
- "args": {
162
- "username": {
163
- "description": "Your Apple email address",
164
- "name": "username",
165
- "required": true
166
- },
167
- "file": {
168
- "description": "Path where the fastlane session will be written",
169
- "name": "file",
170
- "required": true
171
- }
172
- },
173
- "description": "Output a fastlane session file which can be used with xcodes",
174
- "examples": [
175
- "<%= config.bin %> <%= command.id %>",
176
- "<%= config.bin %> <%= command.id %> --force --username me@email.nowhere"
177
- ],
178
- "flags": {
179
- "force": {
180
- "char": "f",
181
- "name": "force",
182
- "allowNo": false,
183
- "type": "boolean"
184
- }
185
- },
186
- "hasDynamicHelp": false,
187
- "hiddenAliases": [],
188
- "id": "internal:fastlane",
189
- "pluginAlias": "shipthis",
190
- "pluginName": "shipthis",
191
- "pluginType": "core",
192
- "strict": true,
193
- "enableJsonFlag": false,
194
- "isESM": true,
195
- "relativePath": [
196
- "dist",
197
- "commands",
198
- "internal",
199
- "fastlane.js"
200
- ]
201
- },
202
- "internal:readme": {
203
- "aliases": [],
204
- "args": {
205
- "outputDir": {
206
- "description": "The directory where the readme files will be written",
207
- "name": "outputDir",
208
- "required": true
209
- }
210
- },
211
- "description": "Generate the readme files for the commands",
212
- "examples": [
213
- "<%= config.bin %> <%= command.id %>"
214
- ],
215
- "flags": {
216
- "notDryRun": {
217
- "char": "n",
218
- "description": "Set to actually write the files (will not overwrite)",
219
- "name": "notDryRun",
220
- "allowNo": false,
221
- "type": "boolean"
222
- },
223
- "overWrite": {
224
- "char": "o",
225
- "description": "Overwrite existing files",
226
- "name": "overWrite",
227
- "allowNo": false,
228
- "type": "boolean"
229
- },
230
- "depth": {
231
- "char": "d",
232
- "description": "The depth of the topic tree to render as separate files",
233
- "name": "depth",
234
- "hasDynamicHelp": false,
235
- "multiple": false,
236
- "type": "option"
237
- },
238
- "only": {
239
- "char": "l",
240
- "description": "Glob pattern - will only write the files which match",
241
- "name": "only",
242
- "hasDynamicHelp": false,
243
- "multiple": false,
244
- "type": "option"
245
- }
246
- },
247
- "hasDynamicHelp": false,
248
- "hiddenAliases": [],
249
- "id": "internal:readme",
250
- "pluginAlias": "shipthis",
251
- "pluginName": "shipthis",
252
- "pluginType": "core",
253
- "strict": true,
254
- "enableJsonFlag": false,
255
- "isESM": true,
256
- "relativePath": [
257
- "dist",
258
- "commands",
259
- "internal",
260
- "readme.js"
261
- ]
262
- },
263
159
  "game:create": {
264
160
  "aliases": [],
265
161
  "args": {},
@@ -695,62 +591,28 @@
695
591
  "wizard.js"
696
592
  ]
697
593
  },
698
- "apple:certificate:create": {
699
- "aliases": [],
700
- "args": {},
701
- "description": "Creates an iOS Distribution Certificate in your Apple Developer account.\nSaves the certificate with the private key to your ShipThis account",
702
- "examples": [
703
- "<%= config.bin %> <%= command.id %>",
704
- "<%= config.bin %> <%= command.id %> --force"
705
- ],
706
- "flags": {
707
- "force": {
708
- "char": "f",
709
- "name": "force",
710
- "allowNo": false,
711
- "type": "boolean"
712
- },
713
- "quiet": {
714
- "char": "q",
715
- "description": "Avoid output except for interactions and errors",
716
- "name": "quiet",
717
- "allowNo": false,
718
- "type": "boolean"
719
- }
720
- },
721
- "hasDynamicHelp": false,
722
- "hiddenAliases": [],
723
- "id": "apple:certificate:create",
724
- "pluginAlias": "shipthis",
725
- "pluginName": "shipthis",
726
- "pluginType": "core",
727
- "strict": true,
728
- "isESM": true,
729
- "relativePath": [
730
- "dist",
731
- "commands",
732
- "apple",
733
- "certificate",
734
- "create.js"
735
- ]
736
- },
737
- "apple:certificate:export": {
594
+ "internal:fastlane": {
738
595
  "aliases": [],
739
596
  "args": {
597
+ "username": {
598
+ "description": "Your Apple email address",
599
+ "name": "username",
600
+ "required": true
601
+ },
740
602
  "file": {
741
- "description": "Name of the ZIP file to create",
603
+ "description": "Path where the fastlane session will be written",
742
604
  "name": "file",
743
605
  "required": true
744
606
  }
745
607
  },
746
- "description": "Saves the current Apple Distribution Certificate to a ZIP file.",
608
+ "description": "Output a fastlane session file which can be used with xcodes",
747
609
  "examples": [
748
- "<%= config.bin %> <%= command.id %> userCert.zip"
610
+ "<%= config.bin %> <%= command.id %>",
611
+ "<%= config.bin %> <%= command.id %> --force --username me@email.nowhere"
749
612
  ],
750
613
  "flags": {
751
614
  "force": {
752
615
  "char": "f",
753
- "description": "Overwrite the file if it already exists",
754
616
  "name": "force",
755
617
  "allowNo": false,
756
618
  "type": "boolean"
@@ -758,7 +620,7 @@
758
620
  },
759
621
  "hasDynamicHelp": false,
760
622
  "hiddenAliases": [],
761
- "id": "apple:certificate:export",
623
+ "id": "internal:fastlane",
762
624
  "pluginAlias": "shipthis",
763
625
  "pluginName": "shipthis",
764
626
  "pluginType": "core",
@@ -768,68 +630,58 @@
768
630
  "relativePath": [
769
631
  "dist",
770
632
  "commands",
771
- "apple",
772
- "certificate",
773
- "export.js"
633
+ "internal",
634
+ "fastlane.js"
774
635
  ]
775
636
  },
776
- "apple:certificate:import": {
637
+ "internal:readme": {
777
638
  "aliases": [],
778
639
  "args": {
779
- "file": {
780
- "description": "Name of the ZIP file to import (must be in the same format as the export)",
781
- "name": "file",
640
+ "outputDir": {
641
+ "description": "The directory where the readme files will be written",
642
+ "name": "outputDir",
782
643
  "required": true
783
644
  }
784
645
  },
785
- "description": "Imports an iOS Distribution Certificate to your ShipThis account",
646
+ "description": "Generate the readme files for the commands",
786
647
  "examples": [
787
- "<%= config.bin %> <%= command.id %> userCert.zip"
648
+ "<%= config.bin %> <%= command.id %>"
788
649
  ],
789
650
  "flags": {
790
- "force": {
791
- "char": "f",
792
- "name": "force",
651
+ "notDryRun": {
652
+ "char": "n",
653
+ "description": "Set to actually write the files (will not overwrite)",
654
+ "name": "notDryRun",
793
655
  "allowNo": false,
794
656
  "type": "boolean"
795
- }
796
- },
797
- "hasDynamicHelp": false,
798
- "hiddenAliases": [],
799
- "id": "apple:certificate:import",
800
- "pluginAlias": "shipthis",
801
- "pluginName": "shipthis",
802
- "pluginType": "core",
803
- "strict": true,
804
- "enableJsonFlag": false,
805
- "isESM": true,
806
- "relativePath": [
807
- "dist",
808
- "commands",
809
- "apple",
810
- "certificate",
811
- "import.js"
812
- ]
813
- },
814
- "apple:certificate:status": {
815
- "aliases": [],
816
- "args": {},
817
- "description": "Displays the status of the iOS Distribution certificates in your Apple and ShipThis accounts.\nThese are used to sign all of your iOS apps.",
818
- "examples": [
819
- "<%= config.bin %> <%= command.id %>",
820
- "<%= config.bin %> <%= command.id %> --noAppleAuth"
821
- ],
822
- "flags": {
823
- "noAppleAuth": {
824
- "char": "f",
825
- "name": "noAppleAuth",
657
+ },
658
+ "overWrite": {
659
+ "char": "o",
660
+ "description": "Overwrite existing files",
661
+ "name": "overWrite",
826
662
  "allowNo": false,
827
663
  "type": "boolean"
664
+ },
665
+ "depth": {
666
+ "char": "d",
667
+ "description": "The depth of the topic tree to render as separate files",
668
+ "name": "depth",
669
+ "hasDynamicHelp": false,
670
+ "multiple": false,
671
+ "type": "option"
672
+ },
673
+ "only": {
674
+ "char": "l",
675
+ "description": "Glob pattern - will only write the files which match",
676
+ "name": "only",
677
+ "hasDynamicHelp": false,
678
+ "multiple": false,
679
+ "type": "option"
828
680
  }
829
681
  },
830
682
  "hasDynamicHelp": false,
831
683
  "hiddenAliases": [],
832
- "id": "apple:certificate:status",
684
+ "id": "internal:readme",
833
685
  "pluginAlias": "shipthis",
834
686
  "pluginName": "shipthis",
835
687
  "pluginType": "core",
@@ -839,9 +691,8 @@
839
691
  "relativePath": [
840
692
  "dist",
841
693
  "commands",
842
- "apple",
843
- "certificate",
844
- "status.js"
694
+ "internal",
695
+ "readme.js"
845
696
  ]
846
697
  },
847
698
  "apple:apiKey:create": {
@@ -993,22 +844,171 @@
993
844
  "status.js"
994
845
  ]
995
846
  },
996
- "game:android:status": {
847
+ "apple:certificate:create": {
997
848
  "aliases": [],
998
849
  "args": {},
999
- "description": "Shows the status of the setup for the Android platform for a specific game.",
850
+ "description": "Creates an iOS Distribution Certificate in your Apple Developer account.\nSaves the certificate with the private key to your ShipThis account",
1000
851
  "examples": [
1001
852
  "<%= config.bin %> <%= command.id %>",
1002
- "<%= config.bin %> <%= command.id %> --gameId 0c179fc4"
853
+ "<%= config.bin %> <%= command.id %> --force"
1003
854
  ],
1004
855
  "flags": {
1005
- "gameId": {
1006
- "char": "g",
1007
- "description": "The ID of the game",
1008
- "name": "gameId",
1009
- "hasDynamicHelp": false,
1010
- "multiple": false,
1011
- "type": "option"
856
+ "force": {
857
+ "char": "f",
858
+ "name": "force",
859
+ "allowNo": false,
860
+ "type": "boolean"
861
+ },
862
+ "quiet": {
863
+ "char": "q",
864
+ "description": "Avoid output except for interactions and errors",
865
+ "name": "quiet",
866
+ "allowNo": false,
867
+ "type": "boolean"
868
+ }
869
+ },
870
+ "hasDynamicHelp": false,
871
+ "hiddenAliases": [],
872
+ "id": "apple:certificate:create",
873
+ "pluginAlias": "shipthis",
874
+ "pluginName": "shipthis",
875
+ "pluginType": "core",
876
+ "strict": true,
877
+ "isESM": true,
878
+ "relativePath": [
879
+ "dist",
880
+ "commands",
881
+ "apple",
882
+ "certificate",
883
+ "create.js"
884
+ ]
885
+ },
886
+ "apple:certificate:export": {
887
+ "aliases": [],
888
+ "args": {
889
+ "file": {
890
+ "description": "Name of the ZIP file to create",
891
+ "name": "file",
892
+ "required": true
893
+ }
894
+ },
895
+ "description": "Saves the current Apple Distribution Certificate to a ZIP file.",
896
+ "examples": [
897
+ "<%= config.bin %> <%= command.id %> userCert.zip"
898
+ ],
899
+ "flags": {
900
+ "force": {
901
+ "char": "f",
902
+ "description": "Overwrite the file if it already exists",
903
+ "name": "force",
904
+ "allowNo": false,
905
+ "type": "boolean"
906
+ }
907
+ },
908
+ "hasDynamicHelp": false,
909
+ "hiddenAliases": [],
910
+ "id": "apple:certificate:export",
911
+ "pluginAlias": "shipthis",
912
+ "pluginName": "shipthis",
913
+ "pluginType": "core",
914
+ "strict": true,
915
+ "enableJsonFlag": false,
916
+ "isESM": true,
917
+ "relativePath": [
918
+ "dist",
919
+ "commands",
920
+ "apple",
921
+ "certificate",
922
+ "export.js"
923
+ ]
924
+ },
925
+ "apple:certificate:import": {
926
+ "aliases": [],
927
+ "args": {
928
+ "file": {
929
+ "description": "Name of the ZIP file to import (must be in the same format as the export)",
930
+ "name": "file",
931
+ "required": true
932
+ }
933
+ },
934
+ "description": "Imports an iOS Distribution Certificate to your ShipThis account",
935
+ "examples": [
936
+ "<%= config.bin %> <%= command.id %> userCert.zip"
937
+ ],
938
+ "flags": {
939
+ "force": {
940
+ "char": "f",
941
+ "name": "force",
942
+ "allowNo": false,
943
+ "type": "boolean"
944
+ }
945
+ },
946
+ "hasDynamicHelp": false,
947
+ "hiddenAliases": [],
948
+ "id": "apple:certificate:import",
949
+ "pluginAlias": "shipthis",
950
+ "pluginName": "shipthis",
951
+ "pluginType": "core",
952
+ "strict": true,
953
+ "enableJsonFlag": false,
954
+ "isESM": true,
955
+ "relativePath": [
956
+ "dist",
957
+ "commands",
958
+ "apple",
959
+ "certificate",
960
+ "import.js"
961
+ ]
962
+ },
963
+ "apple:certificate:status": {
964
+ "aliases": [],
965
+ "args": {},
966
+ "description": "Displays the status of the iOS Distribution certificates in your Apple and ShipThis accounts.\nThese are used to sign all of your iOS apps.",
967
+ "examples": [
968
+ "<%= config.bin %> <%= command.id %>",
969
+ "<%= config.bin %> <%= command.id %> --noAppleAuth"
970
+ ],
971
+ "flags": {
972
+ "noAppleAuth": {
973
+ "char": "f",
974
+ "name": "noAppleAuth",
975
+ "allowNo": false,
976
+ "type": "boolean"
977
+ }
978
+ },
979
+ "hasDynamicHelp": false,
980
+ "hiddenAliases": [],
981
+ "id": "apple:certificate:status",
982
+ "pluginAlias": "shipthis",
983
+ "pluginName": "shipthis",
984
+ "pluginType": "core",
985
+ "strict": true,
986
+ "enableJsonFlag": false,
987
+ "isESM": true,
988
+ "relativePath": [
989
+ "dist",
990
+ "commands",
991
+ "apple",
992
+ "certificate",
993
+ "status.js"
994
+ ]
995
+ },
996
+ "game:android:status": {
997
+ "aliases": [],
998
+ "args": {},
999
+ "description": "Shows the status of the setup for the Android platform for a specific game.",
1000
+ "examples": [
1001
+ "<%= config.bin %> <%= command.id %>",
1002
+ "<%= config.bin %> <%= command.id %> --gameId 0c179fc4"
1003
+ ],
1004
+ "flags": {
1005
+ "gameId": {
1006
+ "char": "g",
1007
+ "description": "The ID of the game",
1008
+ "name": "gameId",
1009
+ "hasDynamicHelp": false,
1010
+ "multiple": false,
1011
+ "type": "option"
1012
1012
  }
1013
1013
  },
1014
1014
  "hasDynamicHelp": false,
@@ -1367,14 +1367,13 @@
1367
1367
  "status.js"
1368
1368
  ]
1369
1369
  },
1370
- "game:android:apiKey:connect": {
1370
+ "game:android:keyStore:create": {
1371
1371
  "aliases": [],
1372
1372
  "args": {},
1373
- "description": "Connects ShipThis with Google for managing Service Account API Keys for an Android game",
1373
+ "description": "Creates a new Android Keystore for a game",
1374
1374
  "examples": [
1375
1375
  "<%= config.bin %> <%= command.id %>",
1376
- "<%= config.bin %> <%= command.id %> --force",
1377
- "<%= config.bin %> <%= command.id %> --disconnect"
1376
+ "<%= config.bin %> <%= command.id %> --gameId 0c179fc4"
1378
1377
  ],
1379
1378
  "flags": {
1380
1379
  "gameId": {
@@ -1390,17 +1389,11 @@
1390
1389
  "name": "force",
1391
1390
  "allowNo": false,
1392
1391
  "type": "boolean"
1393
- },
1394
- "disconnect": {
1395
- "char": "d",
1396
- "name": "disconnect",
1397
- "allowNo": false,
1398
- "type": "boolean"
1399
1392
  }
1400
1393
  },
1401
1394
  "hasDynamicHelp": false,
1402
1395
  "hiddenAliases": [],
1403
- "id": "game:android:apiKey:connect",
1396
+ "id": "game:android:keyStore:create",
1404
1397
  "pluginAlias": "shipthis",
1405
1398
  "pluginName": "shipthis",
1406
1399
  "pluginType": "core",
@@ -1411,17 +1404,22 @@
1411
1404
  "commands",
1412
1405
  "game",
1413
1406
  "android",
1414
- "apiKey",
1415
- "connect.js"
1407
+ "keyStore",
1408
+ "create.js"
1416
1409
  ]
1417
1410
  },
1418
- "game:android:apiKey:create": {
1411
+ "game:android:keyStore:export": {
1419
1412
  "aliases": [],
1420
- "args": {},
1421
- "description": "Creates a new Android Service Account API Key for a game",
1413
+ "args": {
1414
+ "file": {
1415
+ "description": "Name of the ZIP file to create",
1416
+ "name": "file",
1417
+ "required": true
1418
+ }
1419
+ },
1420
+ "description": "Saves the current Android Keystore to a ZIP file",
1422
1421
  "examples": [
1423
- "<%= config.bin %> <%= command.id %>",
1424
- "<%= config.bin %> <%= command.id %> --gameId 0c179fc4"
1422
+ "<%= config.bin %> <%= command.id %> keyStore.zip"
1425
1423
  ],
1426
1424
  "flags": {
1427
1425
  "gameId": {
@@ -1432,15 +1430,9 @@
1432
1430
  "multiple": false,
1433
1431
  "type": "option"
1434
1432
  },
1435
- "waitForAuth": {
1436
- "char": "w",
1437
- "description": "Wait for Google Authentication (10 mins).",
1438
- "name": "waitForAuth",
1439
- "allowNo": false,
1440
- "type": "boolean"
1441
- },
1442
1433
  "force": {
1443
1434
  "char": "f",
1435
+ "description": "Overwrite the file if it already exists",
1444
1436
  "name": "force",
1445
1437
  "allowNo": false,
1446
1438
  "type": "boolean"
@@ -1448,33 +1440,35 @@
1448
1440
  },
1449
1441
  "hasDynamicHelp": false,
1450
1442
  "hiddenAliases": [],
1451
- "id": "game:android:apiKey:create",
1443
+ "id": "game:android:keyStore:export",
1452
1444
  "pluginAlias": "shipthis",
1453
1445
  "pluginName": "shipthis",
1454
1446
  "pluginType": "core",
1455
1447
  "strict": true,
1448
+ "enableJsonFlag": false,
1456
1449
  "isESM": true,
1457
1450
  "relativePath": [
1458
1451
  "dist",
1459
1452
  "commands",
1460
1453
  "game",
1461
1454
  "android",
1462
- "apiKey",
1463
- "create.js"
1455
+ "keyStore",
1456
+ "export.js"
1464
1457
  ]
1465
1458
  },
1466
- "game:android:apiKey:export": {
1459
+ "game:android:keyStore:import": {
1467
1460
  "aliases": [],
1468
1461
  "args": {
1469
1462
  "file": {
1470
- "description": "Name of the ZIP file to create",
1463
+ "description": "Path to the ZIP file to import (must be in the same format as the export)",
1471
1464
  "name": "file",
1472
- "required": true
1465
+ "required": false
1473
1466
  }
1474
1467
  },
1475
- "description": "Saves the current Android Service Account API Key to a ZIP file",
1468
+ "description": "Imports an Android Keystore to your ShipThis account for the specified game.",
1476
1469
  "examples": [
1477
- "<%= config.bin %> <%= command.id %> keyStore.zip"
1470
+ "<%= config.bin %> <%= command.id %> path/to/import.zip -g abfd5b00",
1471
+ "<%= config.bin %> <%= command.id %> --jksFile path/to/file.jks --keystorePassword yourpass --keyPassword yourkeypass"
1478
1472
  ],
1479
1473
  "flags": {
1480
1474
  "gameId": {
@@ -1485,9 +1479,30 @@
1485
1479
  "multiple": false,
1486
1480
  "type": "option"
1487
1481
  },
1482
+ "jksFile": {
1483
+ "description": "Path to the JKS file to import (requires passwords)",
1484
+ "name": "jksFile",
1485
+ "hasDynamicHelp": false,
1486
+ "multiple": false,
1487
+ "type": "option"
1488
+ },
1489
+ "keystorePassword": {
1490
+ "description": "Keystore password (required when using --jksFile)",
1491
+ "name": "keystorePassword",
1492
+ "hasDynamicHelp": false,
1493
+ "multiple": false,
1494
+ "type": "option"
1495
+ },
1496
+ "keyPassword": {
1497
+ "description": "Key alias password (required when using --jksFile)",
1498
+ "name": "keyPassword",
1499
+ "hasDynamicHelp": false,
1500
+ "multiple": false,
1501
+ "type": "option"
1502
+ },
1488
1503
  "force": {
1489
1504
  "char": "f",
1490
- "description": "Overwrite the file if it already exists",
1505
+ "description": "Overwrite any existing keystore without confirmation",
1491
1506
  "name": "force",
1492
1507
  "allowNo": false,
1493
1508
  "type": "boolean"
@@ -1495,33 +1510,29 @@
1495
1510
  },
1496
1511
  "hasDynamicHelp": false,
1497
1512
  "hiddenAliases": [],
1498
- "id": "game:android:apiKey:export",
1513
+ "id": "game:android:keyStore:import",
1499
1514
  "pluginAlias": "shipthis",
1500
1515
  "pluginName": "shipthis",
1501
1516
  "pluginType": "core",
1502
1517
  "strict": true,
1518
+ "enableJsonFlag": false,
1503
1519
  "isESM": true,
1504
1520
  "relativePath": [
1505
1521
  "dist",
1506
1522
  "commands",
1507
1523
  "game",
1508
1524
  "android",
1509
- "apiKey",
1510
- "export.js"
1525
+ "keyStore",
1526
+ "import.js"
1511
1527
  ]
1512
1528
  },
1513
- "game:android:apiKey:import": {
1529
+ "game:android:keyStore:status": {
1514
1530
  "aliases": [],
1515
- "args": {
1516
- "file": {
1517
- "description": "Name of the ZIP file to import (must be in the same format as the export)",
1518
- "name": "file",
1519
- "required": true
1520
- }
1521
- },
1522
- "description": "Imports an Android Service Account API Key to your ShipThis account for the specified game.",
1531
+ "args": {},
1532
+ "description": "Displays the status of the Android Keystore for a specific game.",
1523
1533
  "examples": [
1524
- "<%= config.bin %> <%= command.id %>"
1534
+ "<%= config.bin %> <%= command.id %>",
1535
+ "<%= config.bin %> <%= command.id %> --gameId 0c179fc4"
1525
1536
  ],
1526
1537
  "flags": {
1527
1538
  "gameId": {
@@ -1531,43 +1542,34 @@
1531
1542
  "hasDynamicHelp": false,
1532
1543
  "multiple": false,
1533
1544
  "type": "option"
1534
- },
1535
- "force": {
1536
- "char": "f",
1537
- "name": "force",
1538
- "allowNo": false,
1539
- "type": "boolean"
1540
1545
  }
1541
1546
  },
1542
1547
  "hasDynamicHelp": false,
1543
1548
  "hiddenAliases": [],
1544
- "id": "game:android:apiKey:import",
1549
+ "id": "game:android:keyStore:status",
1545
1550
  "pluginAlias": "shipthis",
1546
1551
  "pluginName": "shipthis",
1547
1552
  "pluginType": "core",
1548
1553
  "strict": true,
1554
+ "enableJsonFlag": false,
1549
1555
  "isESM": true,
1550
1556
  "relativePath": [
1551
1557
  "dist",
1552
1558
  "commands",
1553
1559
  "game",
1554
1560
  "android",
1555
- "apiKey",
1556
- "import.js"
1561
+ "keyStore",
1562
+ "status.js"
1557
1563
  ]
1558
1564
  },
1559
- "game:android:apiKey:invite": {
1565
+ "game:android:apiKey:connect": {
1560
1566
  "aliases": [],
1561
- "args": {
1562
- "accountId": {
1563
- "description": "The Google Play Account ID",
1564
- "name": "accountId",
1565
- "required": false
1566
- }
1567
- },
1568
- "description": "Invites the Service Account to your Google Play Account.",
1567
+ "args": {},
1568
+ "description": "Connects ShipThis with Google for managing Service Account API Keys for an Android game",
1569
1569
  "examples": [
1570
- "<%= config.bin %> <%= command.id %>"
1570
+ "<%= config.bin %> <%= command.id %>",
1571
+ "<%= config.bin %> <%= command.id %> --force",
1572
+ "<%= config.bin %> <%= command.id %> --disconnect"
1571
1573
  ],
1572
1574
  "flags": {
1573
1575
  "gameId": {
@@ -1578,31 +1580,22 @@
1578
1580
  "multiple": false,
1579
1581
  "type": "option"
1580
1582
  },
1581
- "prompt": {
1582
- "char": "p",
1583
- "description": "Prompt for the Google Play Account ID",
1584
- "name": "prompt",
1585
- "allowNo": false,
1586
- "type": "boolean"
1587
- },
1588
- "waitForGoogleApp": {
1589
- "char": "p",
1590
- "description": "Waits for the Google Play app to be created (10 mins).",
1591
- "name": "waitForGoogleApp",
1583
+ "force": {
1584
+ "char": "f",
1585
+ "name": "force",
1592
1586
  "allowNo": false,
1593
1587
  "type": "boolean"
1594
1588
  },
1595
- "waitForAuth": {
1596
- "char": "w",
1597
- "description": "Wait for Google Authentication (10 mins).",
1598
- "name": "waitForAuth",
1589
+ "disconnect": {
1590
+ "char": "d",
1591
+ "name": "disconnect",
1599
1592
  "allowNo": false,
1600
1593
  "type": "boolean"
1601
1594
  }
1602
1595
  },
1603
1596
  "hasDynamicHelp": false,
1604
1597
  "hiddenAliases": [],
1605
- "id": "game:android:apiKey:invite",
1598
+ "id": "game:android:apiKey:connect",
1606
1599
  "pluginAlias": "shipthis",
1607
1600
  "pluginName": "shipthis",
1608
1601
  "pluginType": "core",
@@ -1614,13 +1607,13 @@
1614
1607
  "game",
1615
1608
  "android",
1616
1609
  "apiKey",
1617
- "invite.js"
1610
+ "connect.js"
1618
1611
  ]
1619
1612
  },
1620
- "game:android:apiKey:status": {
1613
+ "game:android:apiKey:create": {
1621
1614
  "aliases": [],
1622
1615
  "args": {},
1623
- "description": "Displays the status of the Android Service Account API Key for a specific game.",
1616
+ "description": "Creates a new Android Service Account API Key for a game",
1624
1617
  "examples": [
1625
1618
  "<%= config.bin %> <%= command.id %>",
1626
1619
  "<%= config.bin %> <%= command.id %> --gameId 0c179fc4"
@@ -1633,11 +1626,24 @@
1633
1626
  "hasDynamicHelp": false,
1634
1627
  "multiple": false,
1635
1628
  "type": "option"
1629
+ },
1630
+ "waitForAuth": {
1631
+ "char": "w",
1632
+ "description": "Wait for Google Authentication (10 mins).",
1633
+ "name": "waitForAuth",
1634
+ "allowNo": false,
1635
+ "type": "boolean"
1636
+ },
1637
+ "force": {
1638
+ "char": "f",
1639
+ "name": "force",
1640
+ "allowNo": false,
1641
+ "type": "boolean"
1636
1642
  }
1637
1643
  },
1638
1644
  "hasDynamicHelp": false,
1639
1645
  "hiddenAliases": [],
1640
- "id": "game:android:apiKey:status",
1646
+ "id": "game:android:apiKey:create",
1641
1647
  "pluginAlias": "shipthis",
1642
1648
  "pluginName": "shipthis",
1643
1649
  "pluginType": "core",
@@ -1649,16 +1655,21 @@
1649
1655
  "game",
1650
1656
  "android",
1651
1657
  "apiKey",
1652
- "status.js"
1658
+ "create.js"
1653
1659
  ]
1654
1660
  },
1655
- "game:android:keyStore:create": {
1661
+ "game:android:apiKey:export": {
1656
1662
  "aliases": [],
1657
- "args": {},
1658
- "description": "Creates a new Android Keystore for a game",
1663
+ "args": {
1664
+ "file": {
1665
+ "description": "Name of the ZIP file to create",
1666
+ "name": "file",
1667
+ "required": true
1668
+ }
1669
+ },
1670
+ "description": "Saves the current Android Service Account API Key to a ZIP file",
1659
1671
  "examples": [
1660
- "<%= config.bin %> <%= command.id %>",
1661
- "<%= config.bin %> <%= command.id %> --gameId 0c179fc4"
1672
+ "<%= config.bin %> <%= command.id %> keyStore.zip"
1662
1673
  ],
1663
1674
  "flags": {
1664
1675
  "gameId": {
@@ -1671,6 +1682,7 @@
1671
1682
  },
1672
1683
  "force": {
1673
1684
  "char": "f",
1685
+ "description": "Overwrite the file if it already exists",
1674
1686
  "name": "force",
1675
1687
  "allowNo": false,
1676
1688
  "type": "boolean"
@@ -1678,7 +1690,7 @@
1678
1690
  },
1679
1691
  "hasDynamicHelp": false,
1680
1692
  "hiddenAliases": [],
1681
- "id": "game:android:keyStore:create",
1693
+ "id": "game:android:apiKey:export",
1682
1694
  "pluginAlias": "shipthis",
1683
1695
  "pluginName": "shipthis",
1684
1696
  "pluginType": "core",
@@ -1689,22 +1701,22 @@
1689
1701
  "commands",
1690
1702
  "game",
1691
1703
  "android",
1692
- "keyStore",
1693
- "create.js"
1704
+ "apiKey",
1705
+ "export.js"
1694
1706
  ]
1695
1707
  },
1696
- "game:android:keyStore:export": {
1708
+ "game:android:apiKey:import": {
1697
1709
  "aliases": [],
1698
1710
  "args": {
1699
1711
  "file": {
1700
- "description": "Name of the ZIP file to create",
1712
+ "description": "Name of the ZIP file to import (must be in the same format as the export)",
1701
1713
  "name": "file",
1702
1714
  "required": true
1703
1715
  }
1704
1716
  },
1705
- "description": "Saves the current Android Keystore to a ZIP file",
1717
+ "description": "Imports an Android Service Account API Key to your ShipThis account for the specified game.",
1706
1718
  "examples": [
1707
- "<%= config.bin %> <%= command.id %> keyStore.zip"
1719
+ "<%= config.bin %> <%= command.id %>"
1708
1720
  ],
1709
1721
  "flags": {
1710
1722
  "gameId": {
@@ -1717,7 +1729,6 @@
1717
1729
  },
1718
1730
  "force": {
1719
1731
  "char": "f",
1720
- "description": "Overwrite the file if it already exists",
1721
1732
  "name": "force",
1722
1733
  "allowNo": false,
1723
1734
  "type": "boolean"
@@ -1725,35 +1736,33 @@
1725
1736
  },
1726
1737
  "hasDynamicHelp": false,
1727
1738
  "hiddenAliases": [],
1728
- "id": "game:android:keyStore:export",
1739
+ "id": "game:android:apiKey:import",
1729
1740
  "pluginAlias": "shipthis",
1730
1741
  "pluginName": "shipthis",
1731
1742
  "pluginType": "core",
1732
1743
  "strict": true,
1733
- "enableJsonFlag": false,
1734
1744
  "isESM": true,
1735
1745
  "relativePath": [
1736
1746
  "dist",
1737
1747
  "commands",
1738
1748
  "game",
1739
1749
  "android",
1740
- "keyStore",
1741
- "export.js"
1750
+ "apiKey",
1751
+ "import.js"
1742
1752
  ]
1743
1753
  },
1744
- "game:android:keyStore:import": {
1754
+ "game:android:apiKey:invite": {
1745
1755
  "aliases": [],
1746
1756
  "args": {
1747
- "file": {
1748
- "description": "Path to the ZIP file to import (must be in the same format as the export)",
1749
- "name": "file",
1757
+ "accountId": {
1758
+ "description": "The Google Play Account ID",
1759
+ "name": "accountId",
1750
1760
  "required": false
1751
1761
  }
1752
1762
  },
1753
- "description": "Imports an Android Keystore to your ShipThis account for the specified game.",
1763
+ "description": "Invites the Service Account to your Google Play Account.",
1754
1764
  "examples": [
1755
- "<%= config.bin %> <%= command.id %> path/to/import.zip -g abfd5b00",
1756
- "<%= config.bin %> <%= command.id %> --jksFile path/to/file.jks --keystorePassword yourpass --keyPassword yourkeypass"
1765
+ "<%= config.bin %> <%= command.id %>"
1757
1766
  ],
1758
1767
  "flags": {
1759
1768
  "gameId": {
@@ -1764,57 +1773,49 @@
1764
1773
  "multiple": false,
1765
1774
  "type": "option"
1766
1775
  },
1767
- "jksFile": {
1768
- "description": "Path to the JKS file to import (requires passwords)",
1769
- "name": "jksFile",
1770
- "hasDynamicHelp": false,
1771
- "multiple": false,
1772
- "type": "option"
1773
- },
1774
- "keystorePassword": {
1775
- "description": "Keystore password (required when using --jksFile)",
1776
- "name": "keystorePassword",
1777
- "hasDynamicHelp": false,
1778
- "multiple": false,
1779
- "type": "option"
1776
+ "prompt": {
1777
+ "char": "p",
1778
+ "description": "Prompt for the Google Play Account ID",
1779
+ "name": "prompt",
1780
+ "allowNo": false,
1781
+ "type": "boolean"
1780
1782
  },
1781
- "keyPassword": {
1782
- "description": "Key alias password (required when using --jksFile)",
1783
- "name": "keyPassword",
1784
- "hasDynamicHelp": false,
1785
- "multiple": false,
1786
- "type": "option"
1783
+ "waitForGoogleApp": {
1784
+ "char": "p",
1785
+ "description": "Waits for the Google Play app to be created (10 mins).",
1786
+ "name": "waitForGoogleApp",
1787
+ "allowNo": false,
1788
+ "type": "boolean"
1787
1789
  },
1788
- "force": {
1789
- "char": "f",
1790
- "description": "Overwrite any existing keystore without confirmation",
1791
- "name": "force",
1790
+ "waitForAuth": {
1791
+ "char": "w",
1792
+ "description": "Wait for Google Authentication (10 mins).",
1793
+ "name": "waitForAuth",
1792
1794
  "allowNo": false,
1793
1795
  "type": "boolean"
1794
1796
  }
1795
1797
  },
1796
1798
  "hasDynamicHelp": false,
1797
1799
  "hiddenAliases": [],
1798
- "id": "game:android:keyStore:import",
1800
+ "id": "game:android:apiKey:invite",
1799
1801
  "pluginAlias": "shipthis",
1800
1802
  "pluginName": "shipthis",
1801
1803
  "pluginType": "core",
1802
1804
  "strict": true,
1803
- "enableJsonFlag": false,
1804
1805
  "isESM": true,
1805
1806
  "relativePath": [
1806
1807
  "dist",
1807
1808
  "commands",
1808
1809
  "game",
1809
1810
  "android",
1810
- "keyStore",
1811
- "import.js"
1811
+ "apiKey",
1812
+ "invite.js"
1812
1813
  ]
1813
1814
  },
1814
- "game:android:keyStore:status": {
1815
+ "game:android:apiKey:status": {
1815
1816
  "aliases": [],
1816
1817
  "args": {},
1817
- "description": "Displays the status of the Android Keystore for a specific game.",
1818
+ "description": "Displays the status of the Android Service Account API Key for a specific game.",
1818
1819
  "examples": [
1819
1820
  "<%= config.bin %> <%= command.id %>",
1820
1821
  "<%= config.bin %> <%= command.id %> --gameId 0c179fc4"
@@ -1831,19 +1832,18 @@
1831
1832
  },
1832
1833
  "hasDynamicHelp": false,
1833
1834
  "hiddenAliases": [],
1834
- "id": "game:android:keyStore:status",
1835
+ "id": "game:android:apiKey:status",
1835
1836
  "pluginAlias": "shipthis",
1836
1837
  "pluginName": "shipthis",
1837
1838
  "pluginType": "core",
1838
1839
  "strict": true,
1839
- "enableJsonFlag": false,
1840
1840
  "isESM": true,
1841
1841
  "relativePath": [
1842
1842
  "dist",
1843
1843
  "commands",
1844
1844
  "game",
1845
1845
  "android",
1846
- "keyStore",
1846
+ "apiKey",
1847
1847
  "status.js"
1848
1848
  ]
1849
1849
  },
@@ -2238,5 +2238,5 @@
2238
2238
  ]
2239
2239
  }
2240
2240
  },
2241
- "version": "0.1.13"
2241
+ "version": "0.1.14"
2242
2242
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "shipthis",
3
3
  "description": "ShipThis manages building and uploading your Godot games to the App Store and Google Play.",
4
- "version": "0.1.13",
4
+ "version": "0.1.14",
5
5
  "author": "Hello Invent Ltd",
6
6
  "bin": {
7
7
  "shipthis": "./bin/run.js"
@@ -205,7 +205,7 @@
205
205
  "scripts": {
206
206
  "build-original": "shx rm -rf dist && tsc -b",
207
207
  "build-tsc-alias": "shx rm -rf dist && npx tsc --build && npx tsc-alias -p tsconfig.json",
208
- "build": "pkgroll --clean-dis",
208
+ "build": "pkgroll --clean-dist",
209
209
  "lint": "eslint . --ext .ts",
210
210
  "posttest": "npm run lint",
211
211
  "prepack": "cp package-lock.json package-lock.dev.json || true && npm run readme && oclif manifest && npm shrinkwrap",