shipthis 0.1.11 → 0.1.13

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 (190) hide show
  1. package/assets/markdown/ship-failure.md +13 -0
  2. package/assets/markdown/ship-success.md +12 -0
  3. package/dist/{AppleBundleIdDetails-DymjrhOZ.js → AppleBundleIdDetails-DxWVnxa5.js} +4 -4
  4. package/dist/{Command-1YAl_0zS.js → Command-zfJ7qIJI.js} +8 -8
  5. package/dist/{CommandGame--SAa3wEL.js → CommandGame-DVsNreSF.js} +1 -1
  6. package/dist/{Create-DIaSKUpl.js → Create-DdF29mIS.js} +3 -3
  7. package/dist/{Import-BIOsf8AA.js → Import-D8ik724M.js} +4 -4
  8. package/dist/{JobProgress-biiLhigg.js → JobProgress-D1Pe4YJc.js} +10 -7
  9. package/dist/JobStatusTable-D-daiV-I.js +203 -0
  10. package/dist/{ProjectCredentialsTable-Ch8022rs.js → ProjectCredentialsTable-Ch2s5qF1.js} +2 -2
  11. package/dist/{UserCredentialsTable-CeJS3_hd.js → UserCredentialsTable-DzyAHhLB.js} +3 -3
  12. package/dist/{baseAppleCommand-1isaFxCQ.js → baseAppleCommand-BGXyWK-R.js} +1 -1
  13. package/dist/{baseGameAndroidCommand-6vsMpE7a.js → baseGameAndroidCommand-mdFhxanf.js} +2 -2
  14. package/dist/commands/apple/apiKey/create.js +7 -7
  15. package/dist/commands/apple/apiKey/export.js +6 -6
  16. package/dist/commands/apple/apiKey/import.js +6 -6
  17. package/dist/commands/apple/apiKey/status.js +5 -5
  18. package/dist/commands/apple/certificate/create.js +7 -7
  19. package/dist/commands/apple/certificate/export.js +6 -6
  20. package/dist/commands/apple/certificate/import.js +6 -6
  21. package/dist/commands/apple/certificate/status.js +5 -5
  22. package/dist/commands/apple/login.js +2 -2
  23. package/dist/commands/apple/status.js +4 -4
  24. package/dist/commands/dashboard.js +1 -1
  25. package/dist/commands/game/android/apiKey/connect.js +9 -9
  26. package/dist/commands/game/android/apiKey/create.js +10 -10
  27. package/dist/commands/game/android/apiKey/export.js +7 -7
  28. package/dist/commands/game/android/apiKey/import.js +9 -9
  29. package/dist/commands/game/android/apiKey/invite.js +4 -4
  30. package/dist/commands/game/android/apiKey/status.js +7 -7
  31. package/dist/commands/game/android/keyStore/create.js +8 -8
  32. package/dist/commands/game/android/keyStore/export.js +6 -6
  33. package/dist/commands/game/android/keyStore/import.js +9 -9
  34. package/dist/commands/game/android/keyStore/status.js +6 -6
  35. package/dist/commands/game/android/status.js +4 -4
  36. package/dist/commands/game/build/download.js +4 -4
  37. package/dist/commands/game/build/list.js +5 -5
  38. package/dist/commands/game/create.js +2 -2
  39. package/dist/commands/game/details.js +4 -4
  40. package/dist/commands/game/export.js +1 -1
  41. package/dist/commands/game/ios/app/addTester.js +5 -5
  42. package/dist/commands/game/ios/app/create.js +4 -4
  43. package/dist/commands/game/ios/app/status.js +7 -7
  44. package/dist/commands/game/ios/app/sync.js +5 -5
  45. package/dist/commands/game/ios/profile/create.js +7 -7
  46. package/dist/commands/game/ios/profile/export.js +6 -6
  47. package/dist/commands/game/ios/profile/import.js +6 -6
  48. package/dist/commands/game/ios/profile/status.js +6 -6
  49. package/dist/commands/game/ios/status.js +7 -7
  50. package/dist/commands/game/ios/wizard.js +2 -2
  51. package/dist/commands/game/job/list.js +4 -4
  52. package/dist/commands/game/job/status.js +17 -131
  53. package/dist/commands/game/list.js +4 -4
  54. package/dist/commands/game/ship.js +74 -19
  55. package/dist/commands/game/status.js +4 -4
  56. package/dist/commands/game/wizard.js +14 -14
  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 +4 -4
  61. package/dist/{export-BDxGDZdh.js → export-Cin4rLWR.js} +1 -1
  62. package/dist/{import-v54PM_Qg.js → import-CXTv9E84.js} +1 -1
  63. package/dist/{index-BDFKyTPb.js → index-B4v66AKo.js} +1 -1
  64. package/dist/{index-ByOvCs4O.js → index-BVvcTBnj.js} +4 -4
  65. package/dist/{index-m4HTrJ5J.js → index-Cx_2qTdS.js} +7 -7
  66. package/dist/{index-BB7X1Pqp.js → index-Dhx6FAHt.js} +1 -1
  67. package/dist/{index-wyPoxiTc.js → index-Dj-chiHz.js} +2 -2
  68. package/dist/{upload-2naN75Zu.js → upload-DZCIfnwf.js} +1 -1
  69. package/dist/{useAndroidServiceAccountTestResult-BDc7XpKE.js → useAndroidServiceAccountTestResult-L4oozjag.js} +1 -1
  70. package/dist/{useAppleApp-DgE0wEaq.js → useAppleApp-DcSr-q-w.js} +1 -1
  71. package/dist/{useAppleBundleId-BNI8swhC.js → useAppleBundleId-BnJVPVIz.js} +1 -1
  72. package/dist/{useJobWatching-BIG6fnTN.js → useJobWatching-DS0qHqPA.js} +3 -3
  73. package/dist/{useProjectCredentials-B5ZmpIxL.js → useProjectCredentials-CI_AoXmH.js} +3 -3
  74. package/dist/{useWebSocket-Bep1zAVG.js → useWebSocket-ZEZvtpT_.js} +1 -1
  75. package/npm-shrinkwrap.json +2 -2
  76. package/oclif.manifest.json +141 -223
  77. package/package.json +1 -1
  78. package/dist/AppleBundleIdDetails-C0XqjxKJ.js +0 -72
  79. package/dist/AppleBundleIdDetails-CjP5y0cj.js +0 -74
  80. package/dist/AppleBundleIdDetails-CztWY_mT.js +0 -73
  81. package/dist/AppleBundleIdDetails-DKeSAte9.js +0 -73
  82. package/dist/AppleBundleIdDetails-Df30MPFC.js +0 -73
  83. package/dist/AppleBundleIdDetails-Dxo99Sgu.js +0 -72
  84. package/dist/Command-BiB9MqbJ.js +0 -204
  85. package/dist/Command-Cl-JfhTy.js +0 -203
  86. package/dist/Command-D6rWEZRM.js +0 -204
  87. package/dist/Command-Dn0P_KOV.js +0 -205
  88. package/dist/Command-DxmQn3XT.js +0 -204
  89. package/dist/Command-YJJp90ru.js +0 -204
  90. package/dist/CommandGame-C1oTlfdb.js +0 -8
  91. package/dist/CommandGame-CZUx_VQu.js +0 -8
  92. package/dist/CommandGame-DspVLTPZ.js +0 -8
  93. package/dist/CommandGame-cPaTk1wh.js +0 -8
  94. package/dist/CommandGame-k04mHiDl.js +0 -8
  95. package/dist/CommandGame-pI9VXKxi.js +0 -8
  96. package/dist/CreateKeystore-BnNdeDUa.js +0 -57
  97. package/dist/CreateKeystore-BqJdpvsI.js +0 -56
  98. package/dist/CreateKeystore-Cf-nsK_M.js +0 -56
  99. package/dist/CreateKeystore-D8uTRamD.js +0 -56
  100. package/dist/CreateKeystore-Dm0KVh85.js +0 -56
  101. package/dist/CreateKeystore-g1z6DsU5.js +0 -56
  102. package/dist/JobProgress-CPkWVSlH.js +0 -108
  103. package/dist/JobProgress-Dk0UoNah.js +0 -108
  104. package/dist/JobProgress-W0QQR49T.js +0 -108
  105. package/dist/JobProgress-jmGAzvxS.js +0 -108
  106. package/dist/JobStatusTable-BA_q-kgE.js +0 -75
  107. package/dist/JobStatusTable-ByW0bN6c.js +0 -75
  108. package/dist/JobStatusTable-CgaTS7jS.js +0 -75
  109. package/dist/JobStatusTable-DqoppRro.js +0 -75
  110. package/dist/JobStatusTable-q4atKzhu.js +0 -75
  111. package/dist/ProjectCredentialsTable-8kXt7sTS.js +0 -37
  112. package/dist/ProjectCredentialsTable-BIWBAXCh.js +0 -37
  113. package/dist/ProjectCredentialsTable-DRMK_SNw.js +0 -37
  114. package/dist/ProjectCredentialsTable-DfkpvTf8.js +0 -37
  115. package/dist/UserCredentialsTable-DMh8Wpy7.js +0 -82
  116. package/dist/UserCredentialsTable-DgHZJSHG.js +0 -82
  117. package/dist/UserCredentialsTable-TflQvTEP.js +0 -82
  118. package/dist/UserCredentialsTable-ysmM5dlV.js +0 -82
  119. package/dist/baseAppleCommand-B3WQtlx-.js +0 -10
  120. package/dist/baseAppleCommand-B9wyIqdL.js +0 -10
  121. package/dist/baseAppleCommand-D-G4h8zQ.js +0 -10
  122. package/dist/baseAppleCommand-DpasCbje.js +0 -10
  123. package/dist/baseGameAndroidCommand-B-CFhPnE.js +0 -43
  124. package/dist/baseGameAndroidCommand-B3LRG701.js +0 -43
  125. package/dist/baseGameAndroidCommand-C9BuS2Sr.js +0 -43
  126. package/dist/baseGameAndroidCommand-DD0H8iy-.js +0 -43
  127. package/dist/commands/game/android/wizard.js +0 -509
  128. package/dist/export-B_F6vXIK.js +0 -36
  129. package/dist/export-BiLHgSJ9.js +0 -36
  130. package/dist/export-C_lu1FD9.js +0 -36
  131. package/dist/export-rS9o87LD.js +0 -36
  132. package/dist/import-7T3J63j2.js +0 -38
  133. package/dist/import-Brg3zYmT.js +0 -38
  134. package/dist/import-BrlJuE2Z.js +0 -38
  135. package/dist/import-CxNikF1c.js +0 -38
  136. package/dist/import-DPbg8WvS.js +0 -38
  137. package/dist/index-B5XHQfs2.js +0 -122
  138. package/dist/index-B6V7vGOj.js +0 -136
  139. package/dist/index-BL-1G60K.js +0 -135
  140. package/dist/index-BQRxiyqn.js +0 -693
  141. package/dist/index-BQnkBr1Q.js +0 -136
  142. package/dist/index-BX9h2vPV.js +0 -123
  143. package/dist/index-BjGSEqP5.js +0 -135
  144. package/dist/index-BuZmCvZh.js +0 -24
  145. package/dist/index-Bv3x8c78.js +0 -693
  146. package/dist/index-BzffuqPa.js +0 -24
  147. package/dist/index-C9734Cj2.js +0 -693
  148. package/dist/index-CKYExssR.js +0 -136
  149. package/dist/index-CgBgZUkL.js +0 -144
  150. package/dist/index-Cz_KLwWf.js +0 -136
  151. package/dist/index-D6BH5UAM.js +0 -135
  152. package/dist/index-DBrQda8r.js +0 -122
  153. package/dist/index-DE2Hvx2o.js +0 -122
  154. package/dist/index-DOgF4dFK.js +0 -24
  155. package/dist/index-DdABTtYO.js +0 -693
  156. package/dist/index-DgbQBx6x.js +0 -122
  157. package/dist/index-DxHPjZav.js +0 -136
  158. package/dist/index-X__XH_Fd.js +0 -144
  159. package/dist/index-o9Y-84Rj.js +0 -122
  160. package/dist/upload-CMo3hUhl.js +0 -60
  161. package/dist/upload-Cx71802W.js +0 -60
  162. package/dist/upload-DvAE1vDq.js +0 -60
  163. package/dist/upload-LXRr4pMa.js +0 -60
  164. package/dist/useAndroidServiceAccountTestResult-B_ekRewZ.js +0 -52
  165. package/dist/useAndroidServiceAccountTestResult-Ce1x0Eh8.js +0 -52
  166. package/dist/useAndroidServiceAccountTestResult-D_30xIJA.js +0 -52
  167. package/dist/useAndroidServiceAccountTestResult-InDf5WSl.js +0 -52
  168. package/dist/useAppleApp-BEtLQa7n.js +0 -32
  169. package/dist/useAppleApp-CApC0-4Q.js +0 -32
  170. package/dist/useAppleApp-CETIcsJS.js +0 -32
  171. package/dist/useAppleApp-DnSjUfSs.js +0 -32
  172. package/dist/useAppleBundleId-DXbMDRLd.js +0 -64
  173. package/dist/useAppleBundleId-DtLODy3p.js +0 -64
  174. package/dist/useAppleBundleId-SmzY6rkm.js +0 -64
  175. package/dist/useAppleBundleId-gPBzJwQg.js +0 -64
  176. package/dist/useJobWatching-BcBJ5dy1.js +0 -43
  177. package/dist/useJobWatching-Bz1e6xOv.js +0 -43
  178. package/dist/useJobWatching-Cp-CYd90.js +0 -45
  179. package/dist/useJobWatching-D-YzSlK8.js +0 -45
  180. package/dist/useJobWatching-I_A3b36f.js +0 -45
  181. package/dist/useJobWatching-P5oC7mNB.js +0 -45
  182. package/dist/useProjectCredentials-BRffcsO3.js +0 -54
  183. package/dist/useProjectCredentials-CKngz2rd.js +0 -54
  184. package/dist/useProjectCredentials-EapDge1I.js +0 -54
  185. package/dist/useProjectCredentials-vjedBbKl.js +0 -54
  186. package/dist/useWebSocket-CBqsjHbt.js +0 -36
  187. package/dist/useWebSocket-D8PojLtx.js +0 -36
  188. package/dist/useWebSocket-DoImIdTy.js +0 -36
  189. package/dist/useWebSocket-rBLiZsKb.js +0 -36
  190. package/dist/wizard-ChPegnMW.js +0 -133
