shipthis 0.1.34 → 0.1.35

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.
Files changed (100) hide show
  1. package/assets/markdown/{android-success.md → android-success.md.ejs} +2 -2
  2. package/assets/markdown/{apikey-create.md → apikey-create.md.ejs} +4 -4
  3. package/assets/markdown/{create-google-play-game.md → create-google-play-game.md.ejs} +2 -2
  4. package/assets/markdown/{invite-service-account.md → invite-service-account.md.ejs} +1 -1
  5. package/assets/markdown/{ios-success.md → ios-success.md.ejs} +2 -2
  6. package/assets/markdown/{privacy-notification.md → privacy-notification.md.ejs} +1 -1
  7. package/assets/markdown/service-account-policy-wizard.md.ejs +26 -0
  8. package/assets/markdown/service-account-policy.md.ejs +30 -0
  9. package/assets/markdown/{ship-failure.md → ship-failure.md.ejs} +1 -1
  10. package/assets/markdown/{ship-success.md → ship-success.md.ejs} +2 -2
  11. package/dist/{AppleBundleIdDetails-By-sSGNl.js → AppleBundleIdDetails-N_j1wv6f.js} +5 -4
  12. package/dist/{Command-VWMnGslo.js → Command-DN1j3tjt.js} +2 -2
  13. package/dist/{CommandGame-BSVPZzNl.js → CommandGame-D2NqytWc.js} +2 -2
  14. package/dist/{Create-SR1Mq7BY.js → Create-BRdv5jXQ.js} +4 -3
  15. package/dist/{GameStatus-1ntFyxEx.js → GameStatus-joyHPy0f.js} +12 -17
  16. package/dist/{Import-cedOWPDz.js → Import-BNMHsJoM.js} +5 -4
  17. package/dist/{JobLogTail-C_W8UAMg.js → JobLogTail-D35FO5v-.js} +5 -5
  18. package/dist/{JobProgress-CI385G53.js → JobProgress-D-9KESaA.js} +6 -5
  19. package/dist/{JobStatusTable-CdbKtwJE.js → JobStatusTable-DIJ_h-gi.js} +4 -4
  20. package/dist/{ProjectCredentialsTable-ZnuIfcDB.js → ProjectCredentialsTable-BMKgv99h.js} +2 -2
  21. package/dist/{UserCredentialsTable-DRkAYgEA.js → UserCredentialsTable-CUrTDzTK.js} +10 -10
  22. package/dist/{baseAppleCommand-CsO-_Yzn.js → baseAppleCommand-Cs9a52e5.js} +1 -1
  23. package/dist/{baseGameAndroidCommand-CdjaAbNX.js → baseGameAndroidCommand-BCB1SMCf.js} +2 -2
  24. package/dist/commands/apiKey/create.js +19 -16
  25. package/dist/commands/apiKey/list.js +10 -7
  26. package/dist/commands/apiKey/revoke.js +11 -8
  27. package/dist/commands/apple/apiKey/create.js +11 -8
  28. package/dist/commands/apple/apiKey/export.js +10 -7
  29. package/dist/commands/apple/apiKey/import.js +10 -7
  30. package/dist/commands/apple/apiKey/status.js +16 -13
  31. package/dist/commands/apple/certificate/create.js +11 -8
  32. package/dist/commands/apple/certificate/export.js +10 -7
  33. package/dist/commands/apple/certificate/import.js +10 -7
  34. package/dist/commands/apple/certificate/status.js +16 -13
  35. package/dist/commands/apple/login.js +2 -2
  36. package/dist/commands/apple/status.js +8 -5
  37. package/dist/commands/dashboard.js +1 -1
  38. package/dist/commands/game/android/apiKey/connect.js +13 -9
  39. package/dist/commands/game/android/apiKey/create.js +15 -11
  40. package/dist/commands/game/android/apiKey/export.js +11 -8
  41. package/dist/commands/game/android/apiKey/import.js +11 -8
  42. package/dist/commands/game/android/apiKey/invite.js +4 -4
  43. package/dist/commands/game/android/apiKey/policy.js +87 -0
  44. package/dist/commands/game/android/apiKey/status.js +11 -8
  45. package/dist/commands/game/android/keyStore/create.js +12 -9
  46. package/dist/commands/game/android/keyStore/export.js +10 -7
  47. package/dist/commands/game/android/keyStore/import.js +13 -10
  48. package/dist/commands/game/android/keyStore/status.js +10 -7
  49. package/dist/commands/game/android/status.js +1 -1
  50. package/dist/commands/game/build/download.js +8 -5
  51. package/dist/commands/game/build/list.js +9 -6
  52. package/dist/commands/game/create.js +2 -2
  53. package/dist/commands/game/details.js +8 -5
  54. package/dist/commands/game/export.js +1 -1
  55. package/dist/commands/game/ios/app/addTester.js +15 -12
  56. package/dist/commands/game/ios/app/create.js +8 -5
  57. package/dist/commands/game/ios/app/status.js +11 -8
  58. package/dist/commands/game/ios/app/sync.js +9 -6
  59. package/dist/commands/game/ios/profile/create.js +11 -8
  60. package/dist/commands/game/ios/profile/export.js +10 -7
  61. package/dist/commands/game/ios/profile/import.js +10 -7
  62. package/dist/commands/game/ios/profile/status.js +10 -7
  63. package/dist/commands/game/ios/status.js +13 -10
  64. package/dist/commands/game/ios/wizard.js +9 -6
  65. package/dist/commands/game/job/list.js +8 -5
  66. package/dist/commands/game/job/status.js +11 -8
  67. package/dist/commands/game/list.js +15 -10
  68. package/dist/commands/game/ship.js +15 -12
  69. package/dist/commands/game/status.js +10 -7
  70. package/dist/commands/game/wizard.js +23 -19
  71. package/dist/commands/internal/fastlane.js +1 -1
  72. package/dist/commands/internal/readme.js +4 -715
  73. package/dist/commands/login.js +2 -2
  74. package/dist/commands/status.js +14 -14
  75. package/dist/ejs-DirFZbza.js +716 -0
  76. package/dist/{export-B5Yfd9vw.js → export-DFCZKNQk.js} +1 -1
  77. package/dist/{import-A2WcStHl.js → import-BpGyif-m.js} +1 -1
  78. package/dist/{index-BBLtvl1Y.js → index-BTXEUd8W.js} +59 -16
  79. package/dist/{index-CO_ssVFA.js → index-BwnzoldS.js} +14 -2
  80. package/dist/{index-CYjZ26If.js → index-CJWMt1s-.js} +1 -1
  81. package/dist/{index-Bz1qt_8T.js → index-DlE_SPt3.js} +7 -11
  82. package/dist/{index-CA6-uLMn.js → index-hoHfGrjg.js} +33 -33
  83. package/dist/{index-CgzANgJt.js → index-izrACZbC.js} +1 -1
  84. package/dist/{upload-BIsFZzBO.js → upload-D19OQsbn.js} +1 -1
  85. package/dist/{useAndroidServiceAccountTestResult-DueKynFy.js → useAndroidServiceAccountTestResult-CwKeW0ED.js} +1 -1
  86. package/dist/{useAppleApp-BZR94exU.js → useAppleApp-BZc_cNa-.js} +1 -1
  87. package/dist/{useAppleBundleId-Dg5DsItN.js → useAppleBundleId-DvMXAvWD.js} +1 -1
  88. package/dist/useGoogleStatus-Cx_QIsXa.js +10 -0
  89. package/dist/{useProjectCredentials-jQYGcDhT.js → useProjectCredentials-DxdwJCfU.js} +14 -11
  90. package/dist/{useWebSocket-CIxkPaYi.js → useWebSocket-cM5yOcDv.js} +1 -1
  91. package/docs/README.md +3 -2
  92. package/docs/apiKey.md +12 -2
  93. package/docs/game/android/apiKey/policy.md +28 -0
  94. package/docs/game/android/keyStore.md +14 -4
  95. package/docs/game/android/status.md +4 -0
  96. package/docs/game/android.md +9 -305
  97. package/docs/game/ship.md +43 -11
  98. package/docs/game.md +7 -1
  99. package/package.json +3 -1
  100. /package/assets/markdown/{create-or-import-keystore.md → create-or-import-keystore.md.ejs} +0 -0
