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, Fragment } from 'react/jsx-runtime';
|
|
2
2
|
import { Args } from '@oclif/core';
|
|
3
3
|
import { useScreenSize, withFullScreen } from 'fullscreen-ink';
|
|
4
|
-
import {
|
|
4
|
+
import { X as queryClient, a0 as cacheKeys, t as getAuthedHeaders, s as API_URL, V as castArrayObjectDates, S as CommandContext, R as GameContext, aC as updateProject, x as getGodotVersion, w as GameEngine, y as createProject, z as DEFAULT_SHIPPED_FILES_GLOBS, E as DEFAULT_IGNORED_FILES_GLOBS, aq as useBuilds, P as Platform, L as JobStatus, au as Markdown, W as WEB_URL, g as getShortUUID, at as useSafeInput, O as getProject, C as CredentialsType, a2 as getGoogleStatus, aD as queryBuilds, a6 as fetchKeyTestResult, a8 as KeyTestStatus, a9 as KeyTestError, Z as GameProvider, aE as CreateGooglePlayGame, B as BaseAuthenticatedCommand, o as isCWDGodotGame } from '../../index-DHioYOIm.js';
|
|
5
5
|
import { Box, Text } from 'ink';
|
|
6
6
|
import Spinner from 'ink-spinner';
|
|
7
7
|
import 'node:crypto';
|
|
@@ -23,31 +23,32 @@ import 'socket.io-client';
|
|
|
23
23
|
import 'string-length';
|
|
24
24
|
import 'strip-ansi';
|
|
25
25
|
import 'open';
|
|
26
|
-
import { C as ConnectGoogle } from '../../index-
|
|
26
|
+
import { C as ConnectGoogle } from '../../index-DVEYxVsH.js';
|
|
27
27
|
import { TextInput, Alert } from '@inkjs/ui';
|
|
28
28
|
import 'marked';
|
|
29
29
|
import 'marked-terminal';
|
|
30
30
|
import 'qrcode';
|
|
31
|
-
import { J as JobLogTail } from '../../JobLogTail-
|
|
32
|
-
import { u as useShip, J as JobProgress } from '../../JobProgress-
|
|
33
|
-
import { C as CreateServiceAccountKey } from '../../index-
|
|
34
|
-
import { C as CreateKeystore } from '../../Create-
|
|
35
|
-
import { I as ImportKeystore } from '../../Import-
|
|
36
|
-
import { a as getProjectCredentials } from '../../index-
|
|
31
|
+
import { J as JobLogTail } from '../../JobLogTail-BPcQ8ghI.js';
|
|
32
|
+
import { u as useShip, J as JobProgress } from '../../JobProgress-CpEatVPs.js';
|
|
33
|
+
import { C as CreateServiceAccountKey } from '../../index-C1XpCT_9.js';
|
|
34
|
+
import { C as CreateKeystore } from '../../Create-pLXESvEq.js';
|
|
35
|
+
import { I as ImportKeystore } from '../../Import-fIsrfsmr.js';
|
|
36
|
+
import { a as getProjectCredentials } from '../../index-C2omlhEs.js';
|
|
37
37
|
import { T as Title } from '../../Title-BCQtayg6.js';
|
|
38
|
-
import { C as Command } from '../../Command-
|
|
38
|
+
import { C as Command } from '../../Command-7dCv1F9p.js';
|
|
39
|
+
import 'chalk';
|
|
39
40
|
import '@expo/apple-utils/build/index.js';
|
|
40
41
|
import 'deepmerge';
|
|
41
42
|
import 'ini';
|
|
42
43
|
import 'fs';
|
|
43
44
|
import 'path';
|
|
44
|
-
import '../../useGoogleStatus-
|
|
45
|
-
import '../../useWebSocket-
|
|
45
|
+
import '../../useGoogleStatus-zfnjhtNB.js';
|
|
46
|
+
import '../../useWebSocket-h7smqhZQ.js';
|
|
46
47
|
import '../../git-BpsfNFZ_.js';
|
|
47
48
|
import '../../ProgressSpinner-Um6ARKlk.js';
|
|
48
|
-
import '../../useProjectCredentials-
|
|
49
|
+
import '../../useProjectCredentials-DbynNY96.js';
|
|
49
50
|
import '../../RunWithSpinner-DucRnFp6.js';
|
|
50
|
-
import '../../import-
|
|
51
|
+
import '../../import-OgFrUsqw.js';
|
|
51
52
|
|
|
52
53
|
const useInviteServiceAccount = () => useMutation({
|
|
53
54
|
async mutationFn({ developerId, projectId }) {
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import fs__default, { promises } from 'node:fs';
|
|
2
2
|
import path from 'node:path';
|
|
3
3
|
import { Args, Flags } from '@oclif/core';
|
|
4
|
-
import { ac as BaseCommand } from '../../index-
|
|
4
|
+
import { ac as BaseCommand } from '../../index-DHioYOIm.js';
|
|
5
5
|
import 'axios';
|
|
6
6
|
import 'crypto-js';
|
|
7
7
|
import 'uuid';
|
|
8
8
|
import 'luxon';
|
|
9
|
+
import 'chalk';
|
|
9
10
|
import '@expo/apple-utils/build/index.js';
|
|
10
11
|
import 'node:crypto';
|
|
11
12
|
import 'node:readline';
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import fs__default from 'node:fs';
|
|
2
2
|
import path from 'node:path';
|
|
3
3
|
import { Args, Flags } from '@oclif/core';
|
|
4
|
-
import { ac as BaseCommand, ad as ejs } from '../../index-
|
|
4
|
+
import { ac as BaseCommand, ad as ejs } from '../../index-DHioYOIm.js';
|
|
5
5
|
import CustomHelp from '../../utils/help.js';
|
|
6
6
|
import 'axios';
|
|
7
7
|
import 'crypto-js';
|
|
8
8
|
import 'uuid';
|
|
9
9
|
import 'luxon';
|
|
10
|
+
import 'chalk';
|
|
10
11
|
import '@expo/apple-utils/build/index.js';
|
|
11
12
|
import 'node:crypto';
|
|
12
13
|
import 'node:readline';
|
package/dist/commands/login.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { Flags } from '@oclif/core';
|
|
2
2
|
import axios from 'axios';
|
|
3
|
-
import { W as WEB_URL, ac as BaseCommand, ai as acceptTerms, s as API_URL, aj as setAuthToken,
|
|
3
|
+
import { W as WEB_URL, ac as BaseCommand, ai as acceptTerms, s as API_URL, aj as setAuthToken, c as getInput } from '../index-DHioYOIm.js';
|
|
4
4
|
import 'node:fs';
|
|
5
5
|
import 'crypto-js';
|
|
6
6
|
import 'uuid';
|
|
7
7
|
import 'luxon';
|
|
8
8
|
import 'node:path';
|
|
9
|
+
import 'chalk';
|
|
9
10
|
import '@expo/apple-utils/build/index.js';
|
|
10
11
|
import 'node:crypto';
|
|
11
12
|
import 'node:readline';
|
package/dist/commands/status.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { render } from 'ink';
|
|
3
|
-
import { ac as BaseCommand,
|
|
3
|
+
import { ac as BaseCommand, o as isCWDGodotGame } from '../index-DHioYOIm.js';
|
|
4
4
|
import 'ink-spinner';
|
|
5
5
|
import 'node:crypto';
|
|
6
6
|
import 'node:fs';
|
|
@@ -29,7 +29,7 @@ import 'marked';
|
|
|
29
29
|
import 'marked-terminal';
|
|
30
30
|
import { N as NextSteps } from '../NextSteps-DbJHmscQ.js';
|
|
31
31
|
import 'qrcode';
|
|
32
|
-
import { C as Command } from '../Command-
|
|
32
|
+
import { C as Command } from '../Command-7dCv1F9p.js';
|
|
33
33
|
import chalk from 'chalk';
|
|
34
34
|
import '@expo/apple-utils/build/index.js';
|
|
35
35
|
import 'isomorphic-git';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as fs from 'node:fs';
|
|
2
2
|
import axios from 'axios';
|
|
3
|
-
import { s as API_URL, t as getAuthedHeaders } from './index-
|
|
3
|
+
import { s as API_URL, t as getAuthedHeaders } from './index-DHioYOIm.js';
|
|
4
4
|
|
|
5
5
|
async function exportCredential({ credentialId, projectId, zipPath }) {
|
|
6
6
|
const headers = getAuthedHeaders();
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { promises } from 'node:fs';
|
|
2
2
|
import axios from 'axios';
|
|
3
|
-
import { s as API_URL, t as getAuthedHeaders } from './index-
|
|
3
|
+
import { s as API_URL, t as getAuthedHeaders } from './index-DHioYOIm.js';
|
|
4
4
|
|
|
5
5
|
async function getNewImportTicket(projectId) {
|
|
6
6
|
const url = projectId ? `${API_URL}/projects/${projectId}/credentials/import/url` : `${API_URL}/credentials/import/url`;
|
|
@@ -8,7 +8,7 @@ import 'node:path';
|
|
|
8
8
|
import 'node:readline';
|
|
9
9
|
import 'node:url';
|
|
10
10
|
import 'readline-sync';
|
|
11
|
-
import {
|
|
11
|
+
import { a0 as cacheKeys, t as getAuthedHeaders, s as API_URL, aw as castObjectDates, X as queryClient, a5 as revokePolicy, a4 as enforcePolicy, P as Platform, C as CredentialsType, a2 as getGoogleStatus, R as GameContext, at as useSafeInput, au as Markdown, f as getShortDate } from './index-DHioYOIm.js';
|
|
12
12
|
import axios from 'axios';
|
|
13
13
|
import 'isomorphic-git';
|
|
14
14
|
import '@oclif/core';
|
|
@@ -19,9 +19,9 @@ import 'uuid';
|
|
|
19
19
|
import 'yazl';
|
|
20
20
|
import 'socket.io-client';
|
|
21
21
|
import 'fullscreen-ink';
|
|
22
|
-
import { u as useWebSocket } from './useWebSocket-
|
|
23
|
-
import { u as useProjectCredentials } from './useProjectCredentials-
|
|
24
|
-
import { u as useGoogleStatus } from './useGoogleStatus-
|
|
22
|
+
import { u as useWebSocket } from './useWebSocket-h7smqhZQ.js';
|
|
23
|
+
import { u as useProjectCredentials } from './useProjectCredentials-DbynNY96.js';
|
|
24
|
+
import { u as useGoogleStatus } from './useGoogleStatus-zfnjhtNB.js';
|
|
25
25
|
import 'crypto-js';
|
|
26
26
|
import 'string-length';
|
|
27
27
|
import 'strip-ansi';
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import axios from 'axios';
|
|
2
|
+
import { s as API_URL, t as getAuthedHeaders, V as castArrayObjectDates } from './index-DHioYOIm.js';
|
|
3
|
+
import 'node:fs';
|
|
4
|
+
|
|
5
|
+
async function getUserCredentials(pageSize = 100) {
|
|
6
|
+
const headers = getAuthedHeaders();
|
|
7
|
+
const { data } = await axios({
|
|
8
|
+
headers,
|
|
9
|
+
method: "get",
|
|
10
|
+
url: `${API_URL}/credentials?pageSize=${pageSize}`
|
|
11
|
+
});
|
|
12
|
+
return castArrayObjectDates(data.data);
|
|
13
|
+
}
|
|
14
|
+
async function deleteUserCredential(options) {
|
|
15
|
+
const headers = getAuthedHeaders();
|
|
16
|
+
const { data } = await axios({
|
|
17
|
+
headers,
|
|
18
|
+
method: "delete",
|
|
19
|
+
url: `${API_URL}/credentials/${options.credentialId}`,
|
|
20
|
+
params: {
|
|
21
|
+
isImmediate: options.isImmediate
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
return data;
|
|
25
|
+
}
|
|
26
|
+
async function getProjectCredentials(projectId, pageSize = 100) {
|
|
27
|
+
const headers = getAuthedHeaders();
|
|
28
|
+
const { data } = await axios({
|
|
29
|
+
headers,
|
|
30
|
+
method: "get",
|
|
31
|
+
url: `${API_URL}/projects/${projectId}/credentials?pageSize=${pageSize}`
|
|
32
|
+
});
|
|
33
|
+
return castArrayObjectDates(data.data);
|
|
34
|
+
}
|
|
35
|
+
async function deleteProjectCredential(projectId, options) {
|
|
36
|
+
const headers = getAuthedHeaders();
|
|
37
|
+
const { data } = await axios({
|
|
38
|
+
headers,
|
|
39
|
+
method: "delete",
|
|
40
|
+
url: `${API_URL}/projects/${projectId}/credentials/${options.credentialId}`,
|
|
41
|
+
params: {
|
|
42
|
+
isImmediate: options.isImmediate
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
return data;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export { getProjectCredentials as a, deleteProjectCredential as b, deleteUserCredential as d, getUserCredentials as g };
|
|
@@ -5,6 +5,7 @@ import CryptoJS from 'crypto-js';
|
|
|
5
5
|
import { v4 } from 'uuid';
|
|
6
6
|
import { DateTime } from 'luxon';
|
|
7
7
|
import path from 'node:path';
|
|
8
|
+
import chalk from 'chalk';
|
|
8
9
|
import { Command, Flags } from '@oclif/core';
|
|
9
10
|
import * as expo from '@expo/apple-utils/build/index.js';
|
|
10
11
|
import crypto from 'node:crypto';
|
|
@@ -961,7 +962,7 @@ class BaseCommand extends Command {
|
|
|
961
962
|
}
|
|
962
963
|
async refreshAppleAuthState() {
|
|
963
964
|
const cookies = await this.getAppleCookies();
|
|
964
|
-
const rerunMessage =
|
|
965
|
+
const rerunMessage = `Please run ${chalk.bold("shipthis apple login")} to authenticate with Apple.`;
|
|
965
966
|
if (!cookies) throw new Error(`No Apple cookies found. ${rerunMessage}`);
|
|
966
967
|
const authState = await Auth.loginWithCookiesAsync(
|
|
967
968
|
{
|
|
@@ -972,6 +973,7 @@ class BaseCommand extends Command {
|
|
|
972
973
|
if (!authState) throw new Error(`Failed to refresh Apple auth state. ${rerunMessage}`);
|
|
973
974
|
return authState;
|
|
974
975
|
}
|
|
976
|
+
// Pass undefined to logout
|
|
975
977
|
async setAppleCookies(cookies) {
|
|
976
978
|
const authConfig = await this.getAuthConfig();
|
|
977
979
|
await this.setAuthConfig({ ...authConfig, appleCookies: cookies });
|
|
@@ -1897,7 +1899,8 @@ const DetailsFlags = {
|
|
|
1897
1899
|
gcpServiceAccountId: Flags.string({ char: "c", description: "Set the GCP service account ID" }),
|
|
1898
1900
|
iosBundleId: Flags.string({ char: "i", description: "Set the iOS bundle ID" }),
|
|
1899
1901
|
name: Flags.string({ char: "n", description: "The name of the game" }),
|
|
1900
|
-
semanticVersion: Flags.string({ char: "s", description: "Set the semantic version" })
|
|
1902
|
+
semanticVersion: Flags.string({ char: "s", description: "Set the semantic version" }),
|
|
1903
|
+
useDemoCredentials: Flags.string({ char: "d", description: "Use demo credentials for this project" })
|
|
1901
1904
|
};
|
|
1902
1905
|
|
|
1903
|
-
export {
|
|
1906
|
+
export { getAuthToken as $, ApiKey as A, BaseAuthenticatedCommand as B, CredentialsType as C, DetailsFlags as D, DEFAULT_IGNORED_FILES_GLOBS as E, getGodotProjectName as F, GODOT_CAPABILITIES as G, getProjectJobs as H, getJobSummary as I, getJobStatusColor as J, getJob as K, JobStatus as L, getStageColor as M, makeHumanReadable as N, getProject as O, Platform as P, getProjectPlatformProgress as Q, GameContext as R, CommandContext as S, isValidSemVer as T, UserRole as U, castArrayObjectDates as V, WEB_URL as W, queryClient as X, CommandProvider as Y, GameProvider as Z, WS_URL as _, ApiKeyType as a, cacheKeys as a0, downloadBuildById as a1, getGoogleStatus as a2, getGodotAndroidPackageName as a3, enforcePolicy as a4, revokePolicy as a5, fetchKeyTestResult as a6, niceError as a7, KeyTestStatus as a8, KeyTestError as a9, getMessageColor as aA, getShortTime as aB, updateProject as aC, queryBuilds as aD, CreateGooglePlayGame as aE, inviteServiceAccount as aa, disconnectGoogle as ab, BaseCommand as ac, ejs as ad, getAPIKeys as ae, createAPIKey as af, revokeAPIKey as ag, getSingleUseUrl as ah, acceptTerms as ai, setAuthToken as aj, Auth as ak, getMaskedInput as al, getNewUploadTicket as am, getFileHash as an, startJobsFromUpload as ao, getPlatformName as ap, useBuilds as aq, getBuildSummary as ar, LogLevel as as, useSafeInput as at, Markdown as au, getShortAuthRequiredUrl as av, castObjectDates as aw, getGoogleAuthUrl as ax, useJob as ay, castJobDates as az, getRenderedMarkdown as b, getInput as c, Certificate as d, getProjects as e, getShortDate as f, getShortUUID as g, BaseGameCommand as h, generatePackageName as i, getGodotAppleBundleIdentifier as j, BundleId as k, App as l, CapabilityTypeOption as m, BetaGroup as n, isCWDGodotGame as o, CertificateType as p, Profile as q, ProfileType as r, API_URL as s, getAuthedHeaders as t, getGodotProjectCapabilities as u, CapabilityType as v, GameEngine as w, getGodotVersion as x, createProject as y, DEFAULT_SHIPPED_FILES_GLOBS as z };
|
|
@@ -12,7 +12,7 @@ import 'readline-sync';
|
|
|
12
12
|
import 'luxon';
|
|
13
13
|
import 'axios';
|
|
14
14
|
import 'isomorphic-git';
|
|
15
|
-
import { av as getShortAuthRequiredUrl, ax as getGoogleAuthUrl, R as GameContext, at as useSafeInput, W as WEB_URL, au as Markdown } from './index-
|
|
15
|
+
import { av as getShortAuthRequiredUrl, ax as getGoogleAuthUrl, R as GameContext, at as useSafeInput, W as WEB_URL, au as Markdown } from './index-DHioYOIm.js';
|
|
16
16
|
import '@oclif/core';
|
|
17
17
|
import '@tanstack/react-query';
|
|
18
18
|
import 'crypto-js';
|
|
@@ -20,8 +20,8 @@ import 'uuid';
|
|
|
20
20
|
import 'fast-glob';
|
|
21
21
|
import 'yazl';
|
|
22
22
|
import 'socket.io-client';
|
|
23
|
-
import { u as useGoogleStatus } from './useGoogleStatus-
|
|
24
|
-
import { u as useWebSocket } from './useWebSocket-
|
|
23
|
+
import { u as useGoogleStatus } from './useGoogleStatus-zfnjhtNB.js';
|
|
24
|
+
import { u as useWebSocket } from './useWebSocket-h7smqhZQ.js';
|
|
25
25
|
import 'fullscreen-ink';
|
|
26
26
|
import 'string-length';
|
|
27
27
|
import 'strip-ansi';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import axios from 'axios';
|
|
2
|
-
import { s as API_URL, t as getAuthedHeaders } from './index-
|
|
2
|
+
import { s as API_URL, t as getAuthedHeaders } from './index-DHioYOIm.js';
|
|
3
3
|
|
|
4
4
|
async function getNewUploadTicket(projectId = null) {
|
|
5
5
|
const url = projectId ? `${API_URL}/projects/${projectId}/credentials/url` : `${API_URL}/credentials/url`;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useQuery } from '@tanstack/react-query';
|
|
2
|
-
import {
|
|
2
|
+
import { k as BundleId, u as getGodotProjectCapabilities, P as Platform, G as GODOT_CAPABILITIES, v as CapabilityType } from './index-DHioYOIm.js';
|
|
3
3
|
|
|
4
4
|
async function getBundleIdCapabilities(bundleId) {
|
|
5
5
|
const current = await bundleId.getBundleIdCapabilitiesAsync();
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { useQuery } from '@tanstack/react-query';
|
|
2
|
+
import { DateTime } from 'luxon';
|
|
3
|
+
import { f as getShortDate, q as Profile, r as ProfileType } from './index-DHioYOIm.js';
|
|
4
|
+
import 'node:crypto';
|
|
5
|
+
import 'node:fs';
|
|
6
|
+
import 'node:path';
|
|
7
|
+
import 'node:readline';
|
|
8
|
+
import 'node:url';
|
|
9
|
+
import 'readline-sync';
|
|
10
|
+
import 'axios';
|
|
11
|
+
import 'isomorphic-git';
|
|
12
|
+
import '@oclif/core';
|
|
13
|
+
import 'react';
|
|
14
|
+
import 'crypto-js';
|
|
15
|
+
import 'uuid';
|
|
16
|
+
import 'fast-glob';
|
|
17
|
+
import 'yazl';
|
|
18
|
+
import 'socket.io-client';
|
|
19
|
+
import 'fullscreen-ink';
|
|
20
|
+
import 'ink';
|
|
21
|
+
|
|
22
|
+
async function queryAppleProfiles({ ctx }) {
|
|
23
|
+
const appleProfiles = await Profile.getAsync(ctx, {
|
|
24
|
+
query: {
|
|
25
|
+
filter: {
|
|
26
|
+
profileType: [ProfileType.IOS_APP_STORE]
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
return appleProfiles;
|
|
31
|
+
}
|
|
32
|
+
const canAppleProfileBeUsed = (appleProfile, project, projectCredentials) => {
|
|
33
|
+
try {
|
|
34
|
+
if (!appleProfile.isValid) return false;
|
|
35
|
+
const profileBundleId = appleProfile.attributes.bundleId?.attributes.identifier;
|
|
36
|
+
const profileCertificateSerialNumber = appleProfile.attributes.certificates?.[0]?.attributes.serialNumber;
|
|
37
|
+
if (profileBundleId !== project.details?.iosBundleId) return false;
|
|
38
|
+
return projectCredentials.some(
|
|
39
|
+
(credential) => credential.isActive && credential.serialNumber === profileCertificateSerialNumber
|
|
40
|
+
);
|
|
41
|
+
} catch (error) {
|
|
42
|
+
console.log(error);
|
|
43
|
+
return false;
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
function getAppleProfileSummary(appleProfile, project, projectCredentials) {
|
|
47
|
+
return {
|
|
48
|
+
canBeUsed: canAppleProfileBeUsed(appleProfile, project, projectCredentials),
|
|
49
|
+
expires: getShortDate(DateTime.fromISO(appleProfile.attributes.expirationDate)),
|
|
50
|
+
id: appleProfile.id,
|
|
51
|
+
name: appleProfile.attributes.name,
|
|
52
|
+
platform: appleProfile.attributes.platform
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
const useAppleProfiles = (props) => {
|
|
56
|
+
const queryResult = useQuery({
|
|
57
|
+
queryFn: () => queryAppleProfiles(props),
|
|
58
|
+
queryKey: ["appleProfiles"]
|
|
59
|
+
});
|
|
60
|
+
return queryResult;
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
export { canAppleProfileBeUsed as c, getAppleProfileSummary as g, queryAppleProfiles as q, useAppleProfiles as u };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useQuery } from '@tanstack/react-query';
|
|
2
|
-
import {
|
|
2
|
+
import { a0 as cacheKeys, a2 as getGoogleStatus } from './index-DHioYOIm.js';
|
|
3
3
|
|
|
4
4
|
const useGoogleStatus = () => useQuery({
|
|
5
5
|
queryFn: getGoogleStatus,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useQuery } from '@tanstack/react-query';
|
|
2
2
|
import axios from 'axios';
|
|
3
|
-
import {
|
|
3
|
+
import { a0 as cacheKeys, g as getShortUUID, f as getShortDate, t as getAuthedHeaders, s as API_URL, V as castArrayObjectDates } from './index-DHioYOIm.js';
|
|
4
4
|
|
|
5
5
|
async function queryProjectCredentials({
|
|
6
6
|
projectId,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useEffect } from 'react';
|
|
2
2
|
import { io } from 'socket.io-client';
|
|
3
|
-
import {
|
|
3
|
+
import { _ as WS_URL, $ as getAuthToken } from './index-DHioYOIm.js';
|
|
4
4
|
|
|
5
5
|
function useWebSocket(listeners = []) {
|
|
6
6
|
const log = () => {
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Command: `apple apiKey delete`
|
|
2
|
+
|
|
3
|
+
## Description
|
|
4
|
+
|
|
5
|
+
Delete an Apple API Key from ShipThis and optionally from Apple
|
|
6
|
+
|
|
7
|
+
## Help Output
|
|
8
|
+
|
|
9
|
+
```help
|
|
10
|
+
USAGE
|
|
11
|
+
$ shipthis apple apiKey delete [-i] [-y] [-a]
|
|
12
|
+
|
|
13
|
+
FLAGS
|
|
14
|
+
-a, --revokeInApple Also revoke the API Key in Apple (cannot be undone)
|
|
15
|
+
-i, --immediate Remove from storage immediately (rather than waiting for automatic cleanup - cannot be undone)
|
|
16
|
+
-y, --iAmSure I am sure I want to do this - do not prompt me
|
|
17
|
+
|
|
18
|
+
DESCRIPTION
|
|
19
|
+
Delete an Apple API Key from ShipThis and optionally from Apple
|
|
20
|
+
|
|
21
|
+
EXAMPLES
|
|
22
|
+
$ shipthis apple apiKey delete
|
|
23
|
+
|
|
24
|
+
$ shipthis apple apiKey delete --immediate --revokeInApple --iAmSure
|
|
25
|
+
```
|
package/docs/apple/apiKey.md
CHANGED
|
@@ -55,6 +55,32 @@ EXAMPLES
|
|
|
55
55
|
$ shipthis apple apiKey create --force
|
|
56
56
|
```
|
|
57
57
|
|
|
58
|
+
### `apple apiKey delete`
|
|
59
|
+
|
|
60
|
+
#### Description
|
|
61
|
+
|
|
62
|
+
Delete an Apple API Key from ShipThis and optionally from Apple
|
|
63
|
+
|
|
64
|
+
#### Help Output
|
|
65
|
+
|
|
66
|
+
```help
|
|
67
|
+
USAGE
|
|
68
|
+
$ shipthis apple apiKey delete [-i] [-y] [-a]
|
|
69
|
+
|
|
70
|
+
FLAGS
|
|
71
|
+
-a, --revokeInApple Also revoke the API Key in Apple (cannot be undone)
|
|
72
|
+
-i, --immediate Remove from storage immediately (rather than waiting for automatic cleanup - cannot be undone)
|
|
73
|
+
-y, --iAmSure I am sure I want to do this - do not prompt me
|
|
74
|
+
|
|
75
|
+
DESCRIPTION
|
|
76
|
+
Delete an Apple API Key from ShipThis and optionally from Apple
|
|
77
|
+
|
|
78
|
+
EXAMPLES
|
|
79
|
+
$ shipthis apple apiKey delete
|
|
80
|
+
|
|
81
|
+
$ shipthis apple apiKey delete --immediate --revokeInApple --iAmSure
|
|
82
|
+
```
|
|
83
|
+
|
|
58
84
|
### `apple apiKey export`
|
|
59
85
|
|
|
60
86
|
#### Description
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Command: `apple certificate delete`
|
|
2
|
+
|
|
3
|
+
## Description
|
|
4
|
+
|
|
5
|
+
Delete an iOS Distribution Certificate from ShipThis and optionally from Apple
|
|
6
|
+
|
|
7
|
+
## Help Output
|
|
8
|
+
|
|
9
|
+
```help
|
|
10
|
+
USAGE
|
|
11
|
+
$ shipthis apple certificate delete [-i] [-y] [-a]
|
|
12
|
+
|
|
13
|
+
FLAGS
|
|
14
|
+
-a, --revokeInApple Also revoke the Certificate in Apple (cannot be undone)
|
|
15
|
+
-i, --immediate Remove from storage immediately (rather than waiting for automatic cleanup - cannot be undone)
|
|
16
|
+
-y, --iAmSure I am sure I want to do this - do not prompt me
|
|
17
|
+
|
|
18
|
+
DESCRIPTION
|
|
19
|
+
Delete an iOS Distribution Certificate from ShipThis and optionally from Apple
|
|
20
|
+
|
|
21
|
+
EXAMPLES
|
|
22
|
+
$ shipthis apple certificate delete
|
|
23
|
+
|
|
24
|
+
$ shipthis apple certificate delete --immediate --revokeInApple --iAmSure
|
|
25
|
+
```
|
|
@@ -57,6 +57,32 @@ EXAMPLES
|
|
|
57
57
|
$ shipthis apple certificate create --force
|
|
58
58
|
```
|
|
59
59
|
|
|
60
|
+
### `apple certificate delete`
|
|
61
|
+
|
|
62
|
+
#### Description
|
|
63
|
+
|
|
64
|
+
Delete an iOS Distribution Certificate from ShipThis and optionally from Apple
|
|
65
|
+
|
|
66
|
+
#### Help Output
|
|
67
|
+
|
|
68
|
+
```help
|
|
69
|
+
USAGE
|
|
70
|
+
$ shipthis apple certificate delete [-i] [-y] [-a]
|
|
71
|
+
|
|
72
|
+
FLAGS
|
|
73
|
+
-a, --revokeInApple Also revoke the Certificate in Apple (cannot be undone)
|
|
74
|
+
-i, --immediate Remove from storage immediately (rather than waiting for automatic cleanup - cannot be undone)
|
|
75
|
+
-y, --iAmSure I am sure I want to do this - do not prompt me
|
|
76
|
+
|
|
77
|
+
DESCRIPTION
|
|
78
|
+
Delete an iOS Distribution Certificate from ShipThis and optionally from Apple
|
|
79
|
+
|
|
80
|
+
EXAMPLES
|
|
81
|
+
$ shipthis apple certificate delete
|
|
82
|
+
|
|
83
|
+
$ shipthis apple certificate delete --immediate --revokeInApple --iAmSure
|
|
84
|
+
```
|
|
85
|
+
|
|
60
86
|
### `apple certificate export`
|
|
61
87
|
|
|
62
88
|
#### Description
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Command: `game android apiKey delete`
|
|
2
|
+
|
|
3
|
+
## Description
|
|
4
|
+
|
|
5
|
+
Delete the active Android API Key from ShipThis
|
|
6
|
+
|
|
7
|
+
## Help Output
|
|
8
|
+
|
|
9
|
+
```help
|
|
10
|
+
USAGE
|
|
11
|
+
$ shipthis game android apiKey delete [-g <value>] [-i] [-y]
|
|
12
|
+
|
|
13
|
+
FLAGS
|
|
14
|
+
-g, --gameId=<value> The ID of the game
|
|
15
|
+
-i, --immediate Remove from storage immediately (rather than waiting for automatic cleanup - cannot be undone)
|
|
16
|
+
-y, --iAmSure I am sure I want to do this - do not prompt me
|
|
17
|
+
|
|
18
|
+
DESCRIPTION
|
|
19
|
+
Delete the active Android API Key from ShipThis
|
|
20
|
+
|
|
21
|
+
EXAMPLES
|
|
22
|
+
$ shipthis game android apiKey delete
|
|
23
|
+
|
|
24
|
+
$ shipthis game android apiKey delete --immediate --iAmSure
|
|
25
|
+
```
|
|
@@ -60,6 +60,32 @@ EXAMPLES
|
|
|
60
60
|
$ shipthis game android apiKey create --gameId 0c179fc4
|
|
61
61
|
```
|
|
62
62
|
|
|
63
|
+
### `game android apiKey delete`
|
|
64
|
+
|
|
65
|
+
#### Description
|
|
66
|
+
|
|
67
|
+
Delete the active Android API Key from ShipThis
|
|
68
|
+
|
|
69
|
+
#### Help Output
|
|
70
|
+
|
|
71
|
+
```help
|
|
72
|
+
USAGE
|
|
73
|
+
$ shipthis game android apiKey delete [-g <value>] [-i] [-y]
|
|
74
|
+
|
|
75
|
+
FLAGS
|
|
76
|
+
-g, --gameId=<value> The ID of the game
|
|
77
|
+
-i, --immediate Remove from storage immediately (rather than waiting for automatic cleanup - cannot be undone)
|
|
78
|
+
-y, --iAmSure I am sure I want to do this - do not prompt me
|
|
79
|
+
|
|
80
|
+
DESCRIPTION
|
|
81
|
+
Delete the active Android API Key from ShipThis
|
|
82
|
+
|
|
83
|
+
EXAMPLES
|
|
84
|
+
$ shipthis game android apiKey delete
|
|
85
|
+
|
|
86
|
+
$ shipthis game android apiKey delete --immediate --iAmSure
|
|
87
|
+
```
|
|
88
|
+
|
|
63
89
|
### `game android apiKey export`
|
|
64
90
|
|
|
65
91
|
#### Description
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Command: `game android keyStore delete`
|
|
2
|
+
|
|
3
|
+
## Description
|
|
4
|
+
|
|
5
|
+
Delete the active Android KeyStore from ShipThis
|
|
6
|
+
|
|
7
|
+
## Help Output
|
|
8
|
+
|
|
9
|
+
```help
|
|
10
|
+
USAGE
|
|
11
|
+
$ shipthis game android keyStore delete [-g <value>] [-i] [-y]
|
|
12
|
+
|
|
13
|
+
FLAGS
|
|
14
|
+
-g, --gameId=<value> The ID of the game
|
|
15
|
+
-i, --immediate Remove from storage immediately (rather than waiting for automatic cleanup - cannot be undone)
|
|
16
|
+
-y, --iAmSure I am sure I want to do this - do not prompt me
|
|
17
|
+
|
|
18
|
+
DESCRIPTION
|
|
19
|
+
Delete the active Android KeyStore from ShipThis
|
|
20
|
+
|
|
21
|
+
EXAMPLES
|
|
22
|
+
$ shipthis game android keyStore delete
|
|
23
|
+
|
|
24
|
+
$ shipthis game android keyStore delete --immediate --iAmSure
|
|
25
|
+
```
|
|
@@ -41,6 +41,32 @@ EXAMPLES
|
|
|
41
41
|
$ shipthis game android keyStore create --gameId 0c179fc4
|
|
42
42
|
```
|
|
43
43
|
|
|
44
|
+
### `game android keyStore delete`
|
|
45
|
+
|
|
46
|
+
#### Description
|
|
47
|
+
|
|
48
|
+
Delete the active Android KeyStore from ShipThis
|
|
49
|
+
|
|
50
|
+
#### Help Output
|
|
51
|
+
|
|
52
|
+
```help
|
|
53
|
+
USAGE
|
|
54
|
+
$ shipthis game android keyStore delete [-g <value>] [-i] [-y]
|
|
55
|
+
|
|
56
|
+
FLAGS
|
|
57
|
+
-g, --gameId=<value> The ID of the game
|
|
58
|
+
-i, --immediate Remove from storage immediately (rather than waiting for automatic cleanup - cannot be undone)
|
|
59
|
+
-y, --iAmSure I am sure I want to do this - do not prompt me
|
|
60
|
+
|
|
61
|
+
DESCRIPTION
|
|
62
|
+
Delete the active Android KeyStore from ShipThis
|
|
63
|
+
|
|
64
|
+
EXAMPLES
|
|
65
|
+
$ shipthis game android keyStore delete
|
|
66
|
+
|
|
67
|
+
$ shipthis game android keyStore delete --immediate --iAmSure
|
|
68
|
+
```
|
|
69
|
+
|
|
44
70
|
### `game android keyStore export`
|
|
45
71
|
|
|
46
72
|
#### Description
|