shipthis 0.1.37 → 0.1.39

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 (87) hide show
  1. package/README.md +38 -33
  2. package/assets/markdown/ship-success.md.ejs +4 -0
  3. package/dist/{AppleBundleIdDetails-KMzyex1H.js → AppleBundleIdDetails-Ck7iAjMb.js} +3 -3
  4. package/dist/{Command-CHh8RDXK.js → Command-C84QiOWP.js} +1 -1
  5. package/dist/{CommandGame-Rvmsa7b0.js → CommandGame-CsM9GE5Q.js} +2 -2
  6. package/dist/{Create-DInZ_pw-.js → Create-Dx1nEKmS.js} +1 -1
  7. package/dist/{GameStatus-D7ID10tS.js → GameStatus-B4WBgoLs.js} +1 -1
  8. package/dist/{Import-BmO8EYKj.js → Import-BC5XgwRT.js} +2 -2
  9. package/dist/{JobLogTail-CYdceTKL.js → JobLogTail-mBXpeWMu.js} +2 -2
  10. package/dist/{JobProgress-DBCYbWrO.js → JobProgress-KZ6EkMFi.js} +14 -8
  11. package/dist/{JobStatusTable-DhnhY1_i.js → JobStatusTable-BYIxTt0d.js} +2 -2
  12. package/dist/{ProjectCredentialsTable-BDYVYqAq.js → ProjectCredentialsTable-DSy1YIWX.js} +2 -2
  13. package/dist/{UserCredentialsTable-cDPvjF-F.js → UserCredentialsTable-qNByRE84.js} +1 -1
  14. package/dist/{baseAppleCommand-CQ5dOna7.js → baseAppleCommand-CdROzhyU.js} +1 -1
  15. package/dist/{baseGameAndroidCommand-D4ryZS6A.js → baseGameAndroidCommand-B21zS0MN.js} +1 -1
  16. package/dist/commands/apiKey/create.js +2 -2
  17. package/dist/commands/apiKey/list.js +2 -2
  18. package/dist/commands/apiKey/revoke.js +2 -2
  19. package/dist/commands/apple/apiKey/create.js +5 -5
  20. package/dist/commands/apple/apiKey/delete.js +3 -3
  21. package/dist/commands/apple/apiKey/export.js +4 -4
  22. package/dist/commands/apple/apiKey/import.js +4 -4
  23. package/dist/commands/apple/apiKey/status.js +3 -3
  24. package/dist/commands/apple/certificate/create.js +5 -5
  25. package/dist/commands/apple/certificate/delete.js +3 -3
  26. package/dist/commands/apple/certificate/export.js +4 -4
  27. package/dist/commands/apple/certificate/import.js +4 -4
  28. package/dist/commands/apple/certificate/status.js +3 -3
  29. package/dist/commands/apple/login.js +1 -1
  30. package/dist/commands/apple/status.js +2 -2
  31. package/dist/commands/dashboard.js +1 -1
  32. package/dist/commands/game/android/apiKey/connect.js +7 -7
  33. package/dist/commands/game/android/apiKey/create.js +9 -9
  34. package/dist/commands/game/android/apiKey/delete.js +3 -3
  35. package/dist/commands/game/android/apiKey/export.js +5 -5
  36. package/dist/commands/game/android/apiKey/import.js +5 -5
  37. package/dist/commands/game/android/apiKey/invite.js +2 -2
  38. package/dist/commands/game/android/apiKey/policy.js +2 -2
  39. package/dist/commands/game/android/apiKey/status.js +5 -5
  40. package/dist/commands/game/android/keyStore/create.js +6 -6
  41. package/dist/commands/game/android/keyStore/delete.js +3 -3
  42. package/dist/commands/game/android/keyStore/export.js +4 -4
  43. package/dist/commands/game/android/keyStore/import.js +7 -7
  44. package/dist/commands/game/android/keyStore/status.js +4 -4
  45. package/dist/commands/game/android/status.js +1 -1
  46. package/dist/commands/game/build/download.js +2 -2
  47. package/dist/commands/game/build/list.js +3 -3
  48. package/dist/commands/game/create.js +2 -1
  49. package/dist/commands/game/details.js +8 -5
  50. package/dist/commands/game/export.js +1 -1
  51. package/dist/commands/game/ios/app/addTester.js +3 -3
  52. package/dist/commands/game/ios/app/create.js +2 -2
  53. package/dist/commands/game/ios/app/status.js +5 -5
  54. package/dist/commands/game/ios/app/sync.js +3 -3
  55. package/dist/commands/game/ios/profile/create.js +5 -5
  56. package/dist/commands/game/ios/profile/delete.js +3 -3
  57. package/dist/commands/game/ios/profile/export.js +4 -4
  58. package/dist/commands/game/ios/profile/import.js +4 -4
  59. package/dist/commands/game/ios/profile/status.js +5 -5
  60. package/dist/commands/game/ios/status.js +7 -7
  61. package/dist/commands/game/ios/wizard.js +9 -8
  62. package/dist/commands/game/job/list.js +2 -2
  63. package/dist/commands/game/job/status.js +5 -5
  64. package/dist/commands/game/list.js +2 -2
  65. package/dist/commands/game/ship.js +23 -11
  66. package/dist/commands/game/status.js +4 -4
  67. package/dist/commands/game/wizard.js +19 -18
  68. package/dist/commands/internal/fastlane.js +1 -1
  69. package/dist/commands/internal/readme.js +1 -1
  70. package/dist/commands/login.js +1 -1
  71. package/dist/commands/status.js +2 -2
  72. package/dist/{export-DujIwhJw.js → export-BtUjg3Tl.js} +1 -1
  73. package/dist/{import-DGCqCAcC.js → import-BYSkF-tX.js} +1 -1
  74. package/dist/{index-BPh_qt7t.js → index-CcGRePRU.js} +4 -4
  75. package/dist/{index-9LxGafAo.js → index-CgGLBt2v.js} +3 -3
  76. package/dist/{index-CmuXyPed.js → index-Cv-92xRd.js} +12 -5
  77. package/dist/{index-CNsmEDXi.js → index-Du6l7ZyV.js} +1 -1
  78. package/dist/{upload-D4x4yCia.js → upload-LoVBuJbT.js} +1 -1
  79. package/dist/{useAppleApp-taaewPSf.js → useAppleApp-Bg0x6s97.js} +1 -1
  80. package/dist/{useAppleBundleId-BeGViMe7.js → useAppleBundleId-CEOssLqN.js} +1 -1
  81. package/dist/{useAppleProfiles-1TtO0aO6.js → useAppleProfiles-CHf_gHdZ.js} +1 -1
  82. package/dist/{useGoogleStatus-CSsxEvX7.js → useGoogleStatus-Ch36GbVo.js} +1 -1
  83. package/dist/{useProjectCredentials-Cm50WMZU.js → useProjectCredentials-CsQWPdyo.js} +1 -1
  84. package/dist/{useWebSocket-BVfn36be.js → useWebSocket-CWeaaLqi.js} +1 -1
  85. package/docs/game/details.md +13 -10
  86. package/docs/game/ship.md +37 -13
  87. package/package.json +1 -1
