shipthis 0.1.19 → 0.1.20

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 (86) hide show
  1. package/README.md +27 -27
  2. package/assets/markdown/ios-success.md +17 -0
  3. package/dist/{AppleBundleIdDetails-D41xptO8.js → AppleBundleIdDetails-fvGbPZdv.js} +7 -4
  4. package/dist/Command-I9hBoGAj.js +28 -0
  5. package/dist/{CommandGame-ClEQvI36.js → CommandGame-CdBKIgr-.js} +2 -1
  6. package/dist/{Create-C-7pvYVd.js → Create-4wdfWBjN.js} +6 -3
  7. package/dist/{Import-BfcHPxoi.js → Import-B3j3Faf_.js} +7 -4
  8. package/dist/{JobProgress-CICU69cf.js → JobProgress-DrBLSHdv.js} +8 -5
  9. package/dist/{JobStatusTable-CpPlQBqR.js → JobStatusTable-CHJt8Sci.js} +6 -6
  10. package/dist/{ProjectCredentialsTable-Ch2s5qF1.js → ProjectCredentialsTable-CJdsMx-O.js} +2 -2
  11. package/dist/{UserCredentialsTable-DzyAHhLB.js → UserCredentialsTable-DO3pBaVs.js} +3 -3
  12. package/dist/{baseAppleCommand-BGXyWK-R.js → baseAppleCommand-DwtoHHJe.js} +1 -1
  13. package/dist/{baseGameAndroidCommand-mdFhxanf.js → baseGameAndroidCommand-_iWWt-Rh.js} +2 -2
  14. package/dist/commands/apple/apiKey/create.js +11 -10
  15. package/dist/commands/apple/apiKey/export.js +10 -9
  16. package/dist/commands/apple/apiKey/import.js +10 -9
  17. package/dist/commands/apple/apiKey/status.js +9 -8
  18. package/dist/commands/apple/certificate/create.js +11 -10
  19. package/dist/commands/apple/certificate/export.js +10 -9
  20. package/dist/commands/apple/certificate/import.js +10 -9
  21. package/dist/commands/apple/certificate/status.js +9 -8
  22. package/dist/commands/apple/login.js +2 -2
  23. package/dist/commands/apple/status.js +8 -7
  24. package/dist/commands/dashboard.js +1 -1
  25. package/dist/commands/game/android/apiKey/connect.js +12 -11
  26. package/dist/commands/game/android/apiKey/create.js +14 -13
  27. package/dist/commands/game/android/apiKey/export.js +11 -10
  28. package/dist/commands/game/android/apiKey/import.js +11 -10
  29. package/dist/commands/game/android/apiKey/invite.js +4 -4
  30. package/dist/commands/game/android/apiKey/status.js +11 -10
  31. package/dist/commands/game/android/keyStore/create.js +12 -11
  32. package/dist/commands/game/android/keyStore/export.js +10 -9
  33. package/dist/commands/game/android/keyStore/import.js +13 -12
  34. package/dist/commands/game/android/keyStore/status.js +10 -9
  35. package/dist/commands/game/android/status.js +11 -10
  36. package/dist/commands/game/build/download.js +8 -7
  37. package/dist/commands/game/build/list.js +9 -8
  38. package/dist/commands/game/create.js +2 -2
  39. package/dist/commands/game/details.js +10 -9
  40. package/dist/commands/game/export.js +1 -1
  41. package/dist/commands/game/ios/app/addTester.js +11 -10
  42. package/dist/commands/game/ios/app/create.js +10 -9
  43. package/dist/commands/game/ios/app/status.js +11 -10
  44. package/dist/commands/game/ios/app/sync.js +9 -8
  45. package/dist/commands/game/ios/profile/create.js +11 -10
  46. package/dist/commands/game/ios/profile/export.js +10 -9
  47. package/dist/commands/game/ios/profile/import.js +10 -9
  48. package/dist/commands/game/ios/profile/status.js +10 -9
  49. package/dist/commands/game/ios/status.js +14 -13
  50. package/dist/commands/game/ios/wizard.js +44 -16
  51. package/dist/commands/game/job/list.js +8 -7
  52. package/dist/commands/game/job/status.js +11 -10
  53. package/dist/commands/game/list.js +8 -7
  54. package/dist/commands/game/ship.js +13 -12
  55. package/dist/commands/game/status.js +11 -10
  56. package/dist/commands/game/wizard.js +18 -17
  57. package/dist/commands/internal/fastlane.js +1 -1
  58. package/dist/commands/internal/readme.js +1 -1
  59. package/dist/commands/login.js +2 -2
  60. package/dist/commands/status.js +8 -7
  61. package/dist/{export-Cin4rLWR.js → export-CDgzZlSd.js} +1 -1
  62. package/dist/{import-CXTv9E84.js → import-D9dyGwy2.js} +1 -1
  63. package/dist/{index-Dj-chiHz.js → index-B-jDJolg.js} +1 -1
  64. package/dist/{index-B4v66AKo.js → index-BCO3QRqD.js} +1 -1
  65. package/dist/{Command-DdJBwDHu.js → index-CSBsz7Js.js} +21 -30
  66. package/dist/{index-Dhx6FAHt.js → index-Cn5-DHOL.js} +2 -2
  67. package/dist/{index-_Lan5Hud.js → index-JYXa6bEW.js} +8 -5
  68. package/dist/{index-DlvM24jQ.js → index-xV-xLIQa.js} +7 -4
  69. package/dist/{upload-DZCIfnwf.js → upload-CoVtaz5g.js} +1 -1
  70. package/dist/{useAndroidServiceAccountTestResult-L4oozjag.js → useAndroidServiceAccountTestResult-Bwu7ZeY5.js} +1 -1
  71. package/dist/{useAppleApp-DcSr-q-w.js → useAppleApp-1zogXNDE.js} +1 -1
  72. package/dist/{useAppleBundleId-BnJVPVIz.js → useAppleBundleId-C1shz-fc.js} +1 -1
  73. package/dist/{useJobWatching-W6FYJEPP.js → useJobWatching-mXM2P2E5.js} +3 -3
  74. package/dist/{useProjectCredentials-CI_AoXmH.js → useProjectCredentials-B2wXUghS.js} +3 -3
  75. package/dist/{useWebSocket-ZEZvtpT_.js → useWebSocket-Kupwp5m2.js} +1 -1
  76. package/docs/README.md +7 -7
  77. package/docs/apple/apiKey.md +1 -1
  78. package/docs/apple/certificate.md +1 -1
  79. package/docs/assets/wizard-android-existingx0.5.gif +0 -0
  80. package/docs/dashboard.md +1 -1
  81. package/docs/game/create.md +1 -1
  82. package/docs/login.md +1 -1
  83. package/npm-shrinkwrap.json +44 -79
  84. package/oclif.manifest.json +141 -141
  85. package/package.json +3 -2
  86. package/docs/assets/wizard-android-existing.gif +0 -0
