shipthis 0.1.38 → 0.1.41

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 (90) hide show
  1. package/README.md +62 -5
  2. package/dist/{AppleBundleIdDetails-CgleH2pl.js → AppleBundleIdDetails-BJC7GCx_.js} +4 -3
  3. package/dist/{Command-7dCv1F9p.js → Command-Cj6F5B5a.js} +2 -1
  4. package/dist/{CommandGame-er5Ql6hq.js → CommandGame-CuvuH-z6.js} +2 -2
  5. package/dist/{Create-pLXESvEq.js → Create-pfGYcKu4.js} +2 -1
  6. package/dist/{GameStatus-B_Iw9tYr.js → GameStatus-ZSe-qG3y.js} +2 -1
  7. package/dist/{Import-fIsrfsmr.js → Import-D046HBaF.js} +3 -2
  8. package/dist/{JobLogTail-BPcQ8ghI.js → JobLogTail-Da8GuReK.js} +3 -2
  9. package/dist/{JobProgress-CpEatVPs.js → JobProgress-DltCQpzA.js} +9 -6
  10. package/dist/{JobStatusTable-BmJLzsUN.js → JobStatusTable-DVJjHw97.js} +3 -2
  11. package/dist/{ProjectCredentialsTable-DvPDhi7C.js → ProjectCredentialsTable-BJJz7W1P.js} +2 -2
  12. package/dist/{UserCredentialsTable-MBm1vAP3.js → UserCredentialsTable-CSynIVHU.js} +2 -1
  13. package/dist/{baseAppleCommand-uL0Gnav4.js → baseAppleCommand-Aq-Eaw_K.js} +1 -1
  14. package/dist/baseCommand-CTn3KGH3.js +787 -0
  15. package/dist/{baseGameAndroidCommand-CKTSQyZV.js → baseGameAndroidCommand-DRzVMKuG.js} +2 -1
  16. package/dist/{index-DHioYOIm.js → baseGameCommand-8VL7xe-O.js} +18 -749
  17. package/dist/commands/apiKey/create.js +6 -5
  18. package/dist/commands/apiKey/list.js +6 -5
  19. package/dist/commands/apiKey/revoke.js +6 -5
  20. package/dist/commands/apple/apiKey/create.js +13 -12
  21. package/dist/commands/apple/apiKey/delete.js +7 -6
  22. package/dist/commands/apple/apiKey/export.js +14 -13
  23. package/dist/commands/apple/apiKey/import.js +14 -13
  24. package/dist/commands/apple/apiKey/status.js +13 -12
  25. package/dist/commands/apple/certificate/create.js +13 -12
  26. package/dist/commands/apple/certificate/delete.js +7 -6
  27. package/dist/commands/apple/certificate/export.js +14 -13
  28. package/dist/commands/apple/certificate/import.js +14 -13
  29. package/dist/commands/apple/certificate/status.js +13 -12
  30. package/dist/commands/apple/login.js +4 -3
  31. package/dist/commands/apple/status.js +13 -12
  32. package/dist/commands/dashboard.js +9 -8
  33. package/dist/commands/game/android/apiKey/connect.js +11 -10
  34. package/dist/commands/game/android/apiKey/create.js +13 -12
  35. package/dist/commands/game/android/apiKey/delete.js +6 -5
  36. package/dist/commands/game/android/apiKey/export.js +13 -12
  37. package/dist/commands/game/android/apiKey/import.js +13 -12
  38. package/dist/commands/game/android/apiKey/invite.js +21 -20
  39. package/dist/commands/game/android/apiKey/policy.js +8 -7
  40. package/dist/commands/game/android/apiKey/status.js +13 -12
  41. package/dist/commands/game/android/keyStore/create.js +10 -9
  42. package/dist/commands/game/android/keyStore/delete.js +6 -5
  43. package/dist/commands/game/android/keyStore/export.js +12 -11
  44. package/dist/commands/game/android/keyStore/import.js +15 -14
  45. package/dist/commands/game/android/keyStore/status.js +15 -14
  46. package/dist/commands/game/android/status.js +7 -6
  47. package/dist/commands/game/build/download.js +6 -5
  48. package/dist/commands/game/build/list.js +11 -10
  49. package/dist/commands/game/create.js +5 -3
  50. package/dist/commands/game/details.js +15 -11
  51. package/dist/commands/game/export.js +4 -3
  52. package/dist/commands/game/ios/app/addTester.js +8 -7
  53. package/dist/commands/game/ios/app/create.js +7 -6
  54. package/dist/commands/game/ios/app/status.js +13 -12
  55. package/dist/commands/game/ios/app/sync.js +11 -10
  56. package/dist/commands/game/ios/profile/create.js +9 -8
  57. package/dist/commands/game/ios/profile/delete.js +9 -8
  58. package/dist/commands/game/ios/profile/export.js +12 -11
  59. package/dist/commands/game/ios/profile/import.js +12 -11
  60. package/dist/commands/game/ios/profile/status.js +13 -12
  61. package/dist/commands/game/ios/status.js +17 -16
  62. package/dist/commands/game/ios/wizard.js +13 -11
  63. package/dist/commands/game/job/list.js +6 -5
  64. package/dist/commands/game/job/status.js +11 -10
  65. package/dist/commands/game/list.js +6 -5
  66. package/dist/commands/game/ship.js +15 -9
  67. package/dist/commands/game/status.js +14 -13
  68. package/dist/commands/game/wizard.js +30 -28
  69. package/dist/commands/internal/fastlane.js +14 -13
  70. package/dist/commands/internal/readme.js +18 -17
  71. package/dist/commands/login.js +20 -19
  72. package/dist/commands/status.js +9 -8
  73. package/dist/commands/util/glass.js +119 -0
  74. package/dist/{export-BwwAjG_F.js → export-DtATljiz.js} +1 -1
  75. package/dist/{import-OgFrUsqw.js → import-Dk2ywOVU.js} +1 -1
  76. package/dist/{index-C2omlhEs.js → index-BW7z-5sB.js} +1 -1
  77. package/dist/{index-DVEYxVsH.js → index-CuyVBHWc.js} +4 -3
  78. package/dist/{index-C1XpCT_9.js → index-cRnjcGxV.js} +5 -4
  79. package/dist/{upload-5s3sy2jF.js → upload-CHaDSvvi.js} +1 -1
  80. package/dist/{useAppleApp-szQ_Kg5S.js → useAppleApp-CR847GWc.js} +1 -1
  81. package/dist/{useAppleBundleId-BarLcidd.js → useAppleBundleId-BnwPmVEu.js} +1 -1
  82. package/dist/{useAppleProfiles-C2U4NzC3.js → useAppleProfiles-DY-H0420.js} +1 -1
  83. package/dist/{useGoogleStatus-zfnjhtNB.js → useGoogleStatus-WqPgHteE.js} +2 -1
  84. package/dist/{useProjectCredentials-DbynNY96.js → useProjectCredentials-TvlolkId.js} +2 -1
  85. package/dist/{useWebSocket-h7smqhZQ.js → useWebSocket-MXDbQHcu.js} +1 -1
  86. package/docs/README.md +1 -0
  87. package/docs/game/ship.md +36 -13
  88. package/docs/util/glass.md +47 -0
  89. package/docs/util.md +11 -0
  90. package/package.json +3 -1