@@ -1,316 +1,20 @@
1
1
  # Topic: `game android`
2
2
 
3
- Commands related to the Android platform for a specific game
3
+ Commands in the `game android` topic are prefixed `shipthis game android`. They relate to managing the Android platform configuration for a specific game (generally in the current directory).
4
4
 
5
- ## Topics
6
-
7
-
8
- # Topic: `game android apiKey`
9
-
10
- Commands related to they Android Service Account API Key for a specific game
11
-
12
-
13
- ## Commands
14
-
15
-
16
- ### `game android apiKey connect`
17
-
18
- #### Description
19
-
20
- Connects ShipThis with Google for managing Service Account API Keys for an Android game
21
-
22
- #### Help Output
23
-
24
- ```help
25
- USAGE
26
- $ shipthis game android apiKey connect [-g <value>] [-f] [-d]
27
-
28
- FLAGS
29
- -d, --disconnect
30
- -f, --force
31
- -g, --gameId=<value> The ID of the game
32
-
33
- DESCRIPTION
34
- Connects ShipThis with Google for managing Service Account API Keys for an Android game
35
-
36
- EXAMPLES
37
- $ shipthis game android apiKey connect
38
-
39
- $ shipthis game android apiKey connect --force
40
-
41
- $ shipthis game android apiKey connect --disconnect
42
- ```
43
-
44
- ### `game android apiKey create`
45
-
46
- #### Description
47
-
48
- Creates a new Android Service Account API Key for a game
49
-
50
- #### Help Output
51
-
52
- ```help
53
- USAGE
54
- $ shipthis game android apiKey create [-g <value>] [-w] [-f]
55
-
56
- FLAGS
57
- -f, --force
58
- -g, --gameId=<value> The ID of the game
59
- -w, --waitForAuth Wait for Google Authentication (10 mins).
60
-
61
- DESCRIPTION
62
- Creates a new Android Service Account API Key for a game
63
-
64
- EXAMPLES
65
- $ shipthis game android apiKey create
66
-
67
- $ shipthis game android apiKey create --gameId 0c179fc4
68
- ```
69
-
70
- ### `game android apiKey export`
71
-
72
- #### Description
73
-
74
- Saves the current Android Service Account API Key to a ZIP file
75
-
76
- #### Help Output
77
-
78
- ```help
79
- USAGE
80
- $ shipthis game android apiKey export FILE [-g <value>] [-f]
81
-
82
- ARGUMENTS
83
- FILE Name of the ZIP file to create
84
-
85
- FLAGS
86
- -f, --force Overwrite the file if it already exists
87
- -g, --gameId=<value> The ID of the game
88
-
89
- DESCRIPTION
90
- Saves the current Android Service Account API Key to a ZIP file
91
-
92
- EXAMPLES
93
- $ shipthis game android apiKey export keyStore.zip
94
- ```
95
-
96
- ### `game android apiKey import`
97
-
98
- #### Description
99
-
100
- Imports an Android Service Account API Key to your ShipThis account for the specified game.
101
-
102
- #### Help Output
103
-
104
- ```help
105
- USAGE
106
- $ shipthis game android apiKey import FILE [-g <value>] [-f]
107
-
108
- ARGUMENTS
109
- FILE Name of the ZIP file to import (must be in the same format as the export)
110
-
111
- FLAGS
112
- -f, --force
113
- -g, --gameId=<value> The ID of the game
114
-
115
- DESCRIPTION
116
- Imports an Android Service Account API Key to your ShipThis account for the specified game.
117
-
118
- EXAMPLES
119
- $ shipthis game android apiKey import
120
- ```
121
-
122
- ### `game android apiKey invite`
123
-
124
- #### Description
125
-
126
- Invites the Service Account to your Google Play Account.
127
-
128
- #### Help Output
129
-
130
- ```help
131
- USAGE
132
- $ shipthis game android apiKey invite [ACCOUNTID] [-g <value>] [-p] [-p] [-w]
133
-
134
- ARGUMENTS
135
- ACCOUNTID The Google Play Account ID
136
-
137
- FLAGS
138
- -g, --gameId=<value> The ID of the game
139
- -p, --prompt Prompt for the Google Play Account ID
140
- -p, --waitForGoogleApp Waits for the Google Play app to be created (10 mins).
141
- -w, --waitForAuth Wait for Google Authentication (10 mins).
142
-
143
- DESCRIPTION
144
- Invites the Service Account to your Google Play Account.
145
-
146
- EXAMPLES
147
- $ shipthis game android apiKey invite
148
- ```
149
-
150
- ### `game android apiKey status`
151
-
152
- #### Description
153
-
154
- Displays the status of the Android Service Account API Key for a specific game.
5
+ :::tip
6
+ You will need to be authenticated against ShipThis before you can use these commands. To do that please run the following command first:
155
7
 