package/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  <h1 align="center">
2
- <a href="https://shipthis.cc">
2
+ <a href="https://shipth.is">
3
3
  <picture>
4
4
  <source height="56" width="260" srcset="docs/assets/logo_dark.svg" media="(prefers-color-scheme: dark)">
5
5
  <img height="56" width="260" alt="ShipThis Home" src="docs/assets/logo_light.svg">
@@ -14,28 +14,28 @@
14
14
  <b>ShipThis</b> is a <b>command line tool</b> for building and uploading your <a href="https://godotengine.org/">Godot</a> mobile games to the <b>Apple App Store</b> and <b>Google Play</b>.
15
15
  </p>
16
16
  <p align="center">
17
- ShipThis compiles your game on managed cloud servers no local build tools needed. It can be integrated with existing CI or run ad-hoc when you have a new version of your game ready.
17
+ ShipThis compiles your game on managed cloud servers no local build tools needed. Use it manually or add it into your CI when you're ready to ship.
18
18
  </p>
19
19
 
20
20
  <p align="center">
21
21
  <picture>
22
- <img height="266" width="504" alt="ShipThis Home" src="docs/assets/ship-outputx0.8.gif">
22
+ <img height="266" width="504" alt="ShipThis Command - ship output" src="docs/assets/ship-outputx0.8.gif">
23
23
  </picture>
24
24
  </p>
25
25
 
26
26
  ---
27
27
 
28
+ > [!IMPORTANT]
29
+ > ShipThis is in open beta. While in beta, it is completely free to use.
30
+
28
31
  ## ❓ Why use ShipThis?
29
32
 
30
33
  - **✅ Always a free tier** – Enough usage for most solo devs.