@@ -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 { h as BaseGameCommand, c as getInput, n as BetaGroup } from '../../../../index-CmuXyPed.js';
4
+ import { h as BaseGameCommand, c as getInput, n as BetaGroup } from '../../../../index-Cv-92xRd.js';
5
5
  import 'ink-spinner';
6
6
  import 'react';
7
7
  import 'node:fs';
@@ -10,7 +10,7 @@ import 'crypto-js';
10
10
  import 'uuid';
11
11
  import 'luxon';
12
12
  import '@tanstack/react-query';
13
- import { q as queryAppleApp } from '../../../../useAppleApp-taaewPSf.js';
13
+ import { q as queryAppleApp } from '../../../../useAppleApp-Bg0x6s97.js';
14
14
  import 'fast-glob';
15
15
  import 'yazl';
16
16
  import 'socket.io-client';
@@ -24,7 +24,7 @@ import 'marked';
24
24
  import 'marked-terminal';
25
25
  import 'qrcode';
26
26
  import { R as RunWithSpinner } from '../../../../RunWithSpinner-DucRnFp6.js';
27
- import { C as Command } from '../../../../Command-CHh8RDXK.js';
27
+ import { C as Command } from '../../../../Command-C84QiOWP.js';
28
28
  import 'chalk';
29
29
  import '@expo/apple-utils/build/index.js';
30
30
  import 'node:crypto';
@@ -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 { h as BaseGameCommand, c as getInput, i as generatePackageName, j as getGodotAppleBundleIdentifier, k as BundleId, l as App } from '../../../../index-CmuXyPed.js';
4
+ import { h as BaseGameCommand, c as getInput, i as generatePackageName, j as getGodotAppleBundleIdentifier, k as BundleId, l as App } from '../../../../index-Cv-92xRd.js';
5
5
  import 'ink-spinner';
6
6
  import 'react';
7
7
  import 'node:fs';
@@ -23,7 +23,7 @@ import 'marked';
23
23
  import 'marked-terminal';
24
24
  import 'qrcode';
25
25
  import { R as RunWithSpinner } from '../../../../RunWithSpinner-DucRnFp6.js';
26
- import { C as Command } from '../../../../Command-CHh8RDXK.js';
26
+ import { C as Command } from '../../../../Command-C84QiOWP.js';
27
27
  import 'chalk';
28
28
  import '@expo/apple-utils/build/index.js';
29
29
  import 'node:crypto';
@@ -1,7 +1,7 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { Flags } from '@oclif/core';
3
3
  import { render } from 'ink';
4
- import { h as BaseGameCommand } from '../../../../index-CmuXyPed.js';
4
+ import { h as BaseGameCommand } from '../../../../index-Cv-92xRd.js';
5
5
  import 'ink-spinner';
6
6
  import 'node:crypto';
7
7
  import 'node:fs';
@@ -28,8 +28,8 @@ import 'marked';
28
28
  import 'marked-terminal';
29
29
  import { N as NextSteps } from '../../../../NextSteps-DbJHmscQ.js';
30
30
  import 'qrcode';