@@ -2,36 +2,37 @@ import { jsx } from 'react/jsx-runtime';
2
2
  import * as fs from 'node:fs';
3
3
  import { Args, Flags } from '@oclif/core';
4
4
  import { render } from 'ink';
5
- import { a as getProjectCredentials } from '../../../../index-C2omlhEs.js';
6
- import { h as BaseGameCommand, P as Platform, C as CredentialsType } from '../../../../index-DHioYOIm.js';
7
- import 'ink-spinner';
8
- import 'node:crypto';
5
+ import { a as getProjectCredentials } from '../../../../index-BW7z-5sB.js';
6
+ import 'axios';
7
+ import 'crypto-js';
8
+ import 'uuid';
9
+ import { P as Platform, C as CredentialsType } from '../../../../baseCommand-CTn3KGH3.js';
10
+ import 'luxon';
9
11
  import 'node:path';
12
+ import 'chalk';
13
+ import 'node:crypto';
10
14
  import 'node:readline';
11
15
  import 'node:url';
12
16
  import 'readline-sync';
13
- import 'luxon';
14
- import 'axios';
15
17
  import 'isomorphic-git';
16
18
  import '@tanstack/react-query';
17
19
  import 'react';
18
- import 'crypto-js';
19
- import 'uuid';
20
20
  import 'fast-glob';
21
21
  import 'yazl';
22
22
  import 'socket.io-client';
23
23
  import 'fullscreen-ink';
24
+ import 'ink-spinner';
24
25
  import 'string-length';
25
26
  import 'strip-ansi';
26
27
  import 'open';
27
28
  import '@inkjs/ui';
29
+ import { c as BaseGameCommand } from '../../../../baseGameCommand-8VL7xe-O.js';
28
30
  import 'marked';
29
31
  import 'marked-terminal';
30
32
  import 'qrcode';
31
33
  import { R as RunWithSpinner } from '../../../../RunWithSpinner-DucRnFp6.js';
32
- import { C as Command } from '../../../../Command-7dCv1F9p.js';
33
- import { e as exportCredential } from '../../../../export-BwwAjG_F.js';
34
- import 'chalk';
34
+ import { C as Command } from '../../../../Command-Cj6F5B5a.js';
35
+ import { e as exportCredential } from '../../../../export-DtATljiz.js';
35
36
  import '@expo/apple-utils/build/index.js';
36
37
  import 'deepmerge';
37
38
  import 'ini';
@@ -2,36 +2,37 @@ import { jsx } from 'react/jsx-runtime';
2
2
  import * as fs from 'node:fs';
3
3
  import { Args, Flags } from '@oclif/core';
4
4
  import { render } from 'ink';
