shipthis 0.0.40 → 0.1.0

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 (93) hide show
  1. package/README.md +17 -17
  2. package/dist/{AppleBundleIdDetails-n1_U8IqK.js → AppleBundleIdDetails-BF-Pm1Ia.js} +19 -7
  3. package/dist/Command-BrfJSeOC.js +1077 -0
  4. package/dist/CommandGame-D9wl8hfX.js +8 -0
  5. package/dist/{NextSteps-CK9zHOCt.js → NextSteps-DKcjSHZ3.js} +1 -1
  6. package/dist/ProjectCredentialsTable-BVvkIPjN.js +36 -0
  7. package/dist/{StatusTable-CxuX_R1D.js → StatusTable-BzsNF75L.js} +2 -7
  8. package/dist/{UserCredentialsTable-A_YlFeJX.js → UserCredentialsTable-DUFQqHVt.js} +11 -5
  9. package/dist/{baseAppleCommand-DK5-Cvg4.js → baseAppleCommand-BSJhK8GA.js} +1 -1
  10. package/dist/baseGameAndroidCommand-CPAtReqy.js +43 -0
  11. package/dist/commands/apple/apiKey/create.js +24 -10
  12. package/dist/commands/apple/apiKey/export.js +23 -9
  13. package/dist/commands/apple/apiKey/import.js +23 -9
  14. package/dist/commands/apple/apiKey/status.js +25 -13
  15. package/dist/commands/apple/certificate/create.js +25 -11
  16. package/dist/commands/apple/certificate/export.js +23 -9
  17. package/dist/commands/apple/certificate/import.js +23 -9
  18. package/dist/commands/apple/certificate/status.js +26 -14
  19. package/dist/commands/apple/login.js +9 -3
  20. package/dist/commands/apple/status.js +27 -13
  21. package/dist/commands/dashboard.js +11 -5
  22. package/dist/commands/game/android/apiKey/connect.js +73 -0
  23. package/dist/commands/game/android/apiKey/create.js +70 -0
  24. package/dist/commands/game/android/apiKey/export.js +83 -0
  25. package/dist/commands/game/android/apiKey/import.js +92 -0
  26. package/dist/commands/game/android/apiKey/invite.js +81 -0
  27. package/dist/commands/game/android/apiKey/status.js +86 -0
  28. package/dist/commands/game/android/keyStore/create.js +67 -0
  29. package/dist/commands/game/android/keyStore/export.js +82 -0
  30. package/dist/commands/game/android/keyStore/import.js +91 -0
  31. package/dist/commands/game/android/keyStore/status.js +69 -0
  32. package/dist/commands/game/android/status.js +84 -0
  33. package/dist/commands/game/android/wizard.js +53 -0
  34. package/dist/commands/game/build/download.js +23 -9
  35. package/dist/commands/game/build/list.js +25 -14
  36. package/dist/commands/game/create.js +18 -10
  37. package/dist/commands/game/details.js +28 -19
  38. package/dist/commands/game/export.js +11 -5
  39. package/dist/commands/game/ios/app/addTester.js +25 -12
  40. package/dist/commands/game/ios/app/create.js +26 -13
  41. package/dist/commands/game/ios/app/status.js +27 -13
  42. package/dist/commands/game/ios/app/sync.js +23 -9
  43. package/dist/commands/game/ios/profile/create.js +22 -8
  44. package/dist/commands/game/ios/profile/export.js +23 -9
  45. package/dist/commands/game/ios/profile/import.js +23 -9
  46. package/dist/commands/game/ios/profile/status.js +26 -71
  47. package/dist/commands/game/ios/status.js +28 -15
  48. package/dist/commands/game/ios/wizard.js +125 -0
  49. package/dist/commands/game/job/list.js +26 -14
  50. package/dist/commands/game/job/status.js +26 -71
  51. package/dist/commands/game/list.js +26 -12
  52. package/dist/commands/game/ship.js +7 -4
  53. package/dist/commands/game/status.js +63 -25
  54. package/dist/commands/game/wizard.js +41 -99
  55. package/dist/commands/internal/fastlane.js +74 -0
  56. package/dist/commands/internal/readme.js +1452 -0
  57. package/dist/commands/login.js +11 -4
  58. package/dist/commands/status.js +23 -10
  59. package/dist/{export-C16psune.js → export-B0FJT0EU.js} +1 -1
  60. package/dist/{import-hte2Jy0K.js → import-CLDJ2iPu.js} +1 -1
  61. package/dist/{baseGameCommand-B3NbuvDu.js → index-CF0fIsx2.js} +112 -37
  62. package/dist/index-CFHmtzfq.js +24 -0
  63. package/dist/{index-ZHJdUrwJ.js → index-Df8uXQ4s.js} +14 -3
  64. package/dist/{upload-DADrkIUB.js → upload-C5L82Yq0.js} +1 -1
  65. package/dist/useAndroidServiceAccountTestResult-BnxNuoG3.js +52 -0
  66. package/dist/{useAppleApp-Cr3VcGVs.js → useAppleApp-IXRdsK5w.js} +1 -1
  67. package/dist/{useAppleBundleId-BxtyGpHy.js → useAppleBundleId-DYC5ISKT.js} +1 -1
  68. package/docs/game/android/apiKey/connect.md +27 -0
  69. package/docs/game/android/apiKey/create.md +25 -0
  70. package/docs/game/android/apiKey/export.md +25 -0
  71. package/docs/game/android/apiKey/import.md +25 -0
  72. package/docs/game/android/apiKey/invite.md +27 -0
  73. package/docs/game/android/apiKey/status.md +23 -0
  74. package/docs/game/android/apiKey.md +165 -0
  75. package/docs/game/android/keyStore/create.md +24 -0
  76. package/docs/game/android/keyStore/export.md +25 -0
  77. package/docs/game/android/keyStore/import.md +25 -0
  78. package/docs/game/android/keyStore/status.md +23 -0
  79. package/docs/game/android/keyStore.md +108 -0
  80. package/docs/game/android/status.md +23 -0
  81. package/docs/game/android/wizard.md +28 -0
  82. package/docs/game/android.md +339 -0
  83. package/docs/game/create.md +12 -7
  84. package/docs/game/ios/wizard.md +21 -0
  85. package/docs/game/wizard.md +12 -18
  86. package/oclif.manifest.json +821 -68
  87. package/package.json +53 -18
  88. package/dist/App-BfoOFeZ-.js +0 -21
  89. package/dist/RunWithSpinner-BVXNWGD3.js +0 -27
  90. package/dist/Title-BCQtayg6.js +0 -6
  91. package/dist/cacheKeys-CShA-ZjE.js +0 -9
  92. package/dist/useBuilds-JHqMwpWS.js +0 -41
  93. package/dist/useJob-Bc9fdiyP.js +0 -34
