shipthis 0.1.31 → 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 (84) hide show
  1. package/dist/{AppleBundleIdDetails-eoK5F8Qn.js → AppleBundleIdDetails-6H3cNWxw.js} +17 -19
  2. package/dist/Command-WPpmLPkL.js +29 -0
  3. package/dist/CommandGame-cxzWG4nT.js +7 -0
  4. package/dist/{Create-ISdroJ3G.js → Create-3Ob8sjik.js} +20 -20
  5. package/dist/GameStatus-BQEtVKvv.js +137 -0
  6. package/dist/{Import-CfThJF6k.js → Import-CFuPDI0K.js} +33 -35
  7. package/dist/{JobLogTail-BWzbQBZz.js → JobLogTail-0CBLoG8N.js} +53 -52
  8. package/dist/{JobProgress-DjIkuk5U.js → JobProgress-lKqVT88m.js} +35 -36
  9. package/dist/{JobStatusTable-CEqWU73q.js → JobStatusTable-C_ZsZJCm.js} +14 -13
  10. package/dist/{NextSteps-CK9zHOCt.js → NextSteps-DbJHmscQ.js} +1 -3
  11. package/dist/{ProgressSpinner-6pw1T8Iw.js → ProgressSpinner-DGcakQSK.js} +1 -1
  12. package/dist/{ProjectCredentialsTable-u9ruZ9mN.js → ProjectCredentialsTable-B5pHOnGu.js} +11 -10
  13. package/dist/{StatusTable-Dm5St4g-.js → StatusTable-DzRWcMr4.js} +7 -9
  14. package/dist/{Table-CvM6pccN.js → Table-FaNgpyeq.js} +15 -15
  15. package/dist/{UserCredentialsTable-Q7u9M-ap.js → UserCredentialsTable-3W3qesh7.js} +18 -19
  16. package/dist/{baseAppleCommand-zhkGlKq0.js → baseAppleCommand-BGV088--.js} +1 -1
  17. package/dist/{baseGameAndroidCommand-DJ-cMLa_.js → baseGameAndroidCommand-CsemgVjp.js} +23 -23
  18. package/dist/commands/apple/apiKey/create.js +35 -35
  19. package/dist/commands/apple/apiKey/export.js +26 -26
  20. package/dist/commands/apple/apiKey/import.js +27 -27
  21. package/dist/commands/apple/apiKey/status.js +31 -31
  22. package/dist/commands/apple/certificate/create.js +39 -39
  23. package/dist/commands/apple/certificate/export.js +26 -26
  24. package/dist/commands/apple/certificate/import.js +27 -27
  25. package/dist/commands/apple/certificate/status.js +31 -31
  26. package/dist/commands/apple/login.js +15 -16
  27. package/dist/commands/apple/status.js +27 -27
  28. package/dist/commands/dashboard.js +10 -11
  29. package/dist/commands/game/android/apiKey/connect.js +28 -28
  30. package/dist/commands/game/android/apiKey/create.js +28 -28
  31. package/dist/commands/game/android/apiKey/export.js +29 -29
  32. package/dist/commands/game/android/apiKey/import.js +31 -31
  33. package/dist/commands/game/android/apiKey/invite.js +14 -15
  34. package/dist/commands/game/android/apiKey/status.js +29 -29
  35. package/dist/commands/game/android/keyStore/create.js +24 -24
  36. package/dist/commands/game/android/keyStore/export.js +28 -28
  37. package/dist/commands/game/android/keyStore/import.js +35 -35
  38. package/dist/commands/game/android/keyStore/status.js +26 -26
  39. package/dist/commands/game/android/status.js +14 -58
  40. package/dist/commands/game/build/download.js +24 -24
  41. package/dist/commands/game/build/list.js +37 -37
  42. package/dist/commands/game/create.js +15 -16
  43. package/dist/commands/game/details.js +35 -36
  44. package/dist/commands/game/export.js +12 -13
  45. package/dist/commands/game/ios/app/addTester.js +24 -24
  46. package/dist/commands/game/ios/app/create.js +24 -24
  47. package/dist/commands/game/ios/app/status.js +29 -29
  48. package/dist/commands/game/ios/app/sync.js +31 -31
  49. package/dist/commands/game/ios/profile/create.js +30 -30
  50. package/dist/commands/game/ios/profile/export.js +28 -28
  51. package/dist/commands/game/ios/profile/import.js +32 -32
  52. package/dist/commands/game/ios/profile/status.js +36 -36
  53. package/dist/commands/game/ios/status.js +46 -58
  54. package/dist/commands/game/ios/wizard.js +31 -31
  55. package/dist/commands/game/job/list.js +34 -34
  56. package/dist/commands/game/job/status.js +31 -31
  57. package/dist/commands/game/list.js +37 -39
  58. package/dist/commands/game/ship.js +73 -71
  59. package/dist/commands/game/status.js +38 -85
  60. package/dist/commands/game/wizard.js +250 -239
  61. package/dist/commands/internal/fastlane.js +15 -18
  62. package/dist/commands/internal/readme.js +38 -37
  63. package/dist/commands/login.js +14 -15
  64. package/dist/commands/status.js +32 -30
  65. package/dist/{export-DZxo2_e_.js → export-CXsVPXA1.js} +5 -5
  66. package/dist/{git-DREGq-jc.js → git-BpsfNFZ_.js} +8 -8
  67. package/dist/{import-8pL1AF47.js → import-DGvG5REx.js} +14 -14
  68. package/dist/{index-w3lHxk5O.js → index-BhhiXbey.js} +240 -224
  69. package/dist/{index-BHh0BZvD.js → index-C03TV1_J.js} +37 -55
  70. package/dist/{index-CyvGh-kt.js → index-C66Dd8Xc.js} +77 -87
  71. package/dist/{index-DJ078v-U.js → index-CGBdOm1q.js} +43 -28
  72. package/dist/{index-DKQjnJrC.js → index-CS9Gwcb0.js} +41 -43
  73. package/dist/{index-C6aAyrXW.js → index-CtTI85m-.js} +6 -6
  74. package/dist/{upload-BTpxj3QP.js → upload-8y5MQEm9.js} +22 -22
  75. package/dist/{useAndroidServiceAccountTestResult-Dy3Ag7_r.js → useAndroidServiceAccountTestResult-DZk5SMxI.js} +11 -13
  76. package/dist/{useAppleApp-h1Ogi_qc.js → useAppleApp-DWYGURwU.js} +4 -4
  77. package/dist/{useAppleBundleId-B3TTNap0.js → useAppleBundleId-PsTJ2g1B.js} +6 -6
  78. package/dist/{useProjectCredentials-DpeXZcHP.js → useProjectCredentials-BEphqa18.js} +10 -12
  79. package/dist/{useWebSocket-gyuCsore.js → useWebSocket-5PYa2QER.js} +1 -1
  80. package/dist/utils/help.js +4 -4
  81. package/package.json +4 -3
  82. package/dist/Command-DFdHXDiU.js +0 -44
  83. package/dist/CommandGame-Dif-oSky.js +0 -9
  84. package/dist/{RunWithSpinner-BVXNWGD3.js → RunWithSpinner-gMVA07bZ.js} +2 -2