31
- import { A as AppleAppDetails, a as AppleBundleIdDetails } from '../../../../AppleBundleIdDetails-KMzyex1H.js';
32
- import { C as Command } from '../../../../Command-CHh8RDXK.js';
31
+ import { A as AppleAppDetails, a as AppleBundleIdDetails } from '../../../../AppleBundleIdDetails-Ck7iAjMb.js';
32
+ import { C as Command } from '../../../../Command-C84QiOWP.js';
33
33
  import 'chalk';
34
34
  import '@expo/apple-utils/build/index.js';
35
35
  import 'deepmerge';
@@ -37,9 +37,9 @@ import 'ini';
37
37
  import 'fs';
38
38
  import 'path';
39
39
  import '../../../../Title-BCQtayg6.js';
40
- import '../../../../useAppleApp-taaewPSf.js';
40
+ import '../../../../useAppleApp-Bg0x6s97.js';
41
41
  import '../../../../Table-FaNgpyeq.js';
42
- import '../../../../useAppleBundleId-BeGViMe7.js';
42
+ import '../../../../useAppleBundleId-CEOssLqN.js';
43
43
 
44
44
  class GameIosAppStatus extends BaseGameCommand {
45
45
  static args = {};
@@ -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 { h as BaseGameCommand, m as CapabilityTypeOption } from '../../../../index-CmuXyPed.js';
4
+ import { h as BaseGameCommand, m as CapabilityTypeOption } from '../../../../index-Cv-92xRd.js';
5
5
  import 'ink-spinner';
6
6
  import 'node:crypto';
7
7
  import 'node:fs';
@@ -16,7 +16,7 @@ import '@tanstack/react-query';
16
16
  import 'react';
17
17
  import 'crypto-js';
18
18
  import 'uuid';
19
- import { f as fetchBundleId } from '../../../../useAppleBundleId-BeGViMe7.js';
19
+ import { f as fetchBundleId } from '../../../../useAppleBundleId-CEOssLqN.js';
20
20
  import 'fast-glob';
21
21
  import 'yazl';
22
22
  import 'socket.io-client';
@@ -29,7 +29,7 @@ import 'marked';
29
29
  import 'marked-terminal';
30
30
  import 'qrcode';
31
31
  import { R as RunWithSpinner } from '../../../../RunWithSpinner-DucRnFp6.js';
32
- import { C as Command } from '../../../../Command-CHh8RDXK.js';
32
+ import { C as Command } from '../../../../Command-C84QiOWP.js';
33
33
  import 'chalk';
34
34
  import '@expo/apple-utils/build/index.js';
35
35
  import 'deepmerge';
@@ -5,9 +5,9 @@ import { render } from 'ink';
5
5
  import 'node:fs';
6
6
  import 'crypto-js';
7
7
  import 'uuid';
8
- import { h as BaseGameCommand, P as Platform, C as CredentialsType, d as Certificate, p as CertificateType, q as Profile, r as ProfileType } from '../../../../index-CmuXyPed.js';
8
+ import { h as BaseGameCommand, P as Platform, C as CredentialsType, d as Certificate, q as CertificateType, r as Profile, s as ProfileType } from '../../../../index-Cv-92xRd.js';
9
9
  import 'luxon';
10
- import { a as getProjectCredentials, g as getUserCredentials } from '../../../../index-CNsmEDXi.js';
10
+ import { a as getProjectCredentials, g as getUserCredentials } from '../../../../index-Du6l7ZyV.js';
11
11
  import 'ink-spinner';
12
12
  import 'node:crypto';
13
13
  import 'node:path';
@@ -17,7 +17,7 @@ import 'readline-sync';
17
17
  import 'isomorphic-git';
18
18
  import '@tanstack/react-query';
19
19
  import 'react';
20
- import { f as fetchBundleId } from '../../../../useAppleBundleId-BeGViMe7.js';
20
+ import { f as fetchBundleId } from '../../../../useAppleBundleId-CEOssLqN.js';
21
21
  import 'fast-glob';
22
22
  import 'yazl';
23
23
  import 'socket.io-client';
@@ -30,8 +30,8 @@ import 'marked';
30
30
  import 'marked-terminal';
31
31
  import 'qrcode';
32
32
  import { R as RunWithSpinner } from '../../../../RunWithSpinner-DucRnFp6.js';
33
- import { C as Command } from '../../../../Command-CHh8RDXK.js';
34
- import { a as uploadProjectCredentials } from '../../../../upload-D4x4yCia.js';
33
+ import { C as Command } from '../../../../Command-C84QiOWP.js';
34
+ import { a as uploadProjectCredentials } from '../../../../upload-LoVBuJbT.js';
35
35
  import 'chalk';
36
36
  import '@expo/apple-utils/build/index.js';
37
37
  import 'deepmerge';
@@ -1,17 +1,17 @@
1
1
  import { Flags } from '@oclif/core';
2
- import { h as BaseGameCommand, P as Platform, C as CredentialsType, g as getShortUUID, b as getRenderedMarkdown, c as getInput } from '../../../../index-CmuXyPed.js';
2
+ import { h as BaseGameCommand, P as Platform, C as CredentialsType, g as getShortUUID, b as getRenderedMarkdown, c as getInput } from '../../../../index-Cv-92xRd.js';
3
3
  import 'node:fs';
4
4
  import 'axios';
5
5
  import 'crypto-js';
6
6
  import 'uuid';
7
7
  import 'luxon';
8
- import { a as getProjectCredentials, b as deleteProjectCredential } from '../../../../index-CNsmEDXi.js';
8
+ import { a as getProjectCredentials, b as deleteProjectCredential } from '../../../../index-Du6l7ZyV.js';
9
9
  import 'react/jsx-runtime';
10
10
  import 'ink';
11
11
  import 'ink-spinner';
12
12
  import 'react';
13
13
  import '@tanstack/react-query';
14
- import { q as queryAppleProfiles } from '../../../../useAppleProfiles-1TtO0aO6.js';
14
+ import { q as queryAppleProfiles } from '../../../../useAppleProfiles-CHf_gHdZ.js';
15
15
  import 'fast-glob';
16
16
  import 'yazl';
17
17
  import 'socket.io-client';
@@ -2,8 +2,8 @@ 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-CNsmEDXi.js';
6
- import { h as BaseGameCommand, P as Platform, C as CredentialsType } from '../../../../index-CmuXyPed.js';
5
+ import { a as getProjectCredentials } from '../../../../index-Du6l7ZyV.js';
6
+ import { h as BaseGameCommand, P as Platform, C as CredentialsType } from '../../../../index-Cv-92xRd.js';
7
7
  import 'ink-spinner';
8
8
  import 'node:crypto';
9
9
  import 'node:path';
@@ -29,8 +29,8 @@ import 'marked';
29
29
  import 'marked-terminal';
30
30
  import 'qrcode';
31
31
  import { R as RunWithSpinner } from '../../../../RunWithSpinner-DucRnFp6.js';
32
- import { C as Command } from '../../../../Command-CHh8RDXK.js';
33
- import { e as exportCredential } from '../../../../export-DujIwhJw.js';
32
+ import { C as Command } from '../../../../Command-C84QiOWP.js';
33
+ import { e as exportCredential } from '../../../../export-BtUjg3Tl.js';
34
34
  import 'chalk';
35
35
  import '@expo/apple-utils/build/index.js';
36
36
  import 'deepmerge';
@@ -2,8 +2,8 @@ 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-CNsmEDXi.js';
6
- import { h as BaseGameCommand, P as Platform, C as CredentialsType } from '../../../../index-CmuXyPed.js';
5
+ import { a as getProjectCredentials } from '../../../../index-Du6l7ZyV.js';
6
+ import { h as BaseGameCommand, P as Platform, C as CredentialsType } from '../../../../index-Cv-92xRd.js';
7
7
  import 'ink-spinner';
8
8
  import 'node:crypto';
9
9
  import 'node:path';
@@ -29,8 +29,8 @@ import 'marked';
29
29
  import 'marked-terminal';
30
30
  import 'qrcode';
31
31
  import { R as RunWithSpinner } from '../../../../RunWithSpinner-DucRnFp6.js';
32
- import { C as Command } from '../../../../Command-CHh8RDXK.js';
33
- import { i as importCredential } from '../../../../import-DGCqCAcC.js';
32
+ import { C as Command } from '../../../../Command-C84QiOWP.js';
33
+ import { i as importCredential } from '../../../../import-BYSkF-tX.js';
34
34
  import 'chalk';
35
35
  import '@expo/apple-utils/build/index.js';
36
36
  import 'deepmerge';
@@ -1,7 +1,7 @@
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-CmuXyPed.js';
4
+ import { C as CredentialsType, P as Platform, h as BaseGameCommand } from '../../../../index-Cv-92xRd.js';
5
5
  import Spinner from 'ink-spinner';
6
6
  import 'node:crypto';
7
7
  import 'node:fs';
@@ -22,18 +22,18 @@ import 'socket.io-client';
22
22
  import 'fullscreen-ink';
23
23
  import 'string-length';
24
24
  import 'strip-ansi';
25
- import { P as ProjectCredentialsTable } from '../../../../ProjectCredentialsTable-BDYVYqAq.js';
25
+ import { P as ProjectCredentialsTable } from '../../../../ProjectCredentialsTable-DSy1YIWX.js';
26
26
  import 'open';
27
27
  import '@inkjs/ui';
28
28
  import 'marked';
29
29
  import 'marked-terminal';
30
30
  import 'qrcode';
31
- import { u as useAppleProfiles, c as canAppleProfileBeUsed, g as getAppleProfileSummary } from '../../../../useAppleProfiles-1TtO0aO6.js';
32
- import { u as useProjectCredentials } from '../../../../useProjectCredentials-Cm50WMZU.js';
31
+ import { u as useAppleProfiles, c as canAppleProfileBeUsed, g as getAppleProfileSummary } from '../../../../useAppleProfiles-CHf_gHdZ.js';
32
+ import { u as useProjectCredentials } from '../../../../useProjectCredentials-CsQWPdyo.js';
33
33
  import { T as Table } from '../../../../Table-FaNgpyeq.js';
34
34
  import { T as Title } from '../../../../Title-BCQtayg6.js';
35
35
  import { N as NextSteps } from '../../../../NextSteps-DbJHmscQ.js';
36
- import { C as Command } from '../../../../Command-CHh8RDXK.js';
36
+ import { C as Command } from '../../../../Command-C84QiOWP.js';
37
37
  import 'chalk';
38
38
  import '@expo/apple-utils/build/index.js';
39
39
  import 'deepmerge';
@@ -1,7 +1,7 @@
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-CmuXyPed.js';
4
+ import { h as BaseGameCommand, P as Platform } from '../../../index-Cv-92xRd.js';
5
5
  import 'ink-spinner';
6
6
  import 'node:crypto';
7
7
  import 'node:fs';
@@ -20,7 +20,7 @@ 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-D7ID10tS.js';
23
+ import { G as GameStatusDetails } from '../../../GameStatus-B4WBgoLs.js';
24
24
  import 'string-length';
25
25
  import 'strip-ansi';
26
26
  import 'open';
@@ -28,8 +28,8 @@ import '@inkjs/ui';
28
28
  import 'marked';
29
29
  import 'marked-terminal';
30
30
  import 'qrcode';
31
- import { A as AppleAppDetails, a as AppleBundleIdDetails } from '../../../AppleBundleIdDetails-KMzyex1H.js';
32
- import { C as CommandGame } from '../../../CommandGame-Rvmsa7b0.js';
31
+ import { A as AppleAppDetails, a as AppleBundleIdDetails } from '../../../AppleBundleIdDetails-Ck7iAjMb.js';
32
+ import { C as CommandGame } from '../../../CommandGame-CsM9GE5Q.js';
33
33
  import 'chalk';
34
34
  import '@expo/apple-utils/build/index.js';
35
35
  import 'deepmerge';
@@ -39,10 +39,10 @@ import 'path';
39
39
  import '../../../StatusTable-DzRWcMr4.js';
40
40
  import '../../../Title-BCQtayg6.js';
41
41
  import '../../../NextSteps-DbJHmscQ.js';
42
- import '../../../useAppleApp-taaewPSf.js';
42
+ import '../../../useAppleApp-Bg0x6s97.js';
43
43
  import '../../../Table-FaNgpyeq.js';
44
- import '../../../useAppleBundleId-BeGViMe7.js';
45
- import '../../../Command-CHh8RDXK.js';
44
+ import '../../../useAppleBundleId-CEOssLqN.js';
45
+ import '../../../Command-C84QiOWP.js';
46
46
 
47
47
  class GameIosStatus extends BaseGameCommand {
48
48
  static args = {};
@@ -1,24 +1,22 @@
1
1
  import { Flags } from '@oclif/core';
2
2
  import chalk from 'chalk';
3
- 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-CmuXyPed.js';
8
- import 'luxon';
9
- import { g as getUserCredentials, a as getProjectCredentials } from '../../../index-CNsmEDXi.js';
3
+ import { B as BaseAuthenticatedCommand, o as isCWDGodotGame, b as getRenderedMarkdown, W as WEB_URL, P as Platform, C as CredentialsType, p as getProject } from '../../../index-Cv-92xRd.js';
10
4
  import 'react/jsx-runtime';
11
5
  import 'ink';
12
6
  import 'ink-spinner';
13
7
  import 'node:crypto';
8
+ import 'node:fs';
14
9
  import 'node:path';
15
10
  import 'node:readline';
16
11
  import 'node:url';
17
12
  import 'readline-sync';
13
+ import 'luxon';
14
+ import 'axios';
18
15
  import 'isomorphic-git';
19
16
  import '@tanstack/react-query';
20
17
  import 'react';
21
18
  import 'fast-glob';
19
+ import 'uuid';
22
20
  import 'yazl';
23
21
  import 'socket.io-client';
24
22
  import 'fullscreen-ink';
@@ -27,6 +25,8 @@ import 'strip-ansi';
27
25
  import 'open';
28
26
  import '@inkjs/ui';
29
27
  import 'qrcode';
28
+ import { g as getUserCredentials, a as getProjectCredentials } from '../../../index-Du6l7ZyV.js';
29
+ import 'crypto-js';
30
30
  import '@expo/apple-utils/build/index.js';
31
31
  import 'deepmerge';
32
32
  import 'ini';
@@ -101,7 +101,8 @@ class GameIosWizard extends BaseAuthenticatedCommand {
101
101
  command: "game:ios:app:create",
102
102
  async shouldRun() {
103
103
  if (!game) return true;
104
- const hasBundleIdSet = Boolean(game.details?.iosBundleId);
104
+ const project = await getProject(game.id);
105
+ const hasBundleIdSet = Boolean(project.details?.iosBundleId);
105
106
  return !hasBundleIdSet;
106
107
  }
107
108
  },
@@ -2,7 +2,7 @@ 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-CmuXyPed.js';
5
+ import { h as BaseGameCommand, I as getProjectJobs, J as getJobSummary, K as getJobStatusColor } from '../../../index-Cv-92xRd.js';
6
6
  import 'ink-spinner';
7
7
  import { T as Table } from '../../../Table-FaNgpyeq.js';
8
8
  import { T as Title } from '../../../Title-BCQtayg6.js';
@@ -23,7 +23,7 @@ import 'node:path';
23
23
  import 'marked';
24
24
  import 'marked-terminal';
25
25
  import 'qrcode';
26
- import { C as Command } from '../../../Command-CHh8RDXK.js';
26
+ import { C as Command } from '../../../Command-C84QiOWP.js';
27
27
  import 'crypto-js';
28
28
  import 'chalk';
29
29
  import '@expo/apple-utils/build/index.js';
@@ -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 { h as BaseGameCommand, K as getJob, L as JobStatus } from '../../../index-CmuXyPed.js';
4
+ import { h as BaseGameCommand, L as getJob, M as JobStatus } from '../../../index-Cv-92xRd.js';
5
5
  import 'ink-spinner';
6
6
  import 'node:crypto';
7
7
  import 'node:fs';
@@ -19,8 +19,8 @@ import 'uuid';
19
19
  import 'yazl';
20
20
  import 'socket.io-client';
21
21
  import 'fullscreen-ink';
22
- import { J as JobLogTail } from '../../../JobLogTail-CYdceTKL.js';
23
- import { J as JobStatusTable } from '../../../JobStatusTable-DhnhY1_i.js';
22
+ import { J as JobLogTail } from '../../../JobLogTail-mBXpeWMu.js';
23
+ import { J as JobStatusTable } from '../../../JobStatusTable-BYIxTt0d.js';
24
24
  import 'open';
25
25
  import '@inkjs/ui';
26
26
  import 'marked';
@@ -29,7 +29,7 @@ import { N as NextSteps } from '../../../NextSteps-DbJHmscQ.js';
29
29
  import 'qrcode';
30
30
  import 'string-length';
31
31
  import 'strip-ansi';
32
- import { C as Command } from '../../../Command-CHh8RDXK.js';
32
+ import { C as Command } from '../../../Command-C84QiOWP.js';
33
33
  import 'crypto-js';
34
34
  import 'chalk';
35
35
  import '@expo/apple-utils/build/index.js';
@@ -37,7 +37,7 @@ import 'deepmerge';
37
37
  import 'ini';
38
38
  import 'fs';
39
39
  import 'path';
40
- import '../../../useWebSocket-BVfn36be.js';
40
+ import '../../../useWebSocket-CWeaaLqi.js';
41
41
  import '../../../Title-BCQtayg6.js';
42
42
  import '../../../StatusTable-DzRWcMr4.js';
43
43
 
@@ -1,7 +1,7 @@
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-CmuXyPed.js';
4
+ import { B as BaseAuthenticatedCommand, e as getProjects, g as getShortUUID, f as getShortDate } from '../../index-Cv-92xRd.js';
5
5
  import 'ink-spinner';
6
6
  import { T as Table } from '../../Table-FaNgpyeq.js';
7
7
  import 'react';
@@ -22,7 +22,7 @@ import 'node:path';
22
22
  import 'marked';
23
23
  import 'marked-terminal';
24
24
  import 'qrcode';
25
- import { C as Command } from '../../Command-CHh8RDXK.js';
25
+ import { C as Command } from '../../Command-C84QiOWP.js';
26
26
  import 'crypto-js';
27
27
  import 'chalk';
28
28
  import '@expo/apple-utils/build/index.js';
@@ -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 { 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';
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, L as getJob, a1 as downloadBuildById } from '../../index-Cv-92xRd.js';
5
5
  import 'ink-spinner';
6
6
  import 'node:crypto';
7
7
  import 'node:fs';
@@ -23,26 +23,26 @@ import 'string-length';
23
23
  import 'strip-ansi';
24
24
  import open from 'open';
25
25
  import 'crypto-js';
26
- import { u as useJobWatching, J as JobLogTail } from '../../JobLogTail-CYdceTKL.js';
27
- import { J as JobStatusTable } from '../../JobStatusTable-DhnhY1_i.js';
26
+ import { u as useJobWatching, J as JobLogTail } from '../../JobLogTail-mBXpeWMu.js';
27
+ import { J as JobStatusTable } from '../../JobStatusTable-BYIxTt0d.js';
28
28
  import '@inkjs/ui';
29
- import { u as useShip, J as JobProgress } from '../../JobProgress-DBCYbWrO.js';
29
+ import { u as useShip, J as JobProgress } from '../../JobProgress-KZ6EkMFi.js';
30
30
  import 'qrcode';
31
31
  import 'marked';
32
32
  import 'marked-terminal';
33
- import { C as CommandGame } from '../../CommandGame-Rvmsa7b0.js';
33
+ import { C as CommandGame } from '../../CommandGame-CsM9GE5Q.js';
34
34
  import 'chalk';
35
35
  import '@expo/apple-utils/build/index.js';
36
36
  import 'deepmerge';
37
37
  import 'ini';
38
38
  import 'fs';
39
39
  import 'path';
40
- import '../../useWebSocket-BVfn36be.js';
40
+ import '../../useWebSocket-CWeaaLqi.js';
41
41
  import '../../Title-BCQtayg6.js';
42
42
  import '../../StatusTable-DzRWcMr4.js';
43
43
  import '../../git-BpsfNFZ_.js';
44
44
  import '../../ProgressSpinner-Um6ARKlk.js';
45
- import '../../Command-CHh8RDXK.js';
45
+ import '../../Command-C84QiOWP.js';
46
46
 
47
47
  function isNetworkError(exception) {
48
48
  if (!axios.isAxiosError(exception)) return false;
@@ -161,7 +161,8 @@ const Ship = ({ onComplete, onError }) => {
161
161
  filename: "ship-success.md.ejs",
162
162
  templateVars: {
163
163
  gameBuildsUrl: `${WEB_URL}games/${getShortUUID(gameId)}/builds`,
164
- wasPublished: !flags?.skipPublish
164
+ wasPublished: !(flags?.skipPublish || flags?.useDemoCredentials),
165
+ usedDemoCredentials: !!flags?.useDemoCredentials
165
166
  }
166
167
  }
167
168
  ),
@@ -183,14 +184,16 @@ const Ship = ({ onComplete, onError }) => {
183
184
 
184
185
  class GameShip extends BaseGameCommand {
185
186
  static args = {};
186
- static description = "Builds the app (for all platforms with valid credentials) and ships it to the stores.";
187
+ static description = "Builds and publishes your ShipThis game.";
187
188
  static examples = [
188
189
  "<%= config.bin %> <%= command.id %>",
189
190
  "<%= config.bin %> <%= command.id %> --platform ios",
190
191
  "<%= config.bin %> <%= command.id %> --platform android --skipPublish",
191
192
  "<%= config.bin %> <%= command.id %> --platform android --download game.aab",
192
193
  "<%= config.bin %> <%= command.id %> --platform android --follow --downloadAPK game.apk",
193
- "<%= config.bin %> <%= command.id %> --platform ios --follow --verbose"
194
+ "<%= 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 android --gameEngineVersion 4.5.1 --skipPublish"
194
197
  ];
195
198
  static flags = {
196
199
  ...BaseGameCommand.flags,
@@ -206,7 +209,7 @@ class GameShip extends BaseGameCommand {
206
209
  }),
207
210
  follow: Flags.boolean({
208
211
  dependsOn: ["platform"],
209
- description: "Follow the job logs in real-time. Requires --platform to be specified.",
212
+ description: "Follow the job logs in real-time (requires --platform)",
210
213
  required: false
211
214
  }),
212
215
  platform: Flags.string({
@@ -223,6 +226,15 @@ class GameShip extends BaseGameCommand {
223
226
  default: false,
224
227
  description: "Enable verbose logging",
225
228
  required: false
229
+ }),
230
+ useDemoCredentials: Flags.boolean({
231
+ dependsOn: ["platform"],
232
+ description: "Use demo credentials for this build (requires --platform, implies --skipPublish)",
233
+ required: false
234
+ }),
235
+ gameEngineVersion: Flags.string({
236
+ description: "Override the specified game engine version for this build",
237
+ required: false
226
238
  })
227
239
  };
228
240
  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-CmuXyPed.js';
4
+ import { B as BaseAuthenticatedCommand } from '../../index-Cv-92xRd.js';
5
5
  import 'ink-spinner';
6
6
  import 'node:crypto';
7
7
  import 'node:fs';
@@ -20,7 +20,7 @@ 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-D7ID10tS.js';
23
+ import { a as GameStatus$1 } from '../../GameStatus-B4WBgoLs.js';
24
24
  import 'string-length';
25
25
  import 'strip-ansi';
26
26
  import 'open';
@@ -28,7 +28,7 @@ import '@inkjs/ui';
28
28
  import 'marked';
29
29
  import 'marked-terminal';
30
30
  import 'qrcode';
31
- import { C as CommandGame } from '../../CommandGame-Rvmsa7b0.js';
31
+ import { C as CommandGame } from '../../CommandGame-CsM9GE5Q.js';
32
32
  import 'chalk';
33
33
  import '@expo/apple-utils/build/index.js';
34
34
  import 'deepmerge';
@@ -38,7 +38,7 @@ import 'path';
38
38
  import '../../StatusTable-DzRWcMr4.js';
39
39
  import '../../Title-BCQtayg6.js';
40
40
  import '../../NextSteps-DbJHmscQ.js';
41
- import '../../Command-CHh8RDXK.js';
41
+ import '../../Command-C84QiOWP.js';
42
42
 
43
43
  class GameStatus extends BaseAuthenticatedCommand {
44
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 { 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';
4
+ import { X as queryClient, a0 as cacheKeys, u as getAuthedHeaders, t as API_URL, V as castArrayObjectDates, S as CommandContext, R as GameContext, p as getProject, aC as updateProject, y as getGodotVersion, x as GameEngine, z as createProject, E as DEFAULT_SHIPPED_FILES_GLOBS, F as DEFAULT_IGNORED_FILES_GLOBS, aq as useBuilds, P as Platform, M as JobStatus, au as Markdown, W as WEB_URL, g as getShortUUID, at as useSafeInput, 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-Cv-92xRd.js';
5
5
  import { Box, Text } from 'ink';
6
6
  import Spinner from 'ink-spinner';
7
7
  import 'node:crypto';
@@ -23,32 +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-9LxGafAo.js';
26
+ import { C as ConnectGoogle } from '../../index-CgGLBt2v.js';
27
27
  import { TextInput, Alert } from '@inkjs/ui';
28
28
  import 'marked';
29
29
  import 'marked-terminal';
30
30
  import 'qrcode';
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';
31
+ import { J as JobLogTail } from '../../JobLogTail-mBXpeWMu.js';
32
+ import { u as useShip, J as JobProgress } from '../../JobProgress-KZ6EkMFi.js';
33
+ import { C as CreateServiceAccountKey } from '../../index-CcGRePRU.js';
34
+ import { C as CreateKeystore } from '../../Create-Dx1nEKmS.js';
35
+ import { I as ImportKeystore } from '../../Import-BC5XgwRT.js';
36
+ import { a as getProjectCredentials } from '../../index-Du6l7ZyV.js';
37
37
  import { T as Title } from '../../Title-BCQtayg6.js';
38
- import { C as Command } from '../../Command-CHh8RDXK.js';
38
+ import { C as Command } from '../../Command-C84QiOWP.js';
39
39
  import 'chalk';
40
40
  import '@expo/apple-utils/build/index.js';
41
41
  import 'deepmerge';
42
42
  import 'ini';
43
43
  import 'fs';
44
44
  import 'path';
45
- import '../../useGoogleStatus-CSsxEvX7.js';
46
- import '../../useWebSocket-BVfn36be.js';
45
+ import '../../useGoogleStatus-Ch36GbVo.js';
46
+ import '../../useWebSocket-CWeaaLqi.js';
47
47
  import '../../git-BpsfNFZ_.js';
48
48
  import '../../ProgressSpinner-Um6ARKlk.js';
49
- import '../../useProjectCredentials-Cm50WMZU.js';
49
+ import '../../useProjectCredentials-CsQWPdyo.js';
50
50
  import '../../RunWithSpinner-DucRnFp6.js';
51
- import '../../import-DGCqCAcC.js';
51
+ import '../../import-BYSkF-tX.js';
52
52
 
53
53
  const useInviteServiceAccount = () => useMutation({
54
54
  async mutationFn({ developerId, projectId }) {
@@ -199,7 +199,8 @@ const CreateGame = (props) => {
199
199
  const config = command.getProjectConfigSafe();
200
200
  setShowForm(true);
201
201
  setIsLoading(false);
202
- const info = getGameInfo(flags, config.project);
202
+ const project = config.project?.id ? await getProject(config.project?.id) : void 0;
203
+ const info = getGameInfo(flags, project);
203
204
  setGameInfo(info);
204
205
  };
205
206
  useEffect(() => {
@@ -505,11 +506,11 @@ const getStepInitialStatus = (step, statusFlags) => {
505
506
  const getStatusFlags = async (cmd) => {
506
507
  const projectConfig = cmd.getProjectConfigSafe();
507
508
  const projectId = projectConfig.project?.id;
508
- const project = Boolean(projectId) && await getProject(projectId);
509
+ const project = Boolean(projectId) && await getProject(`${projectId}`);
509
510
  const hasShipThisProject = Boolean(project);
510
511
  const hasGameName = project && Boolean(project?.name);
511
512
  const hasAndroidPackageName = project && Boolean(project?.details?.androidPackageName);
512
- const projectCredentials = hasShipThisProject ? await getProjectCredentials(project.id) : [];
513
+ const projectCredentials = hasShipThisProject ? await getProjectCredentials(`${projectId}`) : [];
513
514
  const hasAndroidKeystore = projectCredentials.some(
514
515
  (cred) => cred.isActive && cred.platform === Platform.ANDROID && cred.type === CredentialsType.CERTIFICATE
515
516
  );
@@ -518,8 +519,8 @@ const getStatusFlags = async (cmd) => {
518
519
  const hasServiceAccountKey = projectCredentials.some(
519
520
  (cred) => cred.isActive && cred.platform === Platform.ANDROID && cred.type === CredentialsType.KEY
520
521
  );
521
- const buildsResponse = Boolean(projectId) && hasShipThisProject && await queryBuilds({ pageNumber: 0, projectId });
522
- const hasInitialBuild = Boolean(buildsResponse) && buildsResponse.data.some((build) => build.platform === Platform.ANDROID);
522
+ const buildsResponse = projectId && hasShipThisProject ? await queryBuilds({ pageNumber: 0, projectId: `${projectId}` }) : null;
523
+ const hasInitialBuild = Boolean(buildsResponse?.data?.some((build) => build.platform === Platform.ANDROID));
523
524
  const testResult = projectId ? await fetchKeyTestResult({ projectId }) : null;
524
525
  const hasGooglePlayGame = testResult && testResult?.status === KeyTestStatus.SUCCESS || testResult?.status === KeyTestStatus.ERROR && testResult?.error === KeyTestError.NOT_INVITED;
525
526
  const hasInvitedServiceAccount = testResult ? testResult?.status === KeyTestStatus.SUCCESS : false;
@@ -1,7 +1,7 @@
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 { ac as BaseCommand } from '../../index-CmuXyPed.js';
4
+ import { ac as BaseCommand } from '../../index-Cv-92xRd.js';
5
5
  import 'axios';
6
6
  import 'crypto-js';
7
7
  import 'uuid';