shipthis 0.1.30 → 0.1.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/README.md +122 -41
  2. package/assets/markdown/create-google-play-game.md +2 -4
  3. package/assets/markdown/ship-success.md +1 -1
  4. package/dist/{AppleBundleIdDetails-Fp5COwTa.js → AppleBundleIdDetails-6H3cNWxw.js} +17 -19
  5. package/dist/{Command-1p5alCz3.js → Command-WPpmLPkL.js} +13 -12
  6. package/dist/CommandGame-cxzWG4nT.js +7 -0
  7. package/dist/{Create-1xAdntNl.js → Create-3Ob8sjik.js} +20 -20
  8. package/dist/GameStatus-BQEtVKvv.js +137 -0
  9. package/dist/{Import-CzC-M4ln.js → Import-CFuPDI0K.js} +33 -35
  10. package/dist/{JobLogTail-CZxoMSd5.js → JobLogTail-0CBLoG8N.js} +53 -52
  11. package/dist/{JobProgress-BjNgtIjm.js → JobProgress-lKqVT88m.js} +46 -37
  12. package/dist/{JobStatusTable-BB-PWlwj.js → JobStatusTable-C_ZsZJCm.js} +14 -13
  13. package/dist/{NextSteps-CK9zHOCt.js → NextSteps-DbJHmscQ.js} +1 -3
  14. package/dist/{ProgressSpinner-6pw1T8Iw.js → ProgressSpinner-DGcakQSK.js} +1 -1
  15. package/dist/{ProjectCredentialsTable-DyZep993.js → ProjectCredentialsTable-B5pHOnGu.js} +11 -10
  16. package/dist/{StatusTable-Dm5St4g-.js → StatusTable-DzRWcMr4.js} +7 -9
  17. package/dist/{Table-CvM6pccN.js → Table-FaNgpyeq.js} +15 -15
  18. package/dist/{UserCredentialsTable-BraKyDWT.js → UserCredentialsTable-3W3qesh7.js} +18 -19
  19. package/dist/{baseAppleCommand-BHRIBtTj.js → baseAppleCommand-BGV088--.js} +1 -1
  20. package/dist/{baseGameAndroidCommand-SrDRbhAG.js → baseGameAndroidCommand-CsemgVjp.js} +23 -23
  21. package/dist/commands/apple/apiKey/create.js +35 -35
  22. package/dist/commands/apple/apiKey/export.js +26 -26
  23. package/dist/commands/apple/apiKey/import.js +27 -27
  24. package/dist/commands/apple/apiKey/status.js +31 -31
  25. package/dist/commands/apple/certificate/create.js +39 -39
  26. package/dist/commands/apple/certificate/export.js +26 -26
  27. package/dist/commands/apple/certificate/import.js +27 -27
  28. package/dist/commands/apple/certificate/status.js +31 -31
  29. package/dist/commands/apple/login.js +15 -15
  30. package/dist/commands/apple/status.js +28 -28
  31. package/dist/commands/dashboard.js +10 -10
  32. package/dist/commands/game/android/apiKey/connect.js +28 -28
  33. package/dist/commands/game/android/apiKey/create.js +28 -28
  34. package/dist/commands/game/android/apiKey/export.js +29 -29
  35. package/dist/commands/game/android/apiKey/import.js +31 -31
  36. package/dist/commands/game/android/apiKey/invite.js +14 -14
  37. package/dist/commands/game/android/apiKey/status.js +29 -29
  38. package/dist/commands/game/android/keyStore/create.js +24 -24
  39. package/dist/commands/game/android/keyStore/export.js +28 -28
  40. package/dist/commands/game/android/keyStore/import.js +35 -35
  41. package/dist/commands/game/android/keyStore/status.js +26 -26
  42. package/dist/commands/game/android/status.js +14 -58
  43. package/dist/commands/game/build/download.js +24 -24
  44. package/dist/commands/game/build/list.js +37 -37
  45. package/dist/commands/game/create.js +15 -15
  46. package/dist/commands/game/details.js +35 -36
  47. package/dist/commands/game/export.js +12 -12
  48. package/dist/commands/game/ios/app/addTester.js +24 -24
  49. package/dist/commands/game/ios/app/create.js +24 -24
  50. package/dist/commands/game/ios/app/status.js +29 -29
  51. package/dist/commands/game/ios/app/sync.js +31 -31
  52. package/dist/commands/game/ios/profile/create.js +30 -30
  53. package/dist/commands/game/ios/profile/export.js +28 -28
  54. package/dist/commands/game/ios/profile/import.js +32 -32
  55. package/dist/commands/game/ios/profile/status.js +36 -36
  56. package/dist/commands/game/ios/status.js +46 -58
  57. package/dist/commands/game/ios/wizard.js +31 -31
  58. package/dist/commands/game/job/list.js +34 -34
  59. package/dist/commands/game/job/status.js +31 -31
  60. package/dist/commands/game/list.js +45 -41
  61. package/dist/commands/game/ship.js +73 -70
  62. package/dist/commands/game/status.js +38 -82
  63. package/dist/commands/game/wizard.js +271 -307
  64. package/dist/commands/internal/fastlane.js +15 -17
  65. package/dist/commands/internal/readme.js +38 -36
  66. package/dist/commands/login.js +14 -14
  67. package/dist/commands/status.js +35 -33
  68. package/dist/{export-BKn02-NH.js → export-CXsVPXA1.js} +5 -5
  69. package/dist/{git-DREGq-jc.js → git-BpsfNFZ_.js} +8 -8
  70. package/dist/{import-CRMaNBVF.js → import-DGvG5REx.js} +14 -14
  71. package/dist/{index-DxzXU9Hd.js → index-BhhiXbey.js} +244 -221
  72. package/dist/{index-OZi8bvu8.js → index-C03TV1_J.js} +54 -38
  73. package/dist/{index-BTAL7EB_.js → index-C66Dd8Xc.js} +80 -79
  74. package/dist/{index-35Eswf6F.js → index-CGBdOm1q.js} +43 -27
  75. package/dist/{index--EbYyBAZ.js → index-CS9Gwcb0.js} +41 -43
  76. package/dist/{index-u1aj1OQW.js → index-CtTI85m-.js} +6 -6
  77. package/dist/{upload-Bw0zrS4M.js → upload-8y5MQEm9.js} +22 -22
  78. package/dist/{useAndroidServiceAccountTestResult-CJLIEYmA.js → useAndroidServiceAccountTestResult-DZk5SMxI.js} +11 -13
  79. package/dist/{useAppleApp-cnb8gX0x.js → useAppleApp-DWYGURwU.js} +4 -4
  80. package/dist/{useAppleBundleId-B0Etav8g.js → useAppleBundleId-PsTJ2g1B.js} +6 -6
  81. package/dist/{useProjectCredentials-DX3e_PPc.js → useProjectCredentials-BEphqa18.js} +10 -12
  82. package/dist/{useWebSocket-BOCa8v6o.js → useWebSocket-5PYa2QER.js} +1 -1
  83. package/dist/utils/help.js +4 -4
  84. package/package.json +4 -2
  85. package/dist/CommandGame-Z4eUQBjn.js +0 -9
  86. package/dist/{RunWithSpinner-BVXNWGD3.js → RunWithSpinner-gMVA07bZ.js} +2 -2