5
- import { a as getProjectCredentials } from '../../../../index-C2omlhEs.js';
6
- import { h as BaseGameCommand, P as Platform, C as CredentialsType } from '../../../../index-DHioYOIm.js';
7
- import 'ink-spinner';
8
- import 'node:crypto';
5
+ import { a as getProjectCredentials } from '../../../../index-BW7z-5sB.js';
6
+ import 'axios';
7
+ import 'crypto-js';
8
+ import 'uuid';
9
+ import { P as Platform, C as CredentialsType } from '../../../../baseCommand-CTn3KGH3.js';
10
+ import 'luxon';
9
11
  import 'node:path';
12
+ import 'chalk';
13
+ import 'node:crypto';
10
14
  import 'node:readline';
11
15
  import 'node:url';
12
16
  import 'readline-sync';
13
- import 'luxon';
14
- import 'axios';
15
17
  import 'isomorphic-git';
16
18
  import '@tanstack/react-query';
17
19
  import 'react';
18
- import 'crypto-js';
19
- import 'uuid';
20
20
  import 'fast-glob';
21
21
  import 'yazl';
22
22
  import 'socket.io-client';
23
23
  import 'fullscreen-ink';
24
+ import 'ink-spinner';
24
25
  import 'string-length';
25
26
  import 'strip-ansi';
26
27
  import 'open';
27
28
  import '@inkjs/ui';
29
+ import { c as BaseGameCommand } from '../../../../baseGameCommand-8VL7xe-O.js';
28
30
  import 'marked';
29
31
  import 'marked-terminal';
30
32
  import 'qrcode';
31
33
  import { R as RunWithSpinner } from '../../../../RunWithSpinner-DucRnFp6.js';
32
- import { C as Command } from '../../../../Command-7dCv1F9p.js';
33
- import { i as importCredential } from '../../../../import-OgFrUsqw.js';
34
- import 'chalk';
34
+ import { C as Command } from '../../../../Command-Cj6F5B5a.js';
35
+ import { i as importCredential } from '../../../../import-Dk2ywOVU.js';
35
36
  import '@expo/apple-utils/build/index.js';
36
37
  import 'deepmerge';
37
38
  import 'ini';
@@ -1,40 +1,41 @@
1
1
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
2
2
  import { Flags } from '@oclif/core';
3
3
  import { Box, Text, render } from 'ink';
4
- import { C as CredentialsType, P as Platform, h as BaseGameCommand } from '../../../../index-DHioYOIm.js';
5
- import Spinner from 'ink-spinner';
6
- import 'node:crypto';
7
4
  import 'node:fs';
5
+ import 'axios';
6
+ import 'crypto-js';
7
+ import 'uuid';
8
+ import { C as CredentialsType, P as Platform } from '../../../../baseCommand-CTn3KGH3.js';
9
+ import 'luxon';
8
10
  import 'node:path';
11
+ import 'chalk';
12
+ import 'node:crypto';
9
13
  import 'node:readline';
10
14
  import 'node:url';
11
15
  import 'readline-sync';
12
- import 'luxon';
13
- import 'axios';
14
16
  import 'isomorphic-git';
15
17
  import '@tanstack/react-query';
16
18
  import 'react';
17
- import 'crypto-js';
18
- import 'uuid';
19
19
  import 'fast-glob';
20
20
  import 'yazl';
21
21
  import 'socket.io-client';
22
22
  import 'fullscreen-ink';
23
+ import Spinner from 'ink-spinner';
23
24
  import 'string-length';
24
25
  import 'strip-ansi';
25
- import { P as ProjectCredentialsTable } from '../../../../ProjectCredentialsTable-DvPDhi7C.js';
26
+ import { P as ProjectCredentialsTable } from '../../../../ProjectCredentialsTable-BJJz7W1P.js';
26
27
  import 'open';
27
28
  import '@inkjs/ui';
29
+ import { c as BaseGameCommand } from '../../../../baseGameCommand-8VL7xe-O.js';
28
30
  import 'marked';
29
31
  import 'marked-terminal';
30
32
  import 'qrcode';
31
- import { u as useAppleProfiles, c as canAppleProfileBeUsed, g as getAppleProfileSummary } from '../../../../useAppleProfiles-C2U4NzC3.js';
32
- import { u as useProjectCredentials } from '../../../../useProjectCredentials-DbynNY96.js';
33
+ import { u as useAppleProfiles, c as canAppleProfileBeUsed, g as getAppleProfileSummary } from '../../../../useAppleProfiles-DY-H0420.js';
34
+ import { u as useProjectCredentials } from '../../../../useProjectCredentials-TvlolkId.js';
33
35
  import { T as Table } from '../../../../Table-FaNgpyeq.js';
34
36
  import { T as Title } from '../../../../Title-BCQtayg6.js';
35
37
  import { N as NextSteps } from '../../../../NextSteps-DbJHmscQ.js';
36
- import { C as Command } from '../../../../Command-7dCv1F9p.js';
37
- import 'chalk';
38
+ import { C as Command } from '../../../../Command-Cj6F5B5a.js';
38
39
  import '@expo/apple-utils/build/index.js';
39
40
  import 'deepmerge';
40
41
  import 'ini';
@@ -1,48 +1,49 @@
1
1
  import { jsx, jsxs } from 'react/jsx-runtime';
2
2
  import { Flags } from '@oclif/core';
3
3
  import { render, Box } from 'ink';