156
- #### Help Output
8
+ - [`shipthis login`](/docs/reference/login)
157
9
 
158
- ```help
159
- USAGE
160
- $ shipthis game android apiKey status [-g <value>]
10
+ :::
161
11
 
162
- FLAGS
163
- -g, --gameId=<value> The ID of the game
164
12
 
165
- DESCRIPTION
166
- Displays the status of the Android Service Account API Key for a specific game.
167
-
168
- EXAMPLES
169
- $ shipthis game android apiKey status
170
-
171
- $ shipthis game android apiKey status --gameId 0c179fc4
172
- ```
173
-
174
-
175
- # Topic: `game android keyStore`
176
-
177
- Commands related to the Android KeyStore for a specific game
178
-
179
-
180
- ## Commands
181
-
182
-
183
- ### `game android keyStore create`
184
-
185
- #### Description
186
-
187
- Creates a new Android Keystore for a game
188
-
189
- #### Help Output
190
-
191
- ```help
192
- USAGE
193
- $ shipthis game android keyStore create [-g <value>] [-f]
194
-
195
- FLAGS
196
- -f, --force
197
- -g, --gameId=<value> The ID of the game
198
-
199
- DESCRIPTION
200
- Creates a new Android Keystore for a game
201
-
202
- EXAMPLES
203
- $ shipthis game android keyStore create
204
-
205
- $ shipthis game android keyStore create --gameId 0c179fc4
206
- ```
207
-
208
- ### `game android keyStore export`
209
-
210
- #### Description
211
-
212
- Saves the current Android Keystore to a ZIP file
213
-
214
- #### Help Output
215
-
216
- ```help
217
- USAGE
218
- $ shipthis game android keyStore export FILE [-g <value>] [-f]
219
-
220
- ARGUMENTS
221
- FILE Name of the ZIP file to create
222
-
223
- FLAGS
224
- -f, --force Overwrite the file if it already exists
225
- -g, --gameId=<value> The ID of the game
226
-
227
- DESCRIPTION
228
- Saves the current Android Keystore to a ZIP file
229
-
230
- EXAMPLES
231
- $ shipthis game android keyStore export keyStore.zip
232
- ```
233
-
234
- ### `game android keyStore import`
235
-
236
- #### Description
237
-
238
- Imports an Android Keystore to your ShipThis account for the specified game.
239
-
240
- #### Help Output
241
-
242
- ```help
243
- USAGE
244
- $ shipthis game android keyStore import [FILE] [-g <value>] [--jksFile <value>] [--keystorePassword <value>] [--keyPassword
245
- <value>] [-f]
246
-
247
- ARGUMENTS
248
- FILE Path to the ZIP file to import (must be in the same format as the export)
249
-
250
- FLAGS
251
- -f, --force Overwrite any existing keystore without confirmation
252
- -g, --gameId=<value> The ID of the game
253
- --jksFile=<value> Path to the JKS file to import (requires passwords)
254
- --keyPassword=<value> Key alias password (required when using --jksFile)
255
- --keystorePassword=<value> Keystore password (required when using --jksFile)
256
-
257
- DESCRIPTION
258
- Imports an Android Keystore to your ShipThis account for the specified game.
259
-
260
- EXAMPLES
261
- $ shipthis game android keyStore import path/to/import.zip -g abfd5b00
262
-
263
- $ shipthis game android keyStore import --jksFile path/to/file.jks --keystorePassword yourpass --keyPassword yourkeypass
264
- ```
265
-
266
- ### `game android keyStore status`
267
-
268
- #### Description
269
-
270
- Displays the status of the Android Keystore for a specific game.
271
-
272
- #### Help Output
273
-
274
- ```help
275
- USAGE
276
- $ shipthis game android keyStore status [-g <value>]
277
-
278
- FLAGS
279
- -g, --gameId=<value> The ID of the game
280
-
281
- DESCRIPTION
282
- Displays the status of the Android Keystore for a specific game.
283
-
284
- EXAMPLES
285
- $ shipthis game android keyStore status
286
-
287
- $ shipthis game android keyStore status --gameId 0c179fc4
288
- ```
13
+ ## Topics
289
14
 