31
- - **✨ One-command setup** – Our interactive [`wizard`](https://shipthis.cc/docs/reference/game/wizard) guides you through configuration.
32
- - **⏱ Skip the build tools** – No Xcode, Android Studio, or SDK installation required.
34
+ - **✨ One-command setup** – Our interactive [`wizard`](https://shipth.is/docs/reference/game/wizard) guides you through configuration.
35
+ - **⏩ Skip the build tools** – No Xcode, Android Studio, or SDK installation required.
33
36
  - **🔐 Simplify provisioning** – We handle iOS certificates, Android keystores, app signing, and API keys.
34
37
  - **🚀 One-command deployment** – Publish to TestFlight or Google Play with a single CLI command.
35
38
 
36
- > [!IMPORTANT]
37
- > ShipThis is in public beta. While in beta, it is completely free to use. Early users will receive discounts or free access to premium features after launch.
38
-
39
39
  ## ⚡️ Quick start
40
40
 
41
41
  ### What you'll need
@@ -55,9 +55,9 @@ npm install -g shipthis
55
55
 
56
56
  ### 2. Create an account
57
57
 
58
- > 🛠 All builds run on managed cloud servers no need to install Xcode or Android Studio locally.
58
+ Set up an account with ShipThis by logging in for the first time using the [`shipthis login`](https://shipth.is/docs/reference/login) command.
59
59
 
60
- Set up an account with ShipThis by logging in for the first time using the [`shipthis login`](https://shipthis.cc/docs/reference/login) command.
60
+ > 🛠 All builds run on managed cloud servers no need to install Xcode or Android Studio locally.
61
61
 
62
62
  ```bash
63
63
  shipthis login
@@ -65,7 +65,7 @@ shipthis login
65
65
 
66
66
  ### 3. Set up your game
67
67
 
68
- Next, run the [wizard command](https://shipthis.cc/docs/reference/game/wizard) to configure your game on ShipThis. The command takes a platform parameter – this can be either **android** or **ios**. Run this command from within a Godot game directory (with a **project.godot** file):
68
+ Next, run the [wizard command](https://shipth.is/docs/reference/game/wizard) to configure your game on ShipThis. The command takes a platform parameter – this can be either **android** or **ios**. Run this command from within a Godot game directory (with a **project.godot** file):
69
69
 
70
70
  ### Set up an Android game
71
71
 
@@ -74,18 +74,18 @@ shipthis game wizard android
74
74
  ```
75
75
 
76
76
  <details>
77
- <summary>Using the wizard for a published Google Play game</summary>
78
-
79
- ### Published game
80
-
81
- If you have already published your game to Google Play then you will be able to skip manually creating the game in the Play Console and uploading the initial build. Once you have connected your Google Account, the wizard will be able to determine if the game exists in Google Play. Below is a recording of the wizard being run to configure a game called **ShipThis Godot Demo Game** which was previously published manually in the Play Console.
77
+ <summary>Watch: Android wizard run for a published Google Play game</summary>
82
78
 
83
79
  <p align="center">
84
80
  <picture>
85
- <img height="862" width="1344" alt="ShipThis Home" src="docs/assets/wizard-android-existing.gif">
81
+ <img height="431" width="672" alt="ShipThis Command - Android Wizard - published game" src="docs/assets/wizard-android-existingx0.5.gif">
86
82
  </picture>
87
83
  </p>
88
84
 
85
+ The wizard will ask if you would like to import an existing Keystore. You will need the password and path to the JKS file.
86
+
87
+ If your game is already published on Google Play, the wizard will skip the initial build upload step. Once you have connected ShipThis with Google, the wizard will be able to determine if the game exists in Google Play.
88
+
89
89
  </details>
90
90
 
91
91
  ### Set up an iOS game
@@ -96,31 +96,31 @@ shipthis game wizard ios
96
96
 
97
97
  ### 4. Ship
98
98
 
99
- Now you can publish new versions of your game to TestFlight or Google Play with the [`shipthis game ship`](https://shipthis.cc/docs/reference/game/ship) command:
99
+ Now you can publish new versions of your game to TestFlight or Google Play with the [`shipthis game ship`](https://shipth.is/docs/reference/game/ship) command:
100
100
 
101
101
  ```bash
102
102
  shipthis game ship
103
103
  ```
104
104
 
105
- - 💡 Having issues? Check the [Troubleshooting](https://shipthis.cc/docs/troubleshooting) or [join our Discord](https://discord.gg/gPjn3S99k4)
106
- - 📚 For detailed documentation, visit [shipthis.cc/docs](https://shipthis.cc/docs)
105
+ - 💡 Having issues? Check the [Troubleshooting](https://shipth.is/docs/troubleshooting) or [join our Discord](https://discord.gg/gPjn3S99k4)
106
+ - 📚 For detailed documentation, visit [shipth.is/docs](https://shipth.is/docs)
107
107
 
108
108
  ## 📖 Command Reference
109
109
 
110
110
  ### 🗂 Topics
111
111
 
112
- - [apple](https://shipthis.cc/docs/reference/apple) – Commands that relate to linking your ShipThis account with your Apple Developer Account
113
- - [game](https://shipthis.cc/docs/reference/game) – Commands that relate to configuring the specific game in the current working directory.
112
+ - [apple](https://shipth.is/docs/reference/apple) – Commands that relate to linking your ShipThis account with your Apple Developer Account
113
+ - [game](https://shipth.is/docs/reference/game) – Commands that relate to configuring the specific game in the current working directory.
114
114
 
115
115
  ### 🔧 Commands
116
116
 
117
- - [dashboard](https://shipthis.cc/docs/reference/dashboard) – Opens the web browser to your shipthis.cc dashboard
118
- - [login](https://shipthis.cc/docs/reference/login) – Sign in or create a new account
119
- - [status](https://shipthis.cc/docs/reference/status) – Display your overall ShipThis account status
120
- - [help](https://shipthis.cc/docs/reference/help) – Display help for a specific topic or command
117
+ - [dashboard](https://shipth.is/docs/reference/dashboard) – Opens the web browser to your shipth.is dashboard
118
+ - [login](https://shipth.is/docs/reference/login) – Sign in or create a new account
119
+ - [status](https://shipth.is/docs/reference/status) – Display your overall ShipThis account status
120
+ - [help](https://shipth.is/docs/reference/help) – Display help for a specific topic or command
121
121
 
122
122
  ## 🌍 Community
123
123
 
124
124
  - 💬 [Join us on Discord](https://discord.gg/gPjn3S99k4)
125
125
  - 🐛 [Report an issue](https://github.com/shipth-is/cli/issues)
126
- - 📣 Feature ideas? Feedback? We’d love to hear from you – email support@shipthis.cc
126
+ - 📣 Feature ideas? Feedback? We’d love to hear from you – email support@shipth.is
@@ -0,0 +1,17 @@
1
+ # 🎉 You have successfully configured your game
2
+
3
+ **You are now ready to ship your game to the Apple App Store with a single command.**
4
+
5
+ ```bash
6
+ shipthis game ship
7
+ ```
8
+
9
+ ## 🚀 Next Steps
10
+
11
+ - Check out the **Android set up guide** [${androidSetupURL}](${androidSetupURL})
12
+ - Review the **ShipThis Documentation** [${docsURL}](${docsURL})
13
+
14
+ ### Need help?
15
+
16
+ - Join the Discord [https://discord.gg/HuSvK4GT](https://discord.gg/HuSvK4GT)
17
+ - Report an issue [https://github.com/shipth-is/cli/issues](https://github.com/shipth-is/cli/issues)
@@ -1,7 +1,7 @@
1
1
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
2
2
  import { Box, Text } from 'ink';
3
3
  import Spinner from 'ink-spinner';
4
- import './index-Dhx6FAHt.js';
4
+ import './index-Cn5-DHOL.js';
5
5
  import 'axios';
6
6
  import '@tanstack/react-query';
7
7
  import 'crypto';
@@ -17,18 +17,21 @@ import 'luxon';
17
17
  import 'socket.io-client';
18
18
  import 'isomorphic-git';
19
19
  import '@oclif/core';
20
- import { u as useAppleApp } from './useAppleApp-DcSr-q-w.js';
20
+ import { u as useAppleApp } from './useAppleApp-1zogXNDE.js';
21
21
  import 'fast-glob';
22
22
  import 'yazl';
23
23
  import '@inkjs/ui';
24
- import './Command-DdJBwDHu.js';
24
+ import './index-CSBsz7Js.js';
25
25
  import 'open';
26
26
  import { T as Table } from './Table-CvM6pccN.js';
27
27
  import { T as Title } from './Title-BCQtayg6.js';
28
28
  import 'string-length';
29
29
  import 'strip-ansi';
30
+ import 'marked';
31
+ import 'marked-terminal';
32
+ import 'path';
30
33
  import 'qrcode';
31
- import { u as useAppleBundleId } from './useAppleBundleId-BnJVPVIz.js';
34
+ import { u as useAppleBundleId } from './useAppleBundleId-C1shz-fc.js';
32
35
 
33
36
  const AppleAppDetails = (props) => {
34
37
  const { data, isLoading } = useAppleApp(props);
@@ -0,0 +1,28 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { Box } from 'ink';
3
+ import { QueryClientProvider } from '@tanstack/react-query';
4
+ import { M as queryClient } from './index-Cn5-DHOL.js';
5
+ import 'axios';
6
+ import 'crypto';
7
+ import 'fs';
8
+ import 'readline-sync';
9
+ import 'node:readline';
10
+ import 'node:path';
11
+ import 'node:url';
12
+ import 'react';
13
+ import 'crypto-js';
14
+ import 'uuid';
15
+ import 'luxon';
16
+ import 'socket.io-client';
17
+ import 'isomorphic-git';
18
+ import '@oclif/core';
19
+ import 'fast-glob';
20
+ import 'yazl';
21
+ import { C as CommandProvider } from './index-CSBsz7Js.js';
22
+
23
+ const Command = ({ children, command }) => {
24
+ const width = process.stdout.columns || 80;
25
+ return /* @__PURE__ */ jsx(QueryClientProvider, { client: queryClient, children: /* @__PURE__ */ jsx(CommandProvider, { command, children: /* @__PURE__ */ jsx(Box, { width, flexDirection: "column", children }) }) });
26
+ };
27
+
28
+ export { Command as C };
@@ -1,5 +1,6 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
- import { C as Command, G as GameProvider } from './Command-DdJBwDHu.js';
2
+ import { G as GameProvider } from './index-CSBsz7Js.js';
3
+ import { C as Command } from './Command-I9hBoGAj.js';
3
4
 
4
5
  const CommandGame = ({ children, command }) => {
5
6
  return /* @__PURE__ */ jsx(Command, { command, children: /* @__PURE__ */ jsx(GameProvider, { children }) });
@@ -3,9 +3,9 @@ import { Box } from 'ink';
3
3
  import axios from 'axios';
4
4
  import { useContext } from 'react';
5
5
  import { useQueryClient } from '@tanstack/react-query';
6
- import { p as getAuthedHeaders, q as API_URL } from './index-Dhx6FAHt.js';
7
- import { c as cacheKeys } from './useAndroidServiceAccountTestResult-L4oozjag.js';
8
- import { a as GameContext } from './Command-DdJBwDHu.js';
6
+ import { p as getAuthedHeaders, q as API_URL } from './index-Cn5-DHOL.js';
7
+ import { c as cacheKeys } from './useAndroidServiceAccountTestResult-Bwu7ZeY5.js';
8
+ import { b as GameContext } from './index-CSBsz7Js.js';
9
9
  import 'ink-spinner';
10
10
  import '@inkjs/ui';
11
11
  import 'fs';
@@ -22,6 +22,9 @@ import 'socket.io-client';
22
22
  import 'isomorphic-git';
23
23
  import '@oclif/core';
24
24
  import 'open';
25
+ import 'marked';
26
+ import 'marked-terminal';
27
+ import 'path';
25
28
  import 'qrcode';
26
29
  import { R as RunWithSpinner } from './RunWithSpinner-BVXNWGD3.js';
27
30
  import 'string-length';
@@ -2,8 +2,8 @@ import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { useContext, useState, useEffect } from 'react';
3
3
  import { Box, Text } from 'ink';
4
4
  import Spinner from 'ink-spinner';
5
- import { a as GameContext } from './Command-DdJBwDHu.js';
6
- import { a1 as queryClient, P as Platform, C as CredentialsType } from './index-Dhx6FAHt.js';
5
+ import { b as GameContext } from './index-CSBsz7Js.js';
6
+ import { M as queryClient, P as Platform, C as CredentialsType } from './index-Cn5-DHOL.js';
7
7
  import 'axios';
8
8
  import 'crypto-js';
9
9
  import { v4 } from 'uuid';
@@ -12,8 +12,8 @@ import fs__default from 'fs';
12
12
  import '@inkjs/ui';
13
13
  import { useMutation } from '@tanstack/react-query';
14
14
  import yazl from 'yazl';
15
- import { c as cacheKeys } from './useAndroidServiceAccountTestResult-L4oozjag.js';
16
- import { i as importCredential } from './import-CXTv9E84.js';
15
+ import { c as cacheKeys } from './useAndroidServiceAccountTestResult-Bwu7ZeY5.js';
16
+ import { i as importCredential } from './import-D9dyGwy2.js';
17
17
  import 'crypto';
18
18
  import 'readline-sync';
19
19
  import 'node:readline';
@@ -24,6 +24,9 @@ import 'socket.io-client';
24
24
  import 'isomorphic-git';
25
25
  import '@oclif/core';
26
26
  import 'open';
27
+ import 'marked';
28
+ import 'marked-terminal';
29
+ import 'path';
27
30
  import 'qrcode';
28
31
  import 'string-length';
29
32
  import 'strip-ansi';
@@ -4,25 +4,28 @@ import fg from 'fast-glob';
4
4
  import fs__default from 'fs';
5
5
  import yazl from 'yazl';
6
6
  import { useMutation } from '@tanstack/react-query';
7
- import { c as cacheKeys } from './useAndroidServiceAccountTestResult-L4oozjag.js';
8
- import { a1 as queryClient, x as DEFAULT_SHIPPED_FILES_GLOBS, w as DEFAULT_IGNORED_FILES_GLOBS, a2 as getNewUploadTicket, a3 as startJobsFromUpload, J as JobStatus } from './index-Dhx6FAHt.js';
9
- import { e as getFileHash, f as getPlatformName } from './index-Dj-chiHz.js';
7
+ import { c as cacheKeys } from './useAndroidServiceAccountTestResult-Bwu7ZeY5.js';
8
+ import { M as queryClient, x as DEFAULT_SHIPPED_FILES_GLOBS, w as DEFAULT_IGNORED_FILES_GLOBS, a2 as getNewUploadTicket, a3 as startJobsFromUpload, J as JobStatus } from './index-Cn5-DHOL.js';
9
+ import { e as getFileHash, f as getPlatformName } from './index-B-jDJolg.js';
10
10
  import { g as getCWDGitInfo } from './git-DREGq-jc.js';
11
11
  import { jsx, Fragment } from 'react/jsx-runtime';
12
12
  import { useRef } from 'react';
13
13
  import 'ink';
14
- import './Command-DdJBwDHu.js';
14
+ import './index-CSBsz7Js.js';
15
15
  import 'ink-spinner';
16
16
  import 'crypto-js';
17
17
  import 'luxon';
18
18
  import '@inkjs/ui';
19
19
  import 'open';
20
+ import 'marked';
21
+ import 'marked-terminal';
22
+ import 'path';
20
23
  import { P as ProgressSpinner } from './ProgressSpinner-6pw1T8Iw.js';
21
24
  import 'qrcode';
22
25
  import 'string-length';
23
26
  import 'strip-ansi';
24
27
  import 'socket.io-client';
25
- import { u as useJobWatching } from './useJobWatching-W6FYJEPP.js';
28
+ import { u as useJobWatching } from './useJobWatching-mXM2P2E5.js';
26
29
 
27
30
  async function ship({ command, log = () => {
28
31
  } }) {
@@ -1,11 +1,11 @@
1
1
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
2
  import { measureElement, Box, Text } from 'ink';
3
3
  import Spinner from 'ink-spinner';
4
- import { h as getStageColor, j as getMessageColor, c as getJobStatusColor } from './index-Dj-chiHz.js';
4
+ import { h as getStageColor, j as getMessageColor, c as getJobStatusColor } from './index-B-jDJolg.js';
5
5
  import { useState, useEffect, useRef } from 'react';
6
6
  import axios from 'axios';
7
7
  import { useInfiniteQuery } from '@tanstack/react-query';
8
- import { p as getAuthedHeaders, q as API_URL, L as castArrayObjectDates, H as castObjectDates, a5 as getShortTime, J as JobStatus } from './index-Dhx6FAHt.js';
8
+ import { p as getAuthedHeaders, q as API_URL, L as castArrayObjectDates, H as castObjectDates, a5 as getShortTime, J as JobStatus } from './index-Cn5-DHOL.js';
9
9
  import 'crypto-js';
10
10
  import 'uuid';
11
11
  import 'fs';
@@ -18,15 +18,15 @@ import 'readline-sync';
18
18
  import 'node:readline';
19
19
  import 'node:path';
20
20
  import 'node:url';
21
- import { c as cacheKeys } from './useAndroidServiceAccountTestResult-L4oozjag.js';
21
+ import { c as cacheKeys } from './useAndroidServiceAccountTestResult-Bwu7ZeY5.js';
22
22
  import 'isomorphic-git';
23
23
  import '@oclif/core';
24
- import { u as useWebSocket } from './useWebSocket-ZEZvtpT_.js';
24
+ import { u as useWebSocket } from './useWebSocket-Kupwp5m2.js';
25
25
  import { T as Title } from './Title-BCQtayg6.js';
26
26
  import stringLength from 'string-length';
27
27
  import stripAnsi from 'strip-ansi';
28
- import { g as getJobSummary, d as getBuildSummary } from './Command-DdJBwDHu.js';
29
- import { u as useJobWatching } from './useJobWatching-W6FYJEPP.js';
28
+ import { a as getJobSummary, e as getBuildSummary } from './index-CSBsz7Js.js';
29
+ import { u as useJobWatching } from './useJobWatching-mXM2P2E5.js';
30
30
  import { a as StatusRow, b as StatusRowLabel } from './StatusTable-Dm5St4g-.js';
31
31
 
32
32
  async function queryJobLogs({
@@ -10,11 +10,11 @@ import 'node:url';
10
10
  import 'react';
11
11
  import 'axios';
12
12
  import '@tanstack/react-query';
13
- import './index-Dhx6FAHt.js';
13
+ import './index-Cn5-DHOL.js';
14
14
  import 'crypto-js';
15
15
  import 'uuid';
16
16
  import 'luxon';
17
- import { u as useProjectCredentials, g as getProjectCredentialSummary } from './useProjectCredentials-CI_AoXmH.js';
17
+ import { u as useProjectCredentials, g as getProjectCredentialSummary } from './useProjectCredentials-B2wXUghS.js';
18
18
  import 'fast-glob';
19
19
  import 'yazl';
20
20
  import 'socket.io-client';
@@ -10,14 +10,14 @@ import 'node:url';
10
10
  import 'react';
11
11
  import axios from 'axios';
12
12
  import { useQuery } from '@tanstack/react-query';
13
- import { b as getShortDate, p as getAuthedHeaders, q as API_URL, L as castArrayObjectDates } from './index-Dhx6FAHt.js';
13
+ import { b as getShortDate, p as getAuthedHeaders, q as API_URL, L as castArrayObjectDates } from './index-Cn5-DHOL.js';
14
14
  import 'crypto-js';
15
15
  import 'uuid';
16
16
  import 'luxon';
17
17
  import 'fast-glob';
18
18
  import 'yazl';
19
- import { c as cacheKeys } from './useAndroidServiceAccountTestResult-L4oozjag.js';
20
- import { g as getShortUUID } from './index-Dj-chiHz.js';
19
+ import { c as cacheKeys } from './useAndroidServiceAccountTestResult-Bwu7ZeY5.js';
20
+ import { g as getShortUUID } from './index-B-jDJolg.js';
21
21
  import 'socket.io-client';
22
22
  import 'isomorphic-git';
23
23
  import '@oclif/core';
@@ -1,4 +1,4 @@
1
- import { B as BaseAuthenticatedCommand } from './index-Dhx6FAHt.js';
1
+ import { B as BaseAuthenticatedCommand } from './index-Cn5-DHOL.js';
2
2
 
3
3
  class BaseAppleCommand extends BaseAuthenticatedCommand {
4
4
  async init() {
@@ -1,5 +1,5 @@
1
- import { c as BaseGameCommand, Q as getGodotAndroidPackageName, R as getGoogleStatus } from './index-Dhx6FAHt.js';
2
- import { b as generatePackageName, a as getInput } from './index-Dj-chiHz.js';
1
+ import { c as BaseGameCommand, S as getGodotAndroidPackageName, T as getGoogleStatus } from './index-Cn5-DHOL.js';
2
+ import { b as generatePackageName, a as getInput } from './index-B-jDJolg.js';
3
3
 
4
4
  class BaseGameAndroidCommand extends BaseGameCommand {
5
5
  async init() {
@@ -1,10 +1,10 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { Flags } from '@oclif/core';
3
3
  import { render } from 'ink';
4
- import { P as Platform, C as CredentialsType, A as ApiKey, a as ApiKeyType, U as UserRole } from '../../../index-Dhx6FAHt.js';
5
- import { g as getUserCredentials } from '../../../index-B4v66AKo.js';
4
+ import { P as Platform, C as CredentialsType, A as ApiKey, a as ApiKeyType, U as UserRole } from '../../../index-Cn5-DHOL.js';
5
+ import { g as getUserCredentials } from '../../../index-BCO3QRqD.js';
6
6
  import 'react';
7
- import { C as Command } from '../../../Command-DdJBwDHu.js';
7
+ import '../../../index-CSBsz7Js.js';
8
8
  import 'ink-spinner';
9
9
  import 'axios';
10
10
  import 'crypto-js';
@@ -23,20 +23,21 @@ import 'fast-glob';
23
23
  import 'socket.io-client';
24
24
  import 'isomorphic-git';
25
25
  import 'open';
26
+ import 'marked';
27
+ import 'marked-terminal';
28
+ import 'path';
26
29
  import 'qrcode';
27
30
  import { R as RunWithSpinner } from '../../../RunWithSpinner-BVXNWGD3.js';
28
31
  import 'string-length';
29
32
  import 'strip-ansi';
30
- import { B as BaseAppleCommand } from '../../../baseAppleCommand-BGXyWK-R.js';
31
- import { u as uploadUserCredentials } from '../../../upload-DZCIfnwf.js';
32
- import 'path';
33
+ import { C as Command } from '../../../Command-I9hBoGAj.js';
34
+ import { B as BaseAppleCommand } from '../../../baseAppleCommand-DwtoHHJe.js';
35
+ import { u as uploadUserCredentials } from '../../../upload-CoVtaz5g.js';
33
36
  import '@expo/apple-utils/build/index.js';
34
37
  import 'ini';
35
38
  import 'deepmerge';
36
- import '../../../index-Dj-chiHz.js';
37
- import '../../../useAndroidServiceAccountTestResult-L4oozjag.js';
38
- import 'marked';
39
- import 'marked-terminal';
39
+ import '../../../index-B-jDJolg.js';
40
+ import '../../../useAndroidServiceAccountTestResult-Bwu7ZeY5.js';
40
41
 
41
42
  class AppleApiKeyCreate extends BaseAppleCommand {
42
43
  static args = {};
@@ -2,10 +2,10 @@ import { jsx } from 'react/jsx-runtime';
2
2
  import { Args, Flags } from '@oclif/core';
3
3
  import { render } from 'ink';
4
4
  import * as fs from 'fs';
5
- import { B as BaseAuthenticatedCommand, P as Platform, C as CredentialsType } from '../../../index-Dhx6FAHt.js';
6
- import { g as getUserCredentials } from '../../../index-B4v66AKo.js';
5
+ import { B as BaseAuthenticatedCommand, P as Platform, C as CredentialsType } from '../../../index-Cn5-DHOL.js';
6
+ import { g as getUserCredentials } from '../../../index-BCO3QRqD.js';
7
7
  import 'react';
8
- import { C as Command } from '../../../Command-DdJBwDHu.js';
8
+ import '../../../index-CSBsz7Js.js';
9
9
  import 'ink-spinner';
10
10
  import 'axios';
11
11
  import 'crypto-js';
@@ -23,19 +23,20 @@ import 'fast-glob';
23
23
  import 'socket.io-client';
24
24
  import 'isomorphic-git';
25
25
  import 'open';
26
+ import 'marked';
27
+ import 'marked-terminal';
28
+ import 'path';
26
29
  import 'qrcode';
27
30
  import { R as RunWithSpinner } from '../../../RunWithSpinner-BVXNWGD3.js';
28
31
  import 'string-length';
29
32
  import 'strip-ansi';
30
- import { e as exportCredential } from '../../../export-Cin4rLWR.js';
31
- import 'path';
33
+ import { C as Command } from '../../../Command-I9hBoGAj.js';
34
+ import { e as exportCredential } from '../../../export-CDgzZlSd.js';
32
35
  import '@expo/apple-utils/build/index.js';
33
36
  import 'ini';
34
37
  import 'deepmerge';
35
- import '../../../index-Dj-chiHz.js';
36
- import '../../../useAndroidServiceAccountTestResult-L4oozjag.js';
37
- import 'marked';
38
- import 'marked-terminal';
38
+ import '../../../index-B-jDJolg.js';
39
+ import '../../../useAndroidServiceAccountTestResult-Bwu7ZeY5.js';
39
40
 
40
41
  class AppleApiKeyExport extends BaseAuthenticatedCommand {
41
42
  static args = {
@@ -2,10 +2,10 @@ import { jsx } from 'react/jsx-runtime';
2
2
  import { Args, Flags } from '@oclif/core';
3
3
  import { render } from 'ink';
4
4
  import * as fs from 'fs';
5
- import { B as BaseAuthenticatedCommand, P as Platform, C as CredentialsType } from '../../../index-Dhx6FAHt.js';
6
- import { g as getUserCredentials } from '../../../index-B4v66AKo.js';
5
+ import { B as BaseAuthenticatedCommand, P as Platform, C as CredentialsType } from '../../../index-Cn5-DHOL.js';
6
+ import { g as getUserCredentials } from '../../../index-BCO3QRqD.js';
7
7
  import 'react';
8
- import { C as Command } from '../../../Command-DdJBwDHu.js';
8
+ import '../../../index-CSBsz7Js.js';
9
9
  import 'ink-spinner';
10
10
  import 'axios';
11
11
  import 'crypto-js';
@@ -23,19 +23,20 @@ import 'fast-glob';
23
23
  import 'socket.io-client';
24
24
  import 'isomorphic-git';
25
25
  import 'open';
26
+ import 'marked';
27
+ import 'marked-terminal';
28
+ import 'path';
26
29
  import 'qrcode';
27
30
  import { R as RunWithSpinner } from '../../../RunWithSpinner-BVXNWGD3.js';
28
31
  import 'string-length';
29
32
  import 'strip-ansi';
30
- import { i as importCredential } from '../../../import-CXTv9E84.js';
31
- import 'path';
33
+ import { C as Command } from '../../../Command-I9hBoGAj.js';
34
+ import { i as importCredential } from '../../../import-D9dyGwy2.js';
32
35
  import '@expo/apple-utils/build/index.js';
33
36
  import 'ini';
34
37
  import 'deepmerge';
35
- import '../../../index-Dj-chiHz.js';
36
- import '../../../useAndroidServiceAccountTestResult-L4oozjag.js';
37
- import 'marked';
38
- import 'marked-terminal';
38
+ import '../../../index-B-jDJolg.js';
39
+ import '../../../useAndroidServiceAccountTestResult-Bwu7ZeY5.js';
39
40
 
40
41
  class AppleApiKeyImport extends BaseAuthenticatedCommand {
41
42
  static args = {
@@ -1,9 +1,9 @@
1
1
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
2
  import { Flags } from '@oclif/core';
3
3
  import { Box, Text, render } from 'ink';
4
- import { b as getShortDate, A as ApiKey, C as CredentialsType, P as Platform, B as BaseAuthenticatedCommand } from '../../../index-Dhx6FAHt.js';
4
+ import { b as getShortDate, A as ApiKey, C as CredentialsType, P as Platform, B as BaseAuthenticatedCommand } from '../../../index-Cn5-DHOL.js';
5
5
  import 'react';
6
- import { C as Command } from '../../../Command-DdJBwDHu.js';
6
+ import '../../../index-CSBsz7Js.js';
7
7
  import Spinner from 'ink-spinner';
8
8
  import 'axios';
9
9
  import 'crypto-js';
@@ -22,21 +22,22 @@ import 'fast-glob';
22
22
  import 'socket.io-client';
23
23
  import 'isomorphic-git';
24
24
  import 'open';
25
+ import 'marked';
26
+ import 'marked-terminal';
27
+ import 'path';
25
28
  import 'qrcode';
26
29
  import 'string-length';
27
30
  import 'strip-ansi';
28
- import { u as useUserCredentials, U as UserCredentialsTable } from '../../../UserCredentialsTable-DzyAHhLB.js';
31
+ import { u as useUserCredentials, U as UserCredentialsTable } from '../../../UserCredentialsTable-DO3pBaVs.js';
29
32
  import { T as Table } from '../../../Table-CvM6pccN.js';
30
33
  import { T as Title } from '../../../Title-BCQtayg6.js';
31
34
  import { N as NextSteps } from '../../../NextSteps-CK9zHOCt.js';
32
- import 'path';
35
+ import { C as Command } from '../../../Command-I9hBoGAj.js';
33
36
  import '@expo/apple-utils/build/index.js';
34
37
  import 'ini';
35
38
  import 'deepmerge';
36
- import '../../../index-Dj-chiHz.js';
37
- import '../../../useAndroidServiceAccountTestResult-L4oozjag.js';
38
- import 'marked';
39
- import 'marked-terminal';
39
+ import '../../../index-B-jDJolg.js';
40
+ import '../../../useAndroidServiceAccountTestResult-Bwu7ZeY5.js';
40
41
 
41
42
  async function queryAppleApiKeys({ ctx }) {
42
43
  const keys = await ApiKey.getAsync(ctx);
@@ -1,10 +1,10 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { Flags } from '@oclif/core';
3
3
  import { render } from 'ink';
4
- import { m as CertificateType, l as Certificate, P as Platform, C as CredentialsType } from '../../../index-Dhx6FAHt.js';
5
- import { g as getUserCredentials } from '../../../index-B4v66AKo.js';
4
+ import { m as CertificateType, l as Certificate, P as Platform, C as CredentialsType } from '../../../index-Cn5-DHOL.js';
5
+ import { g as getUserCredentials } from '../../../index-BCO3QRqD.js';
6
6
  import 'react';
7
- import { C as Command } from '../../../Command-DdJBwDHu.js';
7
+ import '../../../index-CSBsz7Js.js';
8
8
  import 'ink-spinner';
9
9
  import 'axios';
10
10
  import 'crypto-js';
@@ -23,21 +23,22 @@ import 'fast-glob';
23
23
  import 'socket.io-client';
24
24
  import 'isomorphic-git';
25
25
  import 'open';
26
+ import 'marked';
27
+ import 'marked-terminal';
28
+ import 'path';
26
29
  import 'qrcode';
27
30
  import { R as RunWithSpinner } from '../../../RunWithSpinner-BVXNWGD3.js';
28
31
  import 'string-length';
29
32
  import 'strip-ansi';
33
+ import { C as Command } from '../../../Command-I9hBoGAj.js';
30
34
  import forge from 'node-forge';
31
- import { B as BaseAppleCommand } from '../../../baseAppleCommand-BGXyWK-R.js';
32
- import { u as uploadUserCredentials } from '../../../upload-DZCIfnwf.js';
33
- import 'path';
35
+ import { B as BaseAppleCommand } from '../../../baseAppleCommand-DwtoHHJe.js';
36
+ import { u as uploadUserCredentials } from '../../../upload-CoVtaz5g.js';
34
37
  import '@expo/apple-utils/build/index.js';
35
38
  import 'ini';
36
39
  import 'deepmerge';
37
- import '../../../index-Dj-chiHz.js';
38
- import '../../../useAndroidServiceAccountTestResult-L4oozjag.js';
39
- import 'marked';
40
- import 'marked-terminal';
40
+ import '../../../index-B-jDJolg.js';
41
+ import '../../../useAndroidServiceAccountTestResult-Bwu7ZeY5.js';
41
42
 
42
43
  function decodeCertificate(certificateContent) {
43
44
  const decodedContent = forge.util.decode64(certificateContent);