@@ -1,44 +1,44 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
+ import * as fs from 'node:fs';
2
3
  import { Args, Flags } from '@oclif/core';
3
4
  import { render } from 'ink';
4
- import * as fs from 'fs';
5
- import { c as BaseGameCommand, P as Platform, C as CredentialsType } from '../../../../index-DxzXU9Hd.js';
6
- import { a as getProjectCredentials } from '../../../../index-u1aj1OQW.js';
7
- import 'react';
8
- import '../../../../index-BTAL7EB_.js';
5
+ import { a as getProjectCredentials } from '../../../../index-CtTI85m-.js';
6
+ import { c as BaseGameCommand, P as Platform, C as CredentialsType } from '../../../../index-BhhiXbey.js';
9
7
  import 'ink-spinner';
10
- import 'axios';
11
- import 'crypto-js';
12
- import 'uuid';
13
- import 'luxon';
14
- import '@inkjs/ui';
15
- import '@tanstack/react-query';
16
- import { I as ImportKeystore } from '../../../../Import-CzC-M4ln.js';
17
- import 'open';
18
- import 'crypto';
19
- import 'readline-sync';
20
- import 'node:readline';
8
+ import 'node:crypto';
21
9
  import 'node:path';
10
+ import 'node:readline';
22
11
  import 'node:url';
