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,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 { i as importCredential } from '../../../../import-8pL1AF47.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 { i as importCredential } from '../../../../import-BoY5e0uJ.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 GameIosProfileImport extends BaseGameCommand {
|
|
42
42
|
static args = {
|
|
@@ -48,8 +48,8 @@ class GameIosProfileImport extends BaseGameCommand {
|
|
|
48
48
|
static description = "Imports an Mobile Provisioning Profile to your ShipThis account";
|
|
49
49
|
static examples = ["<%= config.bin %> <%= command.id %> profile.zip"];
|
|
50
50
|
static flags = {
|
|
51
|
-
|
|
52
|
-
|
|
51
|
+
force: Flags.boolean({ char: "f" }),
|
|
52
|
+
gameId: Flags.string({ char: "g", description: "The ID of the game" })
|
|
53
53
|
};
|
|
54
54
|
async run() {
|
|
55
55
|
const { args, flags } = this;
|
|
@@ -62,9 +62,9 @@ class GameIosProfileImport extends BaseGameCommand {
|
|
|
62
62
|
}
|
|
63
63
|
const projectCredentials = await getProjectCredentials(game.id);
|
|
64
64
|
const projectAppleProfileCredentials = projectCredentials.filter(
|
|
65
|
-
(cred) => cred.platform
|
|
65
|
+
(cred) => cred.platform === Platform.IOS && cred.type === CredentialsType.CERTIFICATE
|
|
66
66
|
);
|
|
67
|
-
if (projectAppleProfileCredentials.length
|
|
67
|
+
if (projectAppleProfileCredentials.length > 0 && !force) {
|
|
68
68
|
this.error("A Mobile Provisioning Profile already exists. Use --force to overwrite it.");
|
|
69
69
|
}
|
|
70
70
|
const handleComplete = async () => {
|
|
@@ -74,14 +74,14 @@ class GameIosProfileImport extends BaseGameCommand {
|
|
|
74
74
|
/* @__PURE__ */ jsx(Command, { command: this, children: /* @__PURE__ */ jsx(
|
|
75
75
|
RunWithSpinner,
|
|
76
76
|
{
|
|
77
|
-
msgInProgress: `Importing Mobile Provisioning Profile from ${file}...`,
|
|
78
|
-
msgComplete: `Mobile Provisioning Profile imported from ${file}`,
|
|
79
77
|
executeMethod: () => importCredential({
|
|
80
|
-
zipPath: file,
|
|
81
|
-
type: CredentialsType.CERTIFICATE,
|
|
82
78
|
platform: Platform.IOS,
|
|
83
|
-
projectId: game.id
|
|
79
|
+
projectId: game.id,
|
|
80
|
+
type: CredentialsType.CERTIFICATE,
|
|
81
|
+
zipPath: file
|
|
84
82
|
}),
|
|
83
|
+
msgComplete: `Mobile Provisioning Profile imported from ${file}`,
|
|
84
|
+
msgInProgress: `Importing Mobile Provisioning Profile from ${file}...`,
|
|
85
85
|
onComplete: handleComplete
|
|
86
86
|
}
|
|
87
87
|
) })
|
|
@@ -1,44 +1,44 @@
|
|
|
1
1
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
2
|
-
import { Box, Text, render } from 'ink';
|
|
3
2
|
import { Flags } from '@oclif/core';
|
|
4
|
-
import '
|
|
5
|
-
import '../../../../index-
|
|
6
|
-
import { b as getShortDate, n as Profile, o as ProfileType, C as CredentialsType, P as Platform, c as BaseGameCommand } from '../../../../index-w3lHxk5O.js';
|
|
3
|
+
import { Box, Text, render } from 'ink';
|
|
4
|
+
import { b as getShortDate, m as Profile, n as ProfileType, C as CredentialsType, P as Platform, c as BaseGameCommand } from '../../../../index-pj8JVg5X.js';
|
|
7
5
|
import Spinner from 'ink-spinner';
|
|
8
|
-
import '
|
|
9
|
-
import '
|
|
10
|
-
import 'uuid';
|
|
11
|
-
import 'fs';
|
|
12
|
-
import { DateTime } from 'luxon';
|
|
13
|
-
import '@inkjs/ui';
|
|
14
|
-
import { useQuery } from '@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 { DateTime } from 'luxon';
|
|
13
|
+
import 'axios';
|
|
21
14
|
import 'isomorphic-git';
|
|
15
|
+
import { useQuery } from '@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';
|
|
25
|
+
import { P as ProjectCredentialsTable } from '../../../../ProjectCredentialsTable-B4vDJl4l.js';
|
|
24
26
|
import 'open';
|
|
27
|
+
import '@inkjs/ui';
|
|
25
28
|
import 'marked';
|
|
26
29
|
import 'marked-terminal';
|
|
27
|
-
import 'path';
|
|
28
30
|
import 'qrcode';
|
|
29
|
-
import '
|
|
30
|
-
import '
|
|
31
|
-
import {
|
|
32
|
-
import { T as Table } from '../../../../Table-CvM6pccN.js';
|
|
31
|
+
import '../../../../index-DfUg5j06.js';
|
|
32
|
+
import { u as useProjectCredentials } from '../../../../useProjectCredentials-BjvdJdQg.js';
|
|
33
|
+
import { T as Table } from '../../../../Table-FaNgpyeq.js';
|
|
33
34
|
import { T as Title } from '../../../../Title-BCQtayg6.js';
|
|
34
|
-
import { N as NextSteps } from '../../../../NextSteps-
|
|
35
|
-
import { C as Command } from '../../../../Command-
|
|
36
|
-
import { P as ProjectCredentialsTable } from '../../../../ProjectCredentialsTable-u9ruZ9mN.js';
|
|
37
|
-
import '../../../../index-DJ078v-U.js';
|
|
38
|
-
import '../../../../useAndroidServiceAccountTestResult-Dy3Ag7_r.js';
|
|
35
|
+
import { N as NextSteps } from '../../../../NextSteps-DbJHmscQ.js';
|
|
36
|
+
import { C as Command } from '../../../../Command-BDIkuv2g.js';
|
|
39
37
|
import '@expo/apple-utils/build/index.js';
|
|
40
|
-
import 'ini';
|
|
41
38
|
import 'deepmerge';
|
|
39
|
+
import 'ini';
|
|
40
|
+
import '../../../../index-B27WJDxn.js';
|
|
41
|
+
import '../../../../useAndroidServiceAccountTestResult-D4e5AKAZ.js';
|
|
42
42
|
|
|
43
43
|
async function queryAppleProfiles({ ctx }) {
|
|
44
44
|
const appleProfiles = await Profile.getAsync(ctx, {
|
|
@@ -59,32 +59,32 @@ const canAppleProfileBeUsed = (appleProfile, project, projectCredentials) => {
|
|
|
59
59
|
return projectCredentials.some(
|
|
60
60
|
(credential) => credential.isActive && credential.serialNumber === profileCertificateSerialNumber
|
|
61
61
|
);
|
|
62
|
-
} catch (
|
|
63
|
-
console.log(
|
|
62
|
+
} catch (error) {
|
|
63
|
+
console.log(error);
|
|
64
64
|
return false;
|
|
65
65
|
}
|
|
66
66
|
};
|
|
67
67
|
function getAppleProfileSummary(appleProfile, project, projectCredentials) {
|
|
68
68
|
return {
|
|
69
|
+
canBeUsed: canAppleProfileBeUsed(appleProfile, project, projectCredentials),
|
|
70
|
+
expires: getShortDate(DateTime.fromISO(appleProfile.attributes.expirationDate)),
|
|
69
71
|
id: appleProfile.id,
|
|
70
72
|
name: appleProfile.attributes.name,
|
|
71
|
-
platform: appleProfile.attributes.platform
|
|
72
|
-
expires: getShortDate(DateTime.fromISO(appleProfile.attributes.expirationDate)),
|
|
73
|
-
canBeUsed: canAppleProfileBeUsed(appleProfile, project, projectCredentials)
|
|
73
|
+
platform: appleProfile.attributes.platform
|
|
74
74
|
};
|
|
75
75
|
}
|
|
76
76
|
const useAppleProfiles = (props) => {
|
|
77
77
|
const queryResult = useQuery({
|
|
78
|
-
|
|
79
|
-
|
|
78
|
+
queryFn: () => queryAppleProfiles(props),
|
|
79
|
+
queryKey: ["appleProfiles"]
|
|
80
80
|
});
|
|
81
81
|
return queryResult;
|
|
82
82
|
};
|
|
83
83
|
|
|
84
84
|
const AppleProfilesTable = ({ ctx, project, ...boxProps }) => {
|
|
85
85
|
const { data: credentialsResponse } = useProjectCredentials({
|
|
86
|
-
projectId: project.id,
|
|
87
86
|
platform: Platform.IOS,
|
|
87
|
+
projectId: project.id,
|
|
88
88
|
type: CredentialsType.CERTIFICATE
|
|
89
89
|
});
|
|
90
90
|
const { data: profiles, isLoading } = useAppleProfiles({ ctx });
|
|
@@ -93,7 +93,7 @@ const AppleProfilesTable = ({ ctx, project, ...boxProps }) => {
|
|
|
93
93
|
/* @__PURE__ */ jsx(Title, { children: "Mobile Provisioning Profiles in your Apple account" }),
|
|
94
94
|
isLoading && /* @__PURE__ */ jsx(Spinner, { type: "dots" }),
|
|
95
95
|
profiles && credentialsResponse && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
96
|
-
/* @__PURE__ */ jsxs(Box, {
|
|
96
|
+
/* @__PURE__ */ jsxs(Box, { flexDirection: "column", marginBottom: 1, marginLeft: 2, children: [
|
|
97
97
|
/* @__PURE__ */ jsx(Text, { children: `You have ${profiles.length} Mobile Provisioning Profiles in your Apple account` }),
|
|
98
98
|
/* @__PURE__ */ jsx(Text, { children: `${hasUsable ? "One" : "None"} of these can be used by ShipThis` })
|
|
99
99
|
] }),
|
|
@@ -127,7 +127,7 @@ class GameIosProfileStatus extends BaseGameCommand {
|
|
|
127
127
|
ProjectCredentialsTable,
|
|
128
128
|
{
|
|
129
129
|
credentialTypeName: "Mobile Provisioning Profile",
|
|
130
|
-
queryProps: { platform: Platform.IOS,
|
|
130
|
+
queryProps: { platform: Platform.IOS, projectId: game.id, type: CredentialsType.CERTIFICATE }
|
|
131
131
|
}
|
|
132
132
|
),
|
|
133
133
|
showApple && /* @__PURE__ */ jsx(AppleProfilesTable, { ctx, project: game })
|
|
@@ -1,46 +1,48 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { render } from 'ink';
|
|
1
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
3
2
|
import { Flags } from '@oclif/core';
|
|
4
|
-
import '
|
|
5
|
-
import '../../../index-
|
|
6
|
-
import { c as BaseGameCommand, k as getProjectPlatformProgress, P as Platform, b as getShortDate } from '../../../index-w3lHxk5O.js';
|
|
3
|
+
import { render, Box } from 'ink';
|
|
4
|
+
import { c as BaseGameCommand, P as Platform } from '../../../index-pj8JVg5X.js';
|
|
7
5
|
import 'ink-spinner';
|
|
8
|
-
import '
|
|
6
|
+
import 'node:crypto';
|
|
7
|
+
import 'node:fs';
|
|
8
|
+
import 'node:path';
|
|
9
|
+
import 'node:readline';
|
|
10
|
+
import 'node:url';
|
|
11
|
+
import 'readline-sync';
|
|
12
|
+
import 'luxon';
|
|
9
13
|
import 'axios';
|
|
14
|
+
import 'isomorphic-git';
|
|
10
15
|
import '@tanstack/react-query';
|
|
11
|
-
import '
|
|
16
|
+
import 'react';
|
|
17
|
+
import 'crypto-js';
|
|
12
18
|
import 'uuid';
|
|
19
|
+
import 'fast-glob';
|
|
13
20
|
import 'yazl';
|
|
14
|
-
import
|
|
21
|
+
import 'socket.io-client';
|
|
22
|
+
import 'fullscreen-ink';
|
|
23
|
+
import { G as GameStatusDetails } from '../../../GameStatus-5XpufIY_.js';
|
|
24
|
+
import 'string-length';
|
|
25
|
+
import 'strip-ansi';
|
|
15
26
|
import 'open';
|
|
27
|
+
import '@inkjs/ui';
|
|
16
28
|
import 'marked';
|
|
17
29
|
import 'marked-terminal';
|
|
18
|
-
import 'path';
|
|
19
|
-
import { N as NextSteps } from '../../../NextSteps-CK9zHOCt.js';
|
|
20
30
|
import 'qrcode';
|
|
21
|
-
import
|
|
22
|
-
import '
|
|
23
|
-
import '
|
|
24
|
-
import { A as AppleAppDetails, a as AppleBundleIdDetails } from '../../../AppleBundleIdDetails-eoK5F8Qn.js';
|
|
25
|
-
import { C as Command } from '../../../Command-DFdHXDiU.js';
|
|
26
|
-
import 'luxon';
|
|
27
|
-
import 'fast-glob';
|
|
28
|
-
import 'socket.io-client';
|
|
29
|
-
import '../../../useAndroidServiceAccountTestResult-Dy3Ag7_r.js';
|
|
31
|
+
import '../../../index-DfUg5j06.js';
|
|
32
|
+
import { A as AppleAppDetails, a as AppleBundleIdDetails } from '../../../AppleBundleIdDetails-BhHPCvRm.js';
|
|
33
|
+
import { C as CommandGame } from '../../../CommandGame-CvBIjPZp.js';
|
|
30
34
|
import '@expo/apple-utils/build/index.js';
|
|
31
|
-
import 'crypto-js';
|
|
32
|
-
import 'crypto';
|
|
33
|
-
import 'readline-sync';
|
|
34
|
-
import 'node:readline';
|
|
35
|
-
import 'node:path';
|
|
36
|
-
import 'node:url';
|
|
37
|
-
import 'isomorphic-git';
|
|
38
|
-
import 'ini';
|
|
39
35
|
import 'deepmerge';
|
|
36
|
+
import 'ini';
|
|
37
|
+
import '../../../index-B27WJDxn.js';
|
|
38
|
+
import '../../../StatusTable-DzRWcMr4.js';
|
|
40
39
|
import '../../../Title-BCQtayg6.js';
|
|
41
|
-
import '../../../
|
|
42
|
-
import '../../../
|
|
43
|
-
import '../../../
|
|
40
|
+
import '../../../NextSteps-DbJHmscQ.js';
|
|
41
|
+
import '../../../useAndroidServiceAccountTestResult-D4e5AKAZ.js';
|
|
42
|
+
import '../../../useAppleApp-Dr6URQvC.js';
|
|
43
|
+
import '../../../Table-FaNgpyeq.js';
|
|
44
|
+
import '../../../useAppleBundleId-DELAwSQp.js';
|
|
45
|
+
import '../../../Command-BDIkuv2g.js';
|
|
44
46
|
|
|
45
47
|
class GameIosStatus extends BaseGameCommand {
|
|
46
48
|
static args = {};
|
|
@@ -54,37 +56,23 @@ class GameIosStatus extends BaseGameCommand {
|
|
|
54
56
|
};
|
|
55
57
|
async run() {
|
|
56
58
|
const game = await this.getGame();
|
|
57
|
-
const iosPlatformStatus = await getProjectPlatformProgress(game.id, Platform.IOS);
|
|
58
|
-
const gameStatuses = {
|
|
59
|
-
name: game.name,
|
|
60
|
-
id: getShortUUID(game.id),
|
|
61
|
-
createdAt: getShortDate(game.createdAt),
|
|
62
|
-
engine: "Godot"
|
|
63
|
-
};
|
|
64
|
-
const steps = [iosPlatformStatus.hasBundleSet == false && "shipthis game ios app create"].filter(
|
|
65
|
-
Boolean
|
|
66
|
-
);
|
|
67
|
-
const progressToStatuses = (progress) => {
|
|
68
|
-
const { platform, ...rest } = progress;
|
|
69
|
-
return makeHumanReadable(rest);
|
|
70
|
-
};
|
|
71
59
|
const authState = await this.refreshAppleAuthState();
|
|
72
60
|
const ctx = authState.context;
|
|
73
61
|
render(
|
|
74
|
-
/* @__PURE__ */
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
{
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
62
|
+
/* @__PURE__ */ jsx(CommandGame, { command: this, children: /* @__PURE__ */ jsx(
|
|
63
|
+
GameStatusDetails,
|
|
64
|
+
{
|
|
65
|
+
gameId: game.id,
|
|
66
|
+
onComplete: (exitCode) => {
|
|
67
|
+
setTimeout(() => process.exit(exitCode), 2e3);
|
|
68
|
+
},
|
|
69
|
+
platforms: [Platform.IOS],
|
|
70
|
+
children: /* @__PURE__ */ jsxs(Box, { flexDirection: "column", gap: 0, marginTop: 1, children: [
|
|
71
|
+
/* @__PURE__ */ jsx(AppleAppDetails, { ctx, iosBundleId: game.details?.iosBundleId }),
|
|
72
|
+
/* @__PURE__ */ jsx(AppleBundleIdDetails, { ctx, iosBundleId: game.details?.iosBundleId })
|
|
73
|
+
] })
|
|
74
|
+
}
|
|
75
|
+
) })
|
|
88
76
|
);
|
|
89
77
|
}
|
|
90
78
|
}
|
|
@@ -1,38 +1,38 @@
|
|
|
1
1
|
import { Flags } from '@oclif/core';
|
|
2
2
|
import chalk from 'chalk';
|
|
3
|
-
import
|
|
3
|
+
import 'node:fs';
|
|
4
4
|
import 'axios';
|
|
5
5
|
import 'crypto-js';
|
|
6
6
|
import 'uuid';
|
|
7
|
-
import '
|
|
7
|
+
import { B as BaseAuthenticatedCommand, j as isCWDGodotGame, W as WEB_URL, P as Platform, C as CredentialsType } from '../../../index-pj8JVg5X.js';
|
|
8
8
|
import 'luxon';
|
|
9
|
-
import { g as getUserCredentials, a as getProjectCredentials } from '../../../index-
|
|
9
|
+
import { g as getUserCredentials, a as getProjectCredentials } from '../../../index-Crv7S0bl.js';
|
|
10
10
|
import 'react/jsx-runtime';
|
|
11
|
-
import 'react';
|
|
12
11
|
import 'ink';
|
|
13
|
-
import { g as getRenderedMarkdown } from '../../../index-CyvGh-kt.js';
|
|
14
12
|
import 'ink-spinner';
|
|
15
|
-
import '
|
|
16
|
-
import '@tanstack/react-query';
|
|
17
|
-
import 'yazl';
|
|
18
|
-
import 'crypto';
|
|
19
|
-
import 'readline-sync';
|
|
20
|
-
import 'node:readline';
|
|
13
|
+
import 'node:crypto';
|
|
21
14
|
import 'node:path';
|
|
15
|
+
import 'node:readline';
|
|
22
16
|
import 'node:url';
|
|
17
|
+
import 'readline-sync';
|
|
23
18
|
import 'isomorphic-git';
|
|
19
|
+
import '@tanstack/react-query';
|
|
20
|
+
import 'react';
|
|
24
21
|
import 'fast-glob';
|
|
22
|
+
import 'yazl';
|
|
25
23
|
import 'socket.io-client';
|
|
26
|
-
import '
|
|
27
|
-
import 'qrcode';
|
|
24
|
+
import 'fullscreen-ink';
|
|
28
25
|
import 'string-length';
|
|
29
26
|
import 'strip-ansi';
|
|
30
|
-
import '
|
|
27
|
+
import 'open';
|
|
28
|
+
import '@inkjs/ui';
|
|
29
|
+
import { g as getRenderedMarkdown } from '../../../index-DfUg5j06.js';
|
|
30
|
+
import 'qrcode';
|
|
31
31
|
import '@expo/apple-utils/build/index.js';
|
|
32
|
-
import 'ini';
|
|
33
32
|
import 'deepmerge';
|
|
34
|
-
import '
|
|
35
|
-
import '../../../
|
|
33
|
+
import 'ini';
|
|
34
|
+
import '../../../index-B27WJDxn.js';
|
|
35
|
+
import '../../../useAndroidServiceAccountTestResult-D4e5AKAZ.js';
|
|
36
36
|
import 'marked';
|
|
37
37
|
import 'marked-terminal';
|
|
38
38
|
|
|
@@ -54,72 +54,77 @@ class GameIosWizard extends BaseAuthenticatedCommand {
|
|
|
54
54
|
{ exit: 1 }
|
|
55
55
|
);
|
|
56
56
|
}
|
|
57
|
-
const projectConfig =
|
|
57
|
+
const projectConfig = this.getProjectConfigSafe();
|
|
58
58
|
const game = projectConfig.project;
|
|
59
59
|
const isStepForced = (cmdName) => flags.forceStep?.includes(cmdName);
|
|
60
60
|
const logSkip = (cmdName) => this.log(chalk.blue(`[skip] shipthis ${cmdName.replaceAll(":", " ")}`));
|
|
61
61
|
const logRun = (cmdName, args) => this.log(chalk.green(`[run] shipthis ${cmdName.replaceAll(":", " ")} ${args.join(" ")}`));
|
|
62
62
|
const iosSteps = [
|
|
63
63
|
{
|
|
64
|
-
command: "game:create",
|
|
65
64
|
args: ["--quiet"],
|
|
65
|
+
command: "game:create",
|
|
66
66
|
shouldRun: async () => !game
|
|
67
67
|
},
|
|
68
68
|
{
|
|
69
|
-
command: "apple:login",
|
|
70
69
|
args: ["--quiet"],
|
|
70
|
+
command: "apple:login",
|
|
71
71
|
shouldRun: async () => {
|
|
72
72
|
const isLoggedIn = await this.hasValidAppleAuthState();
|
|
73
73
|
return !isLoggedIn;
|
|
74
74
|
}
|
|
75
75
|
},
|
|
76
76
|
{
|
|
77
|
-
command: "apple:apiKey:create",
|
|
78
77
|
args: ["--quiet"],
|
|
79
|
-
|
|
78
|
+
command: "apple:apiKey:create",
|
|
79
|
+
async shouldRun() {
|
|
80
80
|
const userCredentials = await getUserCredentials();
|
|
81
81
|
const userAppleApiKeyCredentials = userCredentials.filter(
|
|
82
|
-
(cred) => cred.platform
|
|
82
|
+
(cred) => cred.platform === Platform.IOS && cred.type === CredentialsType.KEY
|
|
83
83
|
);
|
|
84
84
|
const hasKey = userAppleApiKeyCredentials.length > 0;
|
|
85
85
|
return !hasKey;
|
|
86
86
|
}
|
|
87
87
|
},
|
|
88
88
|
{
|
|
89
|
-
command: "apple:certificate:create",
|
|
90
89
|
args: ["--quiet"],
|
|
91
|
-
|
|
90
|
+
command: "apple:certificate:create",
|
|
91
|
+
async shouldRun() {
|
|
92
92
|
const userCredentials = await getUserCredentials();
|
|
93
93
|
const userAppleDistCredentials = userCredentials.filter(
|
|
94
|
-
(cred) => cred.platform
|
|
94
|
+
(cred) => cred.platform === Platform.IOS && cred.type === CredentialsType.CERTIFICATE
|
|
95
95
|
);
|
|
96
96
|
const hasDistCert = userAppleDistCredentials.length > 0;
|
|
97
97
|
return !hasDistCert;
|
|
98
98
|
}
|
|
99
99
|
},
|
|
100
100
|
{
|
|
101
|
-
command: "game:ios:app:create",
|
|
102
101
|
args: ["--quiet"],
|
|
103
|
-
|
|
102
|
+
command: "game:ios:app:create",
|
|
103
|
+
async shouldRun() {
|
|
104
104
|
if (!game) return true;
|
|
105
|
-
const hasBundleIdSet =
|
|
105
|
+
const hasBundleIdSet = Boolean(game.details?.iosBundleId);
|
|
106
106
|
return !hasBundleIdSet;
|
|
107
107
|
}
|
|
108
108
|
},
|
|
109
109
|
{
|
|
110
|
-
command: "game:ios:app:sync",
|
|
111
110
|
args: ["--quiet"],
|
|
111
|
+
command: "game:ios:app:sync",
|
|
112
112
|
// Can always run this
|
|
113
113
|
shouldRun: async () => true
|
|
114
114
|
},
|
|
115
115
|
{
|
|
116
|
-
|
|
116
|
+
args: ["--quiet", "--self"],
|
|
117
|
+
command: "game:ios:app:addTester",
|
|
118
|
+
shouldRun: async () => true
|
|
119
|
+
},
|
|
120
|
+
{
|
|
117
121
|
args: ["--quiet"],
|
|
118
|
-
|
|
122
|
+
command: "game:ios:profile:create",
|
|
123
|
+
async shouldRun() {
|
|
119
124
|
if (!game) return true;
|
|
120
125
|
const projectCredentials = await getProjectCredentials(game.id);
|
|
121
126
|
const projectAppleProfileCredentials = projectCredentials.filter(
|
|
122
|
-
(cred) => cred.platform
|
|
127
|
+
(cred) => cred.platform === Platform.IOS && cred.type === CredentialsType.CERTIFICATE
|
|
123
128
|
);
|
|
124
129
|
const hasProfile = projectAppleProfileCredentials.length > 0;
|
|
125
130
|
return !hasProfile;
|
|
@@ -127,7 +132,7 @@ class GameIosWizard extends BaseAuthenticatedCommand {
|
|
|
127
132
|
}
|
|
128
133
|
];
|
|
129
134
|
for (const step of iosSteps) {
|
|
130
|
-
const command = step
|
|
135
|
+
const { command } = step;
|
|
131
136
|
const willRun = isStepForced(command) || await step.shouldRun();
|
|
132
137
|
if (!willRun) {
|
|
133
138
|
logSkip(command);
|
|
@@ -1,41 +1,41 @@
|
|
|
1
1
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
-
import { render, Box, Text } from 'ink';
|
|
3
2
|
import { Flags } from '@oclif/core';
|
|
4
|
-
import {
|
|
5
|
-
import '
|
|
6
|
-
import {
|
|
3
|
+
import { render, Box, Text } from 'ink';
|
|
4
|
+
import { DateTime } from 'luxon';
|
|
5
|
+
import { c as BaseGameCommand, y as getProjectJobs } from '../../../index-pj8JVg5X.js';
|
|
7
6
|
import 'ink-spinner';
|
|
8
|
-
import '
|
|
9
|
-
import '
|
|
7
|
+
import { c as getJobStatusColor } from '../../../index-B27WJDxn.js';
|
|
8
|
+
import { T as Table } from '../../../Table-FaNgpyeq.js';
|
|
9
|
+
import { T as Title } from '../../../Title-BCQtayg6.js';
|
|
10
|
+
import 'react';
|
|
10
11
|
import '@tanstack/react-query';
|
|
11
|
-
import '
|
|
12
|
+
import 'axios';
|
|
13
|
+
import { a as getJobSummary } from '../../../index-DfUg5j06.js';
|
|
14
|
+
import 'node:fs';
|
|
15
|
+
import 'fast-glob';
|
|
12
16
|
import 'uuid';
|
|
13
17
|
import 'yazl';
|
|
14
|
-
import
|
|
18
|
+
import 'socket.io-client';
|
|
19
|
+
import 'fullscreen-ink';
|
|
20
|
+
import 'string-length';
|
|
21
|
+
import 'strip-ansi';
|
|
15
22
|
import 'open';
|
|
16
|
-
import
|
|
23
|
+
import '@inkjs/ui';
|
|
24
|
+
import 'node:path';
|
|
17
25
|
import 'marked';
|
|
18
26
|
import 'marked-terminal';
|
|
19
|
-
import 'path';
|
|
20
27
|
import 'qrcode';
|
|
21
|
-
import {
|
|
22
|
-
import 'string-length';
|
|
23
|
-
import 'strip-ansi';
|
|
24
|
-
import { DateTime } from 'luxon';
|
|
25
|
-
import 'fast-glob';
|
|
26
|
-
import { C as Command } from '../../../Command-DFdHXDiU.js';
|
|
27
|
-
import 'socket.io-client';
|
|
28
|
-
import '@expo/apple-utils/build/index.js';
|
|
28
|
+
import { C as Command } from '../../../Command-BDIkuv2g.js';
|
|
29
29
|
import 'crypto-js';
|
|
30
|
-
import '
|
|
31
|
-
import '
|
|
30
|
+
import '@expo/apple-utils/build/index.js';
|
|
31
|
+
import 'node:crypto';
|
|
32
32
|
import 'node:readline';
|
|
33
|
-
import 'node:path';
|
|
34
33
|
import 'node:url';
|
|
34
|
+
import 'readline-sync';
|
|
35
35
|
import 'isomorphic-git';
|
|
36
|
-
import 'ini';
|
|
37
36
|
import 'deepmerge';
|
|
38
|
-
import '
|
|
37
|
+
import 'ini';
|
|
38
|
+
import '../../../useAndroidServiceAccountTestResult-D4e5AKAZ.js';
|
|
39
39
|
|
|
40
40
|
class GameJobList extends BaseGameCommand {
|
|
41
41
|
static args = {};
|
|
@@ -46,20 +46,20 @@ class GameJobList extends BaseGameCommand {
|
|
|
46
46
|
];
|
|
47
47
|
static flags = {
|
|
48
48
|
...super.flags,
|
|
49
|
-
|
|
50
|
-
|
|
49
|
+
order: Flags.string({
|
|
50
|
+
char: "r",
|
|
51
|
+
default: "desc",
|
|
52
|
+
description: "The order to sort by",
|
|
53
|
+
options: ["asc", "desc"]
|
|
54
|
+
}),
|
|
51
55
|
orderBy: Flags.string({
|
|
52
56
|
char: "o",
|
|
53
|
-
description: "The field to order by",
|
|
54
57
|
default: "createdAt",
|
|
58
|
+
description: "The field to order by",
|
|
55
59
|
options: ["createdAt", "updatedAt"]
|
|
56
60
|
}),
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
description: "The order to sort by",
|
|
60
|
-
default: "desc",
|
|
61
|
-
options: ["asc", "desc"]
|
|
62
|
-
})
|
|
61
|
+
pageNumber: Flags.integer({ char: "p", default: 0, description: "The page number to show (starts at 0)" }),
|
|
62
|
+
pageSize: Flags.integer({ char: "s", default: 10, description: "The number of items to show per page" })
|
|
63
63
|
};
|
|
64
64
|
async run() {
|
|
65
65
|
const game = await this.getGame();
|
|
@@ -72,7 +72,7 @@ class GameJobList extends BaseGameCommand {
|
|
|
72
72
|
render(
|
|
73
73
|
/* @__PURE__ */ jsxs(Command, { command: this, children: [
|
|
74
74
|
/* @__PURE__ */ jsx(Title, { children: "Jobs for this game" }),
|
|
75
|
-
!hasJobs && /* @__PURE__ */ jsx(Box, { marginLeft: 2, marginTop: 1,
|
|
75
|
+
!hasJobs && /* @__PURE__ */ jsx(Box, { flexDirection: "column", marginLeft: 2, marginTop: 1, children: /* @__PURE__ */ jsx(Text, { children: "You DO NOT have any jobs for this game." }) }),
|
|
76
76
|
hasJobs && /* @__PURE__ */ jsx(
|
|
77
77
|
Table,
|
|
78
78
|
{
|
|
@@ -83,7 +83,7 @@ class GameJobList extends BaseGameCommand {
|
|
|
83
83
|
}
|
|
84
84
|
}
|
|
85
85
|
),
|
|
86
|
-
jobListResponse.pageCount > 1 && /* @__PURE__ */ jsxs(Box, {
|
|
86
|
+
jobListResponse.pageCount > 1 && /* @__PURE__ */ jsxs(Box, { flexDirection: "column", marginTop: 1, children: [
|
|
87
87
|
/* @__PURE__ */ jsx(Text, { children: `Showing page ${flags.pageNumber + 1} of ${jobListResponse.pageCount}.` }),
|
|
88
88
|
/* @__PURE__ */ jsx(Text, { children: "Use the --pageNumber parameter to see other pages." })
|
|
89
89
|
] })
|