shipthis 0.1.36 → 0.1.38
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/README.md +46 -33
- package/assets/markdown/confirm-delete-android-keystore.md.ejs +22 -0
- package/assets/markdown/confirm-delete-android-serviceaccountkey.md.ejs +24 -0
- package/assets/markdown/confirm-delete-apple-credential.md.ejs +29 -0
- package/assets/markdown/ship-success.md.ejs +4 -0
- package/dist/{AppleBundleIdDetails-pEVOUXTQ.js → AppleBundleIdDetails-CgleH2pl.js} +3 -3
- package/dist/{Command-DhAVAdiI.js → Command-7dCv1F9p.js} +1 -1
- package/dist/{CommandGame-C-oV-hb4.js → CommandGame-er5Ql6hq.js} +2 -2
- package/dist/{Create-Dg9ZlwEd.js → Create-pLXESvEq.js} +1 -1
- package/dist/{GameStatus-Dm9TqFfW.js → GameStatus-B_Iw9tYr.js} +1 -1
- package/dist/{Import-BFNNkN-I.js → Import-fIsrfsmr.js} +2 -2
- package/dist/{JobLogTail-RTNIiAUk.js → JobLogTail-BPcQ8ghI.js} +2 -2
- package/dist/{JobProgress-dFWcT0CQ.js → JobProgress-CpEatVPs.js} +10 -6
- package/dist/{JobStatusTable-BlvMuWF7.js → JobStatusTable-BmJLzsUN.js} +2 -2
- package/dist/{ProjectCredentialsTable-CMBnYLou.js → ProjectCredentialsTable-DvPDhi7C.js} +5 -3
- package/dist/{UserCredentialsTable-oxE3mDmE.js → UserCredentialsTable-MBm1vAP3.js} +4 -2
- package/dist/{baseAppleCommand-cnLvBz95.js → baseAppleCommand-uL0Gnav4.js} +1 -1
- package/dist/{baseGameAndroidCommand-DUDYisYm.js → baseGameAndroidCommand-CKTSQyZV.js} +1 -1
- package/dist/commands/apiKey/create.js +3 -2
- package/dist/commands/apiKey/list.js +3 -2
- package/dist/commands/apiKey/revoke.js +3 -2
- package/dist/commands/apple/apiKey/create.js +7 -6
- package/dist/commands/apple/apiKey/delete.js +118 -0
- package/dist/commands/apple/apiKey/export.js +6 -5
- package/dist/commands/apple/apiKey/import.js +6 -5
- package/dist/commands/apple/apiKey/status.js +4 -3
- package/dist/commands/apple/certificate/create.js +7 -6
- package/dist/commands/apple/certificate/delete.js +127 -0
- package/dist/commands/apple/certificate/export.js +6 -5
- package/dist/commands/apple/certificate/import.js +6 -5
- package/dist/commands/apple/certificate/status.js +4 -3
- package/dist/commands/apple/login.js +12 -3
- package/dist/commands/apple/status.js +3 -2
- package/dist/commands/dashboard.js +2 -1
- package/dist/commands/game/android/apiKey/connect.js +8 -7
- package/dist/commands/game/android/apiKey/create.js +10 -9
- package/dist/commands/game/android/apiKey/delete.js +100 -0
- package/dist/commands/game/android/apiKey/export.js +6 -5
- package/dist/commands/game/android/apiKey/import.js +6 -5
- package/dist/commands/game/android/apiKey/invite.js +3 -2
- package/dist/commands/game/android/apiKey/policy.js +3 -2
- package/dist/commands/game/android/apiKey/status.js +6 -5
- package/dist/commands/game/android/keyStore/create.js +7 -6
- package/dist/commands/game/android/keyStore/delete.js +100 -0
- package/dist/commands/game/android/keyStore/export.js +5 -4
- package/dist/commands/game/android/keyStore/import.js +8 -7
- package/dist/commands/game/android/keyStore/status.js +5 -4
- package/dist/commands/game/android/status.js +2 -1
- package/dist/commands/game/build/download.js +3 -2
- package/dist/commands/game/build/list.js +4 -3
- package/dist/commands/game/create.js +2 -1
- package/dist/commands/game/details.js +9 -5
- package/dist/commands/game/export.js +2 -1
- package/dist/commands/game/ios/app/addTester.js +4 -3
- package/dist/commands/game/ios/app/create.js +3 -2
- package/dist/commands/game/ios/app/status.js +6 -5
- package/dist/commands/game/ios/app/sync.js +4 -3
- package/dist/commands/game/ios/profile/create.js +6 -5
- package/dist/commands/game/ios/profile/delete.js +123 -0
- package/dist/commands/game/ios/profile/export.js +5 -4
- package/dist/commands/game/ios/profile/import.js +5 -4
- package/dist/commands/game/ios/profile/status.js +8 -47
- package/dist/commands/game/ios/status.js +8 -7
- package/dist/commands/game/ios/wizard.js +2 -2
- package/dist/commands/game/job/list.js +3 -2
- package/dist/commands/game/job/status.js +6 -5
- package/dist/commands/game/list.js +3 -2
- package/dist/commands/game/ship.js +18 -10
- package/dist/commands/game/status.js +5 -4
- package/dist/commands/game/wizard.js +14 -13
- package/dist/commands/internal/fastlane.js +2 -1
- package/dist/commands/internal/readme.js +2 -1
- package/dist/commands/login.js +2 -1
- package/dist/commands/status.js +2 -2
- package/dist/{export-Bd552LBe.js → export-BwwAjG_F.js} +1 -1
- package/dist/{import-D-EL9sQJ.js → import-OgFrUsqw.js} +1 -1
- package/dist/{index-DwATmUTQ.js → index-C1XpCT_9.js} +4 -4
- package/dist/index-C2omlhEs.js +48 -0
- package/dist/{index-BtPf4vzY.js → index-DHioYOIm.js} +6 -3
- package/dist/{index-DCN43FhY.js → index-DVEYxVsH.js} +3 -3
- package/dist/{upload-Dm38PqhN.js → upload-5s3sy2jF.js} +1 -1
- package/dist/{useAppleApp-BKPntZPm.js → useAppleApp-szQ_Kg5S.js} +1 -1
- package/dist/{useAppleBundleId-DvQKEEy4.js → useAppleBundleId-BarLcidd.js} +1 -1
- package/dist/useAppleProfiles-C2U4NzC3.js +63 -0
- package/dist/{useGoogleStatus-D9jjGa--.js → useGoogleStatus-zfnjhtNB.js} +1 -1
- package/dist/{useProjectCredentials-BjsS28hP.js → useProjectCredentials-DbynNY96.js} +1 -1
- package/dist/{useWebSocket-CIeyHqxG.js → useWebSocket-h7smqhZQ.js} +1 -1
- package/docs/apple/apiKey/delete.md +25 -0
- package/docs/apple/apiKey.md +26 -0
- package/docs/apple/certificate/delete.md +25 -0
- package/docs/apple/certificate.md +26 -0
- package/docs/game/android/apiKey/delete.md +25 -0
- package/docs/game/android/apiKey.md +26 -0
- package/docs/game/android/keyStore/delete.md +25 -0
- package/docs/game/android/keyStore.md +26 -0
- package/docs/game/details.md +13 -10
- package/docs/game/ios/profile/delete.md +26 -0
- package/docs/game/ios/profile.md +27 -0
- package/docs/game/ship.md +5 -4
- package/package.json +6 -1
- package/dist/index-1H48f5j2.js +0 -24
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { Flags } from '@oclif/core';
|
|
3
3
|
import { render } from 'ink';
|
|
4
|
-
import {
|
|
4
|
+
import { h as BaseGameCommand } from '../../../../index-DHioYOIm.js';
|
|
5
5
|
import 'ink-spinner';
|
|
6
6
|
import 'node:crypto';
|
|
7
7
|
import 'node:fs';
|
|
@@ -28,17 +28,18 @@ import 'marked';
|
|
|
28
28
|
import 'marked-terminal';
|
|
29
29
|
import { N as NextSteps } from '../../../../NextSteps-DbJHmscQ.js';
|
|
30
30
|
import 'qrcode';
|
|
31
|
-
import { A as AppleAppDetails, a as AppleBundleIdDetails } from '../../../../AppleBundleIdDetails-
|
|
32
|
-
import { C as Command } from '../../../../Command-
|
|
31
|
+
import { A as AppleAppDetails, a as AppleBundleIdDetails } from '../../../../AppleBundleIdDetails-CgleH2pl.js';
|
|
32
|
+
import { C as Command } from '../../../../Command-7dCv1F9p.js';
|
|
33
|
+
import 'chalk';
|
|
33
34
|
import '@expo/apple-utils/build/index.js';
|
|
34
35
|
import 'deepmerge';
|
|
35
36
|
import 'ini';
|
|
36
37
|
import 'fs';
|
|
37
38
|
import 'path';
|
|
38
39
|
import '../../../../Title-BCQtayg6.js';
|
|
39
|
-
import '../../../../useAppleApp-
|
|
40
|
+
import '../../../../useAppleApp-szQ_Kg5S.js';
|
|
40
41
|
import '../../../../Table-FaNgpyeq.js';
|
|
41
|
-
import '../../../../useAppleBundleId-
|
|
42
|
+
import '../../../../useAppleBundleId-BarLcidd.js';
|
|
42
43
|
|
|
43
44
|
class GameIosAppStatus extends BaseGameCommand {
|
|
44
45
|
static args = {};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { Flags } from '@oclif/core';
|
|
3
3
|
import { render } from 'ink';
|
|
4
|
-
import {
|
|
4
|
+
import { h as BaseGameCommand, m as CapabilityTypeOption } from '../../../../index-DHioYOIm.js';
|
|
5
5
|
import 'ink-spinner';
|
|
6
6
|
import 'node:crypto';
|
|
7
7
|
import 'node:fs';
|
|
@@ -16,7 +16,7 @@ import '@tanstack/react-query';
|
|
|
16
16
|
import 'react';
|
|
17
17
|
import 'crypto-js';
|
|
18
18
|
import 'uuid';
|
|
19
|
-
import { f as fetchBundleId } from '../../../../useAppleBundleId-
|
|
19
|
+
import { f as fetchBundleId } from '../../../../useAppleBundleId-BarLcidd.js';
|
|
20
20
|
import 'fast-glob';
|
|
21
21
|
import 'yazl';
|
|
22
22
|
import 'socket.io-client';
|
|
@@ -29,7 +29,8 @@ import 'marked';
|
|
|
29
29
|
import 'marked-terminal';
|
|
30
30
|
import 'qrcode';
|
|
31
31
|
import { R as RunWithSpinner } from '../../../../RunWithSpinner-DucRnFp6.js';
|
|
32
|
-
import { C as Command } from '../../../../Command-
|
|
32
|
+
import { C as Command } from '../../../../Command-7dCv1F9p.js';
|
|
33
|
+
import 'chalk';
|
|
33
34
|
import '@expo/apple-utils/build/index.js';
|
|
34
35
|
import 'deepmerge';
|
|
35
36
|
import 'ini';
|
|
@@ -5,9 +5,9 @@ import { render } from 'ink';
|
|
|
5
5
|
import 'node:fs';
|
|
6
6
|
import 'crypto-js';
|
|
7
7
|
import 'uuid';
|
|
8
|
-
import {
|
|
8
|
+
import { h as BaseGameCommand, P as Platform, C as CredentialsType, d as Certificate, p as CertificateType, q as Profile, r as ProfileType } from '../../../../index-DHioYOIm.js';
|
|
9
9
|
import 'luxon';
|
|
10
|
-
import { a as getProjectCredentials, g as getUserCredentials } from '../../../../index-
|
|
10
|
+
import { a as getProjectCredentials, g as getUserCredentials } from '../../../../index-C2omlhEs.js';
|
|
11
11
|
import 'ink-spinner';
|
|
12
12
|
import 'node:crypto';
|
|
13
13
|
import 'node:path';
|
|
@@ -17,7 +17,7 @@ import 'readline-sync';
|
|
|
17
17
|
import 'isomorphic-git';
|
|
18
18
|
import '@tanstack/react-query';
|
|
19
19
|
import 'react';
|
|
20
|
-
import { f as fetchBundleId } from '../../../../useAppleBundleId-
|
|
20
|
+
import { f as fetchBundleId } from '../../../../useAppleBundleId-BarLcidd.js';
|
|
21
21
|
import 'fast-glob';
|
|
22
22
|
import 'yazl';
|
|
23
23
|
import 'socket.io-client';
|
|
@@ -30,8 +30,9 @@ import 'marked';
|
|
|
30
30
|
import 'marked-terminal';
|
|
31
31
|
import 'qrcode';
|
|
32
32
|
import { R as RunWithSpinner } from '../../../../RunWithSpinner-DucRnFp6.js';
|
|
33
|
-
import { C as Command } from '../../../../Command-
|
|
34
|
-
import { a as uploadProjectCredentials } from '../../../../upload-
|
|
33
|
+
import { C as Command } from '../../../../Command-7dCv1F9p.js';
|
|
34
|
+
import { a as uploadProjectCredentials } from '../../../../upload-5s3sy2jF.js';
|
|
35
|
+
import 'chalk';
|
|
35
36
|
import '@expo/apple-utils/build/index.js';
|
|
36
37
|
import 'deepmerge';
|
|
37
38
|
import 'ini';
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { Flags } from '@oclif/core';
|
|
2
|
+
import { h as BaseGameCommand, P as Platform, C as CredentialsType, g as getShortUUID, b as getRenderedMarkdown, c as getInput } from '../../../../index-DHioYOIm.js';
|
|
3
|
+
import 'node:fs';
|
|
4
|
+
import 'axios';
|
|
5
|
+
import 'crypto-js';
|
|
6
|
+
import 'uuid';
|
|
7
|
+
import 'luxon';
|
|
8
|
+
import { a as getProjectCredentials, b as deleteProjectCredential } from '../../../../index-C2omlhEs.js';
|
|
9
|
+
import 'react/jsx-runtime';
|
|
10
|
+
import 'ink';
|
|
11
|
+
import 'ink-spinner';
|
|
12
|
+
import 'react';
|
|
13
|
+
import '@tanstack/react-query';
|
|
14
|
+
import { q as queryAppleProfiles } from '../../../../useAppleProfiles-C2U4NzC3.js';
|
|
15
|
+
import 'fast-glob';
|
|
16
|
+
import 'yazl';
|
|
17
|
+
import 'socket.io-client';
|
|
18
|
+
import 'fullscreen-ink';
|
|
19
|
+
import 'string-length';
|
|
20
|
+
import 'strip-ansi';
|
|
21
|
+
import 'open';
|
|
22
|
+
import '@inkjs/ui';
|
|
23
|
+
import 'qrcode';
|
|
24
|
+
import 'node:path';
|
|
25
|
+
import 'chalk';
|
|
26
|
+
import '@expo/apple-utils/build/index.js';
|
|
27
|
+
import 'node:crypto';
|
|
28
|
+
import 'node:readline';
|
|
29
|
+
import 'node:url';
|
|
30
|
+
import 'readline-sync';
|
|
31
|
+
import 'isomorphic-git';
|
|
32
|
+
import 'deepmerge';
|
|
33
|
+
import 'ini';
|
|
34
|
+
import 'fs';
|
|
35
|
+
import 'path';
|
|
36
|
+
import 'marked';
|
|
37
|
+
import 'marked-terminal';
|
|
38
|
+
|
|
39
|
+
class GameIosProfileDelete extends BaseGameCommand {
|
|
40
|
+
static args = {};
|
|
41
|
+
static description = "Delete an iOS Mobile Provisioning Profile from ShipThis and optionally from Apple";
|
|
42
|
+
static examples = [
|
|
43
|
+
"<%= config.bin %> <%= command.id %>",
|
|
44
|
+
"<%= config.bin %> <%= command.id %> --revokeInApple --immediate --iAmSure"
|
|
45
|
+
];
|
|
46
|
+
static flags = {
|
|
47
|
+
...BaseGameCommand.flags,
|
|
48
|
+
immediate: Flags.boolean({
|
|
49
|
+
char: "i",
|
|
50
|
+
description: "Remove from storage immediately (rather than waiting for automatic cleanup - cannot be undone)",
|
|
51
|
+
required: false
|
|
52
|
+
}),
|
|
53
|
+
iAmSure: Flags.boolean({
|
|
54
|
+
char: "y",
|
|
55
|
+
description: "I am sure I want to do this - do not prompt me",
|
|
56
|
+
required: false
|
|
57
|
+
}),
|
|
58
|
+
revokeInApple: Flags.boolean({
|
|
59
|
+
char: "a",
|
|
60
|
+
description: "Also revoke the Profile in Apple (cannot be undone)",
|
|
61
|
+
required: false
|
|
62
|
+
})
|
|
63
|
+
};
|
|
64
|
+
async run() {
|
|
65
|
+
const { flags } = await this.parse(GameIosProfileDelete);
|
|
66
|
+
const { immediate, iAmSure, revokeInApple } = flags;
|
|
67
|
+
const game = await this.getGame();
|
|
68
|
+
const projectCredentials = await getProjectCredentials(game.id);
|
|
69
|
+
const userAppleProfileCredentials = projectCredentials.filter(
|
|
70
|
+
(cred) => cred.platform === Platform.IOS && cred.type === CredentialsType.CERTIFICATE && cred.isActive
|
|
71
|
+
);
|
|
72
|
+
if (userAppleProfileCredentials.length === 0) {
|
|
73
|
+
this.error("No active Mobile Provisioning Profile found which can be deleted.");
|
|
74
|
+
}
|
|
75
|
+
const [profile] = userAppleProfileCredentials;
|
|
76
|
+
let appleProfile = null;
|
|
77
|
+
if (revokeInApple) {
|
|
78
|
+
const authState = await this.refreshAppleAuthState();
|
|
79
|
+
const ctx = authState.context;
|
|
80
|
+
const appleProfiles = await queryAppleProfiles({ ctx });
|
|
81
|
+
appleProfile = appleProfiles.find((p) => {
|
|
82
|
+
const profileSerialNumber = p.attributes.certificates?.[0]?.attributes.serialNumber;
|
|
83
|
+
return profileSerialNumber === profile.serialNumber;
|
|
84
|
+
});
|
|
85
|
+
if (!appleProfile?.id) {
|
|
86
|
+
this.error("The Mobile Provisioning Profile was not found in Apple, so cannot be revoked there.");
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
const getAreYouSure = async () => {
|
|
90
|
+
if (iAmSure) return true;
|
|
91
|
+
const confirmString = getShortUUID(profile.id);
|
|
92
|
+
const prompt = getRenderedMarkdown({
|
|
93
|
+
filename: "confirm-delete-apple-credential.md.ejs",
|
|
94
|
+
templateVars: {
|
|
95
|
+
confirmString,
|
|
96
|
+
credentialType: "Mobile Provisioning Profile",
|
|
97
|
+
exportCommand: `shipthis game ios profile export userProfile.zip`,
|
|
98
|
+
immediate,
|
|
99
|
+
revokeInApple
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
this.log(prompt);
|
|
103
|
+
const input = await getInput("");
|
|
104
|
+
return input.trim().toLowerCase() === confirmString.toLowerCase();
|
|
105
|
+
};
|
|
106
|
+
const areYouSure = await getAreYouSure();
|
|
107
|
+
if (!areYouSure) {
|
|
108
|
+
this.log("Aborting - Mobile Provisioning Profile not deleted");
|
|
109
|
+
this.exit(0);
|
|
110
|
+
}
|
|
111
|
+
await deleteProjectCredential(game.id, {
|
|
112
|
+
credentialId: profile.id,
|
|
113
|
+
isImmediate: immediate
|
|
114
|
+
});
|
|
115
|
+
this.log("The Mobile Provisioning Profile has been deleted from ShipThis.");
|
|
116
|
+
if (revokeInApple && appleProfile?.id) {
|
|
117
|
+
await appleProfile.deleteAsync();
|
|
118
|
+
this.log("The Mobile Provisioning Profile has been deleted in Apple.");
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
export { GameIosProfileDelete as default };
|
|
@@ -2,8 +2,8 @@ import { jsx } from 'react/jsx-runtime';
|
|
|
2
2
|
import * as fs from 'node:fs';
|
|
3
3
|
import { Args, Flags } from '@oclif/core';
|
|
4
4
|
import { render } from 'ink';
|
|
5
|
-
import { a as getProjectCredentials } from '../../../../index-
|
|
6
|
-
import {
|
|
5
|
+
import { a as getProjectCredentials } from '../../../../index-C2omlhEs.js';
|
|
6
|
+
import { h as BaseGameCommand, P as Platform, C as CredentialsType } from '../../../../index-DHioYOIm.js';
|
|
7
7
|
import 'ink-spinner';
|
|
8
8
|
import 'node:crypto';
|
|
9
9
|
import 'node:path';
|
|
@@ -29,8 +29,9 @@ import 'marked';
|
|
|
29
29
|
import 'marked-terminal';
|
|
30
30
|
import 'qrcode';
|
|
31
31
|
import { R as RunWithSpinner } from '../../../../RunWithSpinner-DucRnFp6.js';
|
|
32
|
-
import { C as Command } from '../../../../Command-
|
|
33
|
-
import { e as exportCredential } from '../../../../export-
|
|
32
|
+
import { C as Command } from '../../../../Command-7dCv1F9p.js';
|
|
33
|
+
import { e as exportCredential } from '../../../../export-BwwAjG_F.js';
|
|
34
|
+
import 'chalk';
|
|
34
35
|
import '@expo/apple-utils/build/index.js';
|
|
35
36
|
import 'deepmerge';
|
|
36
37
|
import 'ini';
|
|
@@ -2,8 +2,8 @@ import { jsx } from 'react/jsx-runtime';
|
|
|
2
2
|
import * as fs from 'node:fs';
|
|
3
3
|
import { Args, Flags } from '@oclif/core';
|
|
4
4
|
import { render } from 'ink';
|
|
5
|
-
import { a as getProjectCredentials } from '../../../../index-
|
|
6
|
-
import {
|
|
5
|
+
import { a as getProjectCredentials } from '../../../../index-C2omlhEs.js';
|
|
6
|
+
import { h as BaseGameCommand, P as Platform, C as CredentialsType } from '../../../../index-DHioYOIm.js';
|
|
7
7
|
import 'ink-spinner';
|
|
8
8
|
import 'node:crypto';
|
|
9
9
|
import 'node:path';
|
|
@@ -29,8 +29,9 @@ import 'marked';
|
|
|
29
29
|
import 'marked-terminal';
|
|
30
30
|
import 'qrcode';
|
|
31
31
|
import { R as RunWithSpinner } from '../../../../RunWithSpinner-DucRnFp6.js';
|
|
32
|
-
import { C as Command } from '../../../../Command-
|
|
33
|
-
import { i as importCredential } from '../../../../import-
|
|
32
|
+
import { C as Command } from '../../../../Command-7dCv1F9p.js';
|
|
33
|
+
import { i as importCredential } from '../../../../import-OgFrUsqw.js';
|
|
34
|
+
import 'chalk';
|
|
34
35
|
import '@expo/apple-utils/build/index.js';
|
|
35
36
|
import 'deepmerge';
|
|
36
37
|
import 'ini';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
2
2
|
import { Flags } from '@oclif/core';
|
|
3
3
|
import { Box, Text, render } from 'ink';
|
|
4
|
-
import {
|
|
4
|
+
import { C as CredentialsType, P as Platform, h as BaseGameCommand } from '../../../../index-DHioYOIm.js';
|
|
5
5
|
import Spinner from 'ink-spinner';
|
|
6
6
|
import 'node:crypto';
|
|
7
7
|
import 'node:fs';
|
|
@@ -9,10 +9,10 @@ import 'node:path';
|
|
|
9
9
|
import 'node:readline';
|
|
10
10
|
import 'node:url';
|
|
11
11
|
import 'readline-sync';
|
|
12
|
-
import
|
|
12
|
+
import 'luxon';
|
|
13
13
|
import 'axios';
|
|
14
14
|
import 'isomorphic-git';
|
|
15
|
-
import
|
|
15
|
+
import '@tanstack/react-query';
|
|
16
16
|
import 'react';
|
|
17
17
|
import 'crypto-js';
|
|
18
18
|
import 'uuid';
|
|
@@ -22,64 +22,25 @@ import 'socket.io-client';
|
|
|
22
22
|
import 'fullscreen-ink';
|
|
23
23
|
import 'string-length';
|
|
24
24
|
import 'strip-ansi';
|
|
25
|
-
import { P as ProjectCredentialsTable } from '../../../../ProjectCredentialsTable-
|
|
25
|
+
import { P as ProjectCredentialsTable } from '../../../../ProjectCredentialsTable-DvPDhi7C.js';
|
|
26
26
|
import 'open';
|
|
27
27
|
import '@inkjs/ui';
|
|
28
28
|
import 'marked';
|
|
29
29
|
import 'marked-terminal';
|
|
30
30
|
import 'qrcode';
|
|
31
|
-
import { u as
|
|
31
|
+
import { u as useAppleProfiles, c as canAppleProfileBeUsed, g as getAppleProfileSummary } from '../../../../useAppleProfiles-C2U4NzC3.js';
|
|
32
|
+
import { u as useProjectCredentials } from '../../../../useProjectCredentials-DbynNY96.js';
|
|
32
33
|
import { T as Table } from '../../../../Table-FaNgpyeq.js';
|
|
33
34
|
import { T as Title } from '../../../../Title-BCQtayg6.js';
|
|
34
35
|
import { N as NextSteps } from '../../../../NextSteps-DbJHmscQ.js';
|
|
35
|
-
import { C as Command } from '../../../../Command-
|
|
36
|
+
import { C as Command } from '../../../../Command-7dCv1F9p.js';
|
|
37
|
+
import 'chalk';
|
|
36
38
|
import '@expo/apple-utils/build/index.js';
|
|
37
39
|
import 'deepmerge';
|
|
38
40
|
import 'ini';
|
|
39
41
|
import 'fs';
|
|
40
42
|
import 'path';
|
|
41
43
|
|
|
42
|
-
async function queryAppleProfiles({ ctx }) {
|
|
43
|
-
const appleProfiles = await Profile.getAsync(ctx, {
|
|
44
|
-
query: {
|
|
45
|
-
filter: {
|
|
46
|
-
profileType: [ProfileType.IOS_APP_STORE]
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
});
|
|
50
|
-
return appleProfiles;
|
|
51
|
-
}
|
|
52
|
-
const canAppleProfileBeUsed = (appleProfile, project, projectCredentials) => {
|
|
53
|
-
try {
|
|
54
|
-
if (!appleProfile.isValid) return false;
|
|
55
|
-
const profileBundleId = appleProfile.attributes.bundleId?.attributes.identifier;
|
|
56
|
-
const profileCertificateSerialNumber = appleProfile.attributes.certificates?.[0]?.attributes.serialNumber;
|
|
57
|
-
if (profileBundleId !== project.details?.iosBundleId) return false;
|
|
58
|
-
return projectCredentials.some(
|
|
59
|
-
(credential) => credential.isActive && credential.serialNumber === profileCertificateSerialNumber
|
|
60
|
-
);
|
|
61
|
-
} catch (error) {
|
|
62
|
-
console.log(error);
|
|
63
|
-
return false;
|
|
64
|
-
}
|
|
65
|
-
};
|
|
66
|
-
function getAppleProfileSummary(appleProfile, project, projectCredentials) {
|
|
67
|
-
return {
|
|
68
|
-
canBeUsed: canAppleProfileBeUsed(appleProfile, project, projectCredentials),
|
|
69
|
-
expires: getShortDate(DateTime.fromISO(appleProfile.attributes.expirationDate)),
|
|
70
|
-
id: appleProfile.id,
|
|
71
|
-
name: appleProfile.attributes.name,
|
|
72
|
-
platform: appleProfile.attributes.platform
|
|
73
|
-
};
|
|
74
|
-
}
|
|
75
|
-
const useAppleProfiles = (props) => {
|
|
76
|
-
const queryResult = useQuery({
|
|
77
|
-
queryFn: () => queryAppleProfiles(props),
|
|
78
|
-
queryKey: ["appleProfiles"]
|
|
79
|
-
});
|
|
80
|
-
return queryResult;
|
|
81
|
-
};
|
|
82
|
-
|
|
83
44
|
const AppleProfilesTable = ({ ctx, project, ...boxProps }) => {
|
|
84
45
|
const { data: credentialsResponse } = useProjectCredentials({
|
|
85
46
|
platform: Platform.IOS,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
2
|
import { Flags } from '@oclif/core';
|
|
3
3
|
import { render, Box } from 'ink';
|
|
4
|
-
import {
|
|
4
|
+
import { h as BaseGameCommand, P as Platform } from '../../../index-DHioYOIm.js';
|
|
5
5
|
import 'ink-spinner';
|
|
6
6
|
import 'node:crypto';
|
|
7
7
|
import 'node:fs';
|
|
@@ -20,7 +20,7 @@ import 'fast-glob';
|
|
|
20
20
|
import 'yazl';
|
|
21
21
|
import 'socket.io-client';
|
|
22
22
|
import 'fullscreen-ink';
|
|
23
|
-
import { G as GameStatusDetails } from '../../../GameStatus-
|
|
23
|
+
import { G as GameStatusDetails } from '../../../GameStatus-B_Iw9tYr.js';
|
|
24
24
|
import 'string-length';
|
|
25
25
|
import 'strip-ansi';
|
|
26
26
|
import 'open';
|
|
@@ -28,8 +28,9 @@ import '@inkjs/ui';
|
|
|
28
28
|
import 'marked';
|
|
29
29
|
import 'marked-terminal';
|
|
30
30
|
import 'qrcode';
|
|
31
|
-
import { A as AppleAppDetails, a as AppleBundleIdDetails } from '../../../AppleBundleIdDetails-
|
|
32
|
-
import { C as CommandGame } from '../../../CommandGame-
|
|
31
|
+
import { A as AppleAppDetails, a as AppleBundleIdDetails } from '../../../AppleBundleIdDetails-CgleH2pl.js';
|
|
32
|
+
import { C as CommandGame } from '../../../CommandGame-er5Ql6hq.js';
|
|
33
|
+
import 'chalk';
|
|
33
34
|
import '@expo/apple-utils/build/index.js';
|
|
34
35
|
import 'deepmerge';
|
|
35
36
|
import 'ini';
|
|
@@ -38,10 +39,10 @@ import 'path';
|
|
|
38
39
|
import '../../../StatusTable-DzRWcMr4.js';
|
|
39
40
|
import '../../../Title-BCQtayg6.js';
|
|
40
41
|
import '../../../NextSteps-DbJHmscQ.js';
|
|
41
|
-
import '../../../useAppleApp-
|
|
42
|
+
import '../../../useAppleApp-szQ_Kg5S.js';
|
|
42
43
|
import '../../../Table-FaNgpyeq.js';
|
|
43
|
-
import '../../../useAppleBundleId-
|
|
44
|
-
import '../../../Command-
|
|
44
|
+
import '../../../useAppleBundleId-BarLcidd.js';
|
|
45
|
+
import '../../../Command-7dCv1F9p.js';
|
|
45
46
|
|
|
46
47
|
class GameIosStatus extends BaseGameCommand {
|
|
47
48
|
static args = {};
|
|
@@ -4,9 +4,9 @@ import 'node:fs';
|
|
|
4
4
|
import 'axios';
|
|
5
5
|
import 'crypto-js';
|
|
6
6
|
import 'uuid';
|
|
7
|
-
import { B as BaseAuthenticatedCommand,
|
|
7
|
+
import { B as BaseAuthenticatedCommand, o as isCWDGodotGame, b as getRenderedMarkdown, W as WEB_URL, P as Platform, C as CredentialsType } from '../../../index-DHioYOIm.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-C2omlhEs.js';
|
|
10
10
|
import 'react/jsx-runtime';
|
|
11
11
|
import 'ink';
|
|
12
12
|
import 'ink-spinner';
|
|
@@ -2,7 +2,7 @@ import { jsxs, jsx } from 'react/jsx-runtime';
|
|
|
2
2
|
import { Flags } from '@oclif/core';
|
|
3
3
|
import { render, Box, Text } from 'ink';
|
|
4
4
|
import { DateTime } from 'luxon';
|
|
5
|
-
import {
|
|
5
|
+
import { h as BaseGameCommand, H as getProjectJobs, I as getJobSummary, J as getJobStatusColor } from '../../../index-DHioYOIm.js';
|
|
6
6
|
import 'ink-spinner';
|
|
7
7
|
import { T as Table } from '../../../Table-FaNgpyeq.js';
|
|
8
8
|
import { T as Title } from '../../../Title-BCQtayg6.js';
|
|
@@ -23,8 +23,9 @@ import 'node:path';
|
|
|
23
23
|
import 'marked';
|
|
24
24
|
import 'marked-terminal';
|
|
25
25
|
import 'qrcode';
|
|
26
|
-
import { C as Command } from '../../../Command-
|
|
26
|
+
import { C as Command } from '../../../Command-7dCv1F9p.js';
|
|
27
27
|
import 'crypto-js';
|
|
28
|
+
import 'chalk';
|
|
28
29
|
import '@expo/apple-utils/build/index.js';
|
|
29
30
|
import 'node:crypto';
|
|
30
31
|
import 'node:readline';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { Args, Flags } from '@oclif/core';
|
|
3
3
|
import { render } from 'ink';
|
|
4
|
-
import {
|
|
4
|
+
import { h as BaseGameCommand, K as getJob, L as JobStatus } from '../../../index-DHioYOIm.js';
|
|
5
5
|
import 'ink-spinner';
|
|
6
6
|
import 'node:crypto';
|
|
7
7
|
import 'node:fs';
|
|
@@ -19,8 +19,8 @@ import 'uuid';
|
|
|
19
19
|
import 'yazl';
|
|
20
20
|
import 'socket.io-client';
|
|
21
21
|
import 'fullscreen-ink';
|
|
22
|
-
import { J as JobLogTail } from '../../../JobLogTail-
|
|
23
|
-
import { J as JobStatusTable } from '../../../JobStatusTable-
|
|
22
|
+
import { J as JobLogTail } from '../../../JobLogTail-BPcQ8ghI.js';
|
|
23
|
+
import { J as JobStatusTable } from '../../../JobStatusTable-BmJLzsUN.js';
|
|
24
24
|
import 'open';
|
|
25
25
|
import '@inkjs/ui';
|
|
26
26
|
import 'marked';
|
|
@@ -29,14 +29,15 @@ import { N as NextSteps } from '../../../NextSteps-DbJHmscQ.js';
|
|
|
29
29
|
import 'qrcode';
|
|
30
30
|
import 'string-length';
|
|
31
31
|
import 'strip-ansi';
|
|
32
|
-
import { C as Command } from '../../../Command-
|
|
32
|
+
import { C as Command } from '../../../Command-7dCv1F9p.js';
|
|
33
33
|
import 'crypto-js';
|
|
34
|
+
import 'chalk';
|
|
34
35
|
import '@expo/apple-utils/build/index.js';
|
|
35
36
|
import 'deepmerge';
|
|
36
37
|
import 'ini';
|
|
37
38
|
import 'fs';
|
|
38
39
|
import 'path';
|
|
39
|
-
import '../../../useWebSocket-
|
|
40
|
+
import '../../../useWebSocket-h7smqhZQ.js';
|
|
40
41
|
import '../../../Title-BCQtayg6.js';
|
|
41
42
|
import '../../../StatusTable-DzRWcMr4.js';
|
|
42
43
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { Flags } from '@oclif/core';
|
|
3
3
|
import { render, Box, Text } from 'ink';
|
|
4
|
-
import { B as BaseAuthenticatedCommand,
|
|
4
|
+
import { B as BaseAuthenticatedCommand, e as getProjects, g as getShortUUID, f as getShortDate } from '../../index-DHioYOIm.js';
|
|
5
5
|
import 'ink-spinner';
|
|
6
6
|
import { T as Table } from '../../Table-FaNgpyeq.js';
|
|
7
7
|
import 'react';
|
|
@@ -22,8 +22,9 @@ import 'node:path';
|
|
|
22
22
|
import 'marked';
|
|
23
23
|
import 'marked-terminal';
|
|
24
24
|
import 'qrcode';
|
|
25
|
-
import { C as Command } from '../../Command-
|
|
25
|
+
import { C as Command } from '../../Command-7dCv1F9p.js';
|
|
26
26
|
import 'crypto-js';
|
|
27
|
+
import 'chalk';
|
|
27
28
|
import '@expo/apple-utils/build/index.js';
|
|
28
29
|
import 'node:crypto';
|
|
29
30
|
import 'node:readline';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
|
|
2
2
|
import { Flags } from '@oclif/core';
|
|
3
3
|
import { Box, Text, render } from 'ink';
|
|
4
|
-
import { as as LogLevel, S as CommandContext, R as GameContext, at as useSafeInput, au as Markdown, W as WEB_URL,
|
|
4
|
+
import { as as LogLevel, S as CommandContext, R as GameContext, at as useSafeInput, au as Markdown, W as WEB_URL, g as getShortUUID, av as getShortAuthRequiredUrl, h as BaseGameCommand, K as getJob, a1 as downloadBuildById } from '../../index-DHioYOIm.js';
|
|
5
5
|
import 'ink-spinner';
|
|
6
6
|
import 'node:crypto';
|
|
7
7
|
import 'node:fs';
|
|
@@ -23,25 +23,26 @@ import 'string-length';
|
|
|
23
23
|
import 'strip-ansi';
|
|
24
24
|
import open from 'open';
|
|
25
25
|
import 'crypto-js';
|
|
26
|
-
import { u as useJobWatching, J as JobLogTail } from '../../JobLogTail-
|
|
27
|
-
import { J as JobStatusTable } from '../../JobStatusTable-
|
|
26
|
+
import { u as useJobWatching, J as JobLogTail } from '../../JobLogTail-BPcQ8ghI.js';
|
|
27
|
+
import { J as JobStatusTable } from '../../JobStatusTable-BmJLzsUN.js';
|
|
28
28
|
import '@inkjs/ui';
|
|
29
|
-
import { u as useShip, J as JobProgress } from '../../JobProgress-
|
|
29
|
+
import { u as useShip, J as JobProgress } from '../../JobProgress-CpEatVPs.js';
|
|
30
30
|
import 'qrcode';
|
|
31
31
|
import 'marked';
|
|
32
32
|
import 'marked-terminal';
|
|
33
|
-
import { C as CommandGame } from '../../CommandGame-
|
|
33
|
+
import { C as CommandGame } from '../../CommandGame-er5Ql6hq.js';
|
|
34
|
+
import 'chalk';
|
|
34
35
|
import '@expo/apple-utils/build/index.js';
|
|
35
36
|
import 'deepmerge';
|
|
36
37
|
import 'ini';
|
|
37
38
|
import 'fs';
|
|
38
39
|
import 'path';
|
|
39
|
-
import '../../useWebSocket-
|
|
40
|
+
import '../../useWebSocket-h7smqhZQ.js';
|
|
40
41
|
import '../../Title-BCQtayg6.js';
|
|
41
42
|
import '../../StatusTable-DzRWcMr4.js';
|
|
42
43
|
import '../../git-BpsfNFZ_.js';
|
|
43
44
|
import '../../ProgressSpinner-Um6ARKlk.js';
|
|
44
|
-
import '../../Command-
|
|
45
|
+
import '../../Command-7dCv1F9p.js';
|
|
45
46
|
|
|
46
47
|
function isNetworkError(exception) {
|
|
47
48
|
if (!axios.isAxiosError(exception)) return false;
|
|
@@ -160,7 +161,8 @@ const Ship = ({ onComplete, onError }) => {
|
|
|
160
161
|
filename: "ship-success.md.ejs",
|
|
161
162
|
templateVars: {
|
|
162
163
|
gameBuildsUrl: `${WEB_URL}games/${getShortUUID(gameId)}/builds`,
|
|
163
|
-
wasPublished: !flags?.skipPublish
|
|
164
|
+
wasPublished: !(flags?.skipPublish || flags?.useDemoCredentials),
|
|
165
|
+
usedDemoCredentials: !!flags?.useDemoCredentials
|
|
164
166
|
}
|
|
165
167
|
}
|
|
166
168
|
),
|
|
@@ -189,7 +191,8 @@ class GameShip extends BaseGameCommand {
|
|
|
189
191
|
"<%= config.bin %> <%= command.id %> --platform android --skipPublish",
|
|
190
192
|
"<%= config.bin %> <%= command.id %> --platform android --download game.aab",
|
|
191
193
|
"<%= config.bin %> <%= command.id %> --platform android --follow --downloadAPK game.apk",
|
|
192
|
-
"<%= config.bin %> <%= command.id %> --platform ios --follow --verbose"
|
|
194
|
+
"<%= config.bin %> <%= command.id %> --platform ios --follow --verbose",
|
|
195
|
+
"<%= config.bin %> <%= command.id %> --platform ios --useDemoCredentials --download game.ipa"
|
|
193
196
|
];
|
|
194
197
|
static flags = {
|
|
195
198
|
...BaseGameCommand.flags,
|
|
@@ -205,7 +208,7 @@ class GameShip extends BaseGameCommand {
|
|
|
205
208
|
}),
|
|
206
209
|
follow: Flags.boolean({
|
|
207
210
|
dependsOn: ["platform"],
|
|
208
|
-
description: "Follow the job logs in real-time
|
|
211
|
+
description: "Follow the job logs in real-time (requires --platform)",
|
|
209
212
|
required: false
|
|
210
213
|
}),
|
|
211
214
|
platform: Flags.string({
|
|
@@ -222,6 +225,11 @@ class GameShip extends BaseGameCommand {
|
|
|
222
225
|
default: false,
|
|
223
226
|
description: "Enable verbose logging",
|
|
224
227
|
required: false
|
|
228
|
+
}),
|
|
229
|
+
useDemoCredentials: Flags.boolean({
|
|
230
|
+
dependsOn: ["platform"],
|
|
231
|
+
description: "Use demo credentials for this build (requires --platform, implies --skipPublish)",
|
|
232
|
+
required: false
|
|
225
233
|
})
|
|
226
234
|
};
|
|
227
235
|
async run() {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { Flags } from '@oclif/core';
|
|
3
3
|
import { render } from 'ink';
|
|
4
|
-
import { B as BaseAuthenticatedCommand } from '../../index-
|
|
4
|
+
import { B as BaseAuthenticatedCommand } from '../../index-DHioYOIm.js';
|
|
5
5
|
import 'ink-spinner';
|
|
6
6
|
import 'node:crypto';
|
|
7
7
|
import 'node:fs';
|
|
@@ -20,7 +20,7 @@ import 'fast-glob';
|
|
|
20
20
|
import 'yazl';
|
|
21
21
|
import 'socket.io-client';
|
|
22
22
|
import 'fullscreen-ink';
|
|
23
|
-
import { a as GameStatus$1 } from '../../GameStatus-
|
|
23
|
+
import { a as GameStatus$1 } from '../../GameStatus-B_Iw9tYr.js';
|
|
24
24
|
import 'string-length';
|
|
25
25
|
import 'strip-ansi';
|
|
26
26
|
import 'open';
|
|
@@ -28,7 +28,8 @@ import '@inkjs/ui';
|
|
|
28
28
|
import 'marked';
|
|
29
29
|
import 'marked-terminal';
|
|
30
30
|
import 'qrcode';
|
|
31
|
-
import { C as CommandGame } from '../../CommandGame-
|
|
31
|
+
import { C as CommandGame } from '../../CommandGame-er5Ql6hq.js';
|
|
32
|
+
import 'chalk';
|
|
32
33
|
import '@expo/apple-utils/build/index.js';
|
|
33
34
|
import 'deepmerge';
|
|
34
35
|
import 'ini';
|
|
@@ -37,7 +38,7 @@ import 'path';
|
|
|
37
38
|
import '../../StatusTable-DzRWcMr4.js';
|
|
38
39
|
import '../../Title-BCQtayg6.js';
|
|
39
40
|
import '../../NextSteps-DbJHmscQ.js';
|
|
40
|
-
import '../../Command-
|
|
41
|
+
import '../../Command-7dCv1F9p.js';
|
|
41
42
|
|
|
42
43
|
class GameStatus extends BaseAuthenticatedCommand {
|
|
43
44
|
static args = {};
|