shipthis 0.1.41 → 0.1.43
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 +9 -7
- package/assets/markdown/confirm-change-android-build-method.md.ejs +13 -0
- package/dist/{AppleBundleIdDetails-BJC7GCx_.js → AppleBundleIdDetails-bMqPqmP0.js} +9 -7
- package/dist/{Command-Cj6F5B5a.js → Command-cqn3WLlP.js} +4 -3
- package/dist/{CommandGame-CuvuH-z6.js → CommandGame-DMQT0sL_.js} +2 -2
- package/dist/{Create-pfGYcKu4.js → Create-Cs9HG9xO.js} +5 -3
- package/dist/{GameStatus-ZSe-qG3y.js → GameStatus-lv2SW-6H.js} +4 -3
- package/dist/{Import-D046HBaF.js → Import-DOQrR8wW.js} +6 -4
- package/dist/{JobLogTail-Da8GuReK.js → JobLogTail-CWYxQTq4.js} +31 -17
- package/dist/JobProgress-B07Y2FLb.js +253 -0
- package/dist/{JobStatusTable-DVJjHw97.js → JobStatusTable-B0A1z1zq.js} +3 -4
- package/dist/{ProjectCredentialsTable-BJJz7W1P.js → ProjectCredentialsTable-CyJ7o8yD.js} +4 -3
- package/dist/{UserCredentialsTable-CSynIVHU.js → UserCredentialsTable-C8_skPFY.js} +4 -3
- package/dist/{baseAppleCommand-Aq-Eaw_K.js → baseAppleCommand-Cfoy8Tx_.js} +1 -1
- package/dist/{baseCommand-CTn3KGH3.js → baseCommand-B23l0hCp.js} +82 -111
- package/dist/{baseGameAndroidCommand-DRzVMKuG.js → baseGameAndroidCommand-Dh4xXVW1.js} +4 -3
- package/dist/{baseGameCommand-8VL7xe-O.js → baseGameCommand-P7Vyz2vZ.js} +5 -3
- package/dist/commands/apiKey/create.js +6 -6
- package/dist/commands/apiKey/list.js +6 -6
- package/dist/commands/apiKey/revoke.js +6 -6
- package/dist/commands/apple/apiKey/create.js +9 -9
- package/dist/commands/apple/apiKey/delete.js +7 -7
- package/dist/commands/apple/apiKey/export.js +8 -8
- package/dist/commands/apple/apiKey/import.js +8 -8
- package/dist/commands/apple/apiKey/status.js +7 -7
- package/dist/commands/apple/certificate/create.js +9 -9
- package/dist/commands/apple/certificate/delete.js +7 -7
- package/dist/commands/apple/certificate/export.js +8 -8
- package/dist/commands/apple/certificate/import.js +8 -8
- package/dist/commands/apple/certificate/status.js +7 -7
- package/dist/commands/apple/login.js +5 -5
- package/dist/commands/apple/status.js +6 -6
- package/dist/commands/dashboard.js +5 -5
- package/dist/commands/game/android/apiKey/connect.js +11 -11
- package/dist/commands/game/android/apiKey/create.js +13 -13
- package/dist/commands/game/android/apiKey/delete.js +7 -7
- package/dist/commands/game/android/apiKey/export.js +9 -9
- package/dist/commands/game/android/apiKey/import.js +9 -9
- package/dist/commands/game/android/apiKey/invite.js +6 -6
- package/dist/commands/game/android/apiKey/policy.js +6 -6
- package/dist/commands/game/android/apiKey/status.js +9 -9
- package/dist/commands/game/android/keyStore/create.js +10 -10
- package/dist/commands/game/android/keyStore/delete.js +7 -7
- package/dist/commands/game/android/keyStore/export.js +8 -8
- package/dist/commands/game/android/keyStore/import.js +11 -11
- package/dist/commands/game/android/keyStore/status.js +8 -8
- package/dist/commands/game/android/status.js +5 -5
- package/dist/commands/game/build/download.js +6 -6
- package/dist/commands/game/build/list.js +7 -7
- package/dist/commands/game/create.js +5 -5
- package/dist/commands/game/details.js +6 -6
- package/dist/commands/game/export.js +5 -5
- package/dist/commands/game/ios/app/addTester.js +7 -7
- package/dist/commands/game/ios/app/create.js +8 -7
- package/dist/commands/game/ios/app/status.js +9 -9
- package/dist/commands/game/ios/app/sync.js +7 -7
- package/dist/commands/game/ios/profile/create.js +9 -9
- package/dist/commands/game/ios/profile/delete.js +7 -7
- package/dist/commands/game/ios/profile/export.js +8 -8
- package/dist/commands/game/ios/profile/import.js +8 -8
- package/dist/commands/game/ios/profile/status.js +9 -9
- package/dist/commands/game/ios/status.js +11 -11
- package/dist/commands/game/ios/wizard.js +6 -6
- package/dist/commands/game/job/list.js +6 -6
- package/dist/commands/game/job/status.js +11 -11
- package/dist/commands/game/list.js +6 -6
- package/dist/commands/game/ship.js +32 -15
- package/dist/commands/game/status.js +8 -8
- package/dist/commands/game/wizard.js +80 -30
- package/dist/commands/internal/fastlane.js +5 -5
- package/dist/commands/internal/readme.js +5 -5
- package/dist/commands/login.js +5 -5
- package/dist/commands/status.js +6 -6
- package/dist/commands/util/android-build-method.js +67 -0
- package/dist/commands/util/glass.js +4 -4
- package/dist/{export-DtATljiz.js → export-BOuZFMT3.js} +1 -1
- package/dist/{import-Dk2ywOVU.js → import-P4KcAuAO.js} +1 -1
- package/dist/{index-cRnjcGxV.js → index-AUjBYrSG.js} +8 -6
- package/dist/{index-CuyVBHWc.js → index-BmRSqi8U.js} +7 -5
- package/dist/{index-BW7z-5sB.js → index-DMosmqi2.js} +1 -1
- package/dist/{upload-CHaDSvvi.js → upload-BvNeNQXc.js} +1 -1
- package/dist/{useAppleApp-CR847GWc.js → useAppleApp-fD92orhh.js} +1 -1
- package/dist/{useAppleBundleId-BnwPmVEu.js → useAppleBundleId-oONHtYgg.js} +2 -2
- package/dist/{useAppleProfiles-DY-H0420.js → useAppleProfiles-aMy844nZ.js} +3 -2
- package/dist/{useGoogleStatus-WqPgHteE.js → useGoogleStatus-rBDZt9tw.js} +2 -2
- package/dist/{useProjectCredentials-TvlolkId.js → useProjectCredentials-DLYLMlJh.js} +2 -2
- package/dist/{useWebSocket-MXDbQHcu.js → useWebSocket-Bvq2Wf7I.js} +1 -1
- package/docs/util/android-build-method.md +26 -0
- package/docs/util.md +2 -1
- package/npm-shrinkwrap.json +14182 -0
- package/oclif.manifest.json +2966 -0
- package/package.json +9 -6
- package/dist/JobProgress-DltCQpzA.js +0 -127
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
|
|
2
2
|
import { Flags } from '@oclif/core';
|
|
3
|
-
import { Box, Text, render } from 'ink';
|
|
4
|
-
import { a2 as LogLevel, W as WEB_URL, a3 as getShortAuthRequiredUrl,
|
|
5
|
-
import {
|
|
3
|
+
import { useStdout, useStderr, Box, Text, render } from 'ink';
|
|
4
|
+
import { a2 as LogLevel, W as WEB_URL, a3 as getShortAuthRequiredUrl, F as getJob, N as downloadBuildById } from '../../baseCommand-B23l0hCp.js';
|
|
5
|
+
import { j as CommandContext, i as GameContext, t as useSafeInput, M as Markdown, g as getShortUUID, c as BaseGameCommand } from '../../baseGameCommand-P7Vyz2vZ.js';
|
|
6
6
|
import 'ink-spinner';
|
|
7
7
|
import 'node:crypto';
|
|
8
8
|
import 'node:fs';
|
|
@@ -17,33 +17,33 @@ import '@tanstack/react-query';
|
|
|
17
17
|
import { useContext, useState, useEffect } from 'react';
|
|
18
18
|
import 'fast-glob';
|
|
19
19
|
import 'uuid';
|
|
20
|
-
import 'yazl';
|
|
21
20
|
import 'socket.io-client';
|
|
22
21
|
import 'fullscreen-ink';
|
|
22
|
+
import 'stream';
|
|
23
|
+
import 'yazl';
|
|
23
24
|
import 'string-length';
|
|
24
25
|
import 'strip-ansi';
|
|
25
26
|
import open from 'open';
|
|
26
27
|
import 'crypto-js';
|
|
27
|
-
import { u as useJobWatching, J as JobLogTail } from '../../JobLogTail-
|
|
28
|
-
import { J as JobStatusTable } from '../../JobStatusTable-
|
|
28
|
+
import { u as useJobWatching, J as JobLogTail } from '../../JobLogTail-CWYxQTq4.js';
|
|
29
|
+
import { J as JobStatusTable } from '../../JobStatusTable-B0A1z1zq.js';
|
|
29
30
|
import '@inkjs/ui';
|
|
30
|
-
import { u as useShip, J as JobProgress } from '../../JobProgress-
|
|
31
|
+
import { u as useShip, J as JobProgress } from '../../JobProgress-B07Y2FLb.js';
|
|
31
32
|
import 'qrcode';
|
|
33
|
+
import 'godot-export-presets';
|
|
32
34
|
import 'marked';
|
|
33
35
|
import 'marked-terminal';
|
|
34
|
-
import { C as CommandGame } from '../../CommandGame-
|
|
36
|
+
import { C as CommandGame } from '../../CommandGame-DMQT0sL_.js';
|
|
35
37
|
import 'chalk';
|
|
36
38
|
import '@expo/apple-utils/build/index.js';
|
|
37
|
-
import 'deepmerge';
|
|
38
|
-
import 'ini';
|
|
39
39
|
import 'fs';
|
|
40
40
|
import 'path';
|
|
41
|
-
import '../../useWebSocket-
|
|
41
|
+
import '../../useWebSocket-Bvq2Wf7I.js';
|
|
42
42
|
import '../../Title-BCQtayg6.js';
|
|
43
43
|
import '../../StatusTable-DzRWcMr4.js';
|
|
44
44
|
import '../../git-BpsfNFZ_.js';
|
|
45
45
|
import '../../ProgressSpinner-Um6ARKlk.js';
|
|
46
|
-
import '../../Command-
|
|
46
|
+
import '../../Command-cqn3WLlP.js';
|
|
47
47
|
|
|
48
48
|
function isNetworkError(exception) {
|
|
49
49
|
if (!axios.isAxiosError(exception)) return false;
|
|
@@ -67,15 +67,32 @@ function getErrorMessage(error) {
|
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
69
|
|
|
70
|
-
const JobFollow = ({
|
|
70
|
+
const JobFollow = ({
|
|
71
|
+
jobId,
|
|
72
|
+
onComplete,
|
|
73
|
+
onFailure,
|
|
74
|
+
projectId
|
|
75
|
+
}) => {
|
|
76
|
+
const { stdout, write: writeOut } = useStdout();
|
|
77
|
+
const { stderr, write: writeErr } = useStderr();
|
|
78
|
+
const useAnsi = Boolean(stderr.isTTY ?? stdout.isTTY);
|
|
79
|
+
const yellow = useAnsi ? "\x1B[33m" : "";
|
|
80
|
+
const red = useAnsi ? "\x1B[31m" : "";
|
|
81
|
+
const reset = useAnsi ? "\x1B[0m" : "";
|
|
71
82
|
useJobWatching({
|
|
72
83
|
isWatching: true,
|
|
73
84
|
jobId,
|
|
74
85
|
onComplete,
|
|
75
86
|
onFailure,
|
|
76
87
|
onNewLogEntry(logEntry) {
|
|
77
|
-
|
|
78
|
-
|
|
88
|
+
const msg = logEntry.message + "\n";
|
|
89
|
+
if (logEntry.level === LogLevel.ERROR) {
|
|
90
|
+
writeErr(`${red}${msg}${reset}`);
|
|
91
|
+
} else if (logEntry.level === LogLevel.WARN) {
|
|
92
|
+
writeErr(`${yellow}${msg}${reset}`);
|
|
93
|
+
} else {
|
|
94
|
+
writeOut(msg);
|
|
95
|
+
}
|
|
79
96
|
},
|
|
80
97
|
projectId
|
|
81
98
|
});
|
|
@@ -1,14 +1,14 @@
|
|
|
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 '../../baseGameCommand-
|
|
4
|
+
import { B as BaseAuthenticatedCommand } from '../../baseGameCommand-P7Vyz2vZ.js';
|
|
5
5
|
import 'node:fs';
|
|
6
6
|
import 'node:path';
|
|
7
7
|
import 'chalk';
|
|
8
8
|
import 'axios';
|
|
9
9
|
import 'crypto-js';
|
|
10
10
|
import 'uuid';
|
|
11
|
-
import '../../baseCommand-
|
|
11
|
+
import '../../baseCommand-B23l0hCp.js';
|
|
12
12
|
import 'luxon';
|
|
13
13
|
import 'node:crypto';
|
|
14
14
|
import 'node:readline';
|
|
@@ -18,11 +18,12 @@ import 'isomorphic-git';
|
|
|
18
18
|
import '@tanstack/react-query';
|
|
19
19
|
import 'react';
|
|
20
20
|
import 'fast-glob';
|
|
21
|
-
import 'yazl';
|
|
22
21
|
import 'socket.io-client';
|
|
23
22
|
import 'fullscreen-ink';
|
|
23
|
+
import 'stream';
|
|
24
|
+
import 'yazl';
|
|
24
25
|
import 'ink-spinner';
|
|
25
|
-
import { a as GameStatus$1 } from '../../GameStatus-
|
|
26
|
+
import { a as GameStatus$1 } from '../../GameStatus-lv2SW-6H.js';
|
|
26
27
|
import 'string-length';
|
|
27
28
|
import 'strip-ansi';
|
|
28
29
|
import 'open';
|
|
@@ -30,16 +31,15 @@ import '@inkjs/ui';
|
|
|
30
31
|
import 'marked';
|
|
31
32
|
import 'marked-terminal';
|
|
32
33
|
import 'qrcode';
|
|
33
|
-
import
|
|
34
|
+
import 'godot-export-presets';
|
|
35
|
+
import { C as CommandGame } from '../../CommandGame-DMQT0sL_.js';
|
|
34
36
|
import 'fs';
|
|
35
37
|
import 'path';
|
|
36
38
|
import '@expo/apple-utils/build/index.js';
|
|
37
|
-
import 'deepmerge';
|
|
38
|
-
import 'ini';
|
|
39
39
|
import '../../StatusTable-DzRWcMr4.js';
|
|
40
40
|
import '../../Title-BCQtayg6.js';
|
|
41
41
|
import '../../NextSteps-DbJHmscQ.js';
|
|
42
|
-
import '../../Command-
|
|
42
|
+
import '../../Command-cqn3WLlP.js';
|
|
43
43
|
|
|
44
44
|
class GameStatus extends BaseAuthenticatedCommand {
|
|
45
45
|
static args = {};
|
|
@@ -1,14 +1,14 @@
|
|
|
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 { k as cacheKeys,
|
|
4
|
+
import { k as cacheKeys, j as CommandContext, i as GameContext, u as useBuilds, M as Markdown, g as getShortUUID, t as useSafeInput, z as queryBuilds, n as fetchKeyTestResult, K as KeyTestStatus, p as KeyTestError, G as GameProvider, A as CreateGooglePlayGame, B as BaseAuthenticatedCommand } from '../../baseGameCommand-P7Vyz2vZ.js';
|
|
5
5
|
import fs__default from 'node:fs';
|
|
6
6
|
import 'node:path';
|
|
7
7
|
import 'chalk';
|
|
8
8
|
import axios from 'axios';
|
|
9
9
|
import 'crypto-js';
|
|
10
10
|
import 'uuid';
|
|
11
|
-
import {
|
|
11
|
+
import { I as queryClient, q as getAuthedHeaders, p as API_URL, H as castArrayObjectDates, l as getProject, aa as updateProject, v as getGodotVersion, u as GameEngine, w as createProject, x as DEFAULT_SHIPPED_FILES_GLOBS, y as DEFAULT_IGNORED_FILES_GLOBS, P as Platform, ab as BuildType, J as JobStatus, W as WEB_URL, ac as getGradleBuildOptionKey, i as isGradleBuildEnabled, s as setGradleBuildEnabled, C as CredentialsType, O as getGoogleStatus, k as isCWDGodotGame } from '../../baseCommand-B23l0hCp.js';
|
|
12
12
|
import 'luxon';
|
|
13
13
|
import 'node:crypto';
|
|
14
14
|
import 'node:readline';
|
|
@@ -18,38 +18,38 @@ import 'isomorphic-git';
|
|
|
18
18
|
import { useMutation, useQuery } from '@tanstack/react-query';
|
|
19
19
|
import React, { useState, useContext, useEffect, useRef } from 'react';
|
|
20
20
|
import 'fast-glob';
|
|
21
|
-
import 'yazl';
|
|
22
21
|
import 'socket.io-client';
|
|
23
22
|
import { Box, Text } from 'ink';
|
|
23
|
+
import 'stream';
|
|
24
|
+
import 'yazl';
|
|
24
25
|
import Spinner from 'ink-spinner';
|
|
25
26
|
import 'string-length';
|
|
26
27
|
import 'strip-ansi';
|
|
27
28
|
import 'open';
|
|
28
|
-
import { C as ConnectGoogle } from '../../index-
|
|
29
|
+
import { C as ConnectGoogle } from '../../index-BmRSqi8U.js';
|
|
29
30
|
import { TextInput, Alert } from '@inkjs/ui';
|
|
30
31
|
import 'marked';
|
|
31
32
|
import 'marked-terminal';
|
|
32
33
|
import 'qrcode';
|
|
33
|
-
import {
|
|
34
|
-
import {
|
|
35
|
-
import {
|
|
36
|
-
import { C as
|
|
37
|
-
import {
|
|
38
|
-
import {
|
|
34
|
+
import { getMajorVersion } from 'godot-export-presets';
|
|
35
|
+
import { J as JobLogTail } from '../../JobLogTail-CWYxQTq4.js';
|
|
36
|
+
import { u as useShip, J as JobProgress } from '../../JobProgress-B07Y2FLb.js';
|
|
37
|
+
import { C as CreateServiceAccountKey } from '../../index-AUjBYrSG.js';
|
|
38
|
+
import { C as CreateKeystore } from '../../Create-Cs9HG9xO.js';
|
|
39
|
+
import { I as ImportKeystore } from '../../Import-DOQrR8wW.js';
|
|
40
|
+
import { a as getProjectCredentials } from '../../index-DMosmqi2.js';
|
|
39
41
|
import { T as Title } from '../../Title-BCQtayg6.js';
|
|
40
|
-
import { C as Command } from '../../Command-
|
|
42
|
+
import { C as Command } from '../../Command-cqn3WLlP.js';
|
|
41
43
|
import 'fs';
|
|
42
44
|
import 'path';
|
|
43
45
|
import '@expo/apple-utils/build/index.js';
|
|
44
|
-
import '
|
|
45
|
-
import '
|
|
46
|
-
import '../../useGoogleStatus-WqPgHteE.js';
|
|
47
|
-
import '../../useWebSocket-MXDbQHcu.js';
|
|
46
|
+
import '../../useGoogleStatus-rBDZt9tw.js';
|
|
47
|
+
import '../../useWebSocket-Bvq2Wf7I.js';
|
|
48
48
|
import '../../git-BpsfNFZ_.js';
|
|
49
49
|
import '../../ProgressSpinner-Um6ARKlk.js';
|
|
50
|
-
import '../../useProjectCredentials-
|
|
50
|
+
import '../../useProjectCredentials-DLYLMlJh.js';
|
|
51
51
|
import '../../RunWithSpinner-DucRnFp6.js';
|
|
52
|
-
import '../../import-
|
|
52
|
+
import '../../import-P4KcAuAO.js';
|
|
53
53
|
|
|
54
54
|
const useInviteServiceAccount = () => useMutation({
|
|
55
55
|
async mutationFn({ developerId, projectId }) {
|
|
@@ -248,11 +248,7 @@ const CreateGame = (props) => {
|
|
|
248
248
|
] });
|
|
249
249
|
};
|
|
250
250
|
|
|
251
|
-
const
|
|
252
|
-
const { gameId } = useContext(GameContext);
|
|
253
|
-
return /* @__PURE__ */ jsx(Fragment, { children: gameId && /* @__PURE__ */ jsx(CreateForGame, { gameId, ...props }) });
|
|
254
|
-
};
|
|
255
|
-
const CreateForGame = ({ gameId, onComplete, onError, ...boxProps }) => {
|
|
251
|
+
const InitialAndroidBuild = ({ gameId, onComplete, onError, ...boxProps }) => {
|
|
256
252
|
const { command } = useContext(CommandContext);
|
|
257
253
|
const { data: buildData, isLoading: isLoadingBuilds } = useBuilds({ pageNumber: 0, projectId: gameId });
|
|
258
254
|
const { data: jobData, isLoading: isLoadingJobs } = useJobs({
|
|
@@ -268,7 +264,9 @@ const CreateForGame = ({ gameId, onComplete, onError, ...boxProps }) => {
|
|
|
268
264
|
if (!buildData) return;
|
|
269
265
|
if (!jobData) return;
|
|
270
266
|
if (!command) return;
|
|
271
|
-
const hasAndroidBuild = buildData.data.some(
|
|
267
|
+
const hasAndroidBuild = buildData.data.some(
|
|
268
|
+
(build) => build.platform === Platform.ANDROID && build.buildType == BuildType.AAB
|
|
269
|
+
);
|
|
272
270
|
if (!prevHasBuild.current && hasAndroidBuild) return onComplete();
|
|
273
271
|
prevHasBuild.current = hasAndroidBuild;
|
|
274
272
|
const hasRunningAndroidJob = jobData.data.some(
|
|
@@ -294,12 +292,19 @@ const CreateForGame = ({ gameId, onComplete, onError, ...boxProps }) => {
|
|
|
294
292
|
(isLoadingBuilds || isLoadingJobs || shipMutation.isPending) && /* @__PURE__ */ jsx(Spinner, { type: "dots" })
|
|
295
293
|
] }),
|
|
296
294
|
androidJob === null && /* @__PURE__ */ jsx(Text, { children: shipLog }),
|
|
297
|
-
androidJob && /* @__PURE__ */ jsx(
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
295
|
+
androidJob && /* @__PURE__ */ jsx(
|
|
296
|
+
JobProgress,
|
|
297
|
+
{
|
|
298
|
+
job: androidJob,
|
|
299
|
+
onComplete,
|
|
300
|
+
onFailure: (j) => {
|
|
301
|
+
setFailedJob(j);
|
|
302
|
+
setTimeout(() => {
|
|
303
|
+
onError(new Error(`Job ${j.id} failed`));
|
|
304
|
+
}, 1e3);
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
),
|
|
303
308
|
failedJob && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
304
309
|
/* @__PURE__ */ jsx(
|
|
305
310
|
Markdown,
|
|
@@ -315,6 +320,49 @@ const CreateForGame = ({ gameId, onComplete, onError, ...boxProps }) => {
|
|
|
315
320
|
] }) });
|
|
316
321
|
};
|
|
317
322
|
|
|
323
|
+
const EnableGradle = ({ onConfirm, onCancel, ...boxProps }) => {
|
|
324
|
+
const godotVersion = getGodotVersion();
|
|
325
|
+
const majorVersion = getMajorVersion(godotVersion);
|
|
326
|
+
useSafeInput(async (input) => {
|
|
327
|
+
if (input == "y") return onConfirm && onConfirm();
|
|
328
|
+
if (input == "n") return onCancel && onCancel();
|
|
329
|
+
});
|
|
330
|
+
return /* @__PURE__ */ jsx(Box, { flexDirection: "column", gap: 1, ...boxProps, children: /* @__PURE__ */ jsx(Box, { flexDirection: "row", gap: 1, children: /* @__PURE__ */ jsx(
|
|
331
|
+
Markdown,
|
|
332
|
+
{
|
|
333
|
+
filename: "confirm-change-android-build-method.md.ejs",
|
|
334
|
+
templateVars: {
|
|
335
|
+
docsURL: `${WEB_URL}docs/guides/android-build-methods`,
|
|
336
|
+
godotVersion,
|
|
337
|
+
optionKey: getGradleBuildOptionKey(majorVersion)
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
) }) });
|
|
341
|
+
};
|
|
342
|
+
|
|
343
|
+
const CreateInitialBuild = ({ onComplete, onError, ...boxProps }) => {
|
|
344
|
+
const { gameId } = useContext(GameContext);
|
|
345
|
+
const [canBuildAAB, setCanBuildAAB] = useState(null);
|
|
346
|
+
useEffect(() => {
|
|
347
|
+
async function fetchBuildMethod() {
|
|
348
|
+
const isGradle = await isGradleBuildEnabled();
|
|
349
|
+
setCanBuildAAB(isGradle);
|
|
350
|
+
}
|
|
351
|
+
fetchBuildMethod();
|
|
352
|
+
}, []);
|
|
353
|
+
const updateBuildMethod = async () => {
|
|
354
|
+
await setGradleBuildEnabled(true);
|
|
355
|
+
setCanBuildAAB(true);
|
|
356
|
+
};
|
|
357
|
+
if (canBuildAAB === null) {
|
|
358
|
+
return /* @__PURE__ */ jsx(Text, { children: "Loading..." });
|
|
359
|
+
}
|
|
360
|
+
if (canBuildAAB === false) {
|
|
361
|
+
return /* @__PURE__ */ jsx(EnableGradle, { ...boxProps, onConfirm: () => updateBuildMethod(), onCancel: () => process.exit() });
|
|
362
|
+
}
|
|
363
|
+
return /* @__PURE__ */ jsx(Fragment, { children: gameId && /* @__PURE__ */ jsx(InitialAndroidBuild, { gameId, onComplete, onError, ...boxProps }) });
|
|
364
|
+
};
|
|
365
|
+
|
|
318
366
|
const InviteForm = ({ onSubmit }) => {
|
|
319
367
|
const [error, setError] = useState(null);
|
|
320
368
|
const [accountId, setAccountId] = useState("");
|
|
@@ -521,7 +569,9 @@ const getStatusFlags = async (cmd) => {
|
|
|
521
569
|
(cred) => cred.isActive && cred.platform === Platform.ANDROID && cred.type === CredentialsType.KEY
|
|
522
570
|
);
|
|
523
571
|
const buildsResponse = projectId && hasShipThisProject ? await queryBuilds({ pageNumber: 0, projectId: `${projectId}` }) : null;
|
|
524
|
-
const hasInitialBuild = Boolean(
|
|
572
|
+
const hasInitialBuild = Boolean(
|
|
573
|
+
buildsResponse?.data?.some((build) => build.platform === Platform.ANDROID && build.buildType === BuildType.AAB)
|
|
574
|
+
);
|
|
525
575
|
const testResult = projectId ? await fetchKeyTestResult({ projectId }) : null;
|
|
526
576
|
const hasGooglePlayGame = testResult && testResult?.status === KeyTestStatus.SUCCESS || testResult?.status === KeyTestStatus.ERROR && testResult?.error === KeyTestError.NOT_INVITED;
|
|
527
577
|
const hasInvitedServiceAccount = testResult ? testResult?.status === KeyTestStatus.SUCCESS : false;
|
|
@@ -4,7 +4,7 @@ import { Args, Flags } from '@oclif/core';
|
|
|
4
4
|
import 'axios';
|
|
5
5
|
import 'crypto-js';
|
|
6
6
|
import 'uuid';
|
|
7
|
-
import { B as BaseCommand } from '../../baseCommand-
|
|
7
|
+
import { B as BaseCommand } from '../../baseCommand-B23l0hCp.js';
|
|
8
8
|
import 'luxon';
|
|
9
9
|
import 'react/jsx-runtime';
|
|
10
10
|
import 'ink';
|
|
@@ -17,21 +17,21 @@ import 'isomorphic-git';
|
|
|
17
17
|
import '@tanstack/react-query';
|
|
18
18
|
import 'react';
|
|
19
19
|
import 'fast-glob';
|
|
20
|
-
import 'yazl';
|
|
21
20
|
import 'socket.io-client';
|
|
22
21
|
import 'fullscreen-ink';
|
|
22
|
+
import 'stream';
|
|
23
|
+
import 'yazl';
|
|
23
24
|
import 'string-length';
|
|
24
25
|
import 'strip-ansi';
|
|
25
26
|
import 'open';
|
|
26
27
|
import '@inkjs/ui';
|
|
27
|
-
import '../../baseGameCommand-
|
|
28
|
+
import '../../baseGameCommand-P7Vyz2vZ.js';
|
|
28
29
|
import 'marked';
|
|
29
30
|
import 'marked-terminal';
|
|
30
31
|
import 'qrcode';
|
|
32
|
+
import 'godot-export-presets';
|
|
31
33
|
import 'chalk';
|
|
32
34
|
import '@expo/apple-utils/build/index.js';
|
|
33
|
-
import 'deepmerge';
|
|
34
|
-
import 'ini';
|
|
35
35
|
import 'fs';
|
|
36
36
|
import 'path';
|
|
37
37
|
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import fs__default from 'node:fs';
|
|
2
2
|
import path__default from 'node:path';
|
|
3
3
|
import { Args, Flags } from '@oclif/core';
|
|
4
|
-
import { q as ejs } from '../../baseGameCommand-
|
|
4
|
+
import { q as ejs } from '../../baseGameCommand-P7Vyz2vZ.js';
|
|
5
5
|
import 'axios';
|
|
6
6
|
import 'crypto-js';
|
|
7
7
|
import 'uuid';
|
|
8
|
-
import { B as BaseCommand } from '../../baseCommand-
|
|
8
|
+
import { B as BaseCommand } from '../../baseCommand-B23l0hCp.js';
|
|
9
9
|
import 'luxon';
|
|
10
10
|
import 'react/jsx-runtime';
|
|
11
11
|
import 'ink';
|
|
@@ -19,9 +19,10 @@ import CustomHelp from '../../utils/help.js';
|
|
|
19
19
|
import '@tanstack/react-query';
|
|
20
20
|
import 'react';
|
|
21
21
|
import 'fast-glob';
|
|
22
|
-
import 'yazl';
|
|
23
22
|
import 'socket.io-client';
|
|
24
23
|
import 'fullscreen-ink';
|
|
24
|
+
import 'stream';
|
|
25
|
+
import 'yazl';
|
|
25
26
|
import 'string-length';
|
|
26
27
|
import 'strip-ansi';
|
|
27
28
|
import 'open';
|
|
@@ -29,12 +30,11 @@ import '@inkjs/ui';
|
|
|
29
30
|
import 'marked';
|
|
30
31
|
import 'marked-terminal';
|
|
31
32
|
import 'qrcode';
|
|
33
|
+
import 'godot-export-presets';
|
|
32
34
|
import 'fs';
|
|
33
35
|
import 'path';
|
|
34
36
|
import 'chalk';
|
|
35
37
|
import '@expo/apple-utils/build/index.js';
|
|
36
|
-
import 'deepmerge';
|
|
37
|
-
import 'ini';
|
|
38
38
|
|
|
39
39
|
const ROOT_TOPIC_NAME = "shipthis";
|
|
40
40
|
const ROOT_TOPIC_DESCRIPTION = "Root topic";
|
package/dist/commands/login.js
CHANGED
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
import { Flags } from '@oclif/core';
|
|
2
2
|
import axios from 'axios';
|
|
3
|
-
import { W as WEB_URL, B as BaseCommand,
|
|
3
|
+
import { W as WEB_URL, B as BaseCommand, $ as acceptTerms, p as API_URL, a0 as setAuthToken } from '../baseCommand-B23l0hCp.js';
|
|
4
4
|
import 'react/jsx-runtime';
|
|
5
5
|
import 'ink';
|
|
6
6
|
import 'ink-spinner';
|
|
7
|
-
import { b as getInput } from '../baseGameCommand-
|
|
7
|
+
import { b as getInput } from '../baseGameCommand-P7Vyz2vZ.js';
|
|
8
8
|
import 'react';
|
|
9
9
|
import '@tanstack/react-query';
|
|
10
10
|
import 'luxon';
|
|
11
11
|
import 'node:fs';
|
|
12
12
|
import 'fast-glob';
|
|
13
13
|
import 'uuid';
|
|
14
|
-
import 'yazl';
|
|
15
14
|
import 'socket.io-client';
|
|
16
15
|
import 'fullscreen-ink';
|
|
17
16
|
import 'string-length';
|
|
@@ -22,6 +21,8 @@ import 'node:path';
|
|
|
22
21
|
import 'marked';
|
|
23
22
|
import 'marked-terminal';
|
|
24
23
|
import 'qrcode';
|
|
24
|
+
import 'godot-export-presets';
|
|
25
|
+
import 'yazl';
|
|
25
26
|
import 'chalk';
|
|
26
27
|
import 'crypto-js';
|
|
27
28
|
import '@expo/apple-utils/build/index.js';
|
|
@@ -30,8 +31,7 @@ import 'node:readline';
|
|
|
30
31
|
import 'node:url';
|
|
31
32
|
import 'readline-sync';
|
|
32
33
|
import 'isomorphic-git';
|
|
33
|
-
import '
|
|
34
|
-
import 'ini';
|
|
34
|
+
import 'stream';
|
|
35
35
|
import 'fs';
|
|
36
36
|
import 'path';
|
|
37
37
|
|
package/dist/commands/status.js
CHANGED
|
@@ -4,7 +4,7 @@ import 'node:fs';
|
|
|
4
4
|
import 'axios';
|
|
5
5
|
import 'crypto-js';
|
|
6
6
|
import 'uuid';
|
|
7
|
-
import { B as BaseCommand,
|
|
7
|
+
import { B as BaseCommand, k as isCWDGodotGame } from '../baseCommand-B23l0hCp.js';
|
|
8
8
|
import 'luxon';
|
|
9
9
|
import 'ink-spinner';
|
|
10
10
|
import 'node:crypto';
|
|
@@ -17,25 +17,25 @@ import '@oclif/core';
|
|
|
17
17
|
import '@tanstack/react-query';
|
|
18
18
|
import 'react';
|
|
19
19
|
import 'fast-glob';
|
|
20
|
-
import 'yazl';
|
|
21
20
|
import 'socket.io-client';
|
|
22
21
|
import 'fullscreen-ink';
|
|
22
|
+
import 'stream';
|
|
23
|
+
import 'yazl';
|
|
23
24
|
import 'string-length';
|
|
24
25
|
import 'strip-ansi';
|
|
25
26
|
import { S as StatusTable } from '../StatusTable-DzRWcMr4.js';
|
|
26
27
|
import 'open';
|
|
27
28
|
import '@inkjs/ui';
|
|
28
|
-
import '../baseGameCommand-
|
|
29
|
+
import '../baseGameCommand-P7Vyz2vZ.js';
|
|
29
30
|
import 'marked';
|
|
30
31
|
import 'marked-terminal';
|
|
31
32
|
import { N as NextSteps } from '../NextSteps-DbJHmscQ.js';
|
|
32
33
|
import 'qrcode';
|
|
33
|
-
import
|
|
34
|
+
import 'godot-export-presets';
|
|
35
|
+
import { C as Command } from '../Command-cqn3WLlP.js';
|
|
34
36
|
import chalk from 'chalk';
|
|
35
37
|
import '@expo/apple-utils/build/index.js';
|
|
36
38
|
import 'isomorphic-git';
|
|
37
|
-
import 'deepmerge';
|
|
38
|
-
import 'ini';
|
|
39
39
|
import '../Title-BCQtayg6.js';
|
|
40
40
|
import 'fs';
|
|
41
41
|
import 'path';
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { Flags } from '@oclif/core';
|
|
2
|
+
import 'node:fs';
|
|
3
|
+
import 'axios';
|
|
4
|
+
import 'crypto-js';
|
|
5
|
+
import 'uuid';
|
|
6
|
+
import { B as BaseCommand, i as isGradleBuildEnabled, s as setGradleBuildEnabled } from '../../baseCommand-B23l0hCp.js';
|
|
7
|
+
import 'luxon';
|
|
8
|
+
import 'react/jsx-runtime';
|
|
9
|
+
import 'ink';
|
|
10
|
+
import 'ink-spinner';
|
|
11
|
+
import 'node:crypto';
|
|
12
|
+
import 'node:path';
|
|
13
|
+
import 'node:readline';
|
|
14
|
+
import 'node:url';
|
|
15
|
+
import 'readline-sync';
|
|
16
|
+
import 'isomorphic-git';
|
|
17
|
+
import '@tanstack/react-query';
|
|
18
|
+
import 'react';
|
|
19
|
+
import 'fast-glob';
|
|
20
|
+
import 'socket.io-client';
|
|
21
|
+
import 'fullscreen-ink';
|
|
22
|
+
import 'stream';
|
|
23
|
+
import 'yazl';
|
|
24
|
+
import 'string-length';
|
|
25
|
+
import 'strip-ansi';
|
|
26
|
+
import 'open';
|
|
27
|
+
import '@inkjs/ui';
|
|
28
|
+
import '../../baseGameCommand-P7Vyz2vZ.js';
|
|
29
|
+
import 'marked';
|
|
30
|
+
import 'marked-terminal';
|
|
31
|
+
import 'qrcode';
|
|
32
|
+
import 'godot-export-presets';
|
|
33
|
+
import 'chalk';
|
|
34
|
+
import '@expo/apple-utils/build/index.js';
|
|
35
|
+
import 'fs';
|
|
36
|
+
import 'path';
|
|
37
|
+
|
|
38
|
+
class UtilAndroidBuildMethod extends BaseCommand {
|
|
39
|
+
static args = {};
|
|
40
|
+
static description = "Gets and sets the Android build method in export_presets.cfg";
|
|
41
|
+
static examples = [
|
|
42
|
+
"<%= config.bin %> <%= command.id %>",
|
|
43
|
+
"<%= config.bin %> <%= command.id %> --legacy",
|
|
44
|
+
"<%= config.bin %> <%= command.id %> --gradle"
|
|
45
|
+
];
|
|
46
|
+
static flags = {
|
|
47
|
+
legacy: Flags.boolean({ char: "l", description: "use legacy build method" }),
|
|
48
|
+
gradle: Flags.boolean({ char: "g", description: "use gradle build method" })
|
|
49
|
+
};
|
|
50
|
+
async run() {
|
|
51
|
+
const { flags } = await this.parse(UtilAndroidBuildMethod);
|
|
52
|
+
if (flags.legacy && flags.gradle) {
|
|
53
|
+
this.error("Cannot use both --legacy and --gradle flags together");
|
|
54
|
+
}
|
|
55
|
+
if (!flags.legacy && !flags.gradle) {
|
|
56
|
+
const buildMethod2 = await isGradleBuildEnabled() ? "gradle" : "legacy";
|
|
57
|
+
this.log(`Current Android build method: ${buildMethod2}`);
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
const isGradle = flags.gradle ? true : false;
|
|
61
|
+
const buildMethod = flags.legacy ? "legacy" : "gradle";
|
|
62
|
+
this.log(`Setting Android build method to: ${buildMethod}`);
|
|
63
|
+
await setGradleBuildEnabled(isGradle);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
export { UtilAndroidBuildMethod as default };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { B as BaseCommand } from '../../baseCommand-
|
|
1
|
+
import { B as BaseCommand } from '../../baseCommand-B23l0hCp.js';
|
|
2
2
|
import { Flags, Args } from '@oclif/core';
|
|
3
3
|
import * as fs from 'node:fs';
|
|
4
4
|
import * as path from 'node:path';
|
|
@@ -14,15 +14,15 @@ import 'node:readline';
|
|
|
14
14
|
import 'node:url';
|
|
15
15
|
import 'readline-sync';
|
|
16
16
|
import 'isomorphic-git';
|
|
17
|
-
import '
|
|
18
|
-
import 'ini';
|
|
17
|
+
import 'godot-export-presets';
|
|
19
18
|
import '@tanstack/react-query';
|
|
20
19
|
import 'react';
|
|
21
20
|
import 'fast-glob';
|
|
22
|
-
import 'yazl';
|
|
23
21
|
import 'socket.io-client';
|
|
24
22
|
import 'fullscreen-ink';
|
|
25
23
|
import 'ink';
|
|
24
|
+
import 'stream';
|
|
25
|
+
import 'yazl';
|
|
26
26
|
|
|
27
27
|
async function applyLiquidGlassIcon(opts) {
|
|
28
28
|
const { projectDir, iconDir, verbose } = opts;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as fs from 'node:fs';
|
|
2
2
|
import axios from 'axios';
|
|
3
|
-
import {
|
|
3
|
+
import { p as API_URL, q as getAuthedHeaders } from './baseCommand-B23l0hCp.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 {
|
|
3
|
+
import { p as API_URL, q as getAuthedHeaders } from './baseCommand-B23l0hCp.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,21 +8,22 @@ import 'node:path';
|
|
|
8
8
|
import 'node:readline';
|
|
9
9
|
import 'node:url';
|
|
10
10
|
import 'readline-sync';
|
|
11
|
-
import {
|
|
11
|
+
import { q as getAuthedHeaders, p as API_URL, a6 as castObjectDates, I as queryClient, S as revokePolicy, R as enforcePolicy, P as Platform, C as CredentialsType, O as getGoogleStatus, c as getShortDate } from './baseCommand-B23l0hCp.js';
|
|
12
12
|
import axios from 'axios';
|
|
13
13
|
import 'isomorphic-git';
|
|
14
14
|
import '@oclif/core';
|
|
15
15
|
import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';
|
|
16
16
|
import 'luxon';
|
|
17
|
-
import { k as cacheKeys,
|
|
17
|
+
import { k as cacheKeys, i as GameContext, t as useSafeInput, M as Markdown } from './baseGameCommand-P7Vyz2vZ.js';
|
|
18
18
|
import 'fast-glob';
|
|
19
19
|
import 'uuid';
|
|
20
|
-
import 'yazl';
|
|
21
20
|
import 'socket.io-client';
|
|
22
21
|
import 'fullscreen-ink';
|
|
23
|
-
import
|
|
24
|
-
import
|
|
25
|
-
import { u as
|
|
22
|
+
import 'stream';
|
|
23
|
+
import 'yazl';
|
|
24
|
+
import { u as useWebSocket } from './useWebSocket-Bvq2Wf7I.js';
|
|
25
|
+
import { u as useProjectCredentials } from './useProjectCredentials-DLYLMlJh.js';
|
|
26
|
+
import { u as useGoogleStatus } from './useGoogleStatus-rBDZt9tw.js';
|
|
26
27
|
import 'crypto-js';
|
|
27
28
|
import 'string-length';
|
|
28
29
|
import 'strip-ansi';
|
|
@@ -30,6 +31,7 @@ import 'open';
|
|
|
30
31
|
import '@inkjs/ui';
|
|
31
32
|
import { P as ProgressSpinner } from './ProgressSpinner-Um6ARKlk.js';
|
|
32
33
|
import 'qrcode';
|
|
34
|
+
import 'godot-export-presets';
|
|
33
35
|
|
|
34
36
|
async function fetchStatus({ projectId }) {
|
|
35
37
|
try {
|
|
@@ -12,21 +12,23 @@ import 'readline-sync';
|
|
|
12
12
|
import 'luxon';
|
|
13
13
|
import 'axios';
|
|
14
14
|
import 'isomorphic-git';
|
|
15
|
-
import { a3 as getShortAuthRequiredUrl,
|
|
15
|
+
import { a3 as getShortAuthRequiredUrl, a7 as getGoogleAuthUrl, W as WEB_URL } from './baseCommand-B23l0hCp.js';
|
|
16
16
|
import '@oclif/core';
|
|
17
17
|
import '@tanstack/react-query';
|
|
18
18
|
import 'crypto-js';
|
|
19
19
|
import 'uuid';
|
|
20
20
|
import 'fast-glob';
|
|
21
|
-
import 'yazl';
|
|
22
21
|
import 'socket.io-client';
|
|
23
|
-
import { u as useGoogleStatus } from './useGoogleStatus-
|
|
24
|
-
import { u as useWebSocket } from './useWebSocket-
|
|
22
|
+
import { u as useGoogleStatus } from './useGoogleStatus-rBDZt9tw.js';
|
|
23
|
+
import { u as useWebSocket } from './useWebSocket-Bvq2Wf7I.js';
|
|
25
24
|
import 'fullscreen-ink';
|
|
26
|
-
import {
|
|
25
|
+
import { i as GameContext, t as useSafeInput, M as Markdown } from './baseGameCommand-P7Vyz2vZ.js';
|
|
26
|
+
import 'stream';
|
|
27
|
+
import 'yazl';
|
|
27
28
|
import 'string-length';
|
|
28
29
|
import 'strip-ansi';
|
|
29
30
|
import '@inkjs/ui';
|
|
31
|
+
import 'godot-export-presets';
|
|
30
32
|
import 'marked';
|
|
31
33
|
import 'marked-terminal';
|
|
32
34
|
import qrcode from 'qrcode';
|