@@ -1,46 +1,48 @@
1
- import { jsxs, jsx } from 'react/jsx-runtime';
2
- import { render } from 'ink';
1
+ import { jsx, jsxs } from 'react/jsx-runtime';
3
2
  import { Flags } from '@oclif/core';
4
- import 'react';
5
- import '../../../index-CyvGh-kt.js';
6
- import { c as BaseGameCommand, k as getProjectPlatformProgress, P as Platform, b as getShortDate } from '../../../index-w3lHxk5O.js';
3
+ import { render, Box } from 'ink';
4
+ import { c as BaseGameCommand, P as Platform } from '../../../index-BhhiXbey.js';
7
5
  import 'ink-spinner';
8
- import '@inkjs/ui';
6
+ import 'node:crypto';
7
+ import 'node:fs';
8
+ import 'node:path';
9
+ import 'node:readline';
10
+ import 'node:url';
11
+ import 'readline-sync';
12
+ import 'luxon';
9
13
  import 'axios';
14
+ import 'isomorphic-git';
10
15
  import '@tanstack/react-query';
11
- import 'fs';
16
+ import 'react';
17
+ import 'crypto-js';
12
18
  import 'uuid';
19
+ import 'fast-glob';
13
20
  import 'yazl';
14
- import { g as getShortUUID, m as makeHumanReadable } from '../../../index-DJ078v-U.js';
21
+ import 'socket.io-client';
22
+ import 'fullscreen-ink';
23
+ import { G as GameStatusDetails } from '../../../GameStatus-BQEtVKvv.js';
24
+ import 'string-length';
25
+ import 'strip-ansi';
15
26
  import 'open';
27
+ import '@inkjs/ui';
16
28
  import 'marked';
17
29
  import 'marked-terminal';
18
- import 'path';
19
- import { N as NextSteps } from '../../../NextSteps-CK9zHOCt.js';
20
30
  import 'qrcode';