@@ -0,0 +1,8 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { C as Command, G as GameProvider } from './Command-BrfJSeOC.js';
3
+
4
+ const CommandGame = ({ children, command }) => {
5
+ return /* @__PURE__ */ jsx(Command, { command, children: /* @__PURE__ */ jsx(GameProvider, { children }) });
6
+ };
7
+
8
+ export { CommandGame as C };
@@ -1,6 +1,6 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { Box, Text } from 'ink';
3
- import { T as Title } from './Title-BCQtayg6.js';
3
+ import { T as Title } from './Command-BrfJSeOC.js';
4
4
 
5
5
  const ListWithTitle = ({ listItems, title }) => {
6
6
  if (listItems.length === 0) return null;
@@ -0,0 +1,36 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { Box, Text } from 'ink';
3
+ import Spinner from 'ink-spinner';
4
+ import 'crypto';
5
+ import 'fs';
6
+ import 'readline-sync';
7
+ import 'node:readline';
8
+ import 'node:path';
9
+ import 'node:url';
10
+ import 'react';
11
+ import 'axios';
12
+ import '@tanstack/react-query';
13
+ import './index-CF0fIsx2.js';
14
+ import 'crypto-js';
15
+ import 'uuid';
16
+ import 'luxon';
17
+ import { u as useProjectCredentials, T as Title, a as getProjectCredentialSummary } from './Command-BrfJSeOC.js';
18
+ import 'fast-glob';
19
+ import 'yazl';
20
+ import 'socket.io-client';
21
+ import 'isomorphic-git';
22
+ import '@oclif/core';
23
+ import { T as Table } from './Table-CvM6pccN.js';
24
+
25
+ const ProjectCredentialsTable = ({ credentialTypeName, queryProps, ...boxProps }) => {
26
+ const { isLoading, data } = useProjectCredentials(queryProps);
27
+ const hasActive = data?.data.some((credential) => credential.isActive);
28
+ return /* @__PURE__ */ jsxs(Box, { flexDirection: "column", marginBottom: 1, ...boxProps, children: [
29
+ /* @__PURE__ */ jsx(Title, { children: `${credentialTypeName}s in your ShipThis account` }),
30
+ /* @__PURE__ */ jsx(Box, { marginLeft: 2, marginBottom: 1, flexDirection: "column", children: /* @__PURE__ */ jsx(Text, { children: hasActive ? `You have an active ${credentialTypeName} in your ShipThis account.` : `You DO NOT have an active ${credentialTypeName} which ShipThis can use.` }) }),
31
+ isLoading && /* @__PURE__ */ jsx(Spinner, { type: "dots" }),
32
+ data && data.data.length > 0 && /* @__PURE__ */ jsx(Table, { data: data.data.map(getProjectCredentialSummary) })
33
+ ] });
34
+ };
35
+
36
+ export { ProjectCredentialsTable as P };
@@ -1,14 +1,9 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { Box, Text } from 'ink';
3
- import { T as Title } from './Title-BCQtayg6.js';
3
+ import { T as Title } from './Command-BrfJSeOC.js';
4
4
 
5
5
  const StatusRowLabel = ({ label, width }) => /* @__PURE__ */ jsx(Box, { width: width || 10, marginRight: 2, children: /* @__PURE__ */ jsx(Text, { children: `${label}` }) });
6
- const StatusRow = ({
7
- label,
8
- labelWidth,
9
- value,
10
- ...textProps
11
- }) => {
6
+ const StatusRow = ({ label, labelWidth, value, ...textProps }) => {
12
7
  return /* @__PURE__ */ jsxs(Box, { flexDirection: "row", alignItems: "flex-end", children: [
13
8
  /* @__PURE__ */ jsx(StatusRowLabel, { width: labelWidth, label }),
14
9
  /* @__PURE__ */ jsx(Text, { bold: true, ...textProps, children: value })
@@ -5,18 +5,24 @@ import 'crypto';
5
5
  import 'fs';
6
6
  import 'readline-sync';
7
7
  import 'node:readline';
8
+ import 'node:path';
9
+ import 'node:url';
8
10
  import 'react';
9
11
  import axios from 'axios';
10
12
  import { useQuery } from '@tanstack/react-query';
11
- import { f as getShortDate, o as getAuthedHeaders, p as API_URL, I as castArrayObjectDates } from './baseGameCommand-B3NbuvDu.js';
13
+ import { b as getShortDate, p as getAuthedHeaders, q as API_URL, J as castArrayObjectDates } from './index-CF0fIsx2.js';
14
+ import 'crypto-js';
15
+ import 'uuid';
12
16
  import 'luxon';
17
+ import 'fast-glob';
18
+ import 'yazl';
19
+ import { c as cacheKeys } from './useAndroidServiceAccountTestResult-BnxNuoG3.js';
20
+ import { g as getShortUUID } from './index-Df8uXQ4s.js';
13
21
  import 'socket.io-client';
14
- import '@expo/apple-utils/build/index.js';
15
- import { c as cacheKeys } from './cacheKeys-CShA-ZjE.js';
16
- import { g as getShortUUID } from './index-ZHJdUrwJ.js';
17
22
  import 'isomorphic-git';
23
+ import '@oclif/core';
18
24
  import { T as Table } from './Table-CvM6pccN.js';
19
- import { T as Title } from './Title-BCQtayg6.js';
25
+ import { T as Title } from './Command-BrfJSeOC.js';
20
26
 
21
27
  async function queryUserCredentials(params) {
22
28
  try {
@@ -1,4 +1,4 @@
1
- import { B as BaseAuthenticatedCommand } from './baseGameCommand-B3NbuvDu.js';
1
+ import { B as BaseAuthenticatedCommand } from './index-CF0fIsx2.js';
2
2
 
3
3
  class BaseAppleCommand extends BaseAuthenticatedCommand {
4
4
  async init() {
@@ -0,0 +1,43 @@
1
+ import { c as BaseGameCommand, N as getGodotAndroidPackageName, O as getGoogleStatus } from './index-CF0fIsx2.js';
2
+ import { b as generatePackageName, a as getInput } from './index-Df8uXQ4s.js';
3
+
4
+ class BaseGameAndroidCommand extends BaseGameCommand {
5
+ async init() {
6
+ await super.init();
7
+ await this.ensureWeHaveAndroidPackageName();
8
+ }
9
+ // Prompts the user for the Android package name
10
+ async getAndroidPackageName(gameId) {
11
+ const game = await this.getGame();
12
+ const generated = generatePackageName(game.name);
13
+ const suggested = game.details?.iosBundleId || getGodotAndroidPackageName() || generated || "com.example.game";
14
+ const question = `Please enter the Android Package Name, or press enter to use ${suggested}: `;
15
+ const entered = await getInput(question);
16
+ return entered || suggested;
17
+ }
18
+ // Forces us to have the androidPackageName in the game details
19
+ async ensureWeHaveAndroidPackageName() {
20
+ const game = await this.getGame();
21
+ if (!game.details?.androidPackageName) {
22
+ const androidPackageName = await this.getAndroidPackageName(game.id);
23
+ await this.updateGame({ details: { ...game.details, androidPackageName } });
24
+ }
25
+ }
26
+ async checkGoogleAuth(waitForAuth = false) {
27
+ let status = await getGoogleStatus();
28
+ if (status.isAuthenticated) return;
29
+ if (!waitForAuth)
30
+ this.error("You must connect to Google first. Run `shipthis game android apiKey connect`", { exit: 1 });
31
+ this.log("Waiting for Google authentication...");
32
+ const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
33
+ for (let i = 0; i < 600; i++) {
34
+ process.stdout.write(".");
35
+ await sleep(1e3 * 10);
36
+ status = await getGoogleStatus();
37
+ if (status.isAuthenticated) return;
38
+ }
39
+ this.error("Google authentication failed. Please try again.", { exit: 1 });
40
+ }
41
+ }
42
+
43
+ export { BaseGameAndroidCommand as B };
@@ -1,28 +1,42 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { Flags } from '@oclif/core';
3
3
  import { render } from 'ink';
4
- import 'path';
5
- import 'fs';
6
- import { g as getUserCredentials, P as Platform, C as CredentialsType, A as ApiKey, U as UserRole, a as ApiKeyType } from '../../../baseGameCommand-B3NbuvDu.js';
4
+ import { P as Platform, C as CredentialsType, A as ApiKey, a as ApiKeyType, U as UserRole } from '../../../index-CF0fIsx2.js';
5
+ import { g as getUserCredentials } from '../../../index-CFHmtzfq.js';
6
+ import { C as Command, R as RunWithSpinner } from '../../../Command-BrfJSeOC.js';
7
+ import 'react';
8
+ import 'ink-spinner';
7
9
  import 'axios';
10
+ import 'crypto-js';
11
+ import 'uuid';
8
12
  import 'luxon';
13
+ import '@inkjs/ui';
9
14
  import 'crypto';
15
+ import 'fs';
10
16
  import 'readline-sync';
11
17
  import 'node:readline';
12
- import 'react';
18
+ import 'node:path';
19
+ import 'node:url';
13
20
  import '@tanstack/react-query';
21
+ import 'fast-glob';
22
+ import 'yazl';
14
23
  import 'socket.io-client';
15
24
  import 'isomorphic-git';
16
- import { B as BaseAppleCommand } from '../../../baseAppleCommand-DK5-Cvg4.js';
17
- import { A as App } from '../../../App-BfoOFeZ-.js';
18
- import 'ink-spinner';
25
+ import 'marked';
26
+ import 'marked-terminal';
27
+ import 'qrcode';
19
28
  import 'string-length';
20
29
  import 'strip-ansi';
21
- import { R as RunWithSpinner } from '../../../RunWithSpinner-BVXNWGD3.js';
22
- import { u as uploadUserCredentials } from '../../../upload-DADrkIUB.js';
30
+ import { B as BaseAppleCommand } from '../../../baseAppleCommand-BSJhK8GA.js';
31
+ import { u as uploadUserCredentials } from '../../../upload-C5L82Yq0.js';
32
+ import 'path';
23
33
  import '@expo/apple-utils/build/index.js';
24
34
  import 'ini';
25
35
  import 'deepmerge';
36
+ import 'open';
37
+ import '../../../index-Df8uXQ4s.js';
38
+ import '../../../useAndroidServiceAccountTestResult-BnxNuoG3.js';
39
+ import '../../../git-DREGq-jc.js';
26
40
 
27
41
  class AppleApiKeyCreate extends BaseAppleCommand {
28
42
  static args = {};
@@ -72,7 +86,7 @@ class AppleApiKeyCreate extends BaseAppleCommand {
72
86
  };
73
87
  if (this.flags.quiet) return await createApiKey();
74
88
  render(
75
- /* @__PURE__ */ jsx(App, { children: /* @__PURE__ */ jsx(
89
+ /* @__PURE__ */ jsx(Command, { command: this, children: /* @__PURE__ */ jsx(
76
90
  RunWithSpinner,
77
91
  {
78
92
  msgInProgress: `Creating App Store Connect API in the Apple Developer Portal...`,
@@ -2,26 +2,40 @@ import { jsx } from 'react/jsx-runtime';
2
2
  import { Args, Flags } from '@oclif/core';
3
3
  import { render } from 'ink';
4
4
  import * as fs from 'fs';
5
- import { B as BaseAuthenticatedCommand, g as getUserCredentials, P as Platform, C as CredentialsType } from '../../../baseGameCommand-B3NbuvDu.js';
6
- import 'path';
7
- import '@expo/apple-utils/build/index.js';
5
+ import { B as BaseAuthenticatedCommand, P as Platform, C as CredentialsType } from '../../../index-CF0fIsx2.js';
6
+ import { g as getUserCredentials } from '../../../index-CFHmtzfq.js';
7
+ import { C as Command, R as RunWithSpinner } from '../../../Command-BrfJSeOC.js';
8
+ import 'react';
9
+ import 'ink-spinner';
8
10
  import 'axios';
11
+ import 'crypto-js';
12
+ import 'uuid';
9
13
  import 'luxon';
14
+ import '@inkjs/ui';
10
15
  import 'crypto';
11
16
  import 'readline-sync';
12
17
  import 'node:readline';
13
- import 'react';
18
+ import 'node:path';
19
+ import 'node:url';
14
20
  import '@tanstack/react-query';
21
+ import 'fast-glob';
22
+ import 'yazl';
15
23
  import 'socket.io-client';
16
24
  import 'isomorphic-git';
17
- import { A as App } from '../../../App-BfoOFeZ-.js';
18
- import 'ink-spinner';
25
+ import 'marked';
26
+ import 'marked-terminal';
27
+ import 'qrcode';
19
28
  import 'string-length';
20
29
  import 'strip-ansi';
21
- import { R as RunWithSpinner } from '../../../RunWithSpinner-BVXNWGD3.js';
22
- import { e as exportCredential } from '../../../export-C16psune.js';
30
+ import { e as exportCredential } from '../../../export-B0FJT0EU.js';
31
+ import 'path';
32
+ import '@expo/apple-utils/build/index.js';
23
33
  import 'ini';
24
34
  import 'deepmerge';
35
+ import 'open';
36
+ import '../../../index-Df8uXQ4s.js';
37
+ import '../../../useAndroidServiceAccountTestResult-BnxNuoG3.js';
38
+ import '../../../git-DREGq-jc.js';
25
39
 
26
40
  class AppleApiKeyExport extends BaseAuthenticatedCommand {
27
41
  static args = {
@@ -50,7 +64,7 @@ class AppleApiKeyExport extends BaseAuthenticatedCommand {
50
64
  const [key] = userAppleApiKeyCredentials;
51
65
  const handleComplete = async () => process.exit(0);
52
66
  render(
53
- /* @__PURE__ */ jsx(App, { children: /* @__PURE__ */ jsx(
67
+ /* @__PURE__ */ jsx(Command, { command: this, children: /* @__PURE__ */ jsx(
54
68
  RunWithSpinner,
55
69
  {
56
70
  msgInProgress: `Exporting App Store Connect API Key to ${file}...`,
@@ -2,26 +2,40 @@ import { jsx } from 'react/jsx-runtime';
2
2
  import { Args, Flags } from '@oclif/core';
3
3
  import { render } from 'ink';
4
4
  import * as fs from 'fs';
5
- import { B as BaseAuthenticatedCommand, g as getUserCredentials, P as Platform, C as CredentialsType } from '../../../baseGameCommand-B3NbuvDu.js';
6
- import 'path';
7
- import '@expo/apple-utils/build/index.js';
5
+ import { B as BaseAuthenticatedCommand, P as Platform, C as CredentialsType } from '../../../index-CF0fIsx2.js';
6
+ import { g as getUserCredentials } from '../../../index-CFHmtzfq.js';
7
+ import { C as Command, R as RunWithSpinner } from '../../../Command-BrfJSeOC.js';
8
+ import 'react';
9
+ import 'ink-spinner';
8
10
  import 'axios';
11
+ import 'crypto-js';
12
+ import 'uuid';
9
13
  import 'luxon';
14
+ import '@inkjs/ui';
10
15
  import 'crypto';
11
16
  import 'readline-sync';
12
17
  import 'node:readline';
13
- import 'react';
18
+ import 'node:path';
19
+ import 'node:url';
14
20
  import '@tanstack/react-query';
21
+ import 'fast-glob';
22
+ import 'yazl';
15
23
  import 'socket.io-client';
16
24
  import 'isomorphic-git';
17
- import { A as App } from '../../../App-BfoOFeZ-.js';
18
- import 'ink-spinner';
25
+ import 'marked';
26
+ import 'marked-terminal';
27
+ import 'qrcode';
19
28
  import 'string-length';
20
29
  import 'strip-ansi';
21
- import { R as RunWithSpinner } from '../../../RunWithSpinner-BVXNWGD3.js';
22
- import { i as importCredential } from '../../../import-hte2Jy0K.js';
30
+ import { i as importCredential } from '../../../import-CLDJ2iPu.js';
31
+ import 'path';
32
+ import '@expo/apple-utils/build/index.js';
23
33
  import 'ini';
24
34
  import 'deepmerge';
35
+ import 'open';
36
+ import '../../../index-Df8uXQ4s.js';
37
+ import '../../../useAndroidServiceAccountTestResult-BnxNuoG3.js';
38
+ import '../../../git-DREGq-jc.js';
25
39
 
26
40
  class AppleApiKeyImport extends BaseAuthenticatedCommand {
27
41
  static args = {
@@ -54,7 +68,7 @@ class AppleApiKeyImport extends BaseAuthenticatedCommand {
54
68
  await this.config.runCommand(`apple:apiKey:status`, ["--noAppleAuth"]);
55
69
  };
56
70
  render(
57
- /* @__PURE__ */ jsx(App, { children: /* @__PURE__ */ jsx(
71
+ /* @__PURE__ */ jsx(Command, { command: this, children: /* @__PURE__ */ jsx(
58
72
  RunWithSpinner,
59
73
  {
60
74
  msgInProgress: `Importing App Store Connect API from ${file}...`,
@@ -1,31 +1,43 @@
1
1
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
2
  import { Flags } from '@oclif/core';
3
3
  import { Box, Text, render } from 'ink';
4
- import { f as getShortDate, A as ApiKey, P as Platform, C as CredentialsType, B as BaseAuthenticatedCommand } from '../../../baseGameCommand-B3NbuvDu.js';
5
- import 'path';
6
- import 'fs';
7
- import '@expo/apple-utils/build/index.js';
4
+ import { b as getShortDate, A as ApiKey, C as CredentialsType, P as Platform, B as BaseAuthenticatedCommand } from '../../../index-CF0fIsx2.js';
5
+ import { T as Title, C as Command } from '../../../Command-BrfJSeOC.js';
6
+ import 'react';
7
+ import Spinner from 'ink-spinner';
8
8
  import 'axios';
9
+ import 'crypto-js';
10
+ import 'uuid';
9
11
  import { DateTime } from 'luxon';
12
+ import 'fs';
13
+ import '@inkjs/ui';
10
14
  import 'crypto';
11
15
  import 'readline-sync';
12
16
  import 'node:readline';
13
- import 'react';
17
+ import 'node:path';
18
+ import 'node:url';
14
19
  import { useQuery } from '@tanstack/react-query';
20
+ import 'fast-glob';
21
+ import 'yazl';
15
22
  import 'socket.io-client';
16
23
  import 'isomorphic-git';
17
- import { A as App } from '../../../App-BfoOFeZ-.js';
18
- import Spinner from 'ink-spinner';
19
- import { u as useUserCredentials, U as UserCredentialsTable } from '../../../UserCredentialsTable-A_YlFeJX.js';
20
- import { T as Title } from '../../../Title-BCQtayg6.js';
24
+ import { u as useUserCredentials, U as UserCredentialsTable } from '../../../UserCredentialsTable-DUFQqHVt.js';
25
+ import 'marked';
26
+ import 'marked-terminal';
27
+ import { N as NextSteps } from '../../../NextSteps-DKcjSHZ3.js';
28
+ import 'qrcode';
21
29
  import { T as Table } from '../../../Table-CvM6pccN.js';
22
- import { N as NextSteps } from '../../../NextSteps-CK9zHOCt.js';
23
30
  import 'string-length';
24
31
  import 'strip-ansi';
32
+ import 'path';
33
+ import '@expo/apple-utils/build/index.js';
25
34
  import 'ini';
26
35
  import 'deepmerge';
27
- import '../../../cacheKeys-CShA-ZjE.js';
28
- import '../../../index-ZHJdUrwJ.js';
36
+ import 'open';
37
+ import '../../../index-Df8uXQ4s.js';
38
+ import '../../../useAndroidServiceAccountTestResult-BnxNuoG3.js';
39
+ import '../../../git-DREGq-jc.js';
40
+ import '../../../index-CFHmtzfq.js';
29
41
 
30
42
  async function queryAppleApiKeys({ ctx }) {
31
43
  const keys = await ApiKey.getAsync(ctx);
@@ -93,7 +105,7 @@ class AppleApiKeyStatus extends BaseAuthenticatedCommand {
93
105
  ctx = authState.context;
94
106
  }
95
107
  render(
96
- /* @__PURE__ */ jsxs(App, { children: [
108
+ /* @__PURE__ */ jsxs(Command, { command: this, children: [
97
109
  /* @__PURE__ */ jsx(
98
110
  UserCredentialsTable,
99
111
  {
@@ -1,29 +1,43 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { Flags } from '@oclif/core';
3
3
  import { render } from 'ink';
4
- import 'path';
5
- import 'fs';
6
- import '@expo/apple-utils/build/index.js';
4
+ import { m as CertificateType, l as Certificate, P as Platform, C as CredentialsType } from '../../../index-CF0fIsx2.js';
5
+ import { g as getUserCredentials } from '../../../index-CFHmtzfq.js';
6
+ import { C as Command, R as RunWithSpinner } from '../../../Command-BrfJSeOC.js';
7
+ import 'react';
8
+ import 'ink-spinner';
7
9
  import 'axios';
8
- import { q as Certificate, r as CertificateType, g as getUserCredentials, P as Platform, C as CredentialsType } from '../../../baseGameCommand-B3NbuvDu.js';
10
+ import 'crypto-js';
11
+ import 'uuid';
9
12
  import 'luxon';
13
+ import '@inkjs/ui';
10
14
  import 'crypto';
15
+ import 'fs';
11
16
  import 'readline-sync';
12
17
  import 'node:readline';
13
- import 'react';
18
+ import 'node:path';
19
+ import 'node:url';
14
20
  import '@tanstack/react-query';
21
+ import 'fast-glob';
22
+ import 'yazl';
15
23
  import 'socket.io-client';
16
24
  import 'isomorphic-git';
17
- import { B as BaseAppleCommand } from '../../../baseAppleCommand-DK5-Cvg4.js';
18
- import { A as App } from '../../../App-BfoOFeZ-.js';
19
- import 'ink-spinner';
25
+ import 'marked';
26
+ import 'marked-terminal';
27
+ import 'qrcode';
20
28
  import 'string-length';
21
29
  import 'strip-ansi';
22
- import { R as RunWithSpinner } from '../../../RunWithSpinner-BVXNWGD3.js';
23
30
  import forge from 'node-forge';
24
- import { u as uploadUserCredentials } from '../../../upload-DADrkIUB.js';
31
+ import { B as BaseAppleCommand } from '../../../baseAppleCommand-BSJhK8GA.js';
32
+ import { u as uploadUserCredentials } from '../../../upload-C5L82Yq0.js';
33
+ import 'path';
34
+ import '@expo/apple-utils/build/index.js';
25
35
  import 'ini';
26
36
  import 'deepmerge';
37
+ import 'open';
38
+ import '../../../index-Df8uXQ4s.js';
39
+ import '../../../useAndroidServiceAccountTestResult-BnxNuoG3.js';
40
+ import '../../../git-DREGq-jc.js';
27
41
 
28
42
  function decodeCertificate(certificateContent) {
29
43
  const decodedContent = forge.util.decode64(certificateContent);
@@ -102,7 +116,7 @@ class AppleCertificateCreate extends BaseAppleCommand {
102
116
  };
103
117
  if (this.flags.quiet) return await createCert();
104
118
  render(
105
- /* @__PURE__ */ jsx(App, { children: /* @__PURE__ */ jsx(
119
+ /* @__PURE__ */ jsx(Command, { command: this, children: /* @__PURE__ */ jsx(
106
120
  RunWithSpinner,
107
121
  {
108
122
  msgInProgress: `Creating certificate in the Apple Developer Portal...`,
@@ -2,26 +2,40 @@ import { jsx } from 'react/jsx-runtime';
2
2
  import { Args, Flags } from '@oclif/core';
3
3
  import { render } from 'ink';
4
4
  import * as fs from 'fs';
5
- import { B as BaseAuthenticatedCommand, g as getUserCredentials, P as Platform, C as CredentialsType } from '../../../baseGameCommand-B3NbuvDu.js';
6
- import 'path';
7
- import '@expo/apple-utils/build/index.js';
5
+ import { B as BaseAuthenticatedCommand, P as Platform, C as CredentialsType } from '../../../index-CF0fIsx2.js';
6
+ import { g as getUserCredentials } from '../../../index-CFHmtzfq.js';
7
+ import { C as Command, R as RunWithSpinner } from '../../../Command-BrfJSeOC.js';
8
+ import 'react';
9
+ import 'ink-spinner';
8
10
  import 'axios';
11
+ import 'crypto-js';
12
+ import 'uuid';
9
13
  import 'luxon';
14
+ import '@inkjs/ui';
10
15
  import 'crypto';
11
16
  import 'readline-sync';
12
17
  import 'node:readline';
13
- import 'react';
18
+ import 'node:path';
19
+ import 'node:url';
14
20
  import '@tanstack/react-query';
21
+ import 'fast-glob';
22
+ import 'yazl';
15
23
  import 'socket.io-client';
16
24
  import 'isomorphic-git';
17
- import { A as App } from '../../../App-BfoOFeZ-.js';
18
- import 'ink-spinner';
25
+ import 'marked';
26
+ import 'marked-terminal';
27
+ import 'qrcode';
19
28
  import 'string-length';
20
29
  import 'strip-ansi';
21
- import { R as RunWithSpinner } from '../../../RunWithSpinner-BVXNWGD3.js';
22
- import { e as exportCredential } from '../../../export-C16psune.js';
30
+ import { e as exportCredential } from '../../../export-B0FJT0EU.js';
31
+ import 'path';
32
+ import '@expo/apple-utils/build/index.js';
23
33
  import 'ini';
24
34
  import 'deepmerge';
35
+ import 'open';
36
+ import '../../../index-Df8uXQ4s.js';
37
+ import '../../../useAndroidServiceAccountTestResult-BnxNuoG3.js';
38
+ import '../../../git-DREGq-jc.js';
25
39
 
26
40
  class AppleCertificateExport extends BaseAuthenticatedCommand {
27
41
  static args = {
@@ -50,7 +64,7 @@ class AppleCertificateExport extends BaseAuthenticatedCommand {
50
64
  const [cert] = userAppleDistCredentials;
51
65
  const handleComplete = async () => process.exit(0);
52
66
  render(
53
- /* @__PURE__ */ jsx(App, { children: /* @__PURE__ */ jsx(
67
+ /* @__PURE__ */ jsx(Command, { command: this, children: /* @__PURE__ */ jsx(
54
68
  RunWithSpinner,
55
69
  {
56
70
  msgInProgress: `Exporting certificate to ${file}...`,
@@ -2,26 +2,40 @@ import { jsx } from 'react/jsx-runtime';
2
2
  import { Args, Flags } from '@oclif/core';
3
3
  import { render } from 'ink';
4
4
  import * as fs from 'fs';
5
- import { B as BaseAuthenticatedCommand, g as getUserCredentials, P as Platform, C as CredentialsType } from '../../../baseGameCommand-B3NbuvDu.js';
6
- import 'path';
7
- import '@expo/apple-utils/build/index.js';
5
+ import { B as BaseAuthenticatedCommand, P as Platform, C as CredentialsType } from '../../../index-CF0fIsx2.js';
6
+ import { g as getUserCredentials } from '../../../index-CFHmtzfq.js';
7
+ import { C as Command, R as RunWithSpinner } from '../../../Command-BrfJSeOC.js';
8
+ import 'react';
9
+ import 'ink-spinner';
8
10
  import 'axios';
11
+ import 'crypto-js';
12
+ import 'uuid';
9
13
  import 'luxon';
14
+ import '@inkjs/ui';
10
15
  import 'crypto';
11
16
  import 'readline-sync';
12
17
  import 'node:readline';
13
- import 'react';
18
+ import 'node:path';
19
+ import 'node:url';
14
20
  import '@tanstack/react-query';
21
+ import 'fast-glob';
22
+ import 'yazl';
15
23
  import 'socket.io-client';
16
24
  import 'isomorphic-git';
17
- import { A as App } from '../../../App-BfoOFeZ-.js';
18
- import 'ink-spinner';
25
+ import 'marked';
26
+ import 'marked-terminal';
27
+ import 'qrcode';
19
28
  import 'string-length';
20
29
  import 'strip-ansi';
21
- import { R as RunWithSpinner } from '../../../RunWithSpinner-BVXNWGD3.js';
22
- import { i as importCredential } from '../../../import-hte2Jy0K.js';
30
+ import { i as importCredential } from '../../../import-CLDJ2iPu.js';
31
+ import 'path';
32
+ import '@expo/apple-utils/build/index.js';
23
33
  import 'ini';
24
34
  import 'deepmerge';
35
+ import 'open';
36
+ import '../../../index-Df8uXQ4s.js';
37
+ import '../../../useAndroidServiceAccountTestResult-BnxNuoG3.js';
38
+ import '../../../git-DREGq-jc.js';
25
39
 
26
40
  class AppleCertificateImport extends BaseAuthenticatedCommand {
27
41
  static args = {
@@ -54,7 +68,7 @@ class AppleCertificateImport extends BaseAuthenticatedCommand {
54
68
  await this.config.runCommand(`apple:certificate:status`, ["--noAppleAuth"]);
55
69
  };
56
70
  render(
57
- /* @__PURE__ */ jsx(App, { children: /* @__PURE__ */ jsx(
71
+ /* @__PURE__ */ jsx(Command, { command: this, children: /* @__PURE__ */ jsx(
58
72
  RunWithSpinner,
59
73
  {
60
74
  msgInProgress: `Importing certificate from ${file}...`,
@@ -1,31 +1,43 @@
1
1
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
2
  import { Flags } from '@oclif/core';
3
3
  import { Box, Text, render } from 'ink';
4
- import { f as getShortDate, q as Certificate, r as CertificateType, P as Platform, C as CredentialsType, B as BaseAuthenticatedCommand } from '../../../baseGameCommand-B3NbuvDu.js';
5
- import 'path';
6
- import 'fs';
7
- import '@expo/apple-utils/build/index.js';
4
+ import { b as getShortDate, l as Certificate, m as CertificateType, P as Platform, C as CredentialsType, B as BaseAuthenticatedCommand } from '../../../index-CF0fIsx2.js';
5
+ import { T as Title, C as Command } from '../../../Command-BrfJSeOC.js';
6
+ import 'react';
7
+ import Spinner from 'ink-spinner';
8
8
  import 'axios';
9
+ import 'crypto-js';
10
+ import 'uuid';
9
11
  import { DateTime } from 'luxon';
12
+ import 'fs';
13
+ import '@inkjs/ui';
10
14
  import 'crypto';
11
15
  import 'readline-sync';
12
16
  import 'node:readline';
13
- import 'react';
17
+ import 'node:path';
18
+ import 'node:url';
14
19
  import { useQuery } from '@tanstack/react-query';
20
+ import 'fast-glob';
21
+ import 'yazl';
15
22
  import 'socket.io-client';
16
23
  import 'isomorphic-git';
17
- import { A as App } from '../../../App-BfoOFeZ-.js';
18
- import Spinner from 'ink-spinner';
19
- import { g as getShortUUID } from '../../../index-ZHJdUrwJ.js';
20
- import { u as useUserCredentials, U as UserCredentialsTable } from '../../../UserCredentialsTable-A_YlFeJX.js';
21
- import { T as Title } from '../../../Title-BCQtayg6.js';
22
- import { T as Table } from '../../../Table-CvM6pccN.js';
23
- import { N as NextSteps } from '../../../NextSteps-CK9zHOCt.js';
24
+ import 'marked';
25
+ import 'marked-terminal';
26
+ import 'qrcode';
24
27
  import 'string-length';
25
28
  import 'strip-ansi';
29
+ import { g as getShortUUID } from '../../../index-Df8uXQ4s.js';
30
+ import { u as useUserCredentials, U as UserCredentialsTable } from '../../../UserCredentialsTable-DUFQqHVt.js';
31
+ import { N as NextSteps } from '../../../NextSteps-DKcjSHZ3.js';
32
+ import { T as Table } from '../../../Table-CvM6pccN.js';
33
+ import 'path';
34
+ import '@expo/apple-utils/build/index.js';
26
35
  import 'ini';
27
36
  import 'deepmerge';
28
- import '../../../cacheKeys-CShA-ZjE.js';
37
+ import 'open';
38
+ import '../../../useAndroidServiceAccountTestResult-BnxNuoG3.js';
39
+ import '../../../git-DREGq-jc.js';
40
+ import '../../../index-CFHmtzfq.js';
29
41
 
30
42
  async function queryAppleCertificates({ ctx }) {
31
43
  const appleCerts = await Certificate.getAsync(ctx, {
@@ -101,7 +113,7 @@ class AppleCertificateStatus extends BaseAuthenticatedCommand {
101
113
  ctx = authState.context;
102
114
  }
103
115
  render(
104
- /* @__PURE__ */ jsxs(App, { children: [
116
+ /* @__PURE__ */ jsxs(Command, { command: this, children: [
105
117
  /* @__PURE__ */ jsx(
106
118
  UserCredentialsTable,
107
119
  {