@@ -1,8 +1,8 @@
1
- import { jsxs, jsx } from 'react/jsx-runtime';
2
- import { c as BaseGameCommand } from '../../index-BB7X1Pqp.js';
1
+ import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
2
+ import { a0 as getShortAuthRequiredUrl, Y as WEB_URL, c as BaseGameCommand } from '../../index-Dhx6FAHt.js';
3
3
  import { useContext, useState, useEffect } from 'react';
4
- import { Box, Text, render } from 'ink';
5
- import { c as CommandContext } from '../../Command-BiB9MqbJ.js';
4
+ import { useInput, Box, Text, render } from 'ink';
5
+ import { b as CommandContext, a as GameContext, M as Markdown } from '../../Command-zfJ7qIJI.js';
6
6
  import 'ink-spinner';
7
7
  import 'axios';
8
8
  import 'crypto-js';
@@ -21,34 +21,37 @@ import 'fast-glob';
21
21
  import 'socket.io-client';
22
22
  import 'isomorphic-git';
23
23
  import '@oclif/core';
24
- import 'open';
24
+ import open from 'open';
25
25
  import 'qrcode';
26
26
  import 'string-length';
27
27
  import 'strip-ansi';
28
- import { C as CommandGame } from '../../CommandGame-C1oTlfdb.js';
29
- import { u as useShip, J as JobProgress } from '../../JobProgress-W0QQR49T.js';
30
- import { J as JobStatusTable } from '../../JobStatusTable-DqoppRro.js';
28
+ import { C as CommandGame } from '../../CommandGame-DVsNreSF.js';
29
+ import { g as getShortUUID } from '../../index-Dj-chiHz.js';
30
+ import { u as useShip, J as JobProgress } from '../../JobProgress-D1Pe4YJc.js';
31
+ import { J as JobStatusTable, a as JobLogTail } from '../../JobStatusTable-D-daiV-I.js';
31
32
  import 'path';
