shipthis 0.1.32 → 0.1.33

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 (76) hide show
  1. package/dist/{AppleBundleIdDetails-6H3cNWxw.js → AppleBundleIdDetails-BhHPCvRm.js} +4 -4
  2. package/dist/{Command-WPpmLPkL.js → Command-BDIkuv2g.js} +2 -2
  3. package/dist/{CommandGame-cxzWG4nT.js → CommandGame-CvBIjPZp.js} +2 -2
  4. package/dist/{Create-3Ob8sjik.js → Create-Lpe0B8nT.js} +3 -3
  5. package/dist/{GameStatus-BQEtVKvv.js → GameStatus-5XpufIY_.js} +3 -3
  6. package/dist/{Import-CFuPDI0K.js → Import-DFzrAG04.js} +6 -6
  7. package/dist/{JobLogTail-0CBLoG8N.js → JobLogTail-BYcJgPcL.js} +5 -5
  8. package/dist/{JobProgress-lKqVT88m.js → JobProgress-BcrE7CUK.js} +11 -8
  9. package/dist/{JobStatusTable-C_ZsZJCm.js → JobStatusTable-Bi-y8ZZT.js} +4 -4
  10. package/dist/{ProgressSpinner-DGcakQSK.js → ProgressSpinner-Um6ARKlk.js} +1 -1
  11. package/dist/{ProjectCredentialsTable-B5pHOnGu.js → ProjectCredentialsTable-B4vDJl4l.js} +2 -2
  12. package/dist/{UserCredentialsTable-3W3qesh7.js → UserCredentialsTable-CwkZTFBD.js} +3 -3
  13. package/dist/{baseAppleCommand-BGV088--.js → baseAppleCommand-BKXweb-U.js} +1 -1
  14. package/dist/{baseGameAndroidCommand-CsemgVjp.js → baseGameAndroidCommand-CAi-BSsH.js} +2 -2
  15. package/dist/commands/apple/apiKey/create.js +9 -9
  16. package/dist/commands/apple/apiKey/export.js +8 -8
  17. package/dist/commands/apple/apiKey/import.js +8 -8
  18. package/dist/commands/apple/apiKey/status.js +7 -7
  19. package/dist/commands/apple/certificate/create.js +9 -9
  20. package/dist/commands/apple/certificate/export.js +8 -8
  21. package/dist/commands/apple/certificate/import.js +8 -8
  22. package/dist/commands/apple/certificate/status.js +8 -8
  23. package/dist/commands/apple/login.js +3 -2
  24. package/dist/commands/apple/status.js +5 -5
  25. package/dist/commands/dashboard.js +2 -1
  26. package/dist/commands/game/android/apiKey/connect.js +9 -9
  27. package/dist/commands/game/android/apiKey/create.js +13 -13
  28. package/dist/commands/game/android/apiKey/export.js +9 -9
  29. package/dist/commands/game/android/apiKey/import.js +9 -9
  30. package/dist/commands/game/android/apiKey/invite.js +5 -4
  31. package/dist/commands/game/android/apiKey/status.js +9 -9
  32. package/dist/commands/game/android/keyStore/create.js +10 -10
  33. package/dist/commands/game/android/keyStore/export.js +8 -8
  34. package/dist/commands/game/android/keyStore/import.js +11 -11
  35. package/dist/commands/game/android/keyStore/status.js +7 -7
  36. package/dist/commands/game/android/status.js +2 -1
  37. package/dist/commands/game/build/download.js +5 -5
  38. package/dist/commands/game/build/list.js +6 -6
  39. package/dist/commands/game/create.js +3 -2
  40. package/dist/commands/game/details.js +5 -5
  41. package/dist/commands/game/export.js +2 -1
  42. package/dist/commands/game/ios/app/addTester.js +19 -14
  43. package/dist/commands/game/ios/app/create.js +5 -5
  44. package/dist/commands/game/ios/app/status.js +8 -8
  45. package/dist/commands/game/ios/app/sync.js +6 -6
  46. package/dist/commands/game/ios/profile/create.js +10 -10
  47. package/dist/commands/game/ios/profile/export.js +8 -8
  48. package/dist/commands/game/ios/profile/import.js +8 -8
  49. package/dist/commands/game/ios/profile/status.js +7 -7
  50. package/dist/commands/game/ios/status.js +10 -10
  51. package/dist/commands/game/ios/wizard.js +13 -8
  52. package/dist/commands/game/job/list.js +5 -5
  53. package/dist/commands/game/job/status.js +9 -9
  54. package/dist/commands/game/list.js +6 -6
  55. package/dist/commands/game/ship.js +19 -17
  56. package/dist/commands/game/status.js +7 -7
  57. package/dist/commands/game/wizard.js +21 -21
  58. package/dist/commands/internal/fastlane.js +2 -1
  59. package/dist/commands/internal/readme.js +2 -1
  60. package/dist/commands/login.js +3 -2
  61. package/dist/commands/status.js +5 -5
  62. package/dist/{export-CXsVPXA1.js → export-DLQrUEBK.js} +1 -1
  63. package/dist/{import-DGvG5REx.js → import-BoY5e0uJ.js} +1 -1
  64. package/dist/{index-CGBdOm1q.js → index-B27WJDxn.js} +2 -1
  65. package/dist/{index-CS9Gwcb0.js → index-CisLwc7e.js} +7 -7
  66. package/dist/{index-CtTI85m-.js → index-Crv7S0bl.js} +1 -1
  67. package/dist/{index-C03TV1_J.js → index-DC0GJtAy.js} +17 -9
  68. package/dist/{index-C66Dd8Xc.js → index-DfUg5j06.js} +23 -12
  69. package/dist/{index-BhhiXbey.js → index-pj8JVg5X.js} +4 -3
  70. package/dist/{upload-8y5MQEm9.js → upload-C8S17EU_.js} +1 -1
  71. package/dist/{useAndroidServiceAccountTestResult-DZk5SMxI.js → useAndroidServiceAccountTestResult-D4e5AKAZ.js} +1 -1
  72. package/dist/{useAppleApp-DWYGURwU.js → useAppleApp-Dr6URQvC.js} +1 -1
  73. package/dist/{useAppleBundleId-PsTJ2g1B.js → useAppleBundleId-DELAwSQp.js} +1 -1
  74. package/dist/{useProjectCredentials-BEphqa18.js → useProjectCredentials-BjvdJdQg.js} +3 -3
  75. package/dist/{useWebSocket-5PYa2QER.js → useWebSocket-CRV7V69Q.js} +1 -1
  76. package/package.json +2 -2