4
- import { h as BaseGameCommand, P as Platform } from '../../../index-DHioYOIm.js';
5
- import 'ink-spinner';
6
- import 'node:crypto';
7
4
  import 'node:fs';
5
+ import 'axios';
6
+ import 'crypto-js';
7
+ import 'uuid';
8
+ import { P as Platform } from '../../../baseCommand-CTn3KGH3.js';
9
+ import 'luxon';
8
10
  import 'node:path';
11
+ import 'chalk';
12
+ import 'node:crypto';
9
13
  import 'node:readline';
10
14
  import 'node:url';
11
15
  import 'readline-sync';
12
- import 'luxon';
13
- import 'axios';
14
16
  import 'isomorphic-git';
15
17
  import '@tanstack/react-query';
16
18
  import 'react';
17
- import 'crypto-js';
18
- import 'uuid';
19
19
  import 'fast-glob';
20
20
  import 'yazl';
21
21
  import 'socket.io-client';
22
22
  import 'fullscreen-ink';
23
- import { G as GameStatusDetails } from '../../../GameStatus-B_Iw9tYr.js';
23
+ import 'ink-spinner';
24
+ import { G as GameStatusDetails } from '../../../GameStatus-ZSe-qG3y.js';
24
25
  import 'string-length';
25
26
  import 'strip-ansi';
26
27
  import 'open';
27
28
  import '@inkjs/ui';
29
+ import { c as BaseGameCommand } from '../../../baseGameCommand-8VL7xe-O.js';
28
30
  import 'marked';
29
31
  import 'marked-terminal';
30
32
  import 'qrcode';
31
- import { A as AppleAppDetails, a as AppleBundleIdDetails } from '../../../AppleBundleIdDetails-CgleH2pl.js';
32
- import { C as CommandGame } from '../../../CommandGame-er5Ql6hq.js';
33
- import 'chalk';
33
+ import { A as AppleAppDetails, a as AppleBundleIdDetails } from '../../../AppleBundleIdDetails-BJC7GCx_.js';
34
+ import { C as CommandGame } from '../../../CommandGame-CuvuH-z6.js';
34
35
  import '@expo/apple-utils/build/index.js';
35
36
  import 'deepmerge';
36
37
  import 'ini';
37
- import 'fs';
38
- import 'path';
39
38
  import '../../../StatusTable-DzRWcMr4.js';
40
39
  import '../../../Title-BCQtayg6.js';
41
40
  import '../../../NextSteps-DbJHmscQ.js';
42
- import '../../../useAppleApp-szQ_Kg5S.js';
41
+ import 'fs';
42
+ import 'path';
43
+ import '../../../useAppleApp-CR847GWc.js';
43
44
  import '../../../Table-FaNgpyeq.js';
44
- import '../../../useAppleBundleId-BarLcidd.js';
45
- import '../../../Command-7dCv1F9p.js';
45
+ import '../../../useAppleBundleId-BnwPmVEu.js';
46
+ import '../../../Command-Cj6F5B5a.js';
46
47
 