32
33
  import '@expo/apple-utils/build/index.js';
33
34
  import 'ini';
34
35
  import 'deepmerge';
35
- import '../../index-Cz_KLwWf.js';
36
- import '../../useAndroidServiceAccountTestResult-Ce1x0Eh8.js';
36
+ import '../../useAndroidServiceAccountTestResult-L4oozjag.js';
37
37
  import 'marked';
38
38
  import 'marked-terminal';
39
39
  import '../../git-DREGq-jc.js';
40
40
  import '../../ProgressSpinner-6pw1T8Iw.js';
41
- import '../../useJobWatching-I_A3b36f.js';
42
- import '../../useWebSocket-CBqsjHbt.js';
41
+ import '../../useJobWatching-DS0qHqPA.js';
42
+ import '../../useWebSocket-ZEZvtpT_.js';
43
43
  import '../../Title-BCQtayg6.js';
44
44
  import '../../StatusTable-Dm5St4g-.js';
45
45
 
46
46
  const Ship = ({ onComplete, onError }) => {
47
47
  const { command } = useContext(CommandContext);
48
+ const { gameId } = useContext(GameContext);
48
49
  const shipMutation = useShip();
49
50
  const [jobs, setJobs] = useState(null);
51
+ const [failedJobs, setFailedJobs] = useState([]);
50
52
  const [shipLog, setShipLog] = useState("");
51
- const [showSuccess, setShowSuccess] = useState(false);
53
+ const [showLog, setShowLog] = useState(false);
54
+ const [isComplete, setIsComplete] = useState(false);
52
55
  const handleStartOnMount = async () => {
53
56
  if (!command) throw new Error("No command in context");
54
57
  const startedJobs = await shipMutation.mutateAsync({ command, log: setShipLog });
@@ -57,22 +60,72 @@ const Ship = ({ onComplete, onError }) => {
57
60
  useEffect(() => {
58
61
  handleStartOnMount().catch(onError);
59
62
  }, []);
63
+ useInput(async (input) => {
64
+ if (!gameId) return;
65
+ switch (input) {
66
+ case "l":
67
+ setShowLog((prev) => !prev);
68
+ break;
69
+ case "b":
70
+ const dashUrl = jobs?.length !== 1 ? `/games/${gameId}` : `/games/${gameId}/job/${jobs[0].id}`;
71
+ const url = await getShortAuthRequiredUrl(dashUrl);
72
+ await open(url);
73
+ break;
74
+ }
75
+ });
60
76
  const handleJobComplete = (job) => {
61
77
  const newJobs = (jobs || []).filter((prevJob) => prevJob.id !== job.id);
62
78
  setJobs(newJobs);
63
79
  if (newJobs.length === 0) {
64
- setShowSuccess(true);
65
- setTimeout(onComplete, 500);
80
+ setIsComplete(true);
66
81
  }
67
82
  };
83
+ const handleJobFailure = (job) => {
84
+ setFailedJobs([...failedJobs, job]);
85
+ handleJobComplete(job);
86
+ };
87
+ useEffect(() => {
88
+ if (!isComplete) return;
89
+ setTimeout(() => {
90
+ failedJobs.length === 0 ? onComplete() : onError("One or more jobs failed");
91
+ }, 500);
92
+ }, [isComplete]);
93
+ if (!gameId) return /* @__PURE__ */ jsx(Fragment, {});
68
94
  return /* @__PURE__ */ jsxs(Box, { flexDirection: "column", children: [
69
95
  jobs == null && /* @__PURE__ */ jsx(Text, { children: shipLog }),
70
96
  jobs && jobs.map((job) => /* @__PURE__ */ jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [
71
97
  /* @__PURE__ */ jsx(JobStatusTable, { jobId: job.id, projectId: job.project.id, isWatching: true }),
72
- /* @__PURE__ */ jsx(Box, { flexDirection: "column", children: /* @__PURE__ */ jsx(JobProgress, { job, onComplete: () => handleJobComplete(job) }) })
98
+ /* @__PURE__ */ jsx(Box, { flexDirection: "column", children: /* @__PURE__ */ jsx(JobProgress, { job, onComplete: handleJobComplete, onFailure: handleJobFailure }) }),
99
+ showLog && /* @__PURE__ */ jsx(Box, { marginTop: 1, children: /* @__PURE__ */ jsx(JobLogTail, { jobId: job.id, projectId: job.project.id, isWatching: true, length: 10 }) })
73
100
  ] }, job.id)),
74
- jobs && !showSuccess && /* @__PURE__ */ jsx(Text, { bold: true, children: "Please wait while ShipThis builds your game..." }),
75
- showSuccess && /* @__PURE__ */ jsx(Text, { color: "green", children: "\u{1F680} Shipped" })
101
+ jobs && !isComplete && /* @__PURE__ */ jsxs(Fragment, { children: [
102
+ /* @__PURE__ */ jsx(Text, { children: "Press L to show and hide the job logs." }),
103
+ /* @__PURE__ */ jsx(Text, { children: "Press B to open the ShipThis dashboard in your browser." }),
104
+ /* @__PURE__ */ jsx(Text, { bold: true, children: "Please wait while ShipThis builds your game..." })
105
+ ] }),
106
+ isComplete && /* @__PURE__ */ jsxs(Fragment, { children: [
107
+ failedJobs.length == 0 && /* @__PURE__ */ jsx(
108
+ Markdown,
109
+ {
110
+ filename: "ship-success.md",
111
+ templateVars: {
112
+ gameBuildsUrl: `${WEB_URL}games/${getShortUUID(gameId)}/builds`
113
+ }
114
+ }
115
+ ),
116
+ failedJobs.length > 0 && /* @__PURE__ */ jsxs(Fragment, { children: [
117
+ /* @__PURE__ */ jsx(
118
+ Markdown,
119
+ {
120
+ filename: "ship-failure.md",
121
+ templateVars: {
122
+ jobDashboardUrl: `${WEB_URL}games/${getShortUUID(gameId)}/job/${getShortUUID(failedJobs[0].id)}`
123
+ }
124
+ }
125
+ ),
126
+ /* @__PURE__ */ jsx(Box, { marginTop: 1, children: failedJobs.map((fj) => /* @__PURE__ */ jsx(JobLogTail, { jobId: fj.id, projectId: fj.project.id, isWatching: false, length: 10 }, fj.id)) })
127
+ ] })
128
+ ] })
76
129
  ] });
77
130
  };
78
131
 
@@ -83,7 +136,9 @@ class GameShip extends BaseGameCommand {
83
136
  async run() {
84
137
  await this.ensureWeAreInAProjectDir();
85
138
  const handleComplete = () => process.exit(0);
86
- const handleError = (e) => this.error(e);
139
+ const handleError = (e) => {
140
+ process.exit(1);
141
+ };
87
142
  render(
88
143
  /* @__PURE__ */ jsx(CommandGame, { command: this, children: /* @__PURE__ */ jsx(Ship, { onComplete: handleComplete, onError: handleError }) })
89
144
  );
@@ -2,8 +2,8 @@ import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { render } from 'ink';
3
3
  import { Flags } from '@oclif/core';
4
4
  import 'react';
5
- import { C as Command } from '../../Command-BiB9MqbJ.js';
6
- import { B as BaseAuthenticatedCommand, H as getProject, P as Platform, k as getProjectPlatformProgress, b as getShortDate } from '../../index-BB7X1Pqp.js';
5
+ import { C as Command } from '../../Command-zfJ7qIJI.js';
6
+ import { B as BaseAuthenticatedCommand, I as getProject, P as Platform, k as getProjectPlatformProgress, b as getShortDate } from '../../index-Dhx6FAHt.js';
7
7
  import 'ink-spinner';
8
8
  import '@inkjs/ui';
9
9
  import 'axios';
@@ -11,7 +11,7 @@ import '@tanstack/react-query';
11
11
  import 'fs';
12
12
  import 'uuid';
13
13
  import 'yazl';
14
- import { g as getShortUUID, m as makeHumanReadable } from '../../index-Cz_KLwWf.js';
14
+ import { g as getShortUUID, m as makeHumanReadable } from '../../index-Dj-chiHz.js';
15
15
  import 'open';
16
16
  import { N as NextSteps } from '../../NextSteps-CK9zHOCt.js';
17
17
  import 'qrcode';
@@ -21,7 +21,7 @@ import 'strip-ansi';
21
21
  import 'luxon';
22
22
  import 'fast-glob';
23
23
  import 'socket.io-client';
24
- import '../../useAndroidServiceAccountTestResult-Ce1x0Eh8.js';
24
+ import '../../useAndroidServiceAccountTestResult-L4oozjag.js';
25
25
  import 'marked';
26
26
  import 'marked-terminal';
27
27
  import 'path';
@@ -1,9 +1,9 @@
1
1
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
2
  import { Args } from '@oclif/core';
3
3
  import { Text, Box, useInput, render } from 'ink';
4
- import { p as getAuthedHeaders, q as API_URL, K as castArrayObjectDates, $ as queryClient, a8 as updateProject, u as getGodotVersion, t as GameEngine, v as createProject, w as DEFAULT_IGNORED_FILES_GLOBS, x as DEFAULT_SHIPPED_FILES_GLOBS, P as Platform, J as JobStatus, X as WEB_URL, H as getProject, C as CredentialsType, Q as getGoogleStatus, B as BaseAuthenticatedCommand, j as isCWDGodotGame } from '../../index-BB7X1Pqp.js';
4
+ import { p as getAuthedHeaders, q as API_URL, L as castArrayObjectDates, a1 as queryClient, a8 as updateProject, u as getGodotVersion, t as GameEngine, v as createProject, w as DEFAULT_IGNORED_FILES_GLOBS, x as DEFAULT_SHIPPED_FILES_GLOBS, P as Platform, J as JobStatus, Y as WEB_URL, I as getProject, C as CredentialsType, R as getGoogleStatus, B as BaseAuthenticatedCommand, j as isCWDGodotGame } from '../../index-Dhx6FAHt.js';
5
5
  import React, { useState, useContext, useEffect, useRef } from 'react';
6
- import { c as CommandContext, b as GameContext, M as Markdown, d as useBuilds, q as queryBuilds, G as GameProvider, e as CreateGooglePlayGame, C as Command } from '../../Command-BiB9MqbJ.js';
6
+ import { b as CommandContext, a as GameContext, M as Markdown, c as useBuilds, q as queryBuilds, G as GameProvider, e as CreateGooglePlayGame, C as Command } from '../../Command-zfJ7qIJI.js';
7
7
  import Spinner from 'ink-spinner';
8
8
  import { Alert, TextInput } from '@inkjs/ui';
9
9
  import axios from 'axios';
@@ -25,28 +25,28 @@ import 'open';
25
25
  import 'qrcode';
26
26
  import 'string-length';
27
27
  import 'strip-ansi';
28
- import { C as CreateKeystore } from '../../Create-DIaSKUpl.js';
29
- import { I as ImportKeystore } from '../../Import-BIOsf8AA.js';
30
- import { C as ConnectGoogle } from '../../index-o9Y-84Rj.js';
31
- import { C as CreateServiceAccountKey } from '../../index-D6BH5UAM.js';
32
- import { c as cacheKeys, f as fetchKeyTestResult, K as KeyTestStatus, a as KeyTestError } from '../../useAndroidServiceAccountTestResult-Ce1x0Eh8.js';
33
- import { u as useShip, J as JobProgress } from '../../JobProgress-W0QQR49T.js';
34
- import { a as getProjectCredentials } from '../../index-DOgF4dFK.js';
28
+ import { C as CreateKeystore } from '../../Create-DdF29mIS.js';
29
+ import { I as ImportKeystore } from '../../Import-D8ik724M.js';
30
+ import { C as ConnectGoogle } from '../../index-BVvcTBnj.js';
31
+ import { C as CreateServiceAccountKey } from '../../index-Cx_2qTdS.js';
32
+ import { c as cacheKeys, f as fetchKeyTestResult, K as KeyTestStatus, a as KeyTestError } from '../../useAndroidServiceAccountTestResult-L4oozjag.js';
33
+ import { u as useShip, J as JobProgress } from '../../JobProgress-D1Pe4YJc.js';
34
+ import { a as getProjectCredentials } from '../../index-B4v66AKo.js';
35
35
  import { T as Title } from '../../Title-BCQtayg6.js';
36
36
  import 'path';
37
37
  import '@expo/apple-utils/build/index.js';
38
38
  import 'ini';
39
39
  import 'deepmerge';
40
- import '../../index-Cz_KLwWf.js';
40
+ import '../../index-Dj-chiHz.js';
41
41
  import 'marked';
42
42
  import 'marked-terminal';
43
43
  import '../../RunWithSpinner-BVXNWGD3.js';
44
- import '../../import-v54PM_Qg.js';
45
- import '../../useWebSocket-CBqsjHbt.js';
46
- import '../../useProjectCredentials-vjedBbKl.js';
44
+ import '../../import-CXTv9E84.js';
45
+ import '../../useWebSocket-ZEZvtpT_.js';
46
+ import '../../useProjectCredentials-CI_AoXmH.js';
47
47
  import '../../ProgressSpinner-6pw1T8Iw.js';
48
48
  import '../../git-DREGq-jc.js';
49
- import '../../useJobWatching-I_A3b36f.js';
49
+ import '../../useJobWatching-DS0qHqPA.js';
50
50
 
51
51
  async function queryJobs({ projectId, ...pageAndSortParams }) {
52
52
  try {
@@ -1,7 +1,7 @@
1
1
  import fs__default, { promises } from 'fs';
2
2
  import path from 'path';
3
3
  import { Args, Flags } from '@oclif/core';
4
- import { T as BaseCommand } from '../../index-BB7X1Pqp.js';
4
+ import { V as BaseCommand } from '../../index-Dhx6FAHt.js';
5
5
  import '@expo/apple-utils/build/index.js';
6
6
  import 'axios';
7
7
  import 'crypto-js';
@@ -1,7 +1,7 @@
1
1
  import { Args, Flags } from '@oclif/core';
2
2
  import fs__default from 'fs';
3
3
  import path from 'path';
4
- import { T as BaseCommand } from '../../index-BB7X1Pqp.js';
4
+ import { V as BaseCommand } from '../../index-Dhx6FAHt.js';
5
5
  import CustomHelp from '../../utils/help.js';
6
6
  import '@expo/apple-utils/build/index.js';
7
7
  import 'axios';
@@ -1,7 +1,7 @@
1
1
  import axios from 'axios';
2
2
  import { Flags } from '@oclif/core';
3
- import { X as WEB_URL, T as BaseCommand, q as API_URL, Y as setAuthToken, Z as acceptTerms } from '../index-BB7X1Pqp.js';
4
- import { a as getInput } from '../index-Cz_KLwWf.js';
3
+ import { Y as WEB_URL, V as BaseCommand, q as API_URL, Z as setAuthToken, _ as acceptTerms } from '../index-Dhx6FAHt.js';
4
+ import { a as getInput } from '../index-Dj-chiHz.js';
5
5
  import 'path';
6
6
  import 'fs';
7
7
  import '@expo/apple-utils/build/index.js';
@@ -1,8 +1,8 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { render } from 'ink';
3
- import { T as BaseCommand, j as isCWDGodotGame } from '../index-BB7X1Pqp.js';
3
+ import { V as BaseCommand, j as isCWDGodotGame } from '../index-Dhx6FAHt.js';
4
4
  import 'react';
5
- import { C as Command } from '../Command-BiB9MqbJ.js';
5
+ import { C as Command } from '../Command-zfJ7qIJI.js';
6
6
  import 'ink-spinner';
7
7
  import 'axios';
8
8
  import 'crypto-js';
@@ -32,8 +32,8 @@ import '@expo/apple-utils/build/index.js';
32
32
  import 'ini';
33
33
  import 'deepmerge';
34
34
  import 'isomorphic-git';
35
- import '../index-Cz_KLwWf.js';
36
- import '../useAndroidServiceAccountTestResult-Ce1x0Eh8.js';
35
+ import '../index-Dj-chiHz.js';
36
+ import '../useAndroidServiceAccountTestResult-L4oozjag.js';
37
37
  import 'marked';
38
38
  import 'marked-terminal';
39
39
  import '../Title-BCQtayg6.js';
@@ -1,6 +1,6 @@
1
1
  import axios from 'axios';
2
2
  import * as fs from 'fs';
3
- import { p as getAuthedHeaders, q as API_URL } from './index-DdABTtYO.js';
3
+ import { p as getAuthedHeaders, q as API_URL } from './index-Dhx6FAHt.js';
4
4
 
5
5
  async function exportCredential({ zipPath, credentialId, projectId }) {
6
6
  const headers = getAuthedHeaders();
@@ -1,6 +1,6 @@
1
1
  import axios from 'axios';
2
2
  import { promises } from 'fs';
3
- import { p as getAuthedHeaders, q as API_URL } from './index-BB7X1Pqp.js';
3
+ import { p as getAuthedHeaders, q as API_URL } from './index-Dhx6FAHt.js';
4
4
 
5
5
  async function getNewImportTicket(projectId) {
6
6
  const url = projectId ? `${API_URL}/projects/${projectId}/credentials/import/url` : `${API_URL}/credentials/import/url`;
@@ -1,5 +1,5 @@
1
1
  import axios from 'axios';
2
- import { p as getAuthedHeaders, q as API_URL, H as castArrayObjectDates } from './index-DdABTtYO.js';
2
+ import { p as getAuthedHeaders, q as API_URL, L as castArrayObjectDates } from './index-Dhx6FAHt.js';
3
3
  import 'fs';
4
4
 
5
5
  async function getUserCredentials(pageSize = 100) {
@@ -2,7 +2,7 @@ import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
2
2
  import { Text, useInput, Box } from 'ink';
3
3
  import open from 'open';
4
4
  import { useState, useEffect, useContext } from 'react';
5
- import { Q as getGoogleStatus, a2 as getShortAuthRequiredUrl, a3 as getGoogleAuthUrl, X as WEB_URL } from './index-Bv3x8c78.js';
5
+ import { R as getGoogleStatus, a0 as getShortAuthRequiredUrl, a4 as getGoogleAuthUrl, Y as WEB_URL } from './index-Dhx6FAHt.js';
6
6
  import 'crypto';
7
7
  import 'fs';
8
8
  import 'readline-sync';
@@ -17,11 +17,11 @@ import 'luxon';
17
17
  import 'fast-glob';
18
18
  import 'yazl';
19
19
  import 'socket.io-client';
20
- import { u as useWebSocket } from './useWebSocket-rBLiZsKb.js';
21
- import { c as cacheKeys } from './useAndroidServiceAccountTestResult-BDc7XpKE.js';
20
+ import { u as useWebSocket } from './useWebSocket-ZEZvtpT_.js';
21
+ import { c as cacheKeys } from './useAndroidServiceAccountTestResult-L4oozjag.js';
22
22
  import 'isomorphic-git';
23
23
  import '@oclif/core';
24
- import { b as GameContext, M as Markdown } from './Command-YJJp90ru.js';
24
+ import { a as GameContext, M as Markdown } from './Command-zfJ7qIJI.js';
25
25
  import 'ink-spinner';
26
26
  import '@inkjs/ui';
27
27
  import 'string-length';
@@ -2,8 +2,8 @@ import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
2
2
  import { Box, Text } from 'ink';
3
3
  import { useState, useRef, useEffect, useContext } from 'react';
4
4
  import Spinner from 'ink-spinner';
5
- import { b as GameContext } from './Command-D6rWEZRM.js';
6
- import { p as getAuthedHeaders, q as API_URL, F as castObjectDates, P as Platform, C as CredentialsType, Q as getGoogleStatus } from './index-BB7X1Pqp.js';
5
+ import { a as GameContext } from './Command-zfJ7qIJI.js';
6
+ import { p as getAuthedHeaders, q as API_URL, H as castObjectDates, P as Platform, C as CredentialsType, R as getGoogleStatus } from './index-Dhx6FAHt.js';
7
7
  import axios from 'axios';
8
8
  import 'crypto-js';
9
9
  import 'uuid';
@@ -11,20 +11,20 @@ import 'luxon';
11
11
  import 'fs';
12
12
  import '@inkjs/ui';
13
13
  import { useQuery, useQueryClient } from '@tanstack/react-query';
14
- import 'open';
14
+ import 'yazl';
15
15
  import 'crypto';
16
16
  import 'readline-sync';
17
17
  import 'node:readline';
18
18
  import 'node:path';
19
19
  import 'node:url';
20
- import { c as cacheKeys } from './useAndroidServiceAccountTestResult-Ce1x0Eh8.js';
20
+ import { c as cacheKeys } from './useAndroidServiceAccountTestResult-L4oozjag.js';
21
21
  import 'fast-glob';
22
- import 'yazl';
23
22
  import 'socket.io-client';
24
23
  import 'isomorphic-git';
25
24
  import '@oclif/core';
26
- import { u as useWebSocket } from './useWebSocket-CBqsjHbt.js';
27
- import { u as useProjectCredentials } from './useProjectCredentials-vjedBbKl.js';
25
+ import { u as useWebSocket } from './useWebSocket-ZEZvtpT_.js';
26
+ import { u as useProjectCredentials } from './useProjectCredentials-CI_AoXmH.js';
27
+ import 'open';
28
28
  import { P as ProgressSpinner } from './ProgressSpinner-6pw1T8Iw.js';
29
29
  import 'qrcode';
30
30
  import 'string-length';
@@ -692,4 +692,4 @@ const DetailsFlags = {
692
692
  gcpServiceAccountId: Flags.string({ char: "c", description: "Set the GCP service account ID" })
693
693
  };
694
694
 
695
- export { queryClient as $, ApiKey as A, BaseAuthenticatedCommand as B, CredentialsType as C, DetailsFlags as D, castJobDates as E, castObjectDates as F, GODOT_CAPABILITIES as G, getProject as H, getBuild as I, JobStatus as J, castArrayObjectDates as K, JobStage as L, LogLevel as M, getAuthToken as N, getGodotAndroidPackageName as O, Platform as P, getGoogleStatus as Q, inviteServiceAccount as R, disconnectGoogle as S, BaseCommand as T, UserRole as U, getSingleUseUrl as V, WS_URL as W, WEB_URL as X, setAuthToken as Y, acceptTerms as Z, Auth as _, ApiKeyType as a, getNewUploadTicket as a0, startJobsFromUpload as a1, getShortAuthRequiredUrl as a2, getGoogleAuthUrl as a3, getShortTime as a4, getJob as a5, getShortDateTime as a6, getShortTimeDelta as a7, updateProject as a8, getShortDate as b, BaseGameCommand as c, getGodotAppleBundleIdentifier as d, BundleId as e, App as f, getProjects as g, CapabilityTypeOption as h, BetaGroup as i, isCWDGodotGame as j, getProjectPlatformProgress as k, Certificate as l, CertificateType as m, Profile as n, ProfileType as o, getAuthedHeaders as p, API_URL as q, getGodotProjectCapabilities as r, CapabilityType as s, GameEngine as t, getGodotVersion as u, createProject as v, DEFAULT_IGNORED_FILES_GLOBS as w, DEFAULT_SHIPPED_FILES_GLOBS as x, getGodotProjectName as y, getProjectJobs as z };
695
+ export { Auth as $, ApiKey as A, BaseAuthenticatedCommand as B, CredentialsType as C, DetailsFlags as D, getJob as E, castJobDates as F, GODOT_CAPABILITIES as G, castObjectDates as H, getProject as I, JobStatus as J, getBuild as K, castArrayObjectDates as L, JobStage as M, LogLevel as N, getAuthToken as O, Platform as P, getGodotAndroidPackageName as Q, getGoogleStatus as R, inviteServiceAccount as S, disconnectGoogle as T, UserRole as U, BaseCommand as V, WS_URL as W, getSingleUseUrl as X, WEB_URL as Y, setAuthToken as Z, acceptTerms as _, ApiKeyType as a, getShortAuthRequiredUrl as a0, queryClient as a1, getNewUploadTicket as a2, startJobsFromUpload as a3, getGoogleAuthUrl as a4, getShortTime as a5, getShortDateTime as a6, getShortTimeDelta as a7, updateProject as a8, getShortDate as b, BaseGameCommand as c, getGodotAppleBundleIdentifier as d, BundleId as e, App as f, getProjects as g, CapabilityTypeOption as h, BetaGroup as i, isCWDGodotGame as j, getProjectPlatformProgress as k, Certificate as l, CertificateType as m, Profile as n, ProfileType as o, getAuthedHeaders as p, API_URL as q, getGodotProjectCapabilities as r, CapabilityType as s, GameEngine as t, getGodotVersion as u, createProject as v, DEFAULT_IGNORED_FILES_GLOBS as w, DEFAULT_SHIPPED_FILES_GLOBS as x, getGodotProjectName as y, getProjectJobs as z };
@@ -4,7 +4,7 @@ import readlineSync from 'readline-sync';
4
4
  import { promises } from 'node:readline';
5
5
  import path from 'node:path';
6
6
  import { fileURLToPath } from 'node:url';
7
- import { J as JobStatus, P as Platform, I as JobStage, L as LogLevel } from './index-DdABTtYO.js';
7
+ import { P as Platform, J as JobStatus, M as JobStage, N as LogLevel } from './index-Dhx6FAHt.js';
8
8
  import 'react';
9
9
  import 'axios';
10
10
  import '@tanstack/react-query';
@@ -133,4 +133,4 @@ function scriptDir(importMeta) {
133
133
  return dirname;
134
134
  }
135
135
 
136
- export { getInput as a, generatePackageName as b, getJobStatusColor as c, getStageColor as d, getMaskedInput as e, getFileHash as f, getShortUUID as g, getPlatformName as h, isValidSemVer as i, getMessageColor as j, makeHumanReadable as m, scriptDir as s };
136
+ export { getInput as a, generatePackageName as b, getJobStatusColor as c, getMaskedInput as d, getFileHash as e, getPlatformName as f, getShortUUID as g, getStageColor as h, isValidSemVer as i, getMessageColor as j, makeHumanReadable as m, scriptDir as s };
@@ -1,5 +1,5 @@
1
1
  import axios from 'axios';
2
- import { p as getAuthedHeaders, q as API_URL } from './index-BB7X1Pqp.js';
2
+ import { p as getAuthedHeaders, q as API_URL } from './index-Dhx6FAHt.js';
3
3
 
4
4
  async function getNewUploadTicket(projectId = null) {
5
5
  const url = projectId ? `${API_URL}/projects/${projectId}/credentials/url` : `${API_URL}/credentials/url`;
@@ -1,4 +1,4 @@
1
- import { p as getAuthedHeaders, q as API_URL } from './index-Bv3x8c78.js';
1
+ import { p as getAuthedHeaders, q as API_URL } from './index-Dhx6FAHt.js';
2
2
  import axios from 'axios';
3
3
  import { useQuery } from '@tanstack/react-query';
4
4
 
@@ -1,5 +1,5 @@
1
1
  import { useQuery } from '@tanstack/react-query';
2
- import { f as App } from './index-DdABTtYO.js';
2
+ import { f as App } from './index-Dhx6FAHt.js';
3
3
 
4
4
  const queryAppleApp = async ({ ctx, iosBundleId }) => {
5
5
  if (!iosBundleId) {
@@ -1,5 +1,5 @@
1
1
  import { useQuery } from '@tanstack/react-query';
2
- import { e as BundleId, r as getGodotProjectCapabilities, P as Platform, G as GODOT_CAPABILITIES, s as CapabilityType } from './index-BQRxiyqn.js';
2
+ import { e as BundleId, r as getGodotProjectCapabilities, P as Platform, G as GODOT_CAPABILITIES, s as CapabilityType } from './index-Dhx6FAHt.js';
3
3
 
4
4
  async function getBundleIdCapabilities(bundleId) {
5
5
  const current = await bundleId.getBundleIdCapabilitiesAsync();
@@ -1,7 +1,7 @@
1
- import { u as useJob } from './Command-Dn0P_KOV.js';
1
+ import { u as useJob } from './Command-zfJ7qIJI.js';
2
2
  import { useState, useEffect } from 'react';
3
- import { u as useWebSocket } from './useWebSocket-Bep1zAVG.js';
4
- import { E as castJobDates, F as castObjectDates } from './index-C9734Cj2.js';
3
+ import { u as useWebSocket } from './useWebSocket-ZEZvtpT_.js';
4
+ import { F as castJobDates, H as castObjectDates } from './index-Dhx6FAHt.js';
5
5
 
6
6
  function useJobWatching({ projectId, jobId, isWatching, onJobUpdate }) {
7
7
  const [websocketJob, setWebsocketJob] = useState(null);
@@ -1,8 +1,8 @@
1
1
  import axios from 'axios';
2
2
  import { useQuery } from '@tanstack/react-query';
3
- import { c as cacheKeys } from './useAndroidServiceAccountTestResult-D_30xIJA.js';
4
- import { b as getShortDate, p as getAuthedHeaders, q as API_URL, J as castArrayObjectDates } from './index-BQRxiyqn.js';
5
- import { g as getShortUUID } from './index-B6V7vGOj.js';
3
+ import { c as cacheKeys } from './useAndroidServiceAccountTestResult-L4oozjag.js';
4
+ import { b as getShortDate, p as getAuthedHeaders, q as API_URL, L as castArrayObjectDates } from './index-Dhx6FAHt.js';
5
+ import { g as getShortUUID } from './index-Dj-chiHz.js';
6
6
 
7
7
  async function queryProjectCredentials({
8
8
  projectId,
@@ -1,6 +1,6 @@
1
1
  import { useEffect } from 'react';
2
2
  import { io } from 'socket.io-client';
3
- import { N as getAuthToken, W as WS_URL } from './index-C9734Cj2.js';
3
+ import { O as getAuthToken, W as WS_URL } from './index-Dhx6FAHt.js';
4
4
 
5
5
  function useWebSocket(listeners = []) {
6
6
  const log = () => {
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "shipthis",
3
- "version": "0.1.11",
3
+ "version": "0.1.13",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "shipthis",
9
- "version": "0.1.11",
9
+ "version": "0.1.13",
10
10
  "license": "MIT",
11
11
  "dependencies": {
12
12
  "@expo/apple-utils": "2.0.3",