21
- import { S as StatusTable } from '../../../StatusTable-Dm5St4g-.js';
22
- import 'string-length';
23
- import 'strip-ansi';
24
- import { A as AppleAppDetails, a as AppleBundleIdDetails } from '../../../AppleBundleIdDetails-eoK5F8Qn.js';
25
- import { C as Command } from '../../../Command-DFdHXDiU.js';
26
- import 'luxon';
27
- import 'fast-glob';
28
- import 'socket.io-client';
29
- import '../../../useAndroidServiceAccountTestResult-Dy3Ag7_r.js';
31
+ import '../../../index-C66Dd8Xc.js';
32
+ import { A as AppleAppDetails, a as AppleBundleIdDetails } from '../../../AppleBundleIdDetails-6H3cNWxw.js';
33
+ import { C as CommandGame } from '../../../CommandGame-cxzWG4nT.js';
30
34
  import '@expo/apple-utils/build/index.js';
31
- import 'crypto-js';
32
- import 'crypto';
33
- import 'readline-sync';
34
- import 'node:readline';
35
- import 'node:path';
36
- import 'node:url';
37
- import 'isomorphic-git';
38
- import 'ini';
39
35
  import 'deepmerge';
36
+ import 'ini';
37
+ import '../../../index-CGBdOm1q.js';
38
+ import '../../../StatusTable-DzRWcMr4.js';
40
39
  import '../../../Title-BCQtayg6.js';
41
- import '../../../useAppleApp-h1Ogi_qc.js';
42
- import '../../../Table-CvM6pccN.js';
43
- import '../../../useAppleBundleId-B3TTNap0.js';
40
+ import '../../../NextSteps-DbJHmscQ.js';
41
+ import '../../../useAndroidServiceAccountTestResult-DZk5SMxI.js';
42
+ import '../../../useAppleApp-DWYGURwU.js';
43
+ import '../../../Table-FaNgpyeq.js';
44
+ import '../../../useAppleBundleId-PsTJ2g1B.js';
45
+ import '../../../Command-WPpmLPkL.js';
44
46
 
45
47
  class GameIosStatus extends BaseGameCommand {
46
48
  static args = {};
@@ -54,37 +56,23 @@ class GameIosStatus extends BaseGameCommand {
54
56
  };
55
57
  async run() {
56
58
  const game = await this.getGame();
57
- const iosPlatformStatus = await getProjectPlatformProgress(game.id, Platform.IOS);
58
- const gameStatuses = {
59
- name: game.name,
60
- id: getShortUUID(game.id),
61
- createdAt: getShortDate(game.createdAt),
62
- engine: "Godot"
63
- };
64
- const steps = [iosPlatformStatus.hasBundleSet == false && "shipthis game ios app create"].filter(
65
- Boolean
66
- );
67
- const progressToStatuses = (progress) => {
68
- const { platform, ...rest } = progress;
69
- return makeHumanReadable(rest);
70
- };
71
59
  const authState = await this.refreshAppleAuthState();
72
60
  const ctx = authState.context;
73
61
  render(
74
- /* @__PURE__ */ jsxs(Command, { command: this, children: [
75
- /* @__PURE__ */ jsx(StatusTable, { marginBottom: 1, title: "ShipThis game status", statuses: gameStatuses }),
76
- /* @__PURE__ */ jsx(
77
- StatusTable,
78
- {
79
- marginBottom: 1,
80
- title: "Overall iOS status for game",
81
- statuses: progressToStatuses(iosPlatformStatus)
82
- }
83
- ),
84
- /* @__PURE__ */ jsx(AppleAppDetails, { iosBundleId: game.details?.iosBundleId, ctx }),
85
- /* @__PURE__ */ jsx(AppleBundleIdDetails, { iosBundleId: game.details?.iosBundleId, ctx }),
86
- /* @__PURE__ */ jsx(NextSteps, { steps })
87
- ] })
62
+ /* @__PURE__ */ jsx(CommandGame, { command: this, children: /* @__PURE__ */ jsx(
63
+ GameStatusDetails,
64
+ {
65
+ gameId: game.id,
66
+ onComplete: (exitCode) => {
67
+ setTimeout(() => process.exit(exitCode), 2e3);
68
+ },
69
+ platforms: [Platform.IOS],
70
+ children: /* @__PURE__ */ jsxs(Box, { flexDirection: "column", gap: 0, marginTop: 1, children: [
71
+ /* @__PURE__ */ jsx(AppleAppDetails, { ctx, iosBundleId: game.details?.iosBundleId }),
72
+ /* @__PURE__ */ jsx(AppleBundleIdDetails, { ctx, iosBundleId: game.details?.iosBundleId })
73
+ ] })
74
+ }
75
+ ) })
88
76
  );
89
77
  }
90
78
  }
@@ -1,38 +1,38 @@
1
1
  import { Flags } from '@oclif/core';
2
2
  import chalk from 'chalk';
3
- import { B as BaseAuthenticatedCommand, j as isCWDGodotGame, W as WEB_URL, P as Platform, C as CredentialsType } from '../../../index-w3lHxk5O.js';
3
+ import 'node:fs';
4
4
  import 'axios';
5
5
  import 'crypto-js';
6
6
  import 'uuid';
7
- import 'fs';
7
+ import { B as BaseAuthenticatedCommand, j as isCWDGodotGame, W as WEB_URL, P as Platform, C as CredentialsType } from '../../../index-BhhiXbey.js';
8
8
  import 'luxon';
9
- import { g as getUserCredentials, a as getProjectCredentials } from '../../../index-C6aAyrXW.js';
9
+ import { g as getUserCredentials, a as getProjectCredentials } from '../../../index-CtTI85m-.js';
10
10
  import 'react/jsx-runtime';
11
- import 'react';
12
11
  import 'ink';
13
- import { g as getRenderedMarkdown } from '../../../index-CyvGh-kt.js';
14
12
  import 'ink-spinner';
15
- import '@inkjs/ui';
16
- import '@tanstack/react-query';
17
- import 'yazl';
18
- import 'crypto';
19
- import 'readline-sync';
20
- import 'node:readline';
13
+ import 'node:crypto';
21
14
  import 'node:path';
15
+ import 'node:readline';
22
16
  import 'node:url';
17
+ import 'readline-sync';
23
18
  import 'isomorphic-git';
19
+ import '@tanstack/react-query';
20
+ import 'react';
24
21
  import 'fast-glob';
22
+ import 'yazl';
25
23
  import 'socket.io-client';
26
- import 'open';
27
- import 'qrcode';
24
+ import 'fullscreen-ink';
28
25
  import 'string-length';
29
26
  import 'strip-ansi';
30
- import 'path';
27
+ import 'open';
28
+ import '@inkjs/ui';
29
+ import { g as getRenderedMarkdown } from '../../../index-C66Dd8Xc.js';
30
+ import 'qrcode';
31
31
  import '@expo/apple-utils/build/index.js';
32
- import 'ini';
33
32
  import 'deepmerge';
34
- import '../../../index-DJ078v-U.js';
35
- import '../../../useAndroidServiceAccountTestResult-Dy3Ag7_r.js';
33
+ import 'ini';
34
+ import '../../../index-CGBdOm1q.js';
35
+ import '../../../useAndroidServiceAccountTestResult-DZk5SMxI.js';
36
36
  import 'marked';
37
37
  import 'marked-terminal';
38
38
 
@@ -54,29 +54,29 @@ class GameIosWizard extends BaseAuthenticatedCommand {
54
54
  { exit: 1 }
55
55
  );
56
56
  }
57
- const projectConfig = await this.getProjectConfigSafe();
57
+ const projectConfig = this.getProjectConfigSafe();
58
58
  const game = projectConfig.project;
59
59
  const isStepForced = (cmdName) => flags.forceStep?.includes(cmdName);
60
60
  const logSkip = (cmdName) => this.log(chalk.blue(`[skip] shipthis ${cmdName.replaceAll(":", " ")}`));
61
61
  const logRun = (cmdName, args) => this.log(chalk.green(`[run] shipthis ${cmdName.replaceAll(":", " ")} ${args.join(" ")}`));
62
62
  const iosSteps = [
63
63
  {
64
- command: "game:create",
65
64
  args: ["--quiet"],
65
+ command: "game:create",
66
66
  shouldRun: async () => !game
67
67
  },
68
68
  {
69
- command: "apple:login",
70
69
  args: ["--quiet"],
70
+ command: "apple:login",
71
71
  shouldRun: async () => {
72
72
  const isLoggedIn = await this.hasValidAppleAuthState();
73
73
  return !isLoggedIn;
74
74
  }
75
75
  },
76
76
  {
77
- command: "apple:apiKey:create",
78
77
  args: ["--quiet"],
79
- shouldRun: async () => {
78
+ command: "apple:apiKey:create",
79
+ async shouldRun() {
80
80
  const userCredentials = await getUserCredentials();
81
81
  const userAppleApiKeyCredentials = userCredentials.filter(
82
82
  (cred) => cred.platform == Platform.IOS && cred.type == CredentialsType.KEY
@@ -86,9 +86,9 @@ class GameIosWizard extends BaseAuthenticatedCommand {
86
86
  }
87
87
  },
88
88
  {
89
- command: "apple:certificate:create",
90
89
  args: ["--quiet"],
91
- shouldRun: async () => {
90
+ command: "apple:certificate:create",
91
+ async shouldRun() {
92
92
  const userCredentials = await getUserCredentials();
93
93
  const userAppleDistCredentials = userCredentials.filter(
94
94
  (cred) => cred.platform == Platform.IOS && cred.type == CredentialsType.CERTIFICATE
@@ -98,24 +98,24 @@ class GameIosWizard extends BaseAuthenticatedCommand {
98
98
  }
99
99
  },
100
100
  {
101
- command: "game:ios:app:create",
102
101
  args: ["--quiet"],
103
- shouldRun: async () => {
102
+ command: "game:ios:app:create",
103
+ async shouldRun() {
104
104
  if (!game) return true;
105
- const hasBundleIdSet = !!game.details?.iosBundleId;
105
+ const hasBundleIdSet = Boolean(game.details?.iosBundleId);
106
106
  return !hasBundleIdSet;
107
107
  }
108
108
  },
109
109
  {
110
- command: "game:ios:app:sync",
111
110
  args: ["--quiet"],
111
+ command: "game:ios:app:sync",
112
112
  // Can always run this
113
113
  shouldRun: async () => true
114
114
  },
115
115
  {
116
- command: "game:ios:profile:create",
117
116
  args: ["--quiet"],
118
- shouldRun: async () => {
117
+ command: "game:ios:profile:create",
118
+ async shouldRun() {
119
119
  if (!game) return true;
120
120
  const projectCredentials = await getProjectCredentials(game.id);
121
121
  const projectAppleProfileCredentials = projectCredentials.filter(
@@ -127,7 +127,7 @@ class GameIosWizard extends BaseAuthenticatedCommand {
127
127
  }
128
128
  ];
129
129
  for (const step of iosSteps) {
130
- const command = step.command;
130
+ const { command } = step;
131
131
  const willRun = isStepForced(command) || await step.shouldRun();
132
132
  if (!willRun) {
133
133
  logSkip(command);
@@ -1,41 +1,41 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
- import { render, Box, Text } from 'ink';
3
2
  import { Flags } from '@oclif/core';
4
- import { c as BaseGameCommand, z as getProjectJobs } from '../../../index-w3lHxk5O.js';
5
- import 'react';
6
- import { a as getJobSummary } from '../../../index-CyvGh-kt.js';
3
+ import { render, Box, Text } from 'ink';
4
+ import { DateTime } from 'luxon';
5
+ import { c as BaseGameCommand, y as getProjectJobs } from '../../../index-BhhiXbey.js';
7
6
  import 'ink-spinner';
8
- import '@inkjs/ui';
9
- import 'axios';
7
+ import { c as getJobStatusColor } from '../../../index-CGBdOm1q.js';
8
+ import { T as Table } from '../../../Table-FaNgpyeq.js';
9
+ import { T as Title } from '../../../Title-BCQtayg6.js';
10
+ import 'react';
10
11
  import '@tanstack/react-query';
11
- import 'fs';
12
+ import 'axios';
13
+ import { a as getJobSummary } from '../../../index-C66Dd8Xc.js';
14
+ import 'node:fs';
15
+ import 'fast-glob';
12
16
  import 'uuid';
13
17
  import 'yazl';
14
- import { c as getJobStatusColor } from '../../../index-DJ078v-U.js';
18
+ import 'socket.io-client';
19
+ import 'fullscreen-ink';
20
+ import 'string-length';
21
+ import 'strip-ansi';
15
22
  import 'open';
16
- import { T as Title } from '../../../Title-BCQtayg6.js';
23
+ import '@inkjs/ui';
24
+ import 'node:path';
17
25
  import 'marked';
18
26
  import 'marked-terminal';
19
- import 'path';
20
27
  import 'qrcode';
21
- import { T as Table } from '../../../Table-CvM6pccN.js';
22
- import 'string-length';
23
- import 'strip-ansi';
24
- import { DateTime } from 'luxon';
25
- import 'fast-glob';
26
- import { C as Command } from '../../../Command-DFdHXDiU.js';
27
- import 'socket.io-client';
28
- import '@expo/apple-utils/build/index.js';
28
+ import { C as Command } from '../../../Command-WPpmLPkL.js';
29
29
  import 'crypto-js';
30
- import 'crypto';
31
- import 'readline-sync';
30
+ import '@expo/apple-utils/build/index.js';
31
+ import 'node:crypto';
32
32
  import 'node:readline';
33
- import 'node:path';
34
33
  import 'node:url';
34
+ import 'readline-sync';
35
35
  import 'isomorphic-git';
36
- import 'ini';
37
36
  import 'deepmerge';
38
- import '../../../useAndroidServiceAccountTestResult-Dy3Ag7_r.js';
37
+ import 'ini';
38
+ import '../../../useAndroidServiceAccountTestResult-DZk5SMxI.js';
39
39
 
40
40
  class GameJobList extends BaseGameCommand {
41
41
  static args = {};
@@ -46,20 +46,20 @@ class GameJobList extends BaseGameCommand {
46
46
  ];
47
47
  static flags = {
48
48
  ...super.flags,
49
- pageNumber: Flags.integer({ char: "p", description: "The page number to show (starts at 0)", default: 0 }),
50
- pageSize: Flags.integer({ char: "s", description: "The number of items to show per page", default: 10 }),
49
+ order: Flags.string({
50
+ char: "r",
51
+ default: "desc",
52
+ description: "The order to sort by",
53
+ options: ["asc", "desc"]
54
+ }),
51
55
  orderBy: Flags.string({
52
56
  char: "o",
53
- description: "The field to order by",
54
57
  default: "createdAt",
58
+ description: "The field to order by",
55
59
  options: ["createdAt", "updatedAt"]
56
60
  }),
57
- order: Flags.string({
58
- char: "r",
59
- description: "The order to sort by",
60
- default: "desc",
61
- options: ["asc", "desc"]
62
- })
61
+ pageNumber: Flags.integer({ char: "p", default: 0, description: "The page number to show (starts at 0)" }),
62
+ pageSize: Flags.integer({ char: "s", default: 10, description: "The number of items to show per page" })
63
63
  };
64
64
  async run() {
65
65
  const game = await this.getGame();
@@ -72,7 +72,7 @@ class GameJobList extends BaseGameCommand {
72
72
  render(
73
73
  /* @__PURE__ */ jsxs(Command, { command: this, children: [
74
74
  /* @__PURE__ */ jsx(Title, { children: "Jobs for this game" }),
75
- !hasJobs && /* @__PURE__ */ jsx(Box, { marginLeft: 2, marginTop: 1, flexDirection: "column", children: /* @__PURE__ */ jsx(Text, { children: "You DO NOT have any jobs for this game." }) }),
75
+ !hasJobs && /* @__PURE__ */ jsx(Box, { flexDirection: "column", marginLeft: 2, marginTop: 1, children: /* @__PURE__ */ jsx(Text, { children: "You DO NOT have any jobs for this game." }) }),
76
76
  hasJobs && /* @__PURE__ */ jsx(
77
77
  Table,
78
78
  {
@@ -83,7 +83,7 @@ class GameJobList extends BaseGameCommand {
83
83
  }
84
84
  }
85
85
  ),
86
- jobListResponse.pageCount > 1 && /* @__PURE__ */ jsxs(Box, { marginTop: 1, flexDirection: "column", children: [
86
+ jobListResponse.pageCount > 1 && /* @__PURE__ */ jsxs(Box, { flexDirection: "column", marginTop: 1, children: [
87
87
  /* @__PURE__ */ jsx(Text, { children: `Showing page ${flags.pageNumber + 1} of ${jobListResponse.pageCount}.` }),
88
88
  /* @__PURE__ */ jsx(Text, { children: "Use the --pageNumber parameter to see other pages." })
89
89
  ] })
@@ -1,45 +1,45 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { Args, Flags } from '@oclif/core';
3
3
  import { render } from 'ink';
4
- import { c as BaseGameCommand, E as getJob, J as JobStatus } from '../../../index-w3lHxk5O.js';
5
- import 'react';
6
- import '../../../index-CyvGh-kt.js';
4
+ import { c as BaseGameCommand, z as getJob, J as JobStatus } from '../../../index-BhhiXbey.js';
7
5
  import 'ink-spinner';
8
- import '@inkjs/ui';
9
- import 'axios';
10
- import '@tanstack/react-query';
11
- import 'fs';
12
- import 'uuid';
13
- import 'yazl';
14
- import 'crypto';
15
- import 'readline-sync';
16
- import 'node:readline';
6
+ import 'node:crypto';
7
+ import 'node:fs';
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 { J as JobLogTail } from '../../../JobLogTail-0CBLoG8N.js';
23
+ import { J as JobStatusTable } from '../../../JobStatusTable-C_ZsZJCm.js';
23
24
  import 'open';
25
+ import '@inkjs/ui';
24
26
  import 'marked';
25
27
  import 'marked-terminal';
26
- import 'path';
27
- import { N as NextSteps } from '../../../NextSteps-CK9zHOCt.js';
28
+ import { N as NextSteps } from '../../../NextSteps-DbJHmscQ.js';
28
29
  import 'qrcode';
29
30
  import 'string-length';
30
31
  import 'strip-ansi';
31
- import { C as Command } from '../../../Command-DFdHXDiU.js';
32
- import { J as JobLogTail } from '../../../JobLogTail-BWzbQBZz.js';
33
- import { J as JobStatusTable } from '../../../JobStatusTable-CEqWU73q.js';
34
- import '@expo/apple-utils/build/index.js';
32
+ import '../../../index-C66Dd8Xc.js';
33
+ import { C as Command } from '../../../Command-WPpmLPkL.js';
35
34
  import 'crypto-js';
36
- import 'ini';
35
+ import '@expo/apple-utils/build/index.js';
37
36
  import 'deepmerge';
38
- import '../../../index-DJ078v-U.js';
39
- import '../../../useAndroidServiceAccountTestResult-Dy3Ag7_r.js';
37
+ import 'ini';
38
+ import '../../../index-CGBdOm1q.js';
39
+ import '../../../useAndroidServiceAccountTestResult-DZk5SMxI.js';
40
+ import '../../../useWebSocket-5PYa2QER.js';
40
41
  import '../../../Title-BCQtayg6.js';
41
- import '../../../useWebSocket-gyuCsore.js';
42
- import '../../../StatusTable-Dm5St4g-.js';
42
+ import '../../../StatusTable-DzRWcMr4.js';
43
43
 
44
44
  class GameJobStatus extends BaseGameCommand {
45
45
  static args = {
@@ -53,24 +53,24 @@ class GameJobStatus extends BaseGameCommand {
53
53
  ];
54
54
  static flags = {
55
55
  ...super.flags,
56
- lines: Flags.integer({ char: "n", description: "The number of lines to show", default: 10 }),
57
- follow: Flags.boolean({ char: "f", description: "Follow the log in real-time", default: false })
56
+ follow: Flags.boolean({ char: "f", default: false, description: "Follow the log in real-time" }),
57
+ lines: Flags.integer({ char: "n", default: 10, description: "The number of lines to show" })
58
58
  };
59
59
  async getJob() {
60
60
  try {
61
61
  const game = await this.getGame();
62
62
  const job = await getJob(this.args.job_id, game.id);
63
63
  return job;
64
- } catch (e) {
65
- if (e?.response?.status === 404) {
64
+ } catch (error) {
65
+ if (error?.response?.status === 404) {
66
66
  this.error("Job not found - please check you have access", { exit: 1 });
67
67
  }
68
- throw e;
68
+ throw error;
69
69
  }
70
70
  }
71
71
  async run() {
72
72
  const job = await this.getJob();
73
- const { lines, follow } = this.flags;
73
+ const { follow, lines } = this.flags;
74
74
  const handleJobUpdate = (job2) => {
75
75
  if (!follow) return;
76
76
  if ([JobStatus.COMPLETED, JobStatus.FAILED].includes(job2.status)) {
@@ -80,8 +80,8 @@ class GameJobStatus extends BaseGameCommand {
80
80
  };
81
81
  render(
82
82
  /* @__PURE__ */ jsxs(Command, { command: this, children: [
83
- /* @__PURE__ */ jsx(JobStatusTable, { jobId: job.id, projectId: job.project.id, isWatching: follow, onJobUpdate: handleJobUpdate }),
84
- /* @__PURE__ */ jsx(JobLogTail, { jobId: job.id, projectId: job.project.id, isWatching: follow, length: lines }),
83
+ /* @__PURE__ */ jsx(JobStatusTable, { isWatching: follow, jobId: job.id, onJobUpdate: handleJobUpdate, projectId: job.project.id }),
84
+ /* @__PURE__ */ jsx(JobLogTail, { isWatching: follow, jobId: job.id, length: lines, projectId: job.project.id }),
85
85
  /* @__PURE__ */ jsx(NextSteps, { steps: [] })
86
86
  ] })
87
87
  );
@@ -1,72 +1,70 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
- import { render, Box, Text } from 'ink';
3
2
  import { Flags } from '@oclif/core';
4
- import { B as BaseAuthenticatedCommand, g as getProjects, b as getShortDate } from '../../index-w3lHxk5O.js';
5
- import 'react';
6
- import '../../index-CyvGh-kt.js';
3
+ import { render, Box, Text } from 'ink';
4
+ import { B as BaseAuthenticatedCommand, g as getProjects, b as getShortDate } from '../../index-BhhiXbey.js';
7
5
  import 'ink-spinner';
8
- import '@inkjs/ui';
9
- import 'axios';
6
+ import { g as getShortUUID } from '../../index-CGBdOm1q.js';
7
+ import { T as Table } from '../../Table-FaNgpyeq.js';
8
+ import 'react';
10
9
  import '@tanstack/react-query';
11
- import 'fs';
10
+ import 'axios';
11
+ import 'luxon';
12
+ import 'node:fs';
13
+ import 'fast-glob';
12
14
  import 'uuid';
13
15
  import 'yazl';
14
- import { g as getShortUUID } from '../../index-DJ078v-U.js';
16
+ import 'socket.io-client';
17
+ import 'fullscreen-ink';
18
+ import 'string-length';
19
+ import 'strip-ansi';
15
20
  import 'open';
21
+ import '@inkjs/ui';
22
+ import 'node:path';
16
23
  import 'marked';
17
24
  import 'marked-terminal';
18
- import 'path';
19
25
  import 'qrcode';
20
- import { T as Table } from '../../Table-CvM6pccN.js';
21
- import 'string-length';
22
- import 'strip-ansi';
23
- import 'luxon';
24
- import 'fast-glob';
25
- import { C as Command } from '../../Command-DFdHXDiU.js';
26
- import 'socket.io-client';
27
- import '@expo/apple-utils/build/index.js';
26
+ import '../../index-C66Dd8Xc.js';
27
+ import { C as Command } from '../../Command-WPpmLPkL.js';
28
28
  import 'crypto-js';
29
- import 'crypto';
30
- import 'readline-sync';
29
+ import '@expo/apple-utils/build/index.js';
30
+ import 'node:crypto';
31
31
  import 'node:readline';
32
- import 'node:path';
33
32
  import 'node:url';
33
+ import 'readline-sync';
34
34
  import 'isomorphic-git';
35
- import 'ini';
36
35
  import 'deepmerge';
37
- import '../../useAndroidServiceAccountTestResult-Dy3Ag7_r.js';
36
+ import 'ini';
37
+ import '../../useAndroidServiceAccountTestResult-DZk5SMxI.js';
38
38
 
39
39
  class GameList extends BaseAuthenticatedCommand {
40
40
  static args = {};
41
41
  static description = "Shows a list of all your games.";
42
42
  static examples = ["<%= config.bin %> <%= command.id %>"];
43
43
  static flags = {
44
- pageNumber: Flags.integer({ char: "p", description: "The page number to show (starts at 0)", default: 0 }),
45
- pageSize: Flags.integer({ char: "s", description: "The number of items to show per page", default: 10 }),
44
+ order: Flags.string({
45
+ char: "r",
46
+ default: "desc",
47
+ description: "The order to sort by",
48
+ options: ["asc", "desc"]
49
+ }),
46
50
  orderBy: Flags.string({
47
51
  char: "o",
48
- description: "The field to order by",
49
52
  default: "createdAt",
53
+ description: "The field to order by",
50
54
  options: ["createdAt", "updatedAt", "name"]
51
55
  }),
52
- order: Flags.string({
53
- char: "r",
54
- description: "The order to sort by",
55
- default: "desc",
56
- options: ["asc", "desc"]
57
- })
56
+ pageNumber: Flags.integer({ char: "p", default: 0, description: "The page number to show (starts at 0)" }),
57
+ pageSize: Flags.integer({ char: "s", default: 10, description: "The number of items to show per page" })
58
58
  };
59
59
  async run() {
60
60
  const { flags } = this;
61
61
  const params = flags;
62
62
  const gameListResponse = await getProjects(params);
63
- const data = gameListResponse.data.map((game) => {
64
- return {
65
- id: getShortUUID(game.id),
66
- name: game.name,
67
- createdAt: getShortDate(game.createdAt)
68
- };
69
- });
63
+ const data = gameListResponse.data.map((game) => ({
64
+ createdAt: getShortDate(game.createdAt),
65
+ id: getShortUUID(game.id),
66
+ name: game.name
67
+ }));
70
68
  render(
71
69
  /* @__PURE__ */ jsxs(Command, { command: this, children: [
72
70
  data.length === 0 && params.pageNumber == 0 && /* @__PURE__ */ jsxs(Box, { flexDirection: "column", children: [
@@ -77,7 +75,7 @@ class GameList extends BaseAuthenticatedCommand {
77
75
  ] })
78
76
  ] }),
79
77
  data.length > 0 && /* @__PURE__ */ jsx(Table, { data }),
80
- gameListResponse.pageCount > 1 && /* @__PURE__ */ jsxs(Box, { marginTop: 1, flexDirection: "column", children: [
78
+ gameListResponse.pageCount > 1 && /* @__PURE__ */ jsxs(Box, { flexDirection: "column", marginTop: 1, children: [
81
79
  /* @__PURE__ */ jsx(Text, { children: `Showing page ${flags.pageNumber + 1} of ${gameListResponse.pageCount}.` }),
82
80
  /* @__PURE__ */ jsx(Text, { children: "Use the --pageNumber parameter to see other pages." })
83
81
  ] })