47
48
  class GameIosStatus extends BaseGameCommand {
48
49
  static args = {};
@@ -1,32 +1,33 @@
1
1
  import { Flags } from '@oclif/core';
2
2
  import chalk from 'chalk';
3
+ import { j as isCWDGodotGame, W as WEB_URL, P as Platform, C as CredentialsType, k as getProject } from '../../../baseCommand-CTn3KGH3.js';
4
+ import { B as BaseAuthenticatedCommand, a as getRenderedMarkdown } from '../../../baseGameCommand-8VL7xe-O.js';
3
5
  import 'node:fs';
4
- import 'axios';
5
- import 'crypto-js';
6
- import 'uuid';
7
- import { B as BaseAuthenticatedCommand, o as isCWDGodotGame, b as getRenderedMarkdown, W as WEB_URL, P as Platform, C as CredentialsType } from '../../../index-DHioYOIm.js';
8
- import 'luxon';
9
- import { g as getUserCredentials, a as getProjectCredentials } from '../../../index-C2omlhEs.js';
10
- import 'react/jsx-runtime';
11
- import 'ink';
12
- import 'ink-spinner';
13
- import 'node:crypto';
14
6
  import 'node:path';
7
+ import 'node:crypto';
15
8
  import 'node:readline';
16
9
  import 'node:url';
17
10
  import 'readline-sync';
11
+ import 'luxon';
12
+ import 'axios';
18
13
  import 'isomorphic-git';
19
14
  import '@tanstack/react-query';
20
15
  import 'react';
21
16
  import 'fast-glob';
17
+ import 'uuid';
22
18
  import 'yazl';
23
19
  import 'socket.io-client';
24
20
  import 'fullscreen-ink';
21
+ import 'ink';
22
+ import 'react/jsx-runtime';
23
+ import 'ink-spinner';
25
24
  import 'string-length';
26
25
  import 'strip-ansi';
27
26
  import 'open';
28
27
  import '@inkjs/ui';
29
28
  import 'qrcode';
29
+ import { g as getUserCredentials, a as getProjectCredentials } from '../../../index-BW7z-5sB.js';
30
+ import 'crypto-js';
30
31
  import '@expo/apple-utils/build/index.js';
31
32
  import 'deepmerge';
32
33
  import 'ini';
@@ -101,7 +102,8 @@ class GameIosWizard extends BaseAuthenticatedCommand {
101
102
  command: "game:ios:app:create",
102
103
  async shouldRun() {
103
104
  if (!game) return true;
104
- const hasBundleIdSet = Boolean(game.details?.iosBundleId);
105
+ const project = await getProject(game.id);
106
+ const hasBundleIdSet = Boolean(project.details?.iosBundleId);
105
107
  return !hasBundleIdSet;
106
108
  }
107
109
  },
@@ -2,14 +2,17 @@ import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { Flags } from '@oclif/core';
3
3
  import { render, Box, Text } from 'ink';
4
4
  import { DateTime } from 'luxon';
5
- import { h as BaseGameCommand, H as getProjectJobs, I as getJobSummary, J as getJobStatusColor } from '../../../index-DHioYOIm.js';
5
+ import { y as getProjectJobs } from '../../../baseCommand-CTn3KGH3.js';
6
+ import 'node:fs';
7
+ import 'node:path';
8
+ import 'chalk';
9
+ import { c as BaseGameCommand, e as getJobSummary, f as getJobStatusColor } from '../../../baseGameCommand-8VL7xe-O.js';
6
10
  import 'ink-spinner';
7
11
  import { T as Table } from '../../../Table-FaNgpyeq.js';
8
12
  import { T as Title } from '../../../Title-BCQtayg6.js';
9
13
  import 'react';
10
14
  import '@tanstack/react-query';
11
15
  import 'axios';
12
- import 'node:fs';
13
16
  import 'fast-glob';
14
17
  import 'uuid';
15
18
  import 'yazl';
@@ -19,13 +22,11 @@ import 'string-length';
19
22
  import 'strip-ansi';
20
23
  import 'open';
21
24
  import '@inkjs/ui';
22
- import 'node:path';
23
25
  import 'marked';
24
26
  import 'marked-terminal';
25
27
  import 'qrcode';
26
- import { C as Command } from '../../../Command-7dCv1F9p.js';
28
+ import { C as Command } from '../../../Command-Cj6F5B5a.js';
27
29
  import 'crypto-js';
28
- import 'chalk';
29
30
  import '@expo/apple-utils/build/index.js';
30
31
  import 'node:crypto';
31
32
  import 'node:readline';
@@ -1,11 +1,11 @@
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 { h as BaseGameCommand, K as getJob, L as JobStatus } from '../../../index-DHioYOIm.js';
5
- import 'ink-spinner';
6
- import 'node:crypto';
4
+ import { z as getJob, J as JobStatus } from '../../../baseCommand-CTn3KGH3.js';
7
5
  import 'node:fs';
8
6
  import 'node:path';
7
+ import 'chalk';
8
+ import 'node:crypto';
9
9
  import 'node:readline';
10
10
  import 'node:url';
11
11
  import 'readline-sync';
@@ -19,27 +19,28 @@ import 'uuid';
19
19
  import 'yazl';
20
20
  import 'socket.io-client';
21
21
  import 'fullscreen-ink';
22
- import { J as JobLogTail } from '../../../JobLogTail-BPcQ8ghI.js';
23
- import { J as JobStatusTable } from '../../../JobStatusTable-BmJLzsUN.js';
22
+ import 'ink-spinner';
23
+ import { J as JobLogTail } from '../../../JobLogTail-Da8GuReK.js';
24
+ import { J as JobStatusTable } from '../../../JobStatusTable-DVJjHw97.js';
24
25
  import 'open';
25
26
  import '@inkjs/ui';
27
+ import { c as BaseGameCommand } from '../../../baseGameCommand-8VL7xe-O.js';
26
28
  import 'marked';
27
29
  import 'marked-terminal';
28
30
  import { N as NextSteps } from '../../../NextSteps-DbJHmscQ.js';
29
31
  import 'qrcode';
30
32
  import 'string-length';
31
33
  import 'strip-ansi';
32
- import { C as Command } from '../../../Command-7dCv1F9p.js';
34
+ import { C as Command } from '../../../Command-Cj6F5B5a.js';
33
35
  import 'crypto-js';
34
- import 'chalk';
35
36
  import '@expo/apple-utils/build/index.js';
36
37
  import 'deepmerge';
37
38
  import 'ini';
38
- import 'fs';
39
- import 'path';
40
- import '../../../useWebSocket-h7smqhZQ.js';
39
+ import '../../../useWebSocket-MXDbQHcu.js';
41
40
  import '../../../Title-BCQtayg6.js';
42
41
  import '../../../StatusTable-DzRWcMr4.js';
42
+ import 'fs';
43
+ import 'path';
43
44
 
44
45
  class GameJobStatus extends BaseGameCommand {
45
46
  static args = {
@@ -1,14 +1,17 @@
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, e as getProjects, g as getShortUUID, f as getShortDate } from '../../index-DHioYOIm.js';
4
+ import { g as getProjects, c as getShortDate } from '../../baseCommand-CTn3KGH3.js';
5
+ import { B as BaseAuthenticatedCommand, g as getShortUUID } from '../../baseGameCommand-8VL7xe-O.js';
6
+ import 'node:fs';
7
+ import 'node:path';
8
+ import 'chalk';
5
9
  import 'ink-spinner';
6
10
  import { T as Table } from '../../Table-FaNgpyeq.js';
7
11
  import 'react';
8
12
  import '@tanstack/react-query';
9
13
  import 'axios';
10
14
  import 'luxon';
11
- import 'node:fs';
12
15
  import 'fast-glob';
13
16
  import 'uuid';
14
17
  import 'yazl';
@@ -18,13 +21,11 @@ import 'string-length';
18
21
  import 'strip-ansi';
19
22
  import 'open';
20
23
  import '@inkjs/ui';
21
- import 'node:path';
22
24
  import 'marked';
23
25
  import 'marked-terminal';
24
26
  import 'qrcode';
25
- import { C as Command } from '../../Command-7dCv1F9p.js';
27
+ import { C as Command } from '../../Command-Cj6F5B5a.js';
26
28
  import 'crypto-js';
27
- import 'chalk';
28
29
  import '@expo/apple-utils/build/index.js';
29
30
  import 'node:crypto';
30
31
  import 'node:readline';
@@ -1,7 +1,8 @@
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 { 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-DHioYOIm.js';
4
+ import { a2 as LogLevel, W as WEB_URL, a3 as getShortAuthRequiredUrl, z as getJob, L as downloadBuildById } from '../../baseCommand-CTn3KGH3.js';
5
+ import { C as CommandContext, G as GameContext, w as useSafeInput, M as Markdown, g as getShortUUID, c as BaseGameCommand } from '../../baseGameCommand-8VL7xe-O.js';
5
6
  import 'ink-spinner';
6
7
  import 'node:crypto';
7
8
  import 'node:fs';
@@ -23,26 +24,26 @@ import 'string-length';
23
24
  import 'strip-ansi';
24
25
  import open from 'open';
25
26
  import 'crypto-js';
26
- import { u as useJobWatching, J as JobLogTail } from '../../JobLogTail-BPcQ8ghI.js';
27
- import { J as JobStatusTable } from '../../JobStatusTable-BmJLzsUN.js';
27
+ import { u as useJobWatching, J as JobLogTail } from '../../JobLogTail-Da8GuReK.js';
28
+ import { J as JobStatusTable } from '../../JobStatusTable-DVJjHw97.js';
28
29
  import '@inkjs/ui';
29
- import { u as useShip, J as JobProgress } from '../../JobProgress-CpEatVPs.js';
30
+ import { u as useShip, J as JobProgress } from '../../JobProgress-DltCQpzA.js';
30
31
  import 'qrcode';
31
32
  import 'marked';
32
33
  import 'marked-terminal';
33
- import { C as CommandGame } from '../../CommandGame-er5Ql6hq.js';
34
+ import { C as CommandGame } from '../../CommandGame-CuvuH-z6.js';
34
35
  import 'chalk';
35
36
  import '@expo/apple-utils/build/index.js';
36
37
  import 'deepmerge';
37
38
  import 'ini';
38
39
  import 'fs';
39
40
  import 'path';
40
- import '../../useWebSocket-h7smqhZQ.js';
41
+ import '../../useWebSocket-MXDbQHcu.js';
41
42
  import '../../Title-BCQtayg6.js';
42
43
  import '../../StatusTable-DzRWcMr4.js';
43
44
  import '../../git-BpsfNFZ_.js';
44
45
  import '../../ProgressSpinner-Um6ARKlk.js';
45
- import '../../Command-7dCv1F9p.js';
46
+ import '../../Command-Cj6F5B5a.js';
46
47
 
47
48
  function isNetworkError(exception) {
48
49
  if (!axios.isAxiosError(exception)) return false;
@@ -184,7 +185,7 @@ const Ship = ({ onComplete, onError }) => {
184
185
 
185
186
  class GameShip extends BaseGameCommand {
186
187
  static args = {};
187
- static description = "Builds the app (for all platforms with valid credentials) and ships it to the stores.";
188
+ static description = "Builds and publishes your ShipThis game.";
188
189
  static examples = [
189
190
  "<%= config.bin %> <%= command.id %>",
190
191
  "<%= config.bin %> <%= command.id %> --platform ios",
@@ -192,7 +193,8 @@ class GameShip extends BaseGameCommand {
192
193
  "<%= config.bin %> <%= command.id %> --platform android --download game.aab",
193
194
  "<%= config.bin %> <%= command.id %> --platform android --follow --downloadAPK game.apk",
194
195
  "<%= config.bin %> <%= command.id %> --platform ios --follow --verbose",
195
- "<%= config.bin %> <%= command.id %> --platform ios --useDemoCredentials --download game.ipa"
196
+ "<%= config.bin %> <%= command.id %> --platform ios --useDemoCredentials --download game.ipa",
197
+ "<%= config.bin %> <%= command.id %> --platform android --gameEngineVersion 4.5.1 --skipPublish"
196
198
  ];
197
199
  static flags = {
198
200
  ...BaseGameCommand.flags,
@@ -230,6 +232,10 @@ class GameShip extends BaseGameCommand {
230
232
  dependsOn: ["platform"],
231
233
  description: "Use demo credentials for this build (requires --platform, implies --skipPublish)",
232
234
  required: false
235
+ }),
236
+ gameEngineVersion: Flags.string({
237
+ description: "Override the specified game engine version for this build",
238
+ required: false
233
239
  })
234
240
  };
235
241
  async run() {
@@ -1,26 +1,28 @@
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-DHioYOIm.js';
5
- import 'ink-spinner';
6
- import 'node:crypto';
4
+ import { B as BaseAuthenticatedCommand } from '../../baseGameCommand-8VL7xe-O.js';
7
5
  import 'node:fs';
8
6
  import 'node:path';
7
+ import 'chalk';
8
+ import 'axios';
9
+ import 'crypto-js';
10
+ import 'uuid';
11
+ import '../../baseCommand-CTn3KGH3.js';
12
+ import 'luxon';
13
+ import 'node:crypto';
9
14
  import 'node:readline';
10
15
  import 'node:url';
11
16
  import 'readline-sync';
12
- import 'luxon';
13
- import 'axios';
14
17
  import 'isomorphic-git';
15
18
  import '@tanstack/react-query';
16
19
  import 'react';
17
- import 'crypto-js';
18
- import 'uuid';
19
20
  import 'fast-glob';
20
21
  import 'yazl';
21
22
  import 'socket.io-client';
22
23
  import 'fullscreen-ink';
23
- import { a as GameStatus$1 } from '../../GameStatus-B_Iw9tYr.js';
24
+ import 'ink-spinner';
25
+ import { a as GameStatus$1 } from '../../GameStatus-ZSe-qG3y.js';
24
26
  import 'string-length';
25
27
  import 'strip-ansi';
26
28
  import 'open';
@@ -28,17 +30,16 @@ import '@inkjs/ui';
28
30
  import 'marked';
29
31
  import 'marked-terminal';
30
32
  import 'qrcode';
31
- import { C as CommandGame } from '../../CommandGame-er5Ql6hq.js';
32
- import 'chalk';
33
+ import { C as CommandGame } from '../../CommandGame-CuvuH-z6.js';
34
+ import 'fs';
35
+ import 'path';
33
36
  import '@expo/apple-utils/build/index.js';
34
37
  import 'deepmerge';
35
38
  import 'ini';
36
- import 'fs';
37
- import 'path';
38
39
  import '../../StatusTable-DzRWcMr4.js';
39
40
  import '../../Title-BCQtayg6.js';
40
41
  import '../../NextSteps-DbJHmscQ.js';
41
- import '../../Command-7dCv1F9p.js';
42
+ import '../../Command-Cj6F5B5a.js';
42
43
 
43
44
  class GameStatus extends BaseAuthenticatedCommand {
44
45
  static args = {};
@@ -1,54 +1,55 @@
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 { 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-DHioYOIm.js';
5
- import { Box, Text } from 'ink';
6
- import Spinner from 'ink-spinner';
7
- import 'node:crypto';
4
+ import { k as cacheKeys, C as CommandContext, G as GameContext, u as useBuilds, M as Markdown, g as getShortUUID, w as useSafeInput, z as queryBuilds, n as fetchKeyTestResult, K as KeyTestStatus, p as KeyTestError, j as GameProvider, A as CreateGooglePlayGame, B as BaseAuthenticatedCommand } from '../../baseGameCommand-8VL7xe-O.js';
8
5
  import fs__default from 'node:fs';
9
6
  import 'node:path';
7
+ import 'chalk';
8
+ import axios from 'axios';
9
+ import 'crypto-js';
10
+ import 'uuid';
11
+ import { H as queryClient, p as getAuthedHeaders, o as API_URL, F as castArrayObjectDates, k as getProject, a8 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, C as CredentialsType, M as getGoogleStatus, j as isCWDGodotGame } from '../../baseCommand-CTn3KGH3.js';
12
+ import 'luxon';
13
+ import 'node:crypto';
10
14
  import 'node:readline';
11
15
  import 'node:url';
12
16
  import 'readline-sync';
13
- import 'luxon';
14
- import axios from 'axios';
15
17
  import 'isomorphic-git';
16
18
  import { useMutation, useQuery } from '@tanstack/react-query';
17
19
  import React, { useState, useContext, useEffect, useRef } from 'react';
18
- import 'crypto-js';
19
- import 'uuid';
20
20
  import 'fast-glob';
21
21
  import 'yazl';
22
22
  import 'socket.io-client';
23
+ import { Box, Text } from 'ink';
24
+ import Spinner from 'ink-spinner';
23
25
  import 'string-length';
24
26
  import 'strip-ansi';
25
27
  import 'open';
26
- import { C as ConnectGoogle } from '../../index-DVEYxVsH.js';
28
+ import { C as ConnectGoogle } from '../../index-CuyVBHWc.js';
27
29
  import { TextInput, Alert } from '@inkjs/ui';
28
30
  import 'marked';
29
31
  import 'marked-terminal';
30
32
  import 'qrcode';
31
- import { J as JobLogTail } from '../../JobLogTail-BPcQ8ghI.js';
32
- import { u as useShip, J as JobProgress } from '../../JobProgress-CpEatVPs.js';
33
- import { C as CreateServiceAccountKey } from '../../index-C1XpCT_9.js';
34
- import { C as CreateKeystore } from '../../Create-pLXESvEq.js';
35
- import { I as ImportKeystore } from '../../Import-fIsrfsmr.js';
36
- import { a as getProjectCredentials } from '../../index-C2omlhEs.js';
33
+ import { J as JobLogTail } from '../../JobLogTail-Da8GuReK.js';
34
+ import { u as useShip, J as JobProgress } from '../../JobProgress-DltCQpzA.js';
35
+ import { C as CreateServiceAccountKey } from '../../index-cRnjcGxV.js';
36
+ import { C as CreateKeystore } from '../../Create-pfGYcKu4.js';
37
+ import { I as ImportKeystore } from '../../Import-D046HBaF.js';
38
+ import { a as getProjectCredentials } from '../../index-BW7z-5sB.js';
37
39
  import { T as Title } from '../../Title-BCQtayg6.js';
38
- import { C as Command } from '../../Command-7dCv1F9p.js';
39
- import 'chalk';
40
+ import { C as Command } from '../../Command-Cj6F5B5a.js';
41
+ import 'fs';
42
+ import 'path';
40
43
  import '@expo/apple-utils/build/index.js';
41
44
  import 'deepmerge';
42
45
  import 'ini';
43
- import 'fs';
44
- import 'path';
45
- import '../../useGoogleStatus-zfnjhtNB.js';
46
- import '../../useWebSocket-h7smqhZQ.js';
46
+ import '../../useGoogleStatus-WqPgHteE.js';
47
+ import '../../useWebSocket-MXDbQHcu.js';
47
48
  import '../../git-BpsfNFZ_.js';
48
49
  import '../../ProgressSpinner-Um6ARKlk.js';
49
- import '../../useProjectCredentials-DbynNY96.js';
50
+ import '../../useProjectCredentials-TvlolkId.js';
50
51
  import '../../RunWithSpinner-DucRnFp6.js';
51
- import '../../import-OgFrUsqw.js';
52
+ import '../../import-Dk2ywOVU.js';
52
53
 
53
54
  const useInviteServiceAccount = () => useMutation({
54
55
  async mutationFn({ developerId, projectId }) {
@@ -199,7 +200,8 @@ const CreateGame = (props) => {
199
200
  const config = command.getProjectConfigSafe();
200
201
  setShowForm(true);
201
202
  setIsLoading(false);
202
- const info = getGameInfo(flags, config.project);
203
+ const project = config.project?.id ? await getProject(config.project?.id) : void 0;
204
+ const info = getGameInfo(flags, project);
203
205
  setGameInfo(info);
204
206
  };
205
207
  useEffect(() => {
@@ -505,11 +507,11 @@ const getStepInitialStatus = (step, statusFlags) => {
505
507
  const getStatusFlags = async (cmd) => {
506
508
  const projectConfig = cmd.getProjectConfigSafe();
507
509
  const projectId = projectConfig.project?.id;
508
- const project = Boolean(projectId) && await getProject(projectId);
510
+ const project = Boolean(projectId) && await getProject(`${projectId}`);
509
511
  const hasShipThisProject = Boolean(project);
510
512
  const hasGameName = project && Boolean(project?.name);
511
513
  const hasAndroidPackageName = project && Boolean(project?.details?.androidPackageName);
512
- const projectCredentials = hasShipThisProject ? await getProjectCredentials(project.id) : [];
514
+ const projectCredentials = hasShipThisProject ? await getProjectCredentials(`${projectId}`) : [];
513
515
  const hasAndroidKeystore = projectCredentials.some(
514
516
  (cred) => cred.isActive && cred.platform === Platform.ANDROID && cred.type === CredentialsType.CERTIFICATE
515
517
  );
@@ -518,8 +520,8 @@ const getStatusFlags = async (cmd) => {
518
520
  const hasServiceAccountKey = projectCredentials.some(
519
521
  (cred) => cred.isActive && cred.platform === Platform.ANDROID && cred.type === CredentialsType.KEY
520
522
  );
521
- const buildsResponse = Boolean(projectId) && hasShipThisProject && await queryBuilds({ pageNumber: 0, projectId });
522
- const hasInitialBuild = Boolean(buildsResponse) && buildsResponse.data.some((build) => build.platform === Platform.ANDROID);
523
+ const buildsResponse = projectId && hasShipThisProject ? await queryBuilds({ pageNumber: 0, projectId: `${projectId}` }) : null;
524
+ const hasInitialBuild = Boolean(buildsResponse?.data?.some((build) => build.platform === Platform.ANDROID));
523
525
  const testResult = projectId ? await fetchKeyTestResult({ projectId }) : null;
524
526
  const hasGooglePlayGame = testResult && testResult?.status === KeyTestStatus.SUCCESS || testResult?.status === KeyTestStatus.ERROR && testResult?.error === KeyTestError.NOT_INVITED;
525
527
  const hasInvitedServiceAccount = testResult ? testResult?.status === KeyTestStatus.SUCCESS : false;