12
+ import 'readline-sync';
13
+ import 'luxon';
14
+ import 'axios';
23
15
  import 'isomorphic-git';
16
+ import '@tanstack/react-query';
17
+ import 'react';
18
+ import 'crypto-js';
19
+ import 'uuid';
24
20
  import 'fast-glob';
25
21
  import 'yazl';
26
22
  import 'socket.io-client';
23
+ import 'fullscreen-ink';
24
+ import 'string-length';
25
+ import 'strip-ansi';
26
+ import 'open';
27
+ import '@inkjs/ui';
27
28
  import 'marked';
28
29
  import 'marked-terminal';
29
- import 'path';
30
30
  import 'qrcode';
31
- import 'string-length';
32
- import 'strip-ansi';
33
- import { C as CommandGame } from '../../../../CommandGame-Z4eUQBjn.js';
34
- import { B as BaseGameAndroidCommand } from '../../../../baseGameAndroidCommand-SrDRbhAG.js';
31
+ import '../../../../index-C66Dd8Xc.js';
32
+ import { I as ImportKeystore } from '../../../../Import-CFuPDI0K.js';
33
+ import { C as CommandGame } from '../../../../CommandGame-cxzWG4nT.js';
34
+ import { B as BaseGameAndroidCommand } from '../../../../baseGameAndroidCommand-CsemgVjp.js';
35
35
  import '@expo/apple-utils/build/index.js';
36
- import 'ini';
37
36
  import 'deepmerge';
38
- import '../../../../index-35Eswf6F.js';
39
- import '../../../../useAndroidServiceAccountTestResult-CJLIEYmA.js';
40
- import '../../../../import-CRMaNBVF.js';
41
- import '../../../../Command-1p5alCz3.js';
37
+ import 'ini';
38
+ import '../../../../index-CGBdOm1q.js';
39
+ import '../../../../useAndroidServiceAccountTestResult-DZk5SMxI.js';
40
+ import '../../../../import-DGvG5REx.js';
41
+ import '../../../../Command-WPpmLPkL.js';
42
42
 