15
+ - [game android apiKey](/docs/reference/game/android/apiKey)
16
+ - [game android keyStore](/docs/reference/game/android/keyStore)
290
17
 
291
18
  ## Commands
292
19
 
293
-
294
- ### `game android status`
295
-
296
- #### Description
297
-
298
- Shows the status of the setup for the Android platform for a specific game.
299
-
300
- #### Help Output
301
-
302
- ```help
303
- USAGE
304
- $ shipthis game android status [-g <value>]
305
-
306
- FLAGS
307
- -g, --gameId=<value> The ID of the game
308
-
309
- DESCRIPTION
310
- Shows the status of the setup for the Android platform for a specific game.
311
-
312
- EXAMPLES
313
- $ shipthis game android status
314
-
315
- $ shipthis game android status --gameId 0c179fc4
316
- ```
20
+ - [game android status](/docs/reference/game/android/status)
package/docs/game/ship.md CHANGED
@@ -2,35 +2,67 @@
2
2
 
3
3
  ## Description
4
4
 
5
- Builds the app (for all platforms with valid credentials) and ships it to the stores.
6
-
7
- After uploading the files to the ShipThis backend. it will run the [`shipthis game job status`](/docs/reference/game/job#game-job-status) command with the `--follow` flag so that you can watch the job output in **real-time**.
5
+ The `shipthis game ship` command starts the process of building and publishing your game.
8
6
 
9
7
  :::info
10
- This command creates a new job. A **job** is a set of work done to create a new
11
- build of your game.
8
+ This command creates one or more "jobs". A **job** is a set of work done to create a new build of your game on one platform.
12
9
 
13
- To do this, it uploads the code in the current directory to the ShipThis backend.
10
+ When this command is run, ShipThis uploads the code in the current directory to the ShipThis backend.
14
11
  To control which files are uploaded, in the **shipthis.json** file there are two [glob](https://en.wikipedia.org/wiki/Glob_(programming)) arrays **shippedFilesGlobs** and **ignoredFilesGlobs**.
15
12
  :::
16
13
 
14
+ ## Examples
15
+
16
+ ### Standard use
17
+
18
+ When run without any flags, the command will try to run the full build and publish pipelines for each of the platforms that you have configured.
19
+
20
+ When run like this, pressing **L** will show or hide the last few lines of the logs, pressing **B** will open the job log in your browser.
21
+
22
+ [![asciicast](https://asciinema.org/a/7e1jPMx5i69VyM6TynkeFU0dI.svg)](https://asciinema.org/a/7e1jPMx5i69VyM6TynkeFU0dI#shipthis-col80row24)
23
+
24
+
25
+ ### Follow mode
26
+
27
+ When using ShipThis in a CI environment, it is most useful to use the `--follow` to collect the full output. This flag requires you to specify the `--platform` flag too.
28
+
29
+ [![asciicast](https://asciinema.org/a/gKmZ0E1rJ4oiT9SyuSivXBZfY.svg)](https://asciinema.org/a/gKmZ0E1rJ4oiT9SyuSivXBZfY#shipthis-col80row24)
17
30
 
18
- ## Example
19
31
 
20
- [![asciicast](https://asciinema.org/a/97iHQ7Vv1qcz0I3jntMmECqLJ.svg)](https://asciinema.org/a/97iHQ7Vv1qcz0I3jntMmECqLJ#shipthis-col160row32)
32
+ ### Advanced usage - follow, do not publish, and then download APK
33
+
34
+ [![asciicast](https://asciinema.org/a/GNf0t8niOlrMDsgPKqmBcuqQh.svg)](https://asciinema.org/a/GNf0t8niOlrMDsgPKqmBcuqQh#shipthis-col80row24)
35
+
21
36
 
22
37
  ## Help Output
23
38
 
24
39
  ```help
40
+ Builds the app (for all platforms with valid credentials) and ships it to the stores.
41
+
25
42
  USAGE
26
- $ shipthis game ship [-g <value>]
43
+ $ shipthis game ship [-g <value>] [--download <value> --platform android|ios] [--downloadAPK <value> ] [--follow ] [--skipPublish]
27
44
 
28
45
  FLAGS
29
- -g, --gameId=<value> The ID of the game
46
+ -g, --gameId=<value> The ID of the game
47
+ --download=<value> Download the build artifact to the specified file
48
+ --downloadAPK=<value> Download the APK artifact (if available) to the specified file
49
+ --follow Follow the job logs in real-time. Requires --platform to be specified.
50
+ --platform=<option> The platform to ship the game to. This can be "android" or "ios"
51
+ <options: android|ios>
52
+ --skipPublish Skip the publish step
30
53
 
31
54
  DESCRIPTION
32
55
  Builds the app (for all platforms with valid credentials) and ships it to the stores.
33
56
 
34
57
  EXAMPLES
35
58
  $ shipthis game ship
36
- ```
59
+
60
+ $ shipthis game ship --platform ios
61
+
62
+ $ shipthis game ship --platform android --skipPublish
63
+
64
+ $ shipthis game ship --platform android --download game.aab
65
+
66
+ $ shipthis game ship --platform android --follow --downloadAPK game.apk
67
+
68
+ ```
package/docs/game.md CHANGED
@@ -3,7 +3,13 @@
3
3
  Commands in the game topic are prefixed `shipthis game`. They relate to configuring
4
4
  the specific game in the current working directory.
5
5
 
6
- You will need to be authenticated against ShipThis (by running [`shipthis login`](login)) before running the Game commands.
6
+ :::tip
7
+ You will need to be authenticated against ShipThis before you can use these commands. To do that please run the following command first:
8
+
9
+ - [`shipthis login`](/docs/reference/login)
10
+
11
+ :::
12
+
7
13
 
8
14
  ## Topics
9
15
 
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.34",
4
+ "version": "0.1.35",
5
5
  "author": "Hello Invent Ltd",
6
6
  "bin": {
7
7
  "shipthis": "./bin/run.js"
@@ -140,6 +140,7 @@
140
140
  "./dist/commands/game/android/keyStore/import.js",
141
141
  "./dist/commands/game/android/apiKey/export.js",
142
142
  "./dist/commands/game/android/apiKey/create.js",
143
+ "./dist/commands/game/android/apiKey/policy.js",
143
144
  "./dist/commands/game/android/apiKey/status.js",
144
145
  "./dist/commands/game/android/apiKey/import.js",
145
146
  "./dist/commands/game/android/apiKey/invite.js",
@@ -216,6 +217,7 @@
216
217
  "build-tsc-alias": "shx rm -rf dist && npx tsc --build && npx tsc-alias -p tsconfig.json",
217
218
  "build": "pkgroll --clean-dist",
218
219
  "lint": "eslint . --ext .ts,.tsx",
220
+ "lint-fix": "eslint . --ext .ts,.tsx --fix",
219
221
  "posttest": "npm run lint",
220
222
  "prepack": "cp package-lock.json package-lock.dev.json || true && npm run readme && oclif manifest && npm shrinkwrap",
221
223
  "postpack": "mv package-lock.dev.json package-lock.json || true && shx rm -f oclif.manifest.json && shx rm -f npm-shrinkwrap.json",