@@ -1,9 +1,9 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { Flags } from '@oclif/core';
3
3
  import { render } from 'ink';
4
- import { c as BaseGameCommand, D as DetailsFlags, s as GameEngine } from '../../index-BhhiXbey.js';
4
+ import { c as BaseGameCommand, D as DetailsFlags, s as GameEngine } from '../../index-pj8JVg5X.js';
5
5
  import 'ink-spinner';
6
- import { i as isValidSemVer } from '../../index-CGBdOm1q.js';
6
+ import { i as isValidSemVer } from '../../index-B27WJDxn.js';
7
7
  import 'react';
8
8
  import 'node:fs';
9
9
  import 'axios';
@@ -24,8 +24,8 @@ import 'node:path';
24
24
  import 'marked';
25
25
  import 'marked-terminal';
26
26
  import 'qrcode';
27
- import '../../index-C66Dd8Xc.js';
28
- import { C as Command } from '../../Command-WPpmLPkL.js';
27
+ import '../../index-DfUg5j06.js';
28
+ import { C as Command } from '../../Command-BDIkuv2g.js';
29
29
  import '@expo/apple-utils/build/index.js';
30
30
  import 'node:crypto';
31
31
  import 'node:readline';
@@ -35,7 +35,7 @@ import 'isomorphic-git';
35
35
  import 'deepmerge';
36
36
  import 'ini';
37
37
  import '../../Title-BCQtayg6.js';
38
- import '../../useAndroidServiceAccountTestResult-DZk5SMxI.js';
38
+ import '../../useAndroidServiceAccountTestResult-D4e5AKAZ.js';
39
39
 