43
43
  class GameAndroidKeyStoreImport extends BaseGameCommand {
44
44
  static args = {
@@ -54,16 +54,16 @@ class GameAndroidKeyStoreImport extends BaseGameCommand {
54
54
  ];
55
55
  static flags = {
56
56
  ...BaseGameAndroidCommand.flags,
57
- jksFile: Flags.string({ description: "Path to the JKS file to import (requires passwords)" }),
58
- keystorePassword: Flags.string({
59
- description: "Keystore password (required when using --jksFile)"
57
+ force: Flags.boolean({
58
+ char: "f",
59
+ description: "Overwrite any existing keystore without confirmation"
60
60
  }),
61
+ jksFile: Flags.string({ description: "Path to the JKS file to import (requires passwords)" }),
61
62
  keyPassword: Flags.string({
62
63
  description: "Key alias password (required when using --jksFile)"
63
64
  }),
64
- force: Flags.boolean({
65
- char: "f",
66
- description: "Overwrite any existing keystore without confirmation"
65
+ keystorePassword: Flags.string({
66
+ description: "Keystore password (required when using --jksFile)"
67
67
  })
68
68
  };
69
69
  async run() {
@@ -71,7 +71,7 @@ class GameAndroidKeyStoreImport extends BaseGameCommand {
71
71
  const { args, flags } = this;
72
72
  const zipFilePath = args.file;
73
73
  const jksFilePath = flags.jksFile;
74
- const { keystorePassword, keyPassword } = flags;
74
+ const { keyPassword, keystorePassword } = flags;
75
75
  if (!zipFilePath && !jksFilePath) {
76
76
  this.error("You must provide either a ZIP file or a JKS file to import.");
77
77
  }
@@ -100,9 +100,9 @@ class GameAndroidKeyStoreImport extends BaseGameCommand {
100
100
  /* @__PURE__ */ jsx(CommandGame, { command: this, children: /* @__PURE__ */ jsx(
101
101
  ImportKeystore,
102
102
  {
103
+ importKeystoreProps: { jksFilePath, keyPassword, keystorePassword, zipFilePath },
103
104
  onComplete: handleComplete,
104
- onError: (e) => this.error(e),
105
- importKeystoreProps: { zipFilePath, jksFilePath, keystorePassword, keyPassword }
105
+ onError: (e) => this.error(e)
106
106
  }
107
107
  ) })
108
108
  );
@@ -1,42 +1,42 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { render } from 'ink';
3
- import 'react';
4
- import '../../../../index-BTAL7EB_.js';
5
- import { c as BaseGameCommand, P as Platform, C as CredentialsType } from '../../../../index-DxzXU9Hd.js';
3
+ import { c as BaseGameCommand, C as CredentialsType, P as Platform } from '../../../../index-BhhiXbey.js';
6
4
  import 'ink-spinner';
7
- import 'axios';
8
- import 'crypto-js';
9
- import 'uuid';
10
- import 'fs';
11
- import 'luxon';
12
- import '@inkjs/ui';
13
- import '@tanstack/react-query';
14
- import 'yazl';
15
- import 'crypto';
16
- import 'readline-sync';
17
- import 'node:readline';
5
+ import 'node:crypto';
6
+ import 'node:fs';
18
7
  import 'node:path';
8
+ import 'node:readline';
19
9
  import 'node:url';
10
+ import 'readline-sync';
11
+ import 'luxon';
12
+ import 'axios';
20
13
  import 'isomorphic-git';
21
14
  import '@oclif/core';
15
+ import '@tanstack/react-query';
16
+ import 'react';
17
+ import 'crypto-js';
18
+ import 'uuid';
22
19
  import 'fast-glob';
20
+ import 'yazl';
23
21
  import 'socket.io-client';
22
+ import 'fullscreen-ink';
23
+ import 'string-length';
24
+ import 'strip-ansi';
25
+ import { P as ProjectCredentialsTable } from '../../../../ProjectCredentialsTable-B5pHOnGu.js';
24
26
  import 'open';
27
+ import '@inkjs/ui';
25
28
  import 'marked';
26
29
  import 'marked-terminal';
27
- import 'path';
28
30
  import 'qrcode';
29
- import 'string-length';
30
- import 'strip-ansi';
31
- import { C as Command } from '../../../../Command-1p5alCz3.js';
32
- import { P as ProjectCredentialsTable } from '../../../../ProjectCredentialsTable-DyZep993.js';
33
- import '../../../../index-35Eswf6F.js';
34
- import '../../../../useAndroidServiceAccountTestResult-CJLIEYmA.js';
31
+ import '../../../../index-C66Dd8Xc.js';
32
+ import { C as Command } from '../../../../Command-WPpmLPkL.js';
35
33
  import '@expo/apple-utils/build/index.js';
36
- import 'ini';
37
34
  import 'deepmerge';
38
- import '../../../../useProjectCredentials-DX3e_PPc.js';
39
- import '../../../../Table-CvM6pccN.js';
35
+ import 'ini';
36
+ import '../../../../useProjectCredentials-BEphqa18.js';
37
+ import '../../../../useAndroidServiceAccountTestResult-DZk5SMxI.js';
38
+ import '../../../../index-CGBdOm1q.js';
39
+ import '../../../../Table-FaNgpyeq.js';
40
40
  import '../../../../Title-BCQtayg6.js';
41
41
 
42
42
  class GameAndroidKeyStoreStatus extends BaseGameCommand {
@@ -57,9 +57,9 @@ class GameAndroidKeyStoreStatus extends BaseGameCommand {
57
57
  {
58
58
  credentialTypeName: "Android Keystore",
59
59
  queryProps: {
60
+ platform: Platform.ANDROID,
60
61
  projectId: game.id,
61
- type: CredentialsType.CERTIFICATE,
62
- platform: Platform.ANDROID
62
+ type: CredentialsType.CERTIFICATE
63
63
  }
64
64
  }
65
65
  ) })
@@ -1,42 +1,25 @@
1
- import { jsxs, jsx } from 'react/jsx-runtime';
2
- import { render } from 'ink';
3
1
  import { Flags } from '@oclif/core';
4
- import 'react';
5
- import '../../../index-BTAL7EB_.js';
6
- import { c as BaseGameCommand, k as getProjectPlatformProgress, P as Platform, b as getShortDate } from '../../../index-DxzXU9Hd.js';
7
- import 'ink-spinner';
8
- import '@inkjs/ui';
2
+ import { c as BaseGameCommand } from '../../../index-BhhiXbey.js';
3
+ import 'node:fs';
9
4
  import 'axios';
10
- import '@tanstack/react-query';
11
- import 'fs';
5
+ import 'crypto-js';
12
6
  import 'uuid';
13
- import 'yazl';
14
- import { g as getShortUUID, m as makeHumanReadable } from '../../../index-35Eswf6F.js';
15
- import 'open';
16
- import 'marked';
17
- import 'marked-terminal';
18
- import 'path';
19
- import { N as NextSteps } from '../../../NextSteps-CK9zHOCt.js';
20
- import 'qrcode';
21
- import { S as StatusTable } from '../../../StatusTable-Dm5St4g-.js';
22
- import 'string-length';
23
- import 'strip-ansi';
24
7
  import 'luxon';
25
- import 'fast-glob';
26
- import { C as Command } from '../../../Command-1p5alCz3.js';
27
- import 'socket.io-client';
28
- import '../../../useAndroidServiceAccountTestResult-CJLIEYmA.js';
8
+ import 'node:path';
29
9
  import '@expo/apple-utils/build/index.js';
30
- import 'crypto-js';
31
- import 'crypto';
32
- import 'readline-sync';
10
+ import 'node:crypto';
33
11
  import 'node:readline';
34
- import 'node:path';
35
12
  import 'node:url';
13
+ import 'readline-sync';
36
14
  import 'isomorphic-git';
37
- import 'ini';
38
15
  import 'deepmerge';
39
- import '../../../Title-BCQtayg6.js';
16
+ import 'ini';
17
+ import '@tanstack/react-query';
18
+ import 'react';
19
+ import 'fast-glob';
20
+ import 'yazl';
21
+ import 'socket.io-client';
22
+ import 'fullscreen-ink';
40
23
 
41
24
  class GameAndroidStatus extends BaseGameCommand {
42
25
  static args = {};
@@ -50,34 +33,7 @@ class GameAndroidStatus extends BaseGameCommand {
50
33
  };
51
34
  async run() {
52
35
  const game = await this.getGame();
53
- const platformStatus = await getProjectPlatformProgress(game.id, Platform.ANDROID);
54
- const gameStatuses = {
55
- name: game.name,
56
- id: getShortUUID(game.id),
57
- createdAt: getShortDate(game.createdAt),
58
- engine: "Godot"
59
- };
60
- const steps = [
61
- (platformStatus.hasBundleSet == false || platformStatus.hasApiKeyForPlatform == false || platformStatus.hasCredentialsForPlatform == false) && "$ shipthis game android setup"
62
- ].filter(Boolean);
63
- const progressToStatuses = (progress) => {
64
- const { platform, ...rest } = progress;
65
- return makeHumanReadable(rest);
66
- };
67
- render(
68
- /* @__PURE__ */ jsxs(Command, { command: this, children: [
69
- /* @__PURE__ */ jsx(StatusTable, { marginBottom: 1, title: "ShipThis game status", statuses: gameStatuses }),
70
- /* @__PURE__ */ jsx(
71
- StatusTable,
72
- {
73
- marginBottom: 1,
74
- title: "Overall Android status for game",
75
- statuses: progressToStatuses(platformStatus)
76
- }
77
- ),
78
- /* @__PURE__ */ jsx(NextSteps, { steps })
79
- ] })
80
- );
36
+ await this.config.runCommand("game:status", ["--gameId", game.id, "--platform", "android"]);
81
37
  }
82
38
  }
83
39
 
@@ -1,40 +1,40 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
+ import * as fs from 'node:fs';
2
3
  import { Args, Flags } from '@oclif/core';
3
4
  import { render } from 'ink';
4
- import * as fs from 'fs';
5
- import { c as BaseGameCommand, H as downloadBuildById } from '../../../index-DxzXU9Hd.js';
6
- import 'react';
7
- import '../../../index-BTAL7EB_.js';
5
+ import { c as BaseGameCommand, H as downloadBuildById } from '../../../index-BhhiXbey.js';
8
6
  import 'ink-spinner';
9
- import '@inkjs/ui';
10
- import 'axios';
11
- import '@tanstack/react-query';
12
- import 'uuid';
13
- import 'yazl';
14
- import 'crypto';
15
- import 'readline-sync';
16
- import 'node:readline';
7
+ import 'node:crypto';
17
8
  import 'node:path';
9
+ import 'node:readline';
18
10
  import 'node:url';
11
+ import 'readline-sync';
19
12
  import 'luxon';
13
+ import 'axios';
20
14
  import 'isomorphic-git';
15
+ import '@tanstack/react-query';
16
+ import 'react';
21
17
  import 'fast-glob';
18
+ import 'uuid';
19
+ import 'yazl';
22
20
  import 'socket.io-client';
21
+ import 'fullscreen-ink';
22
+ import 'string-length';
23
+ import 'strip-ansi';
23
24
  import 'open';
25
+ import '@inkjs/ui';
24
26
  import 'marked';
25
27
  import 'marked-terminal';
26
- import 'path';
27
28
  import 'qrcode';
28
- import { R as RunWithSpinner } from '../../../RunWithSpinner-BVXNWGD3.js';
29
- import 'string-length';
30
- import 'strip-ansi';
31
- import { C as Command } from '../../../Command-1p5alCz3.js';
32
- import '@expo/apple-utils/build/index.js';
29
+ import { R as RunWithSpinner } from '../../../RunWithSpinner-gMVA07bZ.js';
30
+ import '../../../index-C66Dd8Xc.js';
31
+ import { C as Command } from '../../../Command-WPpmLPkL.js';
33
32
  import 'crypto-js';
34
- import 'ini';
33
+ import '@expo/apple-utils/build/index.js';
35
34
  import 'deepmerge';
36
- import '../../../index-35Eswf6F.js';
37
- import '../../../useAndroidServiceAccountTestResult-CJLIEYmA.js';
35
+ import 'ini';
36
+ import '../../../index-CGBdOm1q.js';
37
+ import '../../../useAndroidServiceAccountTestResult-DZk5SMxI.js';
38
38
 
39
39
  class GameBuildDownload extends BaseGameCommand {
40
40
  static args = {
@@ -52,7 +52,7 @@ class GameBuildDownload extends BaseGameCommand {
52
52
  };
53
53
  async run() {
54
54
  const { args, flags } = this;
55
- const { file, build_id } = args;
55
+ const { build_id, file } = args;
56
56
  const { force } = flags;
57
57
  const alreadyExists = fs.existsSync(file);
58
58
  if (alreadyExists && !force) {
@@ -67,9 +67,9 @@ class GameBuildDownload extends BaseGameCommand {
67
67
  /* @__PURE__ */ jsx(Command, { command: this, children: /* @__PURE__ */ jsx(
68
68
  RunWithSpinner,
69
69
  {
70
- msgInProgress: `Downloading to ${file}...`,
71
- msgComplete: `Downloaded build artifact to ${file}`,
72
70
  executeMethod,
71
+ msgComplete: `Downloaded build artifact to ${file}`,
72
+ msgInProgress: `Downloading to ${file}...`,
73
73
  onComplete: handleComplete
74
74
  }
75
75
  ) })
@@ -1,52 +1,52 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
- import { Box, Text, render } from 'ink';
3
2
  import { Flags } from '@oclif/core';
4
- import { c as BaseGameCommand } from '../../../index-DxzXU9Hd.js';
5
- import 'react';
6
- import { u as useBuilds, c as getBuildSummary } from '../../../index-BTAL7EB_.js';
3
+ import { Box, Text, render } from 'ink';
4
+ import { c as BaseGameCommand } from '../../../index-BhhiXbey.js';
7
5
  import Spinner from 'ink-spinner';
8
- import 'axios';
9
- import 'crypto-js';
10
- import 'uuid';
11
- import 'fs';
12
- import 'luxon';
13
- import '@inkjs/ui';
14
- import '@tanstack/react-query';
15
- import 'yazl';
16
- import 'crypto';
17
- import 'readline-sync';
18
- import 'node:readline';
6
+ import 'node:crypto';
7
+ import 'node:fs';
19
8
  import 'node:path';
9
+ import 'node:readline';
20
10
  import 'node:url';
11
+ import 'readline-sync';
12
+ import 'luxon';
13
+ import 'axios';
21
14
  import 'isomorphic-git';
15
+ import '@tanstack/react-query';
16
+ import 'react';
17
+ import 'crypto-js';
18
+ import 'uuid';
19
+ import { u as useBuilds, d as getBuildSummary } from '../../../index-C66Dd8Xc.js';
22
20
  import 'fast-glob';
21
+ import 'yazl';
23
22
  import 'socket.io-client';
23
+ import 'fullscreen-ink';
24
+ import { T as Table } from '../../../Table-FaNgpyeq.js';
25
+ import { T as Title } from '../../../Title-BCQtayg6.js';
26
+ import 'string-length';
27
+ import 'strip-ansi';
24
28
  import 'open';
29
+ import '@inkjs/ui';
25
30
  import 'marked';
26
31
  import 'marked-terminal';
27
- import 'path';
28
32
  import 'qrcode';
29
- import 'string-length';
30
- import 'strip-ansi';
31
- import { C as CommandGame } from '../../../CommandGame-Z4eUQBjn.js';
32
- import { T as Table } from '../../../Table-CvM6pccN.js';
33
- import { T as Title } from '../../../Title-BCQtayg6.js';
33
+ import { C as CommandGame } from '../../../CommandGame-cxzWG4nT.js';
34
34
  import '@expo/apple-utils/build/index.js';
35
- import 'ini';
36
35
  import 'deepmerge';
37
- import '../../../index-35Eswf6F.js';
38
- import '../../../useAndroidServiceAccountTestResult-CJLIEYmA.js';
39
- import '../../../Command-1p5alCz3.js';
36
+ import 'ini';
37
+ import '../../../index-CGBdOm1q.js';
38
+ import '../../../useAndroidServiceAccountTestResult-DZk5SMxI.js';
39
+ import '../../../Command-WPpmLPkL.js';
40
40
 
41
41
  const BuildsTable = ({ queryProps, ...boxProps }) => {
42
- const { isLoading, data } = useBuilds(queryProps);
42
+ const { data, isLoading } = useBuilds(queryProps);
43
43
  const hasBuilds = (data?.data?.length ?? 0) > 0;
44
44
  return /* @__PURE__ */ jsxs(Box, { flexDirection: "column", marginBottom: 1, ...boxProps, children: [
45
45
  /* @__PURE__ */ jsx(Title, { children: `Builds uploaded to ShipThis from completed jobs for this game.` }),
46
- !isLoading && !hasBuilds && /* @__PURE__ */ jsx(Box, { marginLeft: 2, marginTop: 1, flexDirection: "column", children: /* @__PURE__ */ jsx(Text, { children: "You DO NOT have any builds uploaded to ShipThis from completed jobs for this game." }) }),
46
+ !isLoading && !hasBuilds && /* @__PURE__ */ jsx(Box, { flexDirection: "column", marginLeft: 2, marginTop: 1, children: /* @__PURE__ */ jsx(Text, { children: "You DO NOT have any builds uploaded to ShipThis from completed jobs for this game." }) }),
47
47
  isLoading && /* @__PURE__ */ jsx(Spinner, { type: "dots" }),
48
48
  data && hasBuilds && /* @__PURE__ */ jsx(Table, { data: data.data.map(getBuildSummary) }),
49
- data && data.pageCount > 1 && /* @__PURE__ */ jsxs(Box, { marginTop: 1, flexDirection: "column", children: [
49
+ data && data.pageCount > 1 && /* @__PURE__ */ jsxs(Box, { flexDirection: "column", marginTop: 1, children: [
50
50
  /* @__PURE__ */ jsx(Text, { children: `Showing page ${(queryProps.pageNumber || 0) + 1} of ${data.pageCount}.` }),
51
51
  /* @__PURE__ */ jsx(Text, { children: "Use the --pageNumber parameter to see other pages." })
52
52
  ] })
@@ -63,20 +63,20 @@ class GameBuildList extends BaseGameCommand {
63
63
  ];
64
64
  static flags = {
65
65
  ...super.flags,
66
- pageNumber: Flags.integer({ char: "p", description: "The page number to show (starts at 0)", default: 0 }),
67
- pageSize: Flags.integer({ char: "s", description: "The number of items to show per page", default: 10 }),
66
+ order: Flags.string({
67
+ char: "r",
68
+ default: "desc",
69
+ description: "The order to sort by",
70
+ options: ["asc", "desc"]
71
+ }),
68
72
  orderBy: Flags.string({
69
73
  char: "o",
70
- description: "The field to order by",
71
74
  default: "createdAt",
75
+ description: "The field to order by",
72
76
  options: ["createdAt", "updatedAt"]
73
77
  }),
74
- order: Flags.string({
75
- char: "r",
76
- description: "The order to sort by",
77
- default: "desc",
78
- options: ["asc", "desc"]
79
- })
78
+ pageNumber: Flags.integer({ char: "p", default: 0, description: "The page number to show (starts at 0)" }),
79
+ pageSize: Flags.integer({ char: "s", default: 10, description: "The number of items to show per page" })
80
80
  };
81
81
  async run() {
82
82
  const game = await this.getGame();
@@ -1,39 +1,39 @@
1
1
  import { Flags } from '@oclif/core';
2
- import { B as BaseAuthenticatedCommand, D as DetailsFlags, j as isCWDGodotGame, t as GameEngine, u as getGodotVersion, v as createProject, w as DEFAULT_IGNORED_FILES_GLOBS, x as DEFAULT_SHIPPED_FILES_GLOBS, y as getGodotProjectName } from '../../index-DxzXU9Hd.js';
3
- import { a as getInput } from '../../index-35Eswf6F.js';
4
- import 'path';
5
- import 'fs';
6
- import '@expo/apple-utils/build/index.js';
2
+ import { B as BaseAuthenticatedCommand, D as DetailsFlags, j as isCWDGodotGame, s as GameEngine, t as getGodotVersion, u as createProject, v as DEFAULT_SHIPPED_FILES_GLOBS, w as DEFAULT_IGNORED_FILES_GLOBS, x as getGodotProjectName } from '../../index-BhhiXbey.js';
3
+ import { a as getInput } from '../../index-CGBdOm1q.js';
4
+ import 'node:fs';
7
5
  import 'axios';
8
6
  import 'crypto-js';
9
7
  import 'uuid';
10
8
  import 'luxon';
11
- import 'crypto';
12
- import 'readline-sync';
13
- import 'node:readline';
14
9
  import 'node:path';
10
+ import '@expo/apple-utils/build/index.js';
11
+ import 'node:crypto';
12
+ import 'node:readline';
15
13
  import 'node:url';
14
+ import 'readline-sync';
16
15
  import 'isomorphic-git';
17
- import 'ini';
18
16
  import 'deepmerge';
19
- import 'react';
17
+ import 'ini';
20
18
  import '@tanstack/react-query';
19
+ import 'react';
21
20
  import 'fast-glob';
22
21
  import 'yazl';
23
22
  import 'socket.io-client';
23
+ import 'fullscreen-ink';
24
24
 
25
25
  class GameCreate extends BaseAuthenticatedCommand {
26
26
  static args = {};
27
27
  static description = "Create a new game in ShipThis.";
28
28
  static examples = ["<%= config.bin %> <%= command.id %>"];
29
29
  static flags = {
30
- quiet: Flags.boolean({ char: "q", description: "Avoid output except for interactions and errors" }),
31
30
  force: Flags.boolean({ char: "f" }),
31
+ quiet: Flags.boolean({ char: "q", description: "Avoid output except for interactions and errors" }),
32
32
  ...DetailsFlags
33
33
  };
34
34
  async run() {
35
35
  const { flags } = this;
36
- const { quiet, force, name: flagName, ...details } = flags;
36
+ const { force, name: flagName, quiet, ...details } = flags;
37
37
  if (this.hasProjectConfig() && !force) {
38
38
  throw new Error("This directory already has a ShipThis project. Use --force to overwrite.");
39
39
  }
@@ -54,11 +54,11 @@ class GameCreate extends BaseAuthenticatedCommand {
54
54
  gameEngine,
55
55
  gameEngineVersion
56
56
  };
57
- const project = await createProject({ name, details: projectDetails });
57
+ const project = await createProject({ details: projectDetails, name });
58
58
  await this.setProjectConfig({
59
+ ignoredFilesGlobs: DEFAULT_IGNORED_FILES_GLOBS,
59
60
  project,
60
- shippedFilesGlobs: DEFAULT_SHIPPED_FILES_GLOBS,
61
- ignoredFilesGlobs: DEFAULT_IGNORED_FILES_GLOBS
61
+ shippedFilesGlobs: DEFAULT_SHIPPED_FILES_GLOBS
62
62
  });
63
63
  if (!flags.quiet) await this.config.runCommand("game:status");
64
64
  }