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.
- package/dist/{AppleBundleIdDetails-eoK5F8Qn.js → AppleBundleIdDetails-BhHPCvRm.js} +17 -19
- package/dist/Command-BDIkuv2g.js +29 -0
- package/dist/CommandGame-CvBIjPZp.js +7 -0
- package/dist/{Create-ISdroJ3G.js → Create-Lpe0B8nT.js} +20 -20
- package/dist/GameStatus-5XpufIY_.js +137 -0
- package/dist/{Import-CfThJF6k.js → Import-DFzrAG04.js} +34 -36
- package/dist/{JobLogTail-BWzbQBZz.js → JobLogTail-BYcJgPcL.js} +53 -52
- package/dist/{JobProgress-DjIkuk5U.js → JobProgress-BcrE7CUK.js} +40 -38
- package/dist/{JobStatusTable-CEqWU73q.js → JobStatusTable-Bi-y8ZZT.js} +14 -13
- package/dist/{NextSteps-CK9zHOCt.js → NextSteps-DbJHmscQ.js} +1 -3
- package/dist/{ProgressSpinner-6pw1T8Iw.js → ProgressSpinner-Um6ARKlk.js} +2 -2
- package/dist/{ProjectCredentialsTable-u9ruZ9mN.js → ProjectCredentialsTable-B4vDJl4l.js} +11 -10
- package/dist/{StatusTable-Dm5St4g-.js → StatusTable-DzRWcMr4.js} +7 -9
- package/dist/{Table-CvM6pccN.js → Table-FaNgpyeq.js} +15 -15
- package/dist/{UserCredentialsTable-Q7u9M-ap.js → UserCredentialsTable-CwkZTFBD.js} +18 -19
- package/dist/{baseAppleCommand-zhkGlKq0.js → baseAppleCommand-BKXweb-U.js} +1 -1
- package/dist/{baseGameAndroidCommand-DJ-cMLa_.js → baseGameAndroidCommand-CAi-BSsH.js} +23 -23
- package/dist/commands/apple/apiKey/create.js +36 -36
- package/dist/commands/apple/apiKey/export.js +27 -27
- package/dist/commands/apple/apiKey/import.js +28 -28
- package/dist/commands/apple/apiKey/status.js +32 -32
- package/dist/commands/apple/certificate/create.js +40 -40
- package/dist/commands/apple/certificate/export.js +27 -27
- package/dist/commands/apple/certificate/import.js +28 -28
- package/dist/commands/apple/certificate/status.js +33 -33
- package/dist/commands/apple/login.js +15 -15
- package/dist/commands/apple/status.js +27 -27
- package/dist/commands/dashboard.js +10 -10
- package/dist/commands/game/android/apiKey/connect.js +28 -28
- package/dist/commands/game/android/apiKey/create.js +29 -29
- package/dist/commands/game/android/apiKey/export.js +30 -30
- package/dist/commands/game/android/apiKey/import.js +32 -32
- package/dist/commands/game/android/apiKey/invite.js +14 -14
- package/dist/commands/game/android/apiKey/status.js +30 -30
- package/dist/commands/game/android/keyStore/create.js +25 -25
- package/dist/commands/game/android/keyStore/export.js +29 -29
- package/dist/commands/game/android/keyStore/import.js +36 -36
- package/dist/commands/game/android/keyStore/status.js +26 -26
- package/dist/commands/game/android/status.js +15 -58
- package/dist/commands/game/build/download.js +24 -24
- package/dist/commands/game/build/list.js +37 -37
- package/dist/commands/game/create.js +15 -15
- package/dist/commands/game/details.js +35 -36
- package/dist/commands/game/export.js +12 -12
- package/dist/commands/game/ios/app/addTester.js +37 -32
- package/dist/commands/game/ios/app/create.js +24 -24
- package/dist/commands/game/ios/app/status.js +29 -29
- package/dist/commands/game/ios/app/sync.js +31 -31
- package/dist/commands/game/ios/profile/create.js +32 -32
- package/dist/commands/game/ios/profile/export.js +29 -29
- package/dist/commands/game/ios/profile/import.js +33 -33
- package/dist/commands/game/ios/profile/status.js +36 -36
- package/dist/commands/game/ios/status.js +46 -58
- package/dist/commands/game/ios/wizard.js +39 -34
- package/dist/commands/game/job/list.js +34 -34
- package/dist/commands/game/job/status.js +32 -32
- package/dist/commands/game/list.js +38 -40
- package/dist/commands/game/ship.js +81 -77
- package/dist/commands/game/status.js +38 -85
- package/dist/commands/game/wizard.js +253 -242
- package/dist/commands/internal/fastlane.js +15 -17
- package/dist/commands/internal/readme.js +38 -36
- package/dist/commands/login.js +14 -14
- package/dist/commands/status.js +32 -30
- package/dist/{export-DZxo2_e_.js → export-DLQrUEBK.js} +5 -5
- package/dist/{git-DREGq-jc.js → git-BpsfNFZ_.js} +8 -8
- package/dist/{import-8pL1AF47.js → import-BoY5e0uJ.js} +14 -14
- package/dist/{index-DJ078v-U.js → index-B27WJDxn.js} +43 -27
- package/dist/{index-DKQjnJrC.js → index-CisLwc7e.js} +42 -44
- package/dist/{index-C6aAyrXW.js → index-Crv7S0bl.js} +6 -6
- package/dist/{index-BHh0BZvD.js → index-DC0GJtAy.js} +50 -60
- package/dist/{index-CyvGh-kt.js → index-DfUg5j06.js} +93 -92
- package/dist/{index-w3lHxk5O.js → index-pj8JVg5X.js} +242 -225
- package/dist/{upload-BTpxj3QP.js → upload-C8S17EU_.js} +22 -22
- package/dist/{useAndroidServiceAccountTestResult-Dy3Ag7_r.js → useAndroidServiceAccountTestResult-D4e5AKAZ.js} +11 -13
- package/dist/{useAppleApp-h1Ogi_qc.js → useAppleApp-Dr6URQvC.js} +4 -4
- package/dist/{useAppleBundleId-B3TTNap0.js → useAppleBundleId-DELAwSQp.js} +6 -6
- package/dist/{useProjectCredentials-DpeXZcHP.js → useProjectCredentials-BjvdJdQg.js} +10 -12
- package/dist/{useWebSocket-gyuCsore.js → useWebSocket-CRV7V69Q.js} +1 -1
- package/dist/utils/help.js +4 -4
- package/package.json +5 -4
- package/dist/Command-DFdHXDiU.js +0 -44
- package/dist/CommandGame-Dif-oSky.js +0 -9
- 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 '
|
|
5
|
-
import '../../../../index-
|
|
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
|
|
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-
|
|
23
|
-
import '
|
|
24
|
-
import '
|
|
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
|
-
|
|
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
|
-
|
|
96
|
-
|
|
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 '
|
|
5
|
-
import '../../../../index-
|
|
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
|
|
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-
|
|
23
|
-
import '
|
|
24
|
-
import '
|
|
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 '
|
|
5
|
-
import '../../../../index-
|
|
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 '
|
|
9
|
-
import '
|
|
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 '
|
|
28
|
-
import { N as NextSteps } from '../../../../NextSteps-CK9zHOCt.js';
|
|
29
|
+
import { N as NextSteps } from '../../../../NextSteps-DbJHmscQ.js';
|
|
29
30
|
import 'qrcode';
|
|
30
|
-
import '
|
|
31
|
-
import '
|
|
32
|
-
import {
|
|
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 '../../../../
|
|
41
|
-
import '../../../../
|
|
42
|
-
import '../../../../
|
|
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
|
|
59
|
-
/* @__PURE__ */ jsx(AppleBundleIdDetails, { iosBundleId: game.details?.iosBundleId
|
|
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 '
|
|
5
|
-
import '../../../../index-
|
|
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 '
|
|
9
|
-
import '
|
|
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
|
|
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-
|
|
31
|
-
import '
|
|
32
|
-
import '
|
|
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
|
-
|
|
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.
|
|
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 '
|
|
6
|
-
import '
|
|
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 '
|
|
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-
|
|
14
|
-
import '
|
|
15
|
-
import '
|
|
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
|
|
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-
|
|
32
|
-
import '
|
|
33
|
-
import '
|
|
34
|
-
import {
|
|
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
|
-
|
|
47
|
+
force: Flags.boolean({ char: "f" }),
|
|
48
48
|
gameId: Flags.string({ char: "g", description: "The ID of the game" }),
|
|
49
|
-
|
|
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
|
|
59
|
+
(cred) => cred.platform === Platform.IOS && cred.type === CredentialsType.CERTIFICATE
|
|
60
60
|
);
|
|
61
|
-
if (projectAppleProfileCredentials.length
|
|
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
|
|
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
|
-
|
|
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
|
|
5
|
-
import { c as BaseGameCommand, P as Platform, C as CredentialsType } from '../../../../index-
|
|
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 '
|
|
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-
|
|
31
|
-
import '
|
|
32
|
-
import '
|
|
33
|
-
import {
|
|
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 '
|
|
39
|
-
import '../../../../
|
|
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
|
-
|
|
49
|
-
|
|
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
|
|
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
|
-
|
|
73
|
+
executeMethod: () => exportCredential({ credentialId: profile.id, projectId: game.id, zipPath: file }),
|
|
74
74
|
msgComplete: `Mobile Provisioning Profile exported to ${file}`,
|
|
75
|
-
|
|
75
|
+
msgInProgress: `Exporting Mobile Provisioning Profile to ${file}...`,
|
|
76
76
|
onComplete: handleComplete
|
|
77
77
|
}
|
|
78
78
|
) })
|