40
40
  class GameDetails extends BaseGameCommand {
41
41
  static args = {};
@@ -1,5 +1,5 @@
1
1
  import { Args, Flags } from '@oclif/core';
2
- import { B as BaseAuthenticatedCommand, j as isCWDGodotGame, E as getProject, v as DEFAULT_SHIPPED_FILES_GLOBS, w as DEFAULT_IGNORED_FILES_GLOBS } from '../../index-BhhiXbey.js';
2
+ import { B as BaseAuthenticatedCommand, j as isCWDGodotGame, E as getProject, v as DEFAULT_SHIPPED_FILES_GLOBS, w as DEFAULT_IGNORED_FILES_GLOBS } from '../../index-pj8JVg5X.js';
3
3
  import 'node:crypto';
4
4
  import 'node:fs';
5
5
  import 'node:path';
@@ -16,6 +16,7 @@ import 'uuid';
16
16
  import 'yazl';
17
17
  import 'socket.io-client';
18
18
  import 'fullscreen-ink';
19
+ import 'ink';
19
20
  import 'crypto-js';
20
21
  import '@expo/apple-utils/build/index.js';
21
22
  import 'deepmerge';
@@ -1,9 +1,9 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { Flags } from '@oclif/core';
3
3
  import { render } from 'ink';
4
- import { c as BaseGameCommand, i as BetaGroup } from '../../../../index-BhhiXbey.js';
4
+ import { c as BaseGameCommand, i as BetaGroup } from '../../../../index-pj8JVg5X.js';
5
5
  import 'ink-spinner';
6
- import { a as getInput } from '../../../../index-CGBdOm1q.js';
6
+ import { a as getInput } from '../../../../index-B27WJDxn.js';
7
7
  import 'react';
8
8
  import 'node:fs';
9
9
  import 'axios';
@@ -11,7 +11,7 @@ import 'crypto-js';
11
11
  import 'uuid';
12
12
  import 'luxon';
13
13
  import '@tanstack/react-query';
14
- import { q as queryAppleApp } from '../../../../useAppleApp-DWYGURwU.js';
14
+ import { q as queryAppleApp } from '../../../../useAppleApp-Dr6URQvC.js';
15
15
  import 'fast-glob';
16
16
  import 'yazl';
17
17
  import 'socket.io-client';
@@ -25,8 +25,8 @@ import 'marked';
25
25
  import 'marked-terminal';
26
26
  import 'qrcode';
27
27
  import { R as RunWithSpinner } from '../../../../RunWithSpinner-gMVA07bZ.js';
28
- import '../../../../index-C66Dd8Xc.js';
29
- import { C as Command } from '../../../../Command-WPpmLPkL.js';
28
+ import '../../../../index-DfUg5j06.js';
29
+ import { C as Command } from '../../../../Command-BDIkuv2g.js';
30
30
  import '@expo/apple-utils/build/index.js';
31
31
  import 'node:crypto';
32
32
  import 'node:readline';
@@ -35,7 +35,7 @@ import 'readline-sync';
35
35
  import 'isomorphic-git';
36
36
  import 'deepmerge';
37
37
  import 'ini';
38
- import '../../../../useAndroidServiceAccountTestResult-DZk5SMxI.js';
38
+ import '../../../../useAndroidServiceAccountTestResult-D4e5AKAZ.js';
39
39
 
40
40
  const TEST_GROUP_NAME = "ShipThis Test Group";
41
41
  class GameIosAppAddTester extends BaseGameCommand {
@@ -46,7 +46,13 @@ class GameIosAppAddTester extends BaseGameCommand {
46
46
  email: Flags.string({ char: "e", description: "The email address of the tester" }),
47
47
  firstName: Flags.string({ char: "f", description: "The first name of the tester" }),
48
48
  gameId: Flags.string({ char: "g", description: "The ID of the game" }),
49
- lastName: Flags.string({ char: "l", description: "The last name of the tester" })
49
+ lastName: Flags.string({ char: "l", description: "The last name of the tester" }),
50
+ self: Flags.boolean({
51
+ char: "s",
52
+ description: "Add yourself as a tester (uses your Apple ID email and name)",
53
+ default: false
54
+ }),
55
+ quiet: Flags.boolean({ char: "q", description: "Avoid output except for interactions and errors" })
50
56
  };
51
57
  async run() {
52
58
  const game = await this.getGame();
@@ -54,15 +60,15 @@ class GameIosAppAddTester extends BaseGameCommand {
54
60
  const ctx = authState.context;
55
61
  const { flags } = this;
56
62
  const getEmail = async () => {
63
+ if (flags.self) return authState.session.user.emailAddress;
57
64
  if (flags.email) return flags.email;
58
65
  const question = `Please enter the email address of the tester: `;
59
66
  const enteredEmail = await getInput(question);
60
- if (!enteredEmail) {
61
- this.error("No email address provided");
62
- }
67
+ if (!enteredEmail) this.error("No email address provided");
63
68
  return enteredEmail;
64
69
  };
65
70
  const getFirstName = async () => {
71
+ if (flags.self) return authState.session.user.firstName;
66
72
  if (flags.firstName) return flags.firstName;
67
73
  const suggestedName = "John";
68
74
  const question = `Please enter the first name of the tester, or press enter to use ${suggestedName}: `;
@@ -70,6 +76,7 @@ class GameIosAppAddTester extends BaseGameCommand {
70
76
  return enteredName || suggestedName;
71
77
  };
72
78
  const getLastName = async () => {
79
+ if (flags.self) return authState.session.user.lastName;
73
80
  if (flags.lastName) return flags.lastName;
74
81
  const suggestedName = "Doe";
75
82
  const question = `Please enter the last name of the tester, or press enter to use ${suggestedName}: `;
@@ -79,7 +86,6 @@ class GameIosAppAddTester extends BaseGameCommand {
79
86
  const email = await getEmail();
80
87
  const firstName = await getFirstName();
81
88
  const lastName = await getLastName();
82
- console.warn("This command does not yet work. It fails with an assertion error.");
83
89
  const addTestUser = async () => {
84
90
  const { app } = await queryAppleApp({ ctx, iosBundleId: game.details?.iosBundleId });
85
91
  if (!app) return this.error("No app found");
@@ -92,9 +98,7 @@ class GameIosAppAddTester extends BaseGameCommand {
92
98
  id: app.id,
93
99
  isInternalGroup: true,
94
100
  name: TEST_GROUP_NAME,
95
- publicLinkEnabled: false,
96
- publicLinkLimit: 1,
97
- publicLinkLimitEnabled: false
101
+ hasAccessToAllBuilds: true
98
102
  });
99
103
  }
100
104
  await shipThisGroup.createBulkBetaTesterAssignmentsAsync([
@@ -107,6 +111,7 @@ class GameIosAppAddTester extends BaseGameCommand {
107
111
  };
108
112
  const handleComplete = async () => {
109
113
  };
114
+ if (flags.quiet) return await addTestUser();
110
115
  render(
111
116
  /* @__PURE__ */ jsx(Command, { command: this, children: /* @__PURE__ */ jsx(
112
117
  RunWithSpinner,
@@ -1,9 +1,9 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { Flags } from '@oclif/core';
3
3
  import { render } from 'ink';
4
- import { c as BaseGameCommand, d as getGodotAppleBundleIdentifier, e as BundleId, f as App } from '../../../../index-BhhiXbey.js';
4
+ import { c as BaseGameCommand, d as getGodotAppleBundleIdentifier, e as BundleId, f as App } from '../../../../index-pj8JVg5X.js';
5
5
  import 'ink-spinner';
6
- import { a as getInput, b as generatePackageName } from '../../../../index-CGBdOm1q.js';
6
+ import { a as getInput, b as generatePackageName } from '../../../../index-B27WJDxn.js';
7
7
  import 'react';
8
8
  import 'node:fs';
9
9
  import 'axios';
@@ -24,8 +24,8 @@ import 'marked';
24
24
  import 'marked-terminal';
25
25
  import 'qrcode';
26
26
  import { R as RunWithSpinner } from '../../../../RunWithSpinner-gMVA07bZ.js';
27
- import '../../../../index-C66Dd8Xc.js';
28
- import { C as Command } from '../../../../Command-WPpmLPkL.js';
27
+ import '../../../../index-DfUg5j06.js';
28
+ import { C as Command } from '../../../../Command-BDIkuv2g.js';
29
29
  import '@expo/apple-utils/build/index.js';
30
30
  import 'node:crypto';
31
31
  import 'node:readline';
@@ -34,7 +34,7 @@ import 'readline-sync';
34
34
  import 'isomorphic-git';
35
35
  import 'deepmerge';
36
36
  import 'ini';
37
- import '../../../../useAndroidServiceAccountTestResult-DZk5SMxI.js';
37
+ import '../../../../useAndroidServiceAccountTestResult-D4e5AKAZ.js';
38
38
 
39
39
  class GameIosAppCreate extends BaseGameCommand {
40
40
  static args = {};
@@ -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 { c as BaseGameCommand } from '../../../../index-BhhiXbey.js';
4
+ import { c as BaseGameCommand } from '../../../../index-pj8JVg5X.js';
5
5
  import 'ink-spinner';
6
6
  import 'node:crypto';
7
7
  import 'node:fs';
@@ -28,18 +28,18 @@ import 'marked';
28
28
  import 'marked-terminal';
29
29
  import { N as NextSteps } from '../../../../NextSteps-DbJHmscQ.js';
30
30
  import 'qrcode';
31
- import '../../../../index-C66Dd8Xc.js';
32
- import { A as AppleAppDetails, a as AppleBundleIdDetails } from '../../../../AppleBundleIdDetails-6H3cNWxw.js';
33
- import { C as Command } from '../../../../Command-WPpmLPkL.js';
31
+ import '../../../../index-DfUg5j06.js';
32
+ import { A as AppleAppDetails, a as AppleBundleIdDetails } from '../../../../AppleBundleIdDetails-BhHPCvRm.js';
33
+ import { C as Command } from '../../../../Command-BDIkuv2g.js';
34
34
  import '@expo/apple-utils/build/index.js';
35
35
  import 'deepmerge';
36
36
  import 'ini';
37
37
  import '../../../../Title-BCQtayg6.js';
38
- import '../../../../index-CGBdOm1q.js';
39
- import '../../../../useAndroidServiceAccountTestResult-DZk5SMxI.js';
40
- import '../../../../useAppleApp-DWYGURwU.js';
38
+ import '../../../../index-B27WJDxn.js';
39
+ import '../../../../useAndroidServiceAccountTestResult-D4e5AKAZ.js';
40
+ import '../../../../useAppleApp-Dr6URQvC.js';
41
41
  import '../../../../Table-FaNgpyeq.js';
42
- import '../../../../useAppleBundleId-PsTJ2g1B.js';
42
+ import '../../../../useAppleBundleId-DELAwSQp.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 { c as BaseGameCommand, h as CapabilityTypeOption } from '../../../../index-BhhiXbey.js';
4
+ import { c as BaseGameCommand, h as CapabilityTypeOption } from '../../../../index-pj8JVg5X.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-PsTJ2g1B.js';
19
+ import { f as fetchBundleId } from '../../../../useAppleBundleId-DELAwSQp.js';
20
20
  import 'fast-glob';
21
21
  import 'yazl';
22
22
  import 'socket.io-client';
@@ -29,13 +29,13 @@ import 'marked';
29
29
  import 'marked-terminal';
30
30
  import 'qrcode';
31
31
  import { R as RunWithSpinner } from '../../../../RunWithSpinner-gMVA07bZ.js';
32
- import '../../../../index-C66Dd8Xc.js';
33
- import { C as Command } from '../../../../Command-WPpmLPkL.js';
32
+ import '../../../../index-DfUg5j06.js';
33
+ import { C as Command } from '../../../../Command-BDIkuv2g.js';
34
34
  import '@expo/apple-utils/build/index.js';
35
35
  import 'deepmerge';
36
36
  import 'ini';
37
- import '../../../../index-CGBdOm1q.js';
38
- import '../../../../useAndroidServiceAccountTestResult-DZk5SMxI.js';
37
+ import '../../../../index-B27WJDxn.js';
38
+ import '../../../../useAndroidServiceAccountTestResult-D4e5AKAZ.js';
39
39
 
40
40
  class GameIosAppSync extends BaseGameCommand {
41
41
  static args = {};
@@ -5,9 +5,9 @@ import { render } from 'ink';
5
5
  import 'node:fs';
6
6
  import 'crypto-js';
7
7
  import 'uuid';
8
- import { c as BaseGameCommand, P as Platform, C as CredentialsType, k as Certificate, l as CertificateType, m as Profile, n as ProfileType } from '../../../../index-BhhiXbey.js';
8
+ import { c as BaseGameCommand, P as Platform, C as CredentialsType, k as Certificate, l as CertificateType, m as Profile, n as ProfileType } from '../../../../index-pj8JVg5X.js';
9
9
  import 'luxon';
10
- import { a as getProjectCredentials, g as getUserCredentials } from '../../../../index-CtTI85m-.js';
10
+ import { a as getProjectCredentials, g as getUserCredentials } from '../../../../index-Crv7S0bl.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-PsTJ2g1B.js';
20
+ import { f as fetchBundleId } from '../../../../useAppleBundleId-DELAwSQp.js';
21
21
  import 'fast-glob';
22
22
  import 'yazl';
23
23
  import 'socket.io-client';
@@ -30,14 +30,14 @@ import 'marked';
30
30
  import 'marked-terminal';
31
31
  import 'qrcode';
32
32
  import { R as RunWithSpinner } from '../../../../RunWithSpinner-gMVA07bZ.js';
33
- import '../../../../index-C66Dd8Xc.js';
34
- import { C as Command } from '../../../../Command-WPpmLPkL.js';
35
- import { a as uploadProjectCredentials } from '../../../../upload-8y5MQEm9.js';
33
+ import '../../../../index-DfUg5j06.js';
34
+ import { C as Command } from '../../../../Command-BDIkuv2g.js';
35
+ import { a as uploadProjectCredentials } from '../../../../upload-C8S17EU_.js';
36
36
  import '@expo/apple-utils/build/index.js';
37
37
  import 'deepmerge';
38
38
  import 'ini';
39
- import '../../../../index-CGBdOm1q.js';
40
- import '../../../../useAndroidServiceAccountTestResult-DZk5SMxI.js';
39
+ import '../../../../index-B27WJDxn.js';
40
+ import '../../../../useAndroidServiceAccountTestResult-D4e5AKAZ.js';
41
41
 
42
42
  class GameIosProfileCreate extends BaseGameCommand {
43
43
  static args = {};
@@ -56,7 +56,7 @@ class GameIosProfileCreate extends BaseGameCommand {
56
56
  const { force } = flags;
57
57
  const projectCredentials = await getProjectCredentials(game.id);
58
58
  const projectAppleProfileCredentials = projectCredentials.filter(
59
- (cred) => cred.platform == Platform.IOS && cred.type == CredentialsType.CERTIFICATE
59
+ (cred) => cred.platform === Platform.IOS && cred.type === CredentialsType.CERTIFICATE
60
60
  );
61
61
  if (projectAppleProfileCredentials.length > 0 && !force) {
62
62
  this.error("A Mobile Provisioning Profile already exists. Use --force to overwrite it.");
@@ -75,7 +75,7 @@ class GameIosProfileCreate extends BaseGameCommand {
75
75
  });
76
76
  const userCerts = await getUserCredentials();
77
77
  const validCert = userCerts.find(
78
- (cred) => cred.platform === Platform.IOS && cred.type === CredentialsType.CERTIFICATE && cred.isActive == true
78
+ (cred) => cred.platform === Platform.IOS && cred.type === CredentialsType.CERTIFICATE && cred.isActive === true
79
79
  );
80
80
  const validAppleCert = appleCerts.find(
81
81
  (cert) => validCert && cert.attributes.serialNumber === validCert.serialNumber
@@ -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-CtTI85m-.js';
6
- import { c as BaseGameCommand, P as Platform, C as CredentialsType } from '../../../../index-BhhiXbey.js';
5
+ import { a as getProjectCredentials } from '../../../../index-Crv7S0bl.js';
6
+ import { c as BaseGameCommand, P as Platform, C as CredentialsType } from '../../../../index-pj8JVg5X.js';
7
7
  import 'ink-spinner';
8
8
  import 'node:crypto';
9
9
  import 'node:path';
@@ -29,14 +29,14 @@ import 'marked';
29
29
  import 'marked-terminal';
30
30
  import 'qrcode';
31
31
  import { R as RunWithSpinner } from '../../../../RunWithSpinner-gMVA07bZ.js';
32
- import '../../../../index-C66Dd8Xc.js';
33
- import { C as Command } from '../../../../Command-WPpmLPkL.js';
34
- import { e as exportCredential } from '../../../../export-CXsVPXA1.js';
32
+ import '../../../../index-DfUg5j06.js';
33
+ import { C as Command } from '../../../../Command-BDIkuv2g.js';
34
+ import { e as exportCredential } from '../../../../export-DLQrUEBK.js';
35
35
  import '@expo/apple-utils/build/index.js';
36
36
  import 'deepmerge';
37
37
  import 'ini';
38
- import '../../../../index-CGBdOm1q.js';
39
- import '../../../../useAndroidServiceAccountTestResult-DZk5SMxI.js';
38
+ import '../../../../index-B27WJDxn.js';
39
+ import '../../../../useAndroidServiceAccountTestResult-D4e5AKAZ.js';
40
40
 
41
41
  class GameIosProfileExport extends BaseGameCommand {
42
42
  static args = {
@@ -59,7 +59,7 @@ class GameIosProfileExport extends BaseGameCommand {
59
59
  }
60
60
  const projectCredentials = await getProjectCredentials(game.id);
61
61
  const userAppleProfileCredentials = projectCredentials.filter(
62
- (cred) => cred.platform == Platform.IOS && cred.type == CredentialsType.CERTIFICATE
62
+ (cred) => cred.platform === Platform.IOS && cred.type === CredentialsType.CERTIFICATE
63
63
  );
64
64
  if (userAppleProfileCredentials.length === 0) {
65
65
  this.error("No Mobile Provisioning Profile found which can be exported.");
@@ -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-CtTI85m-.js';
6
- import { c as BaseGameCommand, P as Platform, C as CredentialsType } from '../../../../index-BhhiXbey.js';
5
+ import { a as getProjectCredentials } from '../../../../index-Crv7S0bl.js';
6
+ import { c as BaseGameCommand, P as Platform, C as CredentialsType } from '../../../../index-pj8JVg5X.js';
7
7
  import 'ink-spinner';
8
8
  import 'node:crypto';
9
9
  import 'node:path';
@@ -29,14 +29,14 @@ import 'marked';
29
29
  import 'marked-terminal';
30
30
  import 'qrcode';
31
31
  import { R as RunWithSpinner } from '../../../../RunWithSpinner-gMVA07bZ.js';
32
- import '../../../../index-C66Dd8Xc.js';
33
- import { C as Command } from '../../../../Command-WPpmLPkL.js';
34
- import { i as importCredential } from '../../../../import-DGvG5REx.js';
32
+ import '../../../../index-DfUg5j06.js';
33
+ import { C as Command } from '../../../../Command-BDIkuv2g.js';
34
+ import { i as importCredential } from '../../../../import-BoY5e0uJ.js';
35
35
  import '@expo/apple-utils/build/index.js';
36
36
  import 'deepmerge';
37
37
  import 'ini';
38
- import '../../../../index-CGBdOm1q.js';
39
- import '../../../../useAndroidServiceAccountTestResult-DZk5SMxI.js';
38
+ import '../../../../index-B27WJDxn.js';
39
+ import '../../../../useAndroidServiceAccountTestResult-D4e5AKAZ.js';
40
40
 
41
41
  class GameIosProfileImport extends BaseGameCommand {
42
42
  static args = {
@@ -62,7 +62,7 @@ class GameIosProfileImport extends BaseGameCommand {
62
62
  }
63
63
  const projectCredentials = await getProjectCredentials(game.id);
64
64
  const projectAppleProfileCredentials = projectCredentials.filter(
65
- (cred) => cred.platform == Platform.IOS && cred.type == CredentialsType.CERTIFICATE
65
+ (cred) => cred.platform === Platform.IOS && cred.type === CredentialsType.CERTIFICATE
66
66
  );
67
67
  if (projectAppleProfileCredentials.length > 0 && !force) {
68
68
  this.error("A Mobile Provisioning Profile already exists. Use --force to overwrite it.");
@@ -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 { b as getShortDate, m as Profile, n as ProfileType, C as CredentialsType, P as Platform, c as BaseGameCommand } from '../../../../index-BhhiXbey.js';
4
+ import { b as getShortDate, m as Profile, n as ProfileType, C as CredentialsType, P as Platform, c as BaseGameCommand } from '../../../../index-pj8JVg5X.js';
5
5
  import Spinner from 'ink-spinner';
6
6
  import 'node:crypto';
7
7
  import 'node:fs';
@@ -22,23 +22,23 @@ 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-B5pHOnGu.js';
25
+ import { P as ProjectCredentialsTable } from '../../../../ProjectCredentialsTable-B4vDJl4l.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 '../../../../index-C66Dd8Xc.js';
32
- import { u as useProjectCredentials } from '../../../../useProjectCredentials-BEphqa18.js';
31
+ import '../../../../index-DfUg5j06.js';
32
+ import { u as useProjectCredentials } from '../../../../useProjectCredentials-BjvdJdQg.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-WPpmLPkL.js';
36
+ import { C as Command } from '../../../../Command-BDIkuv2g.js';
37
37
  import '@expo/apple-utils/build/index.js';
38
38
  import 'deepmerge';
39
39
  import 'ini';
40
- import '../../../../index-CGBdOm1q.js';
41
- import '../../../../useAndroidServiceAccountTestResult-DZk5SMxI.js';
40
+ import '../../../../index-B27WJDxn.js';
41
+ import '../../../../useAndroidServiceAccountTestResult-D4e5AKAZ.js';
42
42
 
43
43
  async function queryAppleProfiles({ ctx }) {
44
44
  const appleProfiles = await Profile.getAsync(ctx, {
@@ -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 { c as BaseGameCommand, P as Platform } from '../../../index-BhhiXbey.js';
4
+ import { c as BaseGameCommand, P as Platform } from '../../../index-pj8JVg5X.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-BQEtVKvv.js';
23
+ import { G as GameStatusDetails } from '../../../GameStatus-5XpufIY_.js';
24
24
  import 'string-length';
25
25
  import 'strip-ansi';
26
26
  import 'open';
@@ -28,21 +28,21 @@ import '@inkjs/ui';
28
28
  import 'marked';
29
29
  import 'marked-terminal';
30
30
  import 'qrcode';
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';
31
+ import '../../../index-DfUg5j06.js';
32
+ import { A as AppleAppDetails, a as AppleBundleIdDetails } from '../../../AppleBundleIdDetails-BhHPCvRm.js';
33
+ import { C as CommandGame } from '../../../CommandGame-CvBIjPZp.js';
34
34
  import '@expo/apple-utils/build/index.js';
35
35
  import 'deepmerge';
36
36
  import 'ini';
37
- import '../../../index-CGBdOm1q.js';
37
+ import '../../../index-B27WJDxn.js';
38
38
  import '../../../StatusTable-DzRWcMr4.js';
39
39
  import '../../../Title-BCQtayg6.js';
40
40
  import '../../../NextSteps-DbJHmscQ.js';
41
- import '../../../useAndroidServiceAccountTestResult-DZk5SMxI.js';
42
- import '../../../useAppleApp-DWYGURwU.js';
41
+ import '../../../useAndroidServiceAccountTestResult-D4e5AKAZ.js';
42
+ import '../../../useAppleApp-Dr6URQvC.js';
43
43
  import '../../../Table-FaNgpyeq.js';
44
- import '../../../useAppleBundleId-PsTJ2g1B.js';
45
- import '../../../Command-WPpmLPkL.js';
44
+ import '../../../useAppleBundleId-DELAwSQp.js';
45
+ import '../../../Command-BDIkuv2g.js';
46
46
 
47
47
  class GameIosStatus extends BaseGameCommand {
48
48
  static args = {};
@@ -4,9 +4,9 @@ import 'node:fs';
4
4
  import 'axios';
5
5
  import 'crypto-js';
6
6
  import 'uuid';
7
- import { B as BaseAuthenticatedCommand, j as isCWDGodotGame, W as WEB_URL, P as Platform, C as CredentialsType } from '../../../index-BhhiXbey.js';
7
+ import { B as BaseAuthenticatedCommand, j as isCWDGodotGame, W as WEB_URL, P as Platform, C as CredentialsType } from '../../../index-pj8JVg5X.js';
8
8
  import 'luxon';
9
- import { g as getUserCredentials, a as getProjectCredentials } from '../../../index-CtTI85m-.js';
9
+ import { g as getUserCredentials, a as getProjectCredentials } from '../../../index-Crv7S0bl.js';
10
10
  import 'react/jsx-runtime';
11
11
  import 'ink';
12
12
  import 'ink-spinner';
@@ -26,13 +26,13 @@ import 'string-length';
26
26
  import 'strip-ansi';
27
27
  import 'open';
28
28
  import '@inkjs/ui';
29
- import { g as getRenderedMarkdown } from '../../../index-C66Dd8Xc.js';
29
+ import { g as getRenderedMarkdown } from '../../../index-DfUg5j06.js';
30
30
  import 'qrcode';
31
31
  import '@expo/apple-utils/build/index.js';
32
32
  import 'deepmerge';
33
33
  import 'ini';
34
- import '../../../index-CGBdOm1q.js';
35
- import '../../../useAndroidServiceAccountTestResult-DZk5SMxI.js';
34
+ import '../../../index-B27WJDxn.js';
35
+ import '../../../useAndroidServiceAccountTestResult-D4e5AKAZ.js';
36
36
  import 'marked';
37
37
  import 'marked-terminal';
38
38
 
@@ -79,7 +79,7 @@ class GameIosWizard extends BaseAuthenticatedCommand {
79
79
  async shouldRun() {
80
80
  const userCredentials = await getUserCredentials();
81
81
  const userAppleApiKeyCredentials = userCredentials.filter(
82
- (cred) => cred.platform == Platform.IOS && cred.type == CredentialsType.KEY
82
+ (cred) => cred.platform === Platform.IOS && cred.type === CredentialsType.KEY
83
83
  );
84
84
  const hasKey = userAppleApiKeyCredentials.length > 0;
85
85
  return !hasKey;
@@ -91,7 +91,7 @@ class GameIosWizard extends BaseAuthenticatedCommand {
91
91
  async shouldRun() {
92
92
  const userCredentials = await getUserCredentials();
93
93
  const userAppleDistCredentials = userCredentials.filter(
94
- (cred) => cred.platform == Platform.IOS && cred.type == CredentialsType.CERTIFICATE
94
+ (cred) => cred.platform === Platform.IOS && cred.type === CredentialsType.CERTIFICATE
95
95
  );
96
96
  const hasDistCert = userAppleDistCredentials.length > 0;
97
97
  return !hasDistCert;
@@ -112,6 +112,11 @@ class GameIosWizard extends BaseAuthenticatedCommand {
112
112
  // Can always run this
113
113
  shouldRun: async () => true
114
114
  },
115
+ {
116
+ args: ["--quiet", "--self"],
117
+ command: "game:ios:app:addTester",
118
+ shouldRun: async () => true
119
+ },
115
120
  {
116
121
  args: ["--quiet"],
117
122
  command: "game:ios:profile:create",
@@ -119,7 +124,7 @@ class GameIosWizard extends BaseAuthenticatedCommand {
119
124
  if (!game) return true;
120
125
  const projectCredentials = await getProjectCredentials(game.id);
121
126
  const projectAppleProfileCredentials = projectCredentials.filter(
122
- (cred) => cred.platform == Platform.IOS && cred.type == CredentialsType.CERTIFICATE
127
+ (cred) => cred.platform === Platform.IOS && cred.type === CredentialsType.CERTIFICATE
123
128
  );
124
129
  const hasProfile = projectAppleProfileCredentials.length > 0;
125
130
  return !hasProfile;
@@ -2,15 +2,15 @@ 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 { c as BaseGameCommand, y as getProjectJobs } from '../../../index-BhhiXbey.js';
5
+ import { c as BaseGameCommand, y as getProjectJobs } from '../../../index-pj8JVg5X.js';
6
6
  import 'ink-spinner';
7
- import { c as getJobStatusColor } from '../../../index-CGBdOm1q.js';
7
+ import { c as getJobStatusColor } from '../../../index-B27WJDxn.js';
8
8
  import { T as Table } from '../../../Table-FaNgpyeq.js';
9
9
  import { T as Title } from '../../../Title-BCQtayg6.js';
10
10
  import 'react';
11
11
  import '@tanstack/react-query';
12
12
  import 'axios';
13
- import { a as getJobSummary } from '../../../index-C66Dd8Xc.js';
13
+ import { a as getJobSummary } from '../../../index-DfUg5j06.js';
14
14
  import 'node:fs';
15
15
  import 'fast-glob';
16
16
  import 'uuid';
@@ -25,7 +25,7 @@ import 'node:path';
25
25
  import 'marked';
26
26
  import 'marked-terminal';
27
27
  import 'qrcode';
28
- import { C as Command } from '../../../Command-WPpmLPkL.js';
28
+ import { C as Command } from '../../../Command-BDIkuv2g.js';
29
29
  import 'crypto-js';
30
30
  import '@expo/apple-utils/build/index.js';
31
31
  import 'node:crypto';
@@ -35,7 +35,7 @@ import 'readline-sync';
35
35
  import 'isomorphic-git';
36
36
  import 'deepmerge';
37
37
  import 'ini';
38
- import '../../../useAndroidServiceAccountTestResult-DZk5SMxI.js';
38
+ import '../../../useAndroidServiceAccountTestResult-D4e5AKAZ.js';
39
39
 
40
40
  class GameJobList extends BaseGameCommand {
41
41
  static args = {};
@@ -1,7 +1,7 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { Args, Flags } from '@oclif/core';
3
3
  import { render } from 'ink';
4
- import { c as BaseGameCommand, z as getJob, J as JobStatus } from '../../../index-BhhiXbey.js';
4
+ import { c as BaseGameCommand, z as getJob, J as JobStatus } from '../../../index-pj8JVg5X.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-0CBLoG8N.js';
23
- import { J as JobStatusTable } from '../../../JobStatusTable-C_ZsZJCm.js';
22
+ import { J as JobLogTail } from '../../../JobLogTail-BYcJgPcL.js';
23
+ import { J as JobStatusTable } from '../../../JobStatusTable-Bi-y8ZZT.js';
24
24
  import 'open';
25
25
  import '@inkjs/ui';
26
26
  import 'marked';
@@ -29,15 +29,15 @@ import { N as NextSteps } from '../../../NextSteps-DbJHmscQ.js';
29
29
  import 'qrcode';
30
30
  import 'string-length';
31
31
  import 'strip-ansi';
32
- import '../../../index-C66Dd8Xc.js';
33
- import { C as Command } from '../../../Command-WPpmLPkL.js';
32
+ import '../../../index-DfUg5j06.js';
33
+ import { C as Command } from '../../../Command-BDIkuv2g.js';
34
34
  import 'crypto-js';
35
35
  import '@expo/apple-utils/build/index.js';
36
36
  import 'deepmerge';
37
37
  import 'ini';
38
- import '../../../index-CGBdOm1q.js';
39
- import '../../../useAndroidServiceAccountTestResult-DZk5SMxI.js';
40
- import '../../../useWebSocket-5PYa2QER.js';
38
+ import '../../../index-B27WJDxn.js';
39
+ import '../../../useAndroidServiceAccountTestResult-D4e5AKAZ.js';
40
+ import '../../../useWebSocket-CRV7V69Q.js';
41
41
  import '../../../Title-BCQtayg6.js';
42
42
  import '../../../StatusTable-DzRWcMr4.js';
43
43
 
@@ -74,7 +74,7 @@ class GameJobStatus extends BaseGameCommand {
74
74
  const handleJobUpdate = (job2) => {
75
75
  if (!follow) return;
76
76
  if ([JobStatus.COMPLETED, JobStatus.FAILED].includes(job2.status)) {
77
- const exitCode = job2.status == JobStatus.FAILED ? 1 : 0;
77
+ const exitCode = job2.status === JobStatus.FAILED ? 1 : 0;
78
78
  setTimeout(() => process.exit(exitCode), 5e3);
79
79
  }
80
80
  };