shipthis 0.1.31 → 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 (84) hide show
  1. package/dist/{AppleBundleIdDetails-eoK5F8Qn.js → AppleBundleIdDetails-BhHPCvRm.js} +17 -19
  2. package/dist/Command-BDIkuv2g.js +29 -0
  3. package/dist/CommandGame-CvBIjPZp.js +7 -0
  4. package/dist/{Create-ISdroJ3G.js → Create-Lpe0B8nT.js} +20 -20
  5. package/dist/GameStatus-5XpufIY_.js +137 -0
  6. package/dist/{Import-CfThJF6k.js → Import-DFzrAG04.js} +34 -36
  7. package/dist/{JobLogTail-BWzbQBZz.js → JobLogTail-BYcJgPcL.js} +53 -52
  8. package/dist/{JobProgress-DjIkuk5U.js → JobProgress-BcrE7CUK.js} +40 -38
  9. package/dist/{JobStatusTable-CEqWU73q.js → JobStatusTable-Bi-y8ZZT.js} +14 -13
  10. package/dist/{NextSteps-CK9zHOCt.js → NextSteps-DbJHmscQ.js} +1 -3
  11. package/dist/{ProgressSpinner-6pw1T8Iw.js → ProgressSpinner-Um6ARKlk.js} +2 -2
  12. package/dist/{ProjectCredentialsTable-u9ruZ9mN.js → ProjectCredentialsTable-B4vDJl4l.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-CwkZTFBD.js} +18 -19
  16. package/dist/{baseAppleCommand-zhkGlKq0.js → baseAppleCommand-BKXweb-U.js} +1 -1
  17. package/dist/{baseGameAndroidCommand-DJ-cMLa_.js → baseGameAndroidCommand-CAi-BSsH.js} +23 -23
  18. package/dist/commands/apple/apiKey/create.js +36 -36
  19. package/dist/commands/apple/apiKey/export.js +27 -27
  20. package/dist/commands/apple/apiKey/import.js +28 -28
  21. package/dist/commands/apple/apiKey/status.js +32 -32
  22. package/dist/commands/apple/certificate/create.js +40 -40
  23. package/dist/commands/apple/certificate/export.js +27 -27
  24. package/dist/commands/apple/certificate/import.js +28 -28
  25. package/dist/commands/apple/certificate/status.js +33 -33
  26. package/dist/commands/apple/login.js +15 -15
  27. package/dist/commands/apple/status.js +27 -27
  28. package/dist/commands/dashboard.js +10 -10
  29. package/dist/commands/game/android/apiKey/connect.js +28 -28
  30. package/dist/commands/game/android/apiKey/create.js +29 -29
  31. package/dist/commands/game/android/apiKey/export.js +30 -30
  32. package/dist/commands/game/android/apiKey/import.js +32 -32
  33. package/dist/commands/game/android/apiKey/invite.js +14 -14
  34. package/dist/commands/game/android/apiKey/status.js +30 -30
  35. package/dist/commands/game/android/keyStore/create.js +25 -25
  36. package/dist/commands/game/android/keyStore/export.js +29 -29
  37. package/dist/commands/game/android/keyStore/import.js +36 -36
  38. package/dist/commands/game/android/keyStore/status.js +26 -26
  39. package/dist/commands/game/android/status.js +15 -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 -15
  43. package/dist/commands/game/details.js +35 -36
  44. package/dist/commands/game/export.js +12 -12
  45. package/dist/commands/game/ios/app/addTester.js +37 -32
  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 +32 -32
  50. package/dist/commands/game/ios/profile/export.js +29 -29
  51. package/dist/commands/game/ios/profile/import.js +33 -33
  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 +39 -34
  55. package/dist/commands/game/job/list.js +34 -34
  56. package/dist/commands/game/job/status.js +32 -32
  57. package/dist/commands/game/list.js +38 -40
  58. package/dist/commands/game/ship.js +81 -77
  59. package/dist/commands/game/status.js +38 -85
  60. package/dist/commands/game/wizard.js +253 -242
  61. package/dist/commands/internal/fastlane.js +15 -17
  62. package/dist/commands/internal/readme.js +38 -36
  63. package/dist/commands/login.js +14 -14
  64. package/dist/commands/status.js +32 -30
  65. package/dist/{export-DZxo2_e_.js → export-DLQrUEBK.js} +5 -5
  66. package/dist/{git-DREGq-jc.js → git-BpsfNFZ_.js} +8 -8
  67. package/dist/{import-8pL1AF47.js → import-BoY5e0uJ.js} +14 -14
  68. package/dist/{index-DJ078v-U.js → index-B27WJDxn.js} +43 -27
  69. package/dist/{index-DKQjnJrC.js → index-CisLwc7e.js} +42 -44
  70. package/dist/{index-C6aAyrXW.js → index-Crv7S0bl.js} +6 -6
  71. package/dist/{index-BHh0BZvD.js → index-DC0GJtAy.js} +50 -60
  72. package/dist/{index-CyvGh-kt.js → index-DfUg5j06.js} +93 -92
  73. package/dist/{index-w3lHxk5O.js → index-pj8JVg5X.js} +242 -225
  74. package/dist/{upload-BTpxj3QP.js → upload-C8S17EU_.js} +22 -22
  75. package/dist/{useAndroidServiceAccountTestResult-Dy3Ag7_r.js → useAndroidServiceAccountTestResult-D4e5AKAZ.js} +11 -13
  76. package/dist/{useAppleApp-h1Ogi_qc.js → useAppleApp-Dr6URQvC.js} +4 -4
  77. package/dist/{useAppleBundleId-B3TTNap0.js → useAppleBundleId-DELAwSQp.js} +6 -6
  78. package/dist/{useProjectCredentials-DpeXZcHP.js → useProjectCredentials-BjvdJdQg.js} +10 -12
  79. package/dist/{useWebSocket-gyuCsore.js → useWebSocket-CRV7V69Q.js} +1 -1
  80. package/dist/utils/help.js +4 -4
  81. package/package.json +5 -4
  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,41 +1,41 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
- import { render } from 'ink';
3
2
  import { Flags } from '@oclif/core';
4
- import 'react';
5
- import '../../../../index-CyvGh-kt.js';
6
- import { c as BaseGameCommand, i as BetaGroup } from '../../../../index-w3lHxk5O.js';
3
+ import { render } from 'ink';
4
+ import { c as BaseGameCommand, i as BetaGroup } from '../../../../index-pj8JVg5X.js';
7
5
  import 'ink-spinner';
6
+ import { a as getInput } from '../../../../index-B27WJDxn.js';
7
+ import 'react';
8
+ import 'node:fs';
8
9
  import 'axios';
9
10
  import 'crypto-js';
10
11
  import 'uuid';
11
- import 'fs';
12
12
  import 'luxon';
13
- import '@inkjs/ui';
14
13
  import '@tanstack/react-query';
14
+ import { q as queryAppleApp } from '../../../../useAppleApp-Dr6URQvC.js';
15
+ import 'fast-glob';
15
16
  import 'yazl';
16
- import { a as getInput } from '../../../../index-DJ078v-U.js';
17
+ import 'socket.io-client';
18
+ import 'fullscreen-ink';
19
+ import 'string-length';
20
+ import 'strip-ansi';
17
21
  import 'open';
22
+ import '@inkjs/ui';
23
+ import 'node:path';
18
24
  import 'marked';
19
25
  import 'marked-terminal';
20
- import 'path';
21
26
  import 'qrcode';
22
- import { R as RunWithSpinner } from '../../../../RunWithSpinner-BVXNWGD3.js';
23
- import 'string-length';
24
- import 'strip-ansi';
25
- import { q as queryAppleApp } from '../../../../useAppleApp-h1Ogi_qc.js';
26
- import 'fast-glob';
27
- import { C as Command } from '../../../../Command-DFdHXDiU.js';
28
- import 'socket.io-client';
29
- import '../../../../useAndroidServiceAccountTestResult-Dy3Ag7_r.js';
27
+ import { R as RunWithSpinner } from '../../../../RunWithSpinner-gMVA07bZ.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
- import 'crypto';
32
- import 'readline-sync';
31
+ import 'node:crypto';
33
32
  import 'node:readline';
34
- import 'node:path';
35
33
  import 'node:url';
34
+ import 'readline-sync';
36
35
  import 'isomorphic-git';
37
- import 'ini';
38
36
  import 'deepmerge';
37
+ import 'ini';
38
+ import '../../../../useAndroidServiceAccountTestResult-D4e5AKAZ.js';
39
39
 
40
40
  const TEST_GROUP_NAME = "ShipThis Test Group";
41
41
  class GameIosAppAddTester extends BaseGameCommand {
@@ -43,10 +43,16 @@ class GameIosAppAddTester extends BaseGameCommand {
43
43
  static description = "Adds a test user to the game in App Store Connect.";
44
44
  static examples = ["<%= config.bin %> <%= command.id %>"];
45
45
  static flags = {
46
- gameId: Flags.string({ char: "g", description: "The ID of the game" }),
47
46
  email: Flags.string({ char: "e", description: "The email address of the tester" }),
48
47
  firstName: Flags.string({ char: "f", description: "The first name of the tester" }),
49
- lastName: Flags.string({ char: "l", description: "The last name of the tester" })
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" }),
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");
@@ -90,11 +96,9 @@ class GameIosAppAddTester extends BaseGameCommand {
90
96
  if (!shipThisGroup) {
91
97
  shipThisGroup = await BetaGroup.createAsync(ctx, {
92
98
  id: app.id,
93
- name: TEST_GROUP_NAME,
94
99
  isInternalGroup: true,
95
- publicLinkEnabled: false,
96
- publicLinkLimit: 1,
97
- publicLinkLimitEnabled: false
100
+ name: TEST_GROUP_NAME,
101
+ hasAccessToAllBuilds: true
98
102
  });
99
103
  }
100
104
  await shipThisGroup.createBulkBetaTesterAssignmentsAsync([
@@ -107,13 +111,14 @@ 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,
113
118
  {
114
- msgInProgress: "Adding test user...",
115
- msgComplete: "Added test user",
116
119
  executeMethod: addTestUser,
120
+ msgComplete: "Added test user",
121
+ msgInProgress: "Adding test user...",
117
122
  onComplete: handleComplete
118
123
  }
119
124
  ) })
@@ -1,52 +1,52 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
- import { render } from 'ink';
3
2
  import { Flags } from '@oclif/core';
4
- import 'react';
5
- import '../../../../index-CyvGh-kt.js';
6
- import { c as BaseGameCommand, d as getGodotAppleBundleIdentifier, e as BundleId, f as App } from '../../../../index-w3lHxk5O.js';
3
+ import { render } from 'ink';
4
+ import { c as BaseGameCommand, d as getGodotAppleBundleIdentifier, e as BundleId, f as App } from '../../../../index-pj8JVg5X.js';
7
5
  import 'ink-spinner';
6
+ import { a as getInput, b as generatePackageName } from '../../../../index-B27WJDxn.js';
7
+ import 'react';
8
+ import 'node:fs';
8
9
  import 'axios';
9
10
  import 'crypto-js';
10
11
  import 'uuid';
11
- import 'fs';
12
12
  import 'luxon';
13
- import '@inkjs/ui';
14
13
  import '@tanstack/react-query';
14
+ import 'fast-glob';
15
15
  import 'yazl';
16
- import { a as getInput, b as generatePackageName } from '../../../../index-DJ078v-U.js';
16
+ import 'socket.io-client';
17
+ import 'fullscreen-ink';
18
+ import 'string-length';
19
+ import 'strip-ansi';
17
20
  import 'open';
21
+ import '@inkjs/ui';
22
+ import 'node:path';
18
23
  import 'marked';
19
24
  import 'marked-terminal';
20
- import 'path';
21
25
  import 'qrcode';
22
- import { R as RunWithSpinner } from '../../../../RunWithSpinner-BVXNWGD3.js';
23
- import 'string-length';
24
- import 'strip-ansi';
25
- import 'fast-glob';
26
- import { C as Command } from '../../../../Command-DFdHXDiU.js';
27
- import 'socket.io-client';
28
- import '../../../../useAndroidServiceAccountTestResult-Dy3Ag7_r.js';
26
+ import { R as RunWithSpinner } from '../../../../RunWithSpinner-gMVA07bZ.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
- import 'crypto';
31
- import 'readline-sync';
30
+ import 'node:crypto';
32
31
  import 'node:readline';
33
- import 'node:path';
34
32
  import 'node:url';
33
+ import 'readline-sync';
35
34
  import 'isomorphic-git';
36
- import 'ini';
37
35
  import 'deepmerge';
36
+ import 'ini';
37
+ import '../../../../useAndroidServiceAccountTestResult-D4e5AKAZ.js';
38
38
 
39
39
  class GameIosAppCreate extends BaseGameCommand {
40
40
  static args = {};
41
41
  static description = "Creates an App and BundleId in the Apple Developer Portal.";
42
42
  static examples = ["<%= config.bin %> <%= command.id %>"];
43
43
  static flags = {
44
- quiet: Flags.boolean({ char: "q", description: "Avoid output except for interactions and errors" }),
45
- gameId: Flags.string({ char: "g", description: "The ID of the game" }),
46
44
  appName: Flags.string({ char: "n", description: "The name of the App in the Apple Developer Portal" }),
47
45
  bundleId: Flags.string({ char: "b", description: "The BundleId in the Apple Developer Portal" }),
48
- force: Flags.boolean({ char: "f" })
46
+ force: Flags.boolean({ char: "f" }),
49
47
  // not used but don't remove or the wizard breaks
48
+ gameId: Flags.string({ char: "g", description: "The ID of the game" }),
49
+ quiet: Flags.boolean({ char: "q", description: "Avoid output except for interactions and errors" })
50
50
  };
51
51
  async run() {
52
52
  const game = await this.getGame();
@@ -104,9 +104,9 @@ class GameIosAppCreate extends BaseGameCommand {
104
104
  /* @__PURE__ */ jsx(Command, { command: this, children: /* @__PURE__ */ jsx(
105
105
  RunWithSpinner,
106
106
  {
107
- msgInProgress: "Creating App and BundleId in the Apple Developer Portal",
108
- msgComplete: "App and BundleId created",
109
107
  executeMethod: createApp,
108
+ msgComplete: "App and BundleId created",
109
+ msgInProgress: "Creating App and BundleId in the Apple Developer Portal",
110
110
  onComplete: handleComplete
111
111
  }
112
112
  ) })
@@ -1,45 +1,45 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
- import { render } from 'ink';
3
2
  import { Flags } from '@oclif/core';
4
- import 'react';
5
- import '../../../../index-CyvGh-kt.js';
6
- import { c as BaseGameCommand } from '../../../../index-w3lHxk5O.js';
3
+ import { render } from 'ink';
4
+ import { c as BaseGameCommand } from '../../../../index-pj8JVg5X.js';
7
5
  import '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';
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';
24
25
  import 'open';
26
+ import '@inkjs/ui';
25
27
  import 'marked';
26
28
  import 'marked-terminal';
27
- import 'path';
28
- import { N as NextSteps } from '../../../../NextSteps-CK9zHOCt.js';
29
+ import { N as NextSteps } from '../../../../NextSteps-DbJHmscQ.js';
29
30
  import 'qrcode';
30
- import 'string-length';
31
- import 'strip-ansi';
32
- import { A as AppleAppDetails, a as AppleBundleIdDetails } from '../../../../AppleBundleIdDetails-eoK5F8Qn.js';
33
- import { C as Command } from '../../../../Command-DFdHXDiU.js';
34
- import '../../../../index-DJ078v-U.js';
35
- import '../../../../useAndroidServiceAccountTestResult-Dy3Ag7_r.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';
36
34
  import '@expo/apple-utils/build/index.js';
37
- import 'ini';
38
35
  import 'deepmerge';
36
+ import 'ini';
39
37
  import '../../../../Title-BCQtayg6.js';
40
- import '../../../../useAppleApp-h1Ogi_qc.js';
41
- import '../../../../Table-CvM6pccN.js';
42
- import '../../../../useAppleBundleId-B3TTNap0.js';
38
+ import '../../../../index-B27WJDxn.js';
39
+ import '../../../../useAndroidServiceAccountTestResult-D4e5AKAZ.js';
40
+ import '../../../../useAppleApp-Dr6URQvC.js';
41
+ import '../../../../Table-FaNgpyeq.js';
42
+ import '../../../../useAppleBundleId-DELAwSQp.js';
43
43
 
44
44
  class GameIosAppStatus extends BaseGameCommand {
45
45
  static args = {};
@@ -55,8 +55,8 @@ class GameIosAppStatus extends BaseGameCommand {
55
55
  const steps = [];
56
56
  render(
57
57
  /* @__PURE__ */ jsxs(Command, { command: this, children: [
58
- /* @__PURE__ */ jsx(AppleAppDetails, { iosBundleId: game.details?.iosBundleId, ctx }),
59
- /* @__PURE__ */ jsx(AppleBundleIdDetails, { iosBundleId: game.details?.iosBundleId, ctx }),
58
+ /* @__PURE__ */ jsx(AppleAppDetails, { ctx, iosBundleId: game.details?.iosBundleId }),
59
+ /* @__PURE__ */ jsx(AppleBundleIdDetails, { ctx, iosBundleId: game.details?.iosBundleId }),
60
60
  /* @__PURE__ */ jsx(NextSteps, { steps })
61
61
  ] })
62
62
  );
@@ -1,51 +1,51 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
- import { render } from 'ink';
3
2
  import { Flags } from '@oclif/core';
4
- import 'react';
5
- import '../../../../index-CyvGh-kt.js';
6
- import { c as BaseGameCommand, h as CapabilityTypeOption } from '../../../../index-w3lHxk5O.js';
3
+ import { render } from 'ink';
4
+ import { c as BaseGameCommand, h as CapabilityTypeOption } from '../../../../index-pj8JVg5X.js';
7
5
  import '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';
22
- import { f as fetchBundleId } from '../../../../useAppleBundleId-B3TTNap0.js';
15
+ import '@tanstack/react-query';
16
+ import 'react';
17
+ import 'crypto-js';
18
+ import 'uuid';
19
+ import { f as fetchBundleId } from '../../../../useAppleBundleId-DELAwSQp.js';
23
20
  import 'fast-glob';
21
+ import 'yazl';
24
22
  import 'socket.io-client';
23
+ import 'fullscreen-ink';
24
+ import 'string-length';
25
+ import 'strip-ansi';
25
26
  import 'open';
27
+ import '@inkjs/ui';
26
28
  import 'marked';
27
29
  import 'marked-terminal';
28
- import 'path';
29
30
  import 'qrcode';
30
- import { R as RunWithSpinner } from '../../../../RunWithSpinner-BVXNWGD3.js';
31
- import 'string-length';
32
- import 'strip-ansi';
33
- import { C as Command } from '../../../../Command-DFdHXDiU.js';
34
- import '../../../../index-DJ078v-U.js';
35
- import '../../../../useAndroidServiceAccountTestResult-Dy3Ag7_r.js';
31
+ import { R as RunWithSpinner } from '../../../../RunWithSpinner-gMVA07bZ.js';
32
+ import '../../../../index-DfUg5j06.js';
33
+ import { C as Command } from '../../../../Command-BDIkuv2g.js';
36
34
  import '@expo/apple-utils/build/index.js';
37
- import 'ini';
38
35
  import 'deepmerge';
36
+ import 'ini';
37
+ import '../../../../index-B27WJDxn.js';
38
+ import '../../../../useAndroidServiceAccountTestResult-D4e5AKAZ.js';
39
39
 
40
40
  class GameIosAppSync extends BaseGameCommand {
41
41
  static args = {};
42
42
  static description = 'Synchronies the Apple App "BundleId" with the capabilities from the local project.';
43
43
  static examples = ["<%= config.bin %> <%= command.id %>"];
44
44
  static flags = {
45
- quiet: Flags.boolean({ char: "q", description: "Avoid output except for interactions and errors" }),
46
- gameId: Flags.string({ char: "g", description: "The ID of the game" }),
47
- force: Flags.boolean({ char: "f" })
45
+ force: Flags.boolean({ char: "f" }),
48
46
  // not used but don't remove or the wizard breaks
47
+ gameId: Flags.string({ char: "g", description: "The ID of the game" }),
48
+ quiet: Flags.boolean({ char: "q", description: "Avoid output except for interactions and errors" })
49
49
  };
50
50
  async run() {
51
51
  const game = await this.getGame();
@@ -58,8 +58,8 @@ class GameIosAppSync extends BaseGameCommand {
58
58
  const { bundleId, capabilities: existing, projectCapabilities } = bundleQueryResponse;
59
59
  if (!bundleId) return this.error("BundleId not found");
60
60
  if (!projectCapabilities) return this.error("Project capabilities not loaded");
61
- const unRemovable = ["IN_APP_PURCHASE"];
62
- const toRemove = existing.filter((c) => !projectCapabilities.includes(c) && !unRemovable.includes(c));
61
+ const unRemovable = /* @__PURE__ */ new Set(["IN_APP_PURCHASE"]);
62
+ const toRemove = existing.filter((c) => !projectCapabilities.includes(c) && !unRemovable.has(c));
63
63
  const toAdd = projectCapabilities.filter((c) => !existing.includes(c));
64
64
  for (const capability of toRemove) {
65
65
  await bundleId.updateBundleIdCapabilityAsync({
@@ -82,9 +82,9 @@ class GameIosAppSync extends BaseGameCommand {
82
82
  /* @__PURE__ */ jsx(Command, { command: this, children: /* @__PURE__ */ jsx(
83
83
  RunWithSpinner,
84
84
  {
85
- msgInProgress: "Syncing App Store BundleId capabilities",
86
- msgComplete: "App Store BundleId capabilities synced",
87
85
  executeMethod: syncCapabilities,
86
+ msgComplete: "App Store BundleId capabilities synced",
87
+ msgInProgress: "Syncing App Store BundleId capabilities",
88
88
  onComplete: handleComplete
89
89
  }
90
90
  ) })
@@ -1,52 +1,52 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
- import { render } from 'ink';
3
2
  import { Flags } from '@oclif/core';
4
3
  import axios from 'axios';
5
- import 'react';
6
- import '../../../../index-CyvGh-kt.js';
7
- import { c as BaseGameCommand, P as Platform, C as CredentialsType, l as Certificate, m as CertificateType, n as Profile, o as ProfileType } from '../../../../index-w3lHxk5O.js';
8
- import 'ink-spinner';
4
+ import { render } from 'ink';
5
+ import 'node:fs';
9
6
  import 'crypto-js';
10
7
  import 'uuid';
11
- import 'fs';
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';
12
9
  import 'luxon';
13
- import { a as getProjectCredentials, g as getUserCredentials } from '../../../../index-C6aAyrXW.js';
14
- import '@inkjs/ui';
15
- import '@tanstack/react-query';
16
- import 'yazl';
17
- import 'crypto';
18
- import 'readline-sync';
19
- import 'node:readline';
10
+ import { a as getProjectCredentials, g as getUserCredentials } from '../../../../index-Crv7S0bl.js';
11
+ import 'ink-spinner';
12
+ import 'node:crypto';
20
13
  import 'node:path';
14
+ import 'node:readline';
21
15
  import 'node:url';
16
+ import 'readline-sync';
22
17
  import 'isomorphic-git';
23
- import { f as fetchBundleId } from '../../../../useAppleBundleId-B3TTNap0.js';
18
+ import '@tanstack/react-query';
19
+ import 'react';
20
+ import { f as fetchBundleId } from '../../../../useAppleBundleId-DELAwSQp.js';
24
21
  import 'fast-glob';
22
+ import 'yazl';
25
23
  import 'socket.io-client';
24
+ import 'fullscreen-ink';
25
+ import 'string-length';
26
+ import 'strip-ansi';
26
27
  import 'open';
28
+ import '@inkjs/ui';
27
29
  import 'marked';
28
30
  import 'marked-terminal';
29
- import 'path';
30
31
  import 'qrcode';
31
- import { R as RunWithSpinner } from '../../../../RunWithSpinner-BVXNWGD3.js';
32
- import 'string-length';
33
- import 'strip-ansi';
34
- import { C as Command } from '../../../../Command-DFdHXDiU.js';
35
- import { a as uploadProjectCredentials } from '../../../../upload-BTpxj3QP.js';
36
- import '../../../../index-DJ078v-U.js';
37
- import '../../../../useAndroidServiceAccountTestResult-Dy3Ag7_r.js';
32
+ import { R as RunWithSpinner } from '../../../../RunWithSpinner-gMVA07bZ.js';
33
+ import '../../../../index-DfUg5j06.js';
34
+ import { C as Command } from '../../../../Command-BDIkuv2g.js';
35
+ import { a as uploadProjectCredentials } from '../../../../upload-C8S17EU_.js';
38
36
  import '@expo/apple-utils/build/index.js';
39
- import 'ini';
40
37
  import 'deepmerge';
38
+ import 'ini';
39
+ import '../../../../index-B27WJDxn.js';
40
+ import '../../../../useAndroidServiceAccountTestResult-D4e5AKAZ.js';
41
41
 
42
42
  class GameIosProfileCreate extends BaseGameCommand {
43
43
  static args = {};
44
44
  static description = "Creates a Mobile Provisioning Profile in the Apple Developer Portal.";
45
45
  static examples = ["<%= config.bin %> <%= command.id %>"];
46
46
  static flags = {
47
- quiet: Flags.boolean({ char: "q", description: "Avoid output except for interactions and errors" }),
47
+ force: Flags.boolean({ char: "f" }),
48
48
  gameId: Flags.string({ char: "g", description: "The ID of the game" }),
49
- force: Flags.boolean({ char: "f" })
49
+ quiet: Flags.boolean({ char: "q", description: "Avoid output except for interactions and errors" })
50
50
  };
51
51
  async run() {
52
52
  const game = await this.getGame();
@@ -56,9 +56,9 @@ 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
- if (projectAppleProfileCredentials.length !== 0 && !force) {
61
+ if (projectAppleProfileCredentials.length > 0 && !force) {
62
62
  this.error("A Mobile Provisioning Profile already exists. Use --force to overwrite it.");
63
63
  }
64
64
  const createProfile = async () => {
@@ -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
@@ -102,10 +102,10 @@ class GameIosProfileCreate extends BaseGameCommand {
102
102
  };
103
103
  await uploadProjectCredentials(game.id, {
104
104
  contents: projectCertContent,
105
+ identifier: iosBundleId,
105
106
  platform: Platform.IOS,
106
- type: CredentialsType.CERTIFICATE,
107
107
  serialNumber: validCert.serialNumber,
108
- identifier: iosBundleId
108
+ type: CredentialsType.CERTIFICATE
109
109
  });
110
110
  };
111
111
  const handleComplete = async () => {
@@ -116,9 +116,9 @@ class GameIosProfileCreate extends BaseGameCommand {
116
116
  /* @__PURE__ */ jsx(Command, { command: this, children: /* @__PURE__ */ jsx(
117
117
  RunWithSpinner,
118
118
  {
119
- msgInProgress: "Creating Mobile Provisioning Profile in the Apple Developer Portal",
120
- msgComplete: "Mobile Provisioning Profile created",
121
119
  executeMethod: createProfile,
120
+ msgComplete: "Mobile Provisioning Profile created",
121
+ msgInProgress: "Creating Mobile Provisioning Profile in the Apple Developer Portal",
122
122
  onComplete: handleComplete
123
123
  }
124
124
  ) })
@@ -1,42 +1,42 @@
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-w3lHxk5O.js';
6
- import { a as getProjectCredentials } from '../../../../index-C6aAyrXW.js';
7
- import 'react';
8
- import '../../../../index-CyvGh-kt.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';
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 'yazl';
17
- import 'crypto';
18
- import 'readline-sync';
19
- import 'node:readline';
8
+ import 'node:crypto';
20
9
  import 'node:path';
10
+ import 'node:readline';
21
11
  import 'node:url';
12
+ import 'readline-sync';
13
+ import 'luxon';
14
+ import 'axios';
22
15
  import 'isomorphic-git';
16
+ import '@tanstack/react-query';
17
+ import 'react';
18
+ import 'crypto-js';
19
+ import 'uuid';
23
20
  import 'fast-glob';
21
+ import 'yazl';
24
22
  import 'socket.io-client';
23
+ import 'fullscreen-ink';
24
+ import 'string-length';
25
+ import 'strip-ansi';
25
26
  import 'open';
27
+ import '@inkjs/ui';
26
28
  import 'marked';
27
29
  import 'marked-terminal';
28
- import 'path';
29
30
  import 'qrcode';
30
- import { R as RunWithSpinner } from '../../../../RunWithSpinner-BVXNWGD3.js';
31
- import 'string-length';
32
- import 'strip-ansi';
33
- import { C as Command } from '../../../../Command-DFdHXDiU.js';
34
- import { e as exportCredential } from '../../../../export-DZxo2_e_.js';
31
+ import { R as RunWithSpinner } from '../../../../RunWithSpinner-gMVA07bZ.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
- import 'ini';
37
36
  import 'deepmerge';
38
- import '../../../../index-DJ078v-U.js';
39
- import '../../../../useAndroidServiceAccountTestResult-Dy3Ag7_r.js';
37
+ import 'ini';
38
+ import '../../../../index-B27WJDxn.js';
39
+ import '../../../../useAndroidServiceAccountTestResult-D4e5AKAZ.js';
40
40
 
41
41
  class GameIosProfileExport extends BaseGameCommand {
42
42
  static args = {
@@ -45,8 +45,8 @@ class GameIosProfileExport extends BaseGameCommand {
45
45
  static description = "Saves the current Mobile Provisioning Profile to a ZIP file";
46
46
  static examples = ["<%= config.bin %> <%= command.id %> userProfile.zip"];
47
47
  static flags = {
48
- gameId: Flags.string({ char: "g", description: "The ID of the game" }),
49
- force: Flags.boolean({ char: "f", description: "Overwrite the file if it already exists" })
48
+ force: Flags.boolean({ char: "f", description: "Overwrite the file if it already exists" }),
49
+ gameId: Flags.string({ char: "g", description: "The ID of the game" })
50
50
  };
51
51
  async run() {
52
52
  const { args, flags } = this;
@@ -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.");
@@ -70,9 +70,9 @@ class GameIosProfileExport extends BaseGameCommand {
70
70
  /* @__PURE__ */ jsx(Command, { command: this, children: /* @__PURE__ */ jsx(
71
71
  RunWithSpinner,
72
72
  {
73
- msgInProgress: `Exporting Mobile Provisioning Profile to ${file}...`,
73
+ executeMethod: () => exportCredential({ credentialId: profile.id, projectId: game.id, zipPath: file }),
74
74
  msgComplete: `Mobile Provisioning Profile exported to ${file}`,
75
- executeMethod: () => exportCredential({ zipPath: file, credentialId: profile.id, projectId: game.id }),
75
+ msgInProgress: `Exporting Mobile Provisioning Profile to ${file}...`,
76
76
  onComplete: handleComplete
77
77
  }
78
78
  ) })