shipthis 0.1.35 → 0.1.37

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 (108) hide show
  1. package/README.md +231 -80
  2. package/assets/markdown/agreement-update.md.ejs +12 -0
  3. package/assets/markdown/confirm-delete-android-keystore.md.ejs +22 -0
  4. package/assets/markdown/confirm-delete-android-serviceaccountkey.md.ejs +24 -0
  5. package/assets/markdown/confirm-delete-apple-credential.md.ejs +29 -0
  6. package/dist/{AppleBundleIdDetails-N_j1wv6f.js → AppleBundleIdDetails-KMzyex1H.js} +3 -5
  7. package/dist/{Command-DN1j3tjt.js → Command-CHh8RDXK.js} +1 -2
  8. package/dist/{CommandGame-D2NqytWc.js → CommandGame-Rvmsa7b0.js} +2 -2
  9. package/dist/{Create-BRdv5jXQ.js → Create-DInZ_pw-.js} +1 -4
  10. package/dist/{GameStatus-joyHPy0f.js → GameStatus-D7ID10tS.js} +1 -4
  11. package/dist/{Import-BNMHsJoM.js → Import-BmO8EYKj.js} +2 -5
  12. package/dist/{JobLogTail-D35FO5v-.js → JobLogTail-CYdceTKL.js} +2 -5
  13. package/dist/{JobProgress-D-9KESaA.js → JobProgress-DBCYbWrO.js} +16 -18
  14. package/dist/{JobStatusTable-DIJ_h-gi.js → JobStatusTable-DhnhY1_i.js} +2 -4
  15. package/dist/{ProjectCredentialsTable-BMKgv99h.js → ProjectCredentialsTable-BDYVYqAq.js} +5 -3
  16. package/dist/{UserCredentialsTable-CUrTDzTK.js → UserCredentialsTable-cDPvjF-F.js} +4 -4
  17. package/dist/{baseAppleCommand-Cs9a52e5.js → baseAppleCommand-CQ5dOna7.js} +1 -1
  18. package/dist/{baseGameAndroidCommand-BCB1SMCf.js → baseGameAndroidCommand-D4ryZS6A.js} +1 -2
  19. package/dist/commands/apiKey/create.js +3 -6
  20. package/dist/commands/apiKey/list.js +3 -6
  21. package/dist/commands/apiKey/revoke.js +3 -6
  22. package/dist/commands/apple/apiKey/create.js +7 -10
  23. package/dist/commands/apple/apiKey/delete.js +118 -0
  24. package/dist/commands/apple/apiKey/export.js +6 -9
  25. package/dist/commands/apple/apiKey/import.js +6 -9
  26. package/dist/commands/apple/apiKey/status.js +4 -7
  27. package/dist/commands/apple/certificate/create.js +7 -10
  28. package/dist/commands/apple/certificate/delete.js +127 -0
  29. package/dist/commands/apple/certificate/export.js +6 -9
  30. package/dist/commands/apple/certificate/import.js +6 -9
  31. package/dist/commands/apple/certificate/status.js +4 -7
  32. package/dist/commands/apple/login.js +23 -4
  33. package/dist/commands/apple/status.js +4 -7
  34. package/dist/commands/dashboard.js +12 -1
  35. package/dist/commands/game/android/apiKey/connect.js +8 -11
  36. package/dist/commands/game/android/apiKey/create.js +10 -13
  37. package/dist/commands/game/android/apiKey/delete.js +100 -0
  38. package/dist/commands/game/android/apiKey/export.js +6 -9
  39. package/dist/commands/game/android/apiKey/import.js +6 -9
  40. package/dist/commands/game/android/apiKey/invite.js +14 -4
  41. package/dist/commands/game/android/apiKey/policy.js +3 -6
  42. package/dist/commands/game/android/apiKey/status.js +6 -9
  43. package/dist/commands/game/android/keyStore/create.js +7 -10
  44. package/dist/commands/game/android/keyStore/delete.js +100 -0
  45. package/dist/commands/game/android/keyStore/export.js +5 -8
  46. package/dist/commands/game/android/keyStore/import.js +8 -11
  47. package/dist/commands/game/android/keyStore/status.js +7 -10
  48. package/dist/commands/game/android/status.js +13 -1
  49. package/dist/commands/game/build/download.js +3 -6
  50. package/dist/commands/game/build/list.js +4 -7
  51. package/dist/commands/game/create.js +13 -2
  52. package/dist/commands/game/details.js +4 -7
  53. package/dist/commands/game/export.js +13 -1
  54. package/dist/commands/game/ios/app/addTester.js +4 -7
  55. package/dist/commands/game/ios/app/create.js +3 -6
  56. package/dist/commands/game/ios/app/status.js +6 -9
  57. package/dist/commands/game/ios/app/sync.js +4 -7
  58. package/dist/commands/game/ios/profile/create.js +6 -9
  59. package/dist/commands/game/ios/profile/delete.js +123 -0
  60. package/dist/commands/game/ios/profile/export.js +5 -8
  61. package/dist/commands/game/ios/profile/import.js +5 -8
  62. package/dist/commands/game/ios/profile/status.js +8 -51
  63. package/dist/commands/game/ios/status.js +10 -13
  64. package/dist/commands/game/ios/wizard.js +2 -6
  65. package/dist/commands/game/job/list.js +3 -6
  66. package/dist/commands/game/job/status.js +8 -11
  67. package/dist/commands/game/list.js +3 -6
  68. package/dist/commands/game/ship.js +17 -14
  69. package/dist/commands/game/status.js +7 -10
  70. package/dist/commands/game/wizard.js +14 -17
  71. package/dist/commands/internal/fastlane.js +13 -1
  72. package/dist/commands/internal/readme.js +13 -4
  73. package/dist/commands/login.js +27 -4
  74. package/dist/commands/status.js +6 -8
  75. package/dist/{export-DFCZKNQk.js → export-DujIwhJw.js} +1 -1
  76. package/dist/{import-BpGyif-m.js → import-DGCqCAcC.js} +1 -1
  77. package/dist/{index-DlE_SPt3.js → index-9LxGafAo.js} +3 -5
  78. package/dist/{index-BTXEUd8W.js → index-BPh_qt7t.js} +4 -6
  79. package/dist/index-CNsmEDXi.js +48 -0
  80. package/dist/index-CmuXyPed.js +1905 -0
  81. package/dist/{upload-D19OQsbn.js → upload-D4x4yCia.js} +1 -1
  82. package/dist/{useAppleApp-BZc_cNa-.js → useAppleApp-taaewPSf.js} +1 -1
  83. package/dist/{useAppleBundleId-DvMXAvWD.js → useAppleBundleId-BeGViMe7.js} +1 -1
  84. package/dist/useAppleProfiles-1TtO0aO6.js +63 -0
  85. package/dist/{useGoogleStatus-Cx_QIsXa.js → useGoogleStatus-CSsxEvX7.js} +1 -2
  86. package/dist/{useProjectCredentials-DxdwJCfU.js → useProjectCredentials-Cm50WMZU.js} +1 -3
  87. package/dist/{useWebSocket-cM5yOcDv.js → useWebSocket-BVfn36be.js} +1 -1
  88. package/docs/apple/apiKey/delete.md +25 -0
  89. package/docs/apple/apiKey.md +26 -0
  90. package/docs/apple/certificate/delete.md +25 -0
  91. package/docs/apple/certificate.md +26 -0
  92. package/docs/assets/st.png +0 -0
  93. package/docs/game/android/apiKey/delete.md +25 -0
  94. package/docs/game/android/apiKey.md +26 -0
  95. package/docs/game/android/keyStore/delete.md +25 -0
  96. package/docs/game/android/keyStore.md +26 -0
  97. package/docs/game/ios/profile/delete.md +26 -0
  98. package/docs/game/ios/profile.md +27 -0
  99. package/docs/game/ship.md +4 -4
  100. package/docs/login.md +6 -2
  101. package/docs/status.md +1 -1
  102. package/package.json +13 -2
  103. package/dist/ejs-DirFZbza.js +0 -716
  104. package/dist/index-BwnzoldS.js +0 -784
  105. package/dist/index-CJWMt1s-.js +0 -153
  106. package/dist/index-hoHfGrjg.js +0 -221
  107. package/dist/index-izrACZbC.js +0 -24
  108. package/dist/useAndroidServiceAccountTestResult-CwKeW0ED.js +0 -50
@@ -1,7 +1,7 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { Args, Flags } from '@oclif/core';
3
3
  import { render } from 'ink';
4
- import { c as BaseGameCommand, z as getJob, J as JobStatus } from '../../../index-BwnzoldS.js';
4
+ import { h as BaseGameCommand, K as getJob, L as JobStatus } from '../../../index-CmuXyPed.js';
5
5
  import 'ink-spinner';
6
6
  import 'node:crypto';
7
7
  import 'node:fs';
@@ -19,30 +19,27 @@ import 'uuid';
19
19
  import 'yazl';
20
20
  import 'socket.io-client';
21
21
  import 'fullscreen-ink';
22
- import { J as JobLogTail } from '../../../JobLogTail-D35FO5v-.js';
23
- import { J as JobStatusTable } from '../../../JobStatusTable-DIJ_h-gi.js';
22
+ import { J as JobLogTail } from '../../../JobLogTail-CYdceTKL.js';
23
+ import { J as JobStatusTable } from '../../../JobStatusTable-DhnhY1_i.js';
24
24
  import 'open';
25
25
  import '@inkjs/ui';
26
- import '../../../ejs-DirFZbza.js';
27
26
  import 'marked';
28
27
  import 'marked-terminal';
29
28
  import { N as NextSteps } from '../../../NextSteps-DbJHmscQ.js';
30
29
  import 'qrcode';
31
30
  import 'string-length';
32
31
  import 'strip-ansi';
33
- import '../../../index-hoHfGrjg.js';
34
- import { C as Command } from '../../../Command-DN1j3tjt.js';
32
+ import { C as Command } from '../../../Command-CHh8RDXK.js';
35
33
  import 'crypto-js';
34
+ import 'chalk';
36
35
  import '@expo/apple-utils/build/index.js';
37
36
  import 'deepmerge';
38
37
  import 'ini';
39
- import '../../../index-CJWMt1s-.js';
40
- import '../../../useAndroidServiceAccountTestResult-CwKeW0ED.js';
41
- import '../../../useWebSocket-cM5yOcDv.js';
42
- import '../../../Title-BCQtayg6.js';
43
- import '../../../StatusTable-DzRWcMr4.js';
44
38
  import 'fs';
45
39
  import 'path';
40
+ import '../../../useWebSocket-BVfn36be.js';
41
+ import '../../../Title-BCQtayg6.js';
42
+ import '../../../StatusTable-DzRWcMr4.js';
46
43
 
47
44
  class GameJobStatus extends BaseGameCommand {
48
45
  static args = {
@@ -1,9 +1,8 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { Flags } from '@oclif/core';
3
3
  import { render, Box, Text } from 'ink';
4
- import { B as BaseAuthenticatedCommand, g as getProjects, b as getShortDate } from '../../index-BwnzoldS.js';
4
+ import { B as BaseAuthenticatedCommand, e as getProjects, g as getShortUUID, f as getShortDate } from '../../index-CmuXyPed.js';
5
5
  import 'ink-spinner';
6
- import { g as getShortUUID } from '../../index-CJWMt1s-.js';
7
6
  import { T as Table } from '../../Table-FaNgpyeq.js';
8
7
  import 'react';
9
8
  import '@tanstack/react-query';
@@ -20,13 +19,12 @@ import 'strip-ansi';
20
19
  import 'open';
21
20
  import '@inkjs/ui';
22
21
  import 'node:path';
23
- import '../../ejs-DirFZbza.js';
24
22
  import 'marked';
25
23
  import 'marked-terminal';
26
24
  import 'qrcode';
27
- import '../../index-hoHfGrjg.js';
28
- import { C as Command } from '../../Command-DN1j3tjt.js';
25
+ import { C as Command } from '../../Command-CHh8RDXK.js';
29
26
  import 'crypto-js';
27
+ import 'chalk';
30
28
  import '@expo/apple-utils/build/index.js';
31
29
  import 'node:crypto';
32
30
  import 'node:readline';
@@ -37,7 +35,6 @@ import 'deepmerge';
37
35
  import 'ini';
38
36
  import 'fs';
39
37
  import 'path';
40
- import '../../useAndroidServiceAccountTestResult-CwKeW0ED.js';
41
38
 
42
39
  class GameList extends BaseAuthenticatedCommand {
43
40
  static args = {};
@@ -1,7 +1,7 @@
1
1
  import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
2
2
  import { Flags } from '@oclif/core';
3
3
  import { Box, Text, render } from 'ink';
4
- import { M as LogLevel, W as WEB_URL, a6 as getShortAuthRequiredUrl, c as BaseGameCommand, z as getJob, H as downloadBuildById } from '../../index-BwnzoldS.js';
4
+ import { as as LogLevel, S as CommandContext, R as GameContext, at as useSafeInput, au as Markdown, W as WEB_URL, g as getShortUUID, av as getShortAuthRequiredUrl, h as BaseGameCommand, K as getJob, a1 as downloadBuildById } from '../../index-CmuXyPed.js';
5
5
  import 'ink-spinner';
6
6
  import 'node:crypto';
7
7
  import 'node:fs';
@@ -22,30 +22,27 @@ import 'fullscreen-ink';
22
22
  import 'string-length';
23
23
  import 'strip-ansi';
24
24
  import open from 'open';
25
- import { g as getShortUUID } from '../../index-CJWMt1s-.js';
26
25
  import 'crypto-js';
27
- import { u as useJobWatching, J as JobLogTail } from '../../JobLogTail-D35FO5v-.js';
28
- import { J as JobStatusTable } from '../../JobStatusTable-DIJ_h-gi.js';
26
+ import { u as useJobWatching, J as JobLogTail } from '../../JobLogTail-CYdceTKL.js';
27
+ import { J as JobStatusTable } from '../../JobStatusTable-DhnhY1_i.js';
29
28
  import '@inkjs/ui';
30
- import { u as useShip, J as JobProgress } from '../../JobProgress-D-9KESaA.js';
31
- import { C as CommandContext, G as GameContext, e as useSafeInput, M as Markdown } from '../../index-hoHfGrjg.js';
29
+ import { u as useShip, J as JobProgress } from '../../JobProgress-DBCYbWrO.js';
32
30
  import 'qrcode';
33
- import '../../ejs-DirFZbza.js';
34
31
  import 'marked';
35
32
  import 'marked-terminal';
36
- import { C as CommandGame } from '../../CommandGame-D2NqytWc.js';
33
+ import { C as CommandGame } from '../../CommandGame-Rvmsa7b0.js';
34
+ import 'chalk';
37
35
  import '@expo/apple-utils/build/index.js';
38
36
  import 'deepmerge';
39
37
  import 'ini';
40
- import '../../useAndroidServiceAccountTestResult-CwKeW0ED.js';
41
- import '../../useWebSocket-cM5yOcDv.js';
38
+ import 'fs';
39
+ import 'path';
40
+ import '../../useWebSocket-BVfn36be.js';
42
41
  import '../../Title-BCQtayg6.js';
43
42
  import '../../StatusTable-DzRWcMr4.js';
44
43
  import '../../git-BpsfNFZ_.js';
45
44
  import '../../ProgressSpinner-Um6ARKlk.js';
46
- import 'fs';
47
- import 'path';
48
- import '../../Command-DN1j3tjt.js';
45
+ import '../../Command-CHh8RDXK.js';
49
46
 
50
47
  function isNetworkError(exception) {
51
48
  if (!axios.isAxiosError(exception)) return false;
@@ -192,7 +189,8 @@ class GameShip extends BaseGameCommand {
192
189
  "<%= config.bin %> <%= command.id %> --platform ios",
193
190
  "<%= config.bin %> <%= command.id %> --platform android --skipPublish",
194
191
  "<%= config.bin %> <%= command.id %> --platform android --download game.aab",
195
- "<%= config.bin %> <%= command.id %> --platform android --follow --downloadAPK game.apk"
192
+ "<%= config.bin %> <%= command.id %> --platform android --follow --downloadAPK game.apk",
193
+ "<%= config.bin %> <%= command.id %> --platform ios --follow --verbose"
196
194
  ];
197
195
  static flags = {
198
196
  ...BaseGameCommand.flags,
@@ -220,6 +218,11 @@ class GameShip extends BaseGameCommand {
220
218
  default: false,
221
219
  description: "Skip the publish step",
222
220
  required: false
221
+ }),
222
+ verbose: Flags.boolean({
223
+ default: false,
224
+ description: "Enable verbose logging",
225
+ required: false
223
226
  })
224
227
  };
225
228
  async run() {
@@ -1,7 +1,7 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { Flags } from '@oclif/core';
3
3
  import { render } from 'ink';
4
- import { B as BaseAuthenticatedCommand } from '../../index-BwnzoldS.js';
4
+ import { B as BaseAuthenticatedCommand } from '../../index-CmuXyPed.js';
5
5
  import 'ink-spinner';
6
6
  import 'node:crypto';
7
7
  import 'node:fs';
@@ -20,28 +20,25 @@ import 'fast-glob';
20
20
  import 'yazl';
21
21
  import 'socket.io-client';
22
22
  import 'fullscreen-ink';
23
- import { a as GameStatus$1 } from '../../GameStatus-joyHPy0f.js';
23
+ import { a as GameStatus$1 } from '../../GameStatus-D7ID10tS.js';
24
24
  import 'string-length';
25
25
  import 'strip-ansi';
26
26
  import 'open';
27
27
  import '@inkjs/ui';
28
- import '../../ejs-DirFZbza.js';
29
28
  import 'marked';
30
29
  import 'marked-terminal';
31
30
  import 'qrcode';
32
- import '../../index-hoHfGrjg.js';
33
- import { C as CommandGame } from '../../CommandGame-D2NqytWc.js';
31
+ import { C as CommandGame } from '../../CommandGame-Rvmsa7b0.js';
32
+ import 'chalk';
34
33
  import '@expo/apple-utils/build/index.js';
35
34
  import 'deepmerge';
36
35
  import 'ini';
37
- import '../../index-CJWMt1s-.js';
36
+ import 'fs';
37
+ import 'path';
38
38
  import '../../StatusTable-DzRWcMr4.js';
39
39
  import '../../Title-BCQtayg6.js';
40
40
  import '../../NextSteps-DbJHmscQ.js';
41
- import 'fs';
42
- import 'path';
43
- import '../../useAndroidServiceAccountTestResult-CwKeW0ED.js';
44
- import '../../Command-DN1j3tjt.js';
41
+ import '../../Command-CHh8RDXK.js';
45
42
 
46
43
  class GameStatus extends BaseAuthenticatedCommand {
47
44
  static args = {};
@@ -1,7 +1,7 @@
1
1
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
2
2
  import { Args } from '@oclif/core';
3
3
  import { useScreenSize, withFullScreen } from 'fullscreen-ink';
4
- import { K as queryClient, p as getAuthedHeaders, o as API_URL, I as castArrayObjectDates, ae as updateProject, t as getGodotVersion, s as GameEngine, u as createProject, v as DEFAULT_SHIPPED_FILES_GLOBS, w as DEFAULT_IGNORED_FILES_GLOBS, P as Platform, J as JobStatus, W as WEB_URL, E as getProject, C as CredentialsType, Q as getGoogleStatus, B as BaseAuthenticatedCommand, j as isCWDGodotGame } from '../../index-BwnzoldS.js';
4
+ import { X as queryClient, a0 as cacheKeys, t as getAuthedHeaders, s as API_URL, V as castArrayObjectDates, S as CommandContext, R as GameContext, aC as updateProject, x as getGodotVersion, w as GameEngine, y as createProject, z as DEFAULT_SHIPPED_FILES_GLOBS, E as DEFAULT_IGNORED_FILES_GLOBS, aq as useBuilds, P as Platform, L as JobStatus, au as Markdown, W as WEB_URL, g as getShortUUID, at as useSafeInput, O as getProject, C as CredentialsType, a2 as getGoogleStatus, aD as queryBuilds, a6 as fetchKeyTestResult, a8 as KeyTestStatus, a9 as KeyTestError, Z as GameProvider, aE as CreateGooglePlayGame, B as BaseAuthenticatedCommand, o as isCWDGodotGame } from '../../index-CmuXyPed.js';
5
5
  import { Box, Text } from 'ink';
6
6
  import Spinner from 'ink-spinner';
7
7
  import 'node:crypto';
@@ -23,35 +23,32 @@ import 'socket.io-client';
23
23
  import 'string-length';
24
24
  import 'strip-ansi';
25
25
  import 'open';
26
- import { C as ConnectGoogle } from '../../index-DlE_SPt3.js';
27
- import { C as CommandContext, G as GameContext, u as useBuilds, M as Markdown, e as useSafeInput, q as queryBuilds, c as GameProvider, h as CreateGooglePlayGame } from '../../index-hoHfGrjg.js';
26
+ import { C as ConnectGoogle } from '../../index-9LxGafAo.js';
28
27
  import { TextInput, Alert } from '@inkjs/ui';
29
- import '../../ejs-DirFZbza.js';
30
28
  import 'marked';
31
29
  import 'marked-terminal';
32
30
  import 'qrcode';
33
- import { g as getShortUUID } from '../../index-CJWMt1s-.js';
34
- import { J as JobLogTail } from '../../JobLogTail-D35FO5v-.js';
35
- import { c as cacheKeys, f as fetchKeyTestResult, K as KeyTestStatus, a as KeyTestError } from '../../useAndroidServiceAccountTestResult-CwKeW0ED.js';
36
- import { u as useShip, J as JobProgress } from '../../JobProgress-D-9KESaA.js';
37
- import { C as CreateServiceAccountKey } from '../../index-BTXEUd8W.js';
38
- import { C as CreateKeystore } from '../../Create-BRdv5jXQ.js';
39
- import { I as ImportKeystore } from '../../Import-BNMHsJoM.js';
40
- import { a as getProjectCredentials } from '../../index-izrACZbC.js';
31
+ import { J as JobLogTail } from '../../JobLogTail-CYdceTKL.js';
32
+ import { u as useShip, J as JobProgress } from '../../JobProgress-DBCYbWrO.js';
33
+ import { C as CreateServiceAccountKey } from '../../index-BPh_qt7t.js';
34
+ import { C as CreateKeystore } from '../../Create-DInZ_pw-.js';
35
+ import { I as ImportKeystore } from '../../Import-BmO8EYKj.js';
36
+ import { a as getProjectCredentials } from '../../index-CNsmEDXi.js';
41
37
  import { T as Title } from '../../Title-BCQtayg6.js';
42
- import { C as Command } from '../../Command-DN1j3tjt.js';
38
+ import { C as Command } from '../../Command-CHh8RDXK.js';
39
+ import 'chalk';
43
40
  import '@expo/apple-utils/build/index.js';
44
41
  import 'deepmerge';
45
42
  import 'ini';
46
- import '../../useGoogleStatus-Cx_QIsXa.js';
47
- import '../../useWebSocket-cM5yOcDv.js';
48
43
  import 'fs';
49
44
  import 'path';
45
+ import '../../useGoogleStatus-CSsxEvX7.js';
46
+ import '../../useWebSocket-BVfn36be.js';
50
47
  import '../../git-BpsfNFZ_.js';
51
48
  import '../../ProgressSpinner-Um6ARKlk.js';
52
- import '../../useProjectCredentials-DxdwJCfU.js';
49
+ import '../../useProjectCredentials-Cm50WMZU.js';
53
50
  import '../../RunWithSpinner-DucRnFp6.js';
54
- import '../../import-BpGyif-m.js';
51
+ import '../../import-DGCqCAcC.js';
55
52
 
56
53
  const useInviteServiceAccount = () => useMutation({
57
54
  async mutationFn({ developerId, projectId }) {
@@ -1,11 +1,12 @@
1
1
  import fs__default, { promises } from 'node:fs';
2
2
  import path from 'node:path';
3
3
  import { Args, Flags } from '@oclif/core';
4
- import { Y as BaseCommand } from '../../index-BwnzoldS.js';
4
+ import { ac as BaseCommand } from '../../index-CmuXyPed.js';
5
5
  import 'axios';
6
6
  import 'crypto-js';
7
7
  import 'uuid';
8
8
  import 'luxon';
9
+ import 'chalk';
9
10
  import '@expo/apple-utils/build/index.js';
10
11
  import 'node:crypto';
11
12
  import 'node:readline';
@@ -21,6 +22,17 @@ import 'yazl';
21
22
  import 'socket.io-client';
22
23
  import 'fullscreen-ink';
23
24
  import 'ink';
25
+ import 'react/jsx-runtime';
26
+ import 'ink-spinner';
27
+ import 'string-length';
28
+ import 'strip-ansi';
29
+ import 'open';
30
+ import '@inkjs/ui';
31
+ import 'fs';
32
+ import 'path';
33
+ import 'marked';
34
+ import 'marked-terminal';
35
+ import 'qrcode';
24
36
 
25
37
  function generateFastlaneSession(cookieData) {
26
38
  return cookieData.cookies.map((cookie) => `- !ruby/object:HTTP::Cookie
@@ -1,15 +1,13 @@
1
1
  import fs__default from 'node:fs';
2
2
  import path from 'node:path';
3
3
  import { Args, Flags } from '@oclif/core';
4
- import { e as ejs } from '../../ejs-DirFZbza.js';
5
- import { Y as BaseCommand } from '../../index-BwnzoldS.js';
4
+ import { ac as BaseCommand, ad as ejs } from '../../index-CmuXyPed.js';
6
5
  import CustomHelp from '../../utils/help.js';
7
- import 'fs';
8
- import 'path';
9
6
  import 'axios';
10
7
  import 'crypto-js';
11
8
  import 'uuid';
12
9
  import 'luxon';
10
+ import 'chalk';
13
11
  import '@expo/apple-utils/build/index.js';
14
12
  import 'node:crypto';
15
13
  import 'node:readline';
@@ -25,6 +23,17 @@ import 'yazl';
25
23
  import 'socket.io-client';
26
24
  import 'fullscreen-ink';
27
25
  import 'ink';
26
+ import 'react/jsx-runtime';
27
+ import 'ink-spinner';
28
+ import 'string-length';
29
+ import 'strip-ansi';
30
+ import 'open';
31
+ import '@inkjs/ui';
32
+ import 'fs';
33
+ import 'path';
34
+ import 'marked';
35
+ import 'marked-terminal';
36
+ import 'qrcode';
28
37
 
29
38
  const ROOT_TOPIC_NAME = "shipthis";
30
39
  const ROOT_TOPIC_DESCRIPTION = "Root topic";
@@ -1,12 +1,12 @@
1
1
  import { Flags } from '@oclif/core';
2
2
  import axios from 'axios';
3
- import { W as WEB_URL, Y as BaseCommand, o as API_URL, a1 as setAuthToken, a2 as acceptTerms } from '../index-BwnzoldS.js';
4
- import { a as getInput } from '../index-CJWMt1s-.js';
3
+ import { W as WEB_URL, ac as BaseCommand, ai as acceptTerms, s as API_URL, aj as setAuthToken, c as getInput } from '../index-CmuXyPed.js';
5
4
  import 'node:fs';
6
5
  import 'crypto-js';
7
6
  import 'uuid';
8
7
  import 'luxon';
9
8
  import 'node:path';
9
+ import 'chalk';
10
10
  import '@expo/apple-utils/build/index.js';
11
11
  import 'node:crypto';
12
12
  import 'node:readline';
@@ -22,6 +22,17 @@ import 'yazl';
22
22
  import 'socket.io-client';
23
23
  import 'fullscreen-ink';
24
24
  import 'ink';
25
+ import 'react/jsx-runtime';
26
+ import 'ink-spinner';
27
+ import 'string-length';
28
+ import 'strip-ansi';
29
+ import 'open';
30
+ import '@inkjs/ui';
31
+ import 'fs';
32
+ import 'path';
33
+ import 'marked';
34
+ import 'marked-terminal';
35
+ import 'qrcode';
25
36
 
26
37
  const TERMS_URL = new URL("/terms", WEB_URL).href;
27
38
  const PRIVACY_URL = new URL("/privacy", WEB_URL).href;
@@ -30,18 +41,29 @@ class Login extends BaseCommand {
30
41
  static description = "Authenticate - will create a new account if one does not exist.";
31
42
  static examples = [
32
43
  "<%= config.bin %> <%= command.id %>",
33
- "<%= config.bin %> <%= command.id %> --force --email me@email.nowhere"
44
+ "<%= config.bin %> <%= command.id %> --force --email me@email.nowhere",
45
+ "<%= config.bin %> <%= command.id %> --acceptAgreements"
34
46
  ];
35
47
  static flags = {
36
48
  email: Flags.string({
37
49
  char: "e",
38
50
  description: "Your email address"
39
51
  }),
40
- force: Flags.boolean({ char: "f" })
52
+ force: Flags.boolean({ char: "f" }),
53
+ acceptAgreements: Flags.boolean({
54
+ description: "Accept the current version of the agreements (terms & privacy).",
55
+ default: false
56
+ })
41
57
  };
42
58
  async run() {
43
59
  const { flags } = this;
44
60
  const authConfig = await this.getAuthConfig();
61
+ if (flags.acceptAgreements) {
62
+ if (authConfig.shipThisUser) {
63
+ await acceptTerms();
64
+ return this.log("You have accepted the latest terms and privacy policy.");
65
+ }
66
+ }
45
67
  if (authConfig.shipThisUser && !flags.force) {
46
68
  throw new Error(
47
69
  `You are already logged in as ${authConfig.shipThisUser.email} use --force to login as a different user or remove the auth file`
@@ -65,6 +87,7 @@ class Login extends BaseCommand {
65
87
  const source = `shipthis-cli-${this.config.version}`;
66
88
  const { data: shipThisUser } = await axios.post(`${API_URL}/auth/email/verify`, { email, otp, source });
67
89
  const getAcceptedTermsResponse = async () => {
90
+ if (flags.acceptAgreements) return true;
68
91
  console.log(
69
92
  `Please review the following documents:
70
93
 
@@ -1,6 +1,6 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { render } from 'ink';
3
- import { Y as BaseCommand, j as isCWDGodotGame } from '../index-BwnzoldS.js';
3
+ import { ac as BaseCommand, o as isCWDGodotGame } from '../index-CmuXyPed.js';
4
4
  import 'ink-spinner';
5
5
  import 'node:crypto';
6
6
  import 'node:fs';
@@ -25,22 +25,19 @@ import 'strip-ansi';
25
25
  import { S as StatusTable } from '../StatusTable-DzRWcMr4.js';
26
26
  import 'open';
27
27
  import '@inkjs/ui';
28
- import '../ejs-DirFZbza.js';
29
28
  import 'marked';
30
29
  import 'marked-terminal';
31
30
  import { N as NextSteps } from '../NextSteps-DbJHmscQ.js';
32
31
  import 'qrcode';
33
- import '../index-hoHfGrjg.js';
34
- import { C as Command } from '../Command-DN1j3tjt.js';
32
+ import { C as Command } from '../Command-CHh8RDXK.js';
33
+ import chalk from 'chalk';
35
34
  import '@expo/apple-utils/build/index.js';
36
35
  import 'isomorphic-git';
37
36
  import 'deepmerge';
38
37
  import 'ini';
39
- import '../Title-BCQtayg6.js';
40
38
  import 'fs';
41
39
  import 'path';
42
- import '../index-CJWMt1s-.js';
43
- import '../useAndroidServiceAccountTestResult-CwKeW0ED.js';
40
+ import '../Title-BCQtayg6.js';
44
41
 
45
42
  class Status extends BaseCommand {
46
43
  static args = {};
@@ -50,6 +47,7 @@ class Status extends BaseCommand {
50
47
  async run() {
51
48
  const authConfig = await this.getAuthConfig();
52
49
  const isLoggedIn = Boolean(authConfig.shipThisUser);
50
+ const email = authConfig.shipThisUser?.email;
53
51
  const isGodotGame = isCWDGodotGame();
54
52
  const isShipThisConfigured = await this.hasProjectConfig();
55
53
  const isGitRepo = await isCWDGitRepo();
@@ -60,7 +58,7 @@ class Status extends BaseCommand {
60
58
  const exitCode = steps.length > 0 ? 1 : 0;
61
59
  if (steps.length === 0) steps = ["shipthis game status"];
62
60
  const statuses = {};
63
- statuses["Logged in"] = isLoggedIn;
61
+ statuses[email ? `Logged in ${chalk.bold(email)}` : "Logged in"] = isLoggedIn;
64
62
  statuses["Godot project detected"] = isGodotGame;
65
63
  statuses["ShipThis project configured"] = isShipThisConfigured;
66
64
  statuses["Git repository detected (not required)"] = isGitRepo;
@@ -1,6 +1,6 @@
1
1
  import * as fs from 'node:fs';
2
2
  import axios from 'axios';
3
- import { o as API_URL, p as getAuthedHeaders } from './index-BwnzoldS.js';
3
+ import { s as API_URL, t as getAuthedHeaders } from './index-CmuXyPed.js';
4
4
 
5
5
  async function exportCredential({ credentialId, projectId, zipPath }) {
6
6
  const headers = getAuthedHeaders();
@@ -1,6 +1,6 @@
1
1
  import { promises } from 'node:fs';
2
2
  import axios from 'axios';
3
- import { o as API_URL, p as getAuthedHeaders } from './index-BwnzoldS.js';
3
+ import { s as API_URL, t as getAuthedHeaders } from './index-CmuXyPed.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`;
@@ -12,7 +12,7 @@ import 'readline-sync';
12
12
  import 'luxon';
13
13
  import 'axios';
14
14
  import 'isomorphic-git';
15
- import { a6 as getShortAuthRequiredUrl, a8 as getGoogleAuthUrl, W as WEB_URL } from './index-BwnzoldS.js';
15
+ import { av as getShortAuthRequiredUrl, ax as getGoogleAuthUrl, R as GameContext, at as useSafeInput, W as WEB_URL, au as Markdown } from './index-CmuXyPed.js';
16
16
  import '@oclif/core';
17
17
  import '@tanstack/react-query';
18
18
  import 'crypto-js';
@@ -20,14 +20,12 @@ import 'uuid';
20
20
  import 'fast-glob';
21
21
  import 'yazl';
22
22
  import 'socket.io-client';
23
- import { u as useGoogleStatus } from './useGoogleStatus-Cx_QIsXa.js';
24
- import { u as useWebSocket } from './useWebSocket-cM5yOcDv.js';
23
+ import { u as useGoogleStatus } from './useGoogleStatus-CSsxEvX7.js';
24
+ import { u as useWebSocket } from './useWebSocket-BVfn36be.js';
25
25
  import 'fullscreen-ink';
26
- import { G as GameContext, e as useSafeInput, M as Markdown } from './index-hoHfGrjg.js';
27
26
  import 'string-length';
28
27
  import 'strip-ansi';
29
28
  import '@inkjs/ui';
30
- import './ejs-DirFZbza.js';
31
29
  import 'marked';
32
30
  import 'marked-terminal';
33
31
  import qrcode from 'qrcode';
@@ -8,23 +8,21 @@ import 'node:path';
8
8
  import 'node:readline';
9
9
  import 'node:url';
10
10
  import 'readline-sync';
11
- import { p as getAuthedHeaders, o as API_URL, a7 as castObjectDates, K as queryClient, T as revokePolicy, S as enforcePolicy, P as Platform, C as CredentialsType, Q as getGoogleStatus, b as getShortDate } from './index-BwnzoldS.js';
11
+ import { a0 as cacheKeys, t as getAuthedHeaders, s as API_URL, aw as castObjectDates, X as queryClient, a5 as revokePolicy, a4 as enforcePolicy, P as Platform, C as CredentialsType, a2 as getGoogleStatus, R as GameContext, at as useSafeInput, au as Markdown, f as getShortDate } from './index-CmuXyPed.js';
12
12
  import axios from 'axios';
13
13
  import 'isomorphic-git';
14
14
  import '@oclif/core';
15
15
  import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';
16
- import { c as cacheKeys } from './useAndroidServiceAccountTestResult-CwKeW0ED.js';
17
16
  import 'luxon';
18
17
  import 'fast-glob';
19
18
  import 'uuid';
20
19
  import 'yazl';
21
20
  import 'socket.io-client';
22
21
  import 'fullscreen-ink';
23
- import { u as useWebSocket } from './useWebSocket-cM5yOcDv.js';
24
- import { u as useProjectCredentials } from './useProjectCredentials-DxdwJCfU.js';
25
- import { u as useGoogleStatus } from './useGoogleStatus-Cx_QIsXa.js';
22
+ import { u as useWebSocket } from './useWebSocket-BVfn36be.js';
23
+ import { u as useProjectCredentials } from './useProjectCredentials-Cm50WMZU.js';
24
+ import { u as useGoogleStatus } from './useGoogleStatus-CSsxEvX7.js';
26
25
  import 'crypto-js';
27
- import { G as GameContext, e as useSafeInput, M as Markdown } from './index-hoHfGrjg.js';
28
26
  import 'string-length';
29
27
  import 'strip-ansi';
30
28
  import 'open';
@@ -0,0 +1,48 @@
1
+ import axios from 'axios';
2
+ import { s as API_URL, t as getAuthedHeaders, V as castArrayObjectDates } from './index-CmuXyPed.js';
3
+ import 'node:fs';
4
+
5
+ async function getUserCredentials(pageSize = 100) {
6
+ const headers = getAuthedHeaders();
7
+ const { data } = await axios({
8
+ headers,
9
+ method: "get",
10
+ url: `${API_URL}/credentials?pageSize=${pageSize}`
11
+ });
12
+ return castArrayObjectDates(data.data);
13
+ }
14
+ async function deleteUserCredential(options) {
15
+ const headers = getAuthedHeaders();
16
+ const { data } = await axios({
17
+ headers,
18
+ method: "delete",
19
+ url: `${API_URL}/credentials/${options.credentialId}`,
20
+ params: {
21
+ isImmediate: options.isImmediate
22
+ }
23
+ });
24
+ return data;
25
+ }
26
+ async function getProjectCredentials(projectId, pageSize = 100) {
27
+ const headers = getAuthedHeaders();
28
+ const { data } = await axios({
29
+ headers,
30
+ method: "get",
31
+ url: `${API_URL}/projects/${projectId}/credentials?pageSize=${pageSize}`
32
+ });
33
+ return castArrayObjectDates(data.data);
34
+ }
35
+ async function deleteProjectCredential(projectId, options) {
36
+ const headers = getAuthedHeaders();
37
+ const { data } = await axios({
38
+ headers,
39
+ method: "delete",
40
+ url: `${API_URL}/projects/${projectId}/credentials/${options.credentialId}`,
41
+ params: {
42
+ isImmediate: options.isImmediate
43
+ }
44
+ });
45
+ return data;
46
+ }
47
+
48
+ export { getProjectCredentials as a, deleteProjectCredential as b, deleteUserCredential as d, getUserCredentials as g };