shipthis 0.1.38 → 0.1.41
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 +62 -5
- package/dist/{AppleBundleIdDetails-CgleH2pl.js → AppleBundleIdDetails-BJC7GCx_.js} +4 -3
- package/dist/{Command-7dCv1F9p.js → Command-Cj6F5B5a.js} +2 -1
- package/dist/{CommandGame-er5Ql6hq.js → CommandGame-CuvuH-z6.js} +2 -2
- package/dist/{Create-pLXESvEq.js → Create-pfGYcKu4.js} +2 -1
- package/dist/{GameStatus-B_Iw9tYr.js → GameStatus-ZSe-qG3y.js} +2 -1
- package/dist/{Import-fIsrfsmr.js → Import-D046HBaF.js} +3 -2
- package/dist/{JobLogTail-BPcQ8ghI.js → JobLogTail-Da8GuReK.js} +3 -2
- package/dist/{JobProgress-CpEatVPs.js → JobProgress-DltCQpzA.js} +9 -6
- package/dist/{JobStatusTable-BmJLzsUN.js → JobStatusTable-DVJjHw97.js} +3 -2
- package/dist/{ProjectCredentialsTable-DvPDhi7C.js → ProjectCredentialsTable-BJJz7W1P.js} +2 -2
- package/dist/{UserCredentialsTable-MBm1vAP3.js → UserCredentialsTable-CSynIVHU.js} +2 -1
- package/dist/{baseAppleCommand-uL0Gnav4.js → baseAppleCommand-Aq-Eaw_K.js} +1 -1
- package/dist/baseCommand-CTn3KGH3.js +787 -0
- package/dist/{baseGameAndroidCommand-CKTSQyZV.js → baseGameAndroidCommand-DRzVMKuG.js} +2 -1
- package/dist/{index-DHioYOIm.js → baseGameCommand-8VL7xe-O.js} +18 -749
- package/dist/commands/apiKey/create.js +6 -5
- package/dist/commands/apiKey/list.js +6 -5
- package/dist/commands/apiKey/revoke.js +6 -5
- package/dist/commands/apple/apiKey/create.js +13 -12
- package/dist/commands/apple/apiKey/delete.js +7 -6
- package/dist/commands/apple/apiKey/export.js +14 -13
- package/dist/commands/apple/apiKey/import.js +14 -13
- package/dist/commands/apple/apiKey/status.js +13 -12
- package/dist/commands/apple/certificate/create.js +13 -12
- package/dist/commands/apple/certificate/delete.js +7 -6
- package/dist/commands/apple/certificate/export.js +14 -13
- package/dist/commands/apple/certificate/import.js +14 -13
- package/dist/commands/apple/certificate/status.js +13 -12
- package/dist/commands/apple/login.js +4 -3
- package/dist/commands/apple/status.js +13 -12
- package/dist/commands/dashboard.js +9 -8
- package/dist/commands/game/android/apiKey/connect.js +11 -10
- package/dist/commands/game/android/apiKey/create.js +13 -12
- package/dist/commands/game/android/apiKey/delete.js +6 -5
- package/dist/commands/game/android/apiKey/export.js +13 -12
- package/dist/commands/game/android/apiKey/import.js +13 -12
- package/dist/commands/game/android/apiKey/invite.js +21 -20
- package/dist/commands/game/android/apiKey/policy.js +8 -7
- package/dist/commands/game/android/apiKey/status.js +13 -12
- package/dist/commands/game/android/keyStore/create.js +10 -9
- package/dist/commands/game/android/keyStore/delete.js +6 -5
- package/dist/commands/game/android/keyStore/export.js +12 -11
- package/dist/commands/game/android/keyStore/import.js +15 -14
- package/dist/commands/game/android/keyStore/status.js +15 -14
- package/dist/commands/game/android/status.js +7 -6
- package/dist/commands/game/build/download.js +6 -5
- package/dist/commands/game/build/list.js +11 -10
- package/dist/commands/game/create.js +5 -3
- package/dist/commands/game/details.js +15 -11
- package/dist/commands/game/export.js +4 -3
- package/dist/commands/game/ios/app/addTester.js +8 -7
- package/dist/commands/game/ios/app/create.js +7 -6
- package/dist/commands/game/ios/app/status.js +13 -12
- package/dist/commands/game/ios/app/sync.js +11 -10
- package/dist/commands/game/ios/profile/create.js +9 -8
- package/dist/commands/game/ios/profile/delete.js +9 -8
- package/dist/commands/game/ios/profile/export.js +12 -11
- package/dist/commands/game/ios/profile/import.js +12 -11
- package/dist/commands/game/ios/profile/status.js +13 -12
- package/dist/commands/game/ios/status.js +17 -16
- package/dist/commands/game/ios/wizard.js +13 -11
- package/dist/commands/game/job/list.js +6 -5
- package/dist/commands/game/job/status.js +11 -10
- package/dist/commands/game/list.js +6 -5
- package/dist/commands/game/ship.js +15 -9
- package/dist/commands/game/status.js +14 -13
- package/dist/commands/game/wizard.js +30 -28
- package/dist/commands/internal/fastlane.js +14 -13
- package/dist/commands/internal/readme.js +18 -17
- package/dist/commands/login.js +20 -19
- package/dist/commands/status.js +9 -8
- package/dist/commands/util/glass.js +119 -0
- package/dist/{export-BwwAjG_F.js → export-DtATljiz.js} +1 -1
- package/dist/{import-OgFrUsqw.js → import-Dk2ywOVU.js} +1 -1
- package/dist/{index-C2omlhEs.js → index-BW7z-5sB.js} +1 -1
- package/dist/{index-DVEYxVsH.js → index-CuyVBHWc.js} +4 -3
- package/dist/{index-C1XpCT_9.js → index-cRnjcGxV.js} +5 -4
- package/dist/{upload-5s3sy2jF.js → upload-CHaDSvvi.js} +1 -1
- package/dist/{useAppleApp-szQ_Kg5S.js → useAppleApp-CR847GWc.js} +1 -1
- package/dist/{useAppleBundleId-BarLcidd.js → useAppleBundleId-BnwPmVEu.js} +1 -1
- package/dist/{useAppleProfiles-C2U4NzC3.js → useAppleProfiles-DY-H0420.js} +1 -1
- package/dist/{useGoogleStatus-zfnjhtNB.js → useGoogleStatus-WqPgHteE.js} +2 -1
- package/dist/{useProjectCredentials-DbynNY96.js → useProjectCredentials-TvlolkId.js} +2 -1
- package/dist/{useWebSocket-h7smqhZQ.js → useWebSocket-MXDbQHcu.js} +1 -1
- package/docs/README.md +1 -0
- package/docs/game/ship.md +36 -13
- package/docs/util/glass.md +47 -0
- package/docs/util.md +11 -0
- package/package.json +3 -1
package/README.md
CHANGED
|
@@ -106,13 +106,13 @@ We support **all stable Godot versions since 3.6**, including:
|
|
|
106
106
|
|
|
107
107
|
| [3.6](https://github.com/godotengine/godot/releases/tag/3.6-stable) | [4.0](https://github.com/godotengine/godot/releases/tag/4.0-stable) | [4.1](https://github.com/godotengine/godot/releases/tag/4.1-stable) | [4.2](https://github.com/godotengine/godot/releases/tag/4.2-stable) | [4.3](https://github.com/godotengine/godot/releases/tag/4.3-stable) | [4.4](https://github.com/godotengine/godot/releases/tag/4.4-stable) | [4.5](https://github.com/godotengine/godot/releases/tag/4.5-stable) |
|
|
108
108
|
| ----------------------------------------------------------------------- | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ----------------------------------------------------------------------- |
|
|
109
|
-
| [3.6.1](https://github.com/godotengine/godot/releases/tag/3.6.1-stable) | [4.0.1](https://github.com/godotengine/godot/releases/tag/4.0.1-stable) | [4.1.1](https://github.com/godotengine/godot/releases/tag/4.1.1-stable) | [4.2.1](https://github.com/godotengine/godot/releases/tag/4.2.1-stable) | [4.3.1 *](https://github.com/shipth-is/godot-android-sdk-upgrade/releases/tag/4.3.1) | [4.4.1](https://github.com/godotengine/godot/releases/tag/4.4.1-stable) | [4.5.1](https://github.com/godotengine/godot/releases/tag/4.5.1-stable) |
|
|
110
|
-
| [3.6.2](https://github.com/godotengine/godot/releases/tag/3.6.2-stable) | [4.0.2](https://github.com/godotengine/godot/releases/tag/4.0.2-stable) | [4.1.2](https://github.com/godotengine/godot/releases/tag/4.1.2-stable) | [4.2.2](https://github.com/godotengine/godot/releases/tag/4.2.2-stable) | | [4.4.2 *](https://github.com/shipth-is/godot-android-sdk-upgrade/releases/tag/4.4.2) | |
|
|
111
|
-
| | [4.0.3](https://github.com/godotengine/godot/releases/tag/4.0.3-stable) | [4.1.3](https://github.com/godotengine/godot/releases/tag/4.1.3-stable) | [4.2.3 *](https://github.com/shipth-is/godot-android-sdk-upgrade/releases/tag/4.2.3) | | | |
|
|
109
|
+
| [3.6.1](https://github.com/godotengine/godot/releases/tag/3.6.1-stable) | [4.0.1](https://github.com/godotengine/godot/releases/tag/4.0.1-stable) | [4.1.1](https://github.com/godotengine/godot/releases/tag/4.1.1-stable) | [4.2.1](https://github.com/godotengine/godot/releases/tag/4.2.1-stable) | [4.3.1 *](https://github.com/shipth-is/godot-android-sdk-upgrade/releases/tag/4.3.1-28eb575) | [4.4.1](https://github.com/godotengine/godot/releases/tag/4.4.1-stable) | [4.5.1](https://github.com/godotengine/godot/releases/tag/4.5.1-stable) |
|
|
110
|
+
| [3.6.2](https://github.com/godotengine/godot/releases/tag/3.6.2-stable) | [4.0.2](https://github.com/godotengine/godot/releases/tag/4.0.2-stable) | [4.1.2](https://github.com/godotengine/godot/releases/tag/4.1.2-stable) | [4.2.2](https://github.com/godotengine/godot/releases/tag/4.2.2-stable) | | [4.4.2 *](https://github.com/shipth-is/godot-android-sdk-upgrade/releases/tag/4.4.2-ca113b3) | |
|
|
111
|
+
| | [4.0.3](https://github.com/godotengine/godot/releases/tag/4.0.3-stable) | [4.1.3](https://github.com/godotengine/godot/releases/tag/4.1.3-stable) | [4.2.3 *](https://github.com/shipth-is/godot-android-sdk-upgrade/releases/tag/4.2.3-d33f443) | | | |
|
|
112
112
|
| | [4.0.4](https://github.com/godotengine/godot/releases/tag/4.0.4-stable) | [4.1.4](https://github.com/godotengine/godot/releases/tag/4.1.4-stable) | | | | |
|
|
113
|
-
| | [4.0.5 *](https://github.com/shipth-is/godot-android-sdk-upgrade/releases/tag/4.0.5) | [4.1.5 *](https://github.com/shipth-is/godot-android-sdk-upgrade/releases/tag/4.1.5) | | | | |
|
|
113
|
+
| | [4.0.5 *](https://github.com/shipth-is/godot-android-sdk-upgrade/releases/tag/4.0.5-df6989b) | [4.1.5 *](https://github.com/shipth-is/godot-android-sdk-upgrade/releases/tag/4.1.5-b68debd) | | | | |
|
|
114
114
|
|
|
115
|
-
**\* Custom builds** - [maintained by us](https://github.com/shipth-is/godot-android-sdk-upgrade/) to support **Android SDK 35**.
|
|
115
|
+
**\* Custom builds** - [maintained by us](https://github.com/shipth-is/godot-android-sdk-upgrade/) to support **[Android SDK 35](https://support.google.com/googleplay/android-developer/answer/11926878?hl=en)** and **[16 KB Google Play compatibility requirement](https://developer.android.com/guide/practices/page-sizes)**.
|
|
116
116
|
|
|
117
117
|
You can read more in our [Godot versioning guide](https://shipth.is/docs/guides/godot-versioning?ref=github_readme).
|
|
118
118
|
|
|
@@ -334,6 +334,17 @@ For GitHub users, we provide an official **GitHub Action** for easy integration:
|
|
|
334
334
|
|
|
335
335
|
See the [API Keys documentation](https://shipth.is/docs/reference/apiKey/?ref=github_readme) for more information.
|
|
336
336
|
|
|
337
|
+
### Can I use a Liquid Glass icon with my game on iOS?
|
|
338
|
+
|
|
339
|
+
ShipThis enables the use of Liquid Glass icons with your game. These can be applied in two ways:
|
|
340
|
+
|
|
341
|
+
- To a local iOS export of a Godot project
|
|
342
|
+
- using the command `shipthis util glass ios/output.xcodeproj MyIcon.icon`
|
|
343
|
+
- To a game built using the ShipThis build servers
|
|
344
|
+
- using the command `shipthis game details --liquidGlassIconPath ./Example.icon`
|
|
345
|
+
|
|
346
|
+
You can read more in our [Liquid Glass icons guide](https://shipth.is/docs/guides/liquid-glass?ref=github_readme).
|
|
347
|
+
|
|
337
348
|
### How are my credentials stored and secured?
|
|
338
349
|
|
|
339
350
|
ShipThis uses short-lived, signed URLs and ephemeral build environments.
|
|
@@ -351,6 +362,52 @@ We store:
|
|
|
351
362
|
- App Store Connect API keys
|
|
352
363
|
- iOS distribution certificates
|
|
353
364
|
|
|
365
|
+
### What happens to my files when I run the command `shipthis game ship`?
|
|
366
|
+
|
|
367
|
+
#### 1. Uploading your game files
|
|
368
|
+
|
|
369
|
+
When you run the command, the CLI asks the ShipThis backend for a secure (HTTPS) temporary upload URL.
|
|
370
|
+
Your game files are packaged locally on your machine:
|
|
371
|
+
|
|
372
|
+
- Files matching `shippedFilesGlobs` in `shipthis.json` are included
|
|
373
|
+
- Files matching `ignoredFilesGlobs` are excluded
|
|
374
|
+
|
|
375
|
+
The zip file is then uploaded directly from your computer to a private DigitalOcean Space using the temporary upload URL.
|
|
376
|
+
|
|
377
|
+
#### 2. Where the files are stored
|
|
378
|
+
|
|
379
|
+
The uploaded zip lives in a private DigitalOcean Space. The space is not public and cannot be browsed.
|
|
380
|
+
|
|
381
|
+
Files in this storage can only be accessed using signed URLs that expire after a short time. Those URLs are generated only when they are needed.
|
|
382
|
+
|
|
383
|
+
This storage is used for:
|
|
384
|
+
|
|
385
|
+
- Providing a build machine access to your game files
|
|
386
|
+
- Storing the resulting build outputs (APK/AAB/IPA)
|
|
387
|
+
|
|
388
|
+
#### 3. How build machines access your code
|
|
389
|
+
|
|
390
|
+
Build machines do not have general access to storage of game files or credentials.
|
|
391
|
+
|
|
392
|
+
When a machine is ready to run a job, it asks the backend for work. The job it receives includes a temporary, signed download URL for the zip containing the game files. The machine downloads the zip, extracts it, runs the build, and uploads the results using signed upload URLs provided in the job metadata.
|
|
393
|
+
|
|
394
|
+
Build machines cannot browse files or access anything outside the job that they are currently running.
|
|
395
|
+
|
|
396
|
+
#### 4. Cleanup after the build
|
|
397
|
+
|
|
398
|
+
After a build machine has completed a job, a cleanup routine is run which deletes:
|
|
399
|
+
|
|
400
|
+
- Downloaded and extracted game files
|
|
401
|
+
- Build intermediates
|
|
402
|
+
- Temporary files
|
|
403
|
+
|
|
404
|
+
The build machines do not keep user files after a job completes.
|
|
405
|
+
|
|
406
|
+
#### 5. Retention and deletion
|
|
407
|
+
|
|
408
|
+
- Uploaded game file zips and build outputs (APK/AAB/IPA) are retained for **30 days**
|
|
409
|
+
- A lifecycle policy set on the storage automatically deletes them after that period
|
|
410
|
+
|
|
354
411
|
## 📖 Command Reference
|
|
355
412
|
|
|
356
413
|
### 🗂 Topics
|
|
@@ -11,13 +11,13 @@ import 'readline-sync';
|
|
|
11
11
|
import 'luxon';
|
|
12
12
|
import 'axios';
|
|
13
13
|
import 'isomorphic-git';
|
|
14
|
-
import './
|
|
14
|
+
import './baseCommand-CTn3KGH3.js';
|
|
15
15
|
import '@oclif/core';
|
|
16
16
|
import '@tanstack/react-query';
|
|
17
17
|
import 'react';
|
|
18
18
|
import 'crypto-js';
|
|
19
19
|
import 'uuid';
|
|
20
|
-
import { u as useAppleApp } from './useAppleApp-
|
|
20
|
+
import { u as useAppleApp } from './useAppleApp-CR847GWc.js';
|
|
21
21
|
import 'fast-glob';
|
|
22
22
|
import 'yazl';
|
|
23
23
|
import 'socket.io-client';
|
|
@@ -27,10 +27,11 @@ import { T as Title } from './Title-BCQtayg6.js';
|
|
|
27
27
|
import 'string-length';
|
|
28
28
|
import 'strip-ansi';
|
|
29
29
|
import 'open';
|
|
30
|
+
import './baseGameCommand-8VL7xe-O.js';
|
|
30
31
|
import 'marked';
|
|
31
32
|
import 'marked-terminal';
|
|
32
33
|
import 'qrcode';
|
|
33
|
-
import { u as useAppleBundleId } from './useAppleBundleId-
|
|
34
|
+
import { u as useAppleBundleId } from './useAppleBundleId-BnwPmVEu.js';
|
|
34
35
|
|
|
35
36
|
const AppleAppDetails = (props) => {
|
|
36
37
|
const { data, isLoading } = useAppleApp(props);
|
|
@@ -2,7 +2,7 @@ import { jsx } from 'react/jsx-runtime';
|
|
|
2
2
|
import { QueryClientProvider } from '@tanstack/react-query';
|
|
3
3
|
import { useScreenSize } from 'fullscreen-ink';
|
|
4
4
|
import { Box } from 'ink';
|
|
5
|
-
import {
|
|
5
|
+
import { H as queryClient } from './baseCommand-CTn3KGH3.js';
|
|
6
6
|
import 'axios';
|
|
7
7
|
import 'node:fs';
|
|
8
8
|
import 'crypto-js';
|
|
@@ -19,6 +19,7 @@ import 'react';
|
|
|
19
19
|
import 'socket.io-client';
|
|
20
20
|
import 'fast-glob';
|
|
21
21
|
import 'yazl';
|
|
22
|
+
import { i as CommandProvider } from './baseGameCommand-8VL7xe-O.js';
|
|
22
23
|
|
|
23
24
|
const Command = ({ children, command }) => {
|
|
24
25
|
const { width } = useScreenSize();
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
|
-
import {
|
|
3
|
-
import { C as Command } from './Command-
|
|
2
|
+
import { j as GameProvider } from './baseGameCommand-8VL7xe-O.js';
|
|
3
|
+
import { C as Command } from './Command-Cj6F5B5a.js';
|
|
4
4
|
|
|
5
5
|
const CommandGame = ({ children, command }) => /* @__PURE__ */ jsx(Command, { command, children: /* @__PURE__ */ jsx(GameProvider, { children }) });
|
|
6
6
|
|
|
@@ -3,7 +3,7 @@ import { useQueryClient } from '@tanstack/react-query';
|
|
|
3
3
|
import axios from 'axios';
|
|
4
4
|
import { Box } from 'ink';
|
|
5
5
|
import { useContext } from 'react';
|
|
6
|
-
import {
|
|
6
|
+
import { p as getAuthedHeaders, o as API_URL } from './baseCommand-CTn3KGH3.js';
|
|
7
7
|
import 'ink-spinner';
|
|
8
8
|
import 'node:crypto';
|
|
9
9
|
import 'node:fs';
|
|
@@ -14,6 +14,7 @@ import 'readline-sync';
|
|
|
14
14
|
import 'luxon';
|
|
15
15
|
import 'isomorphic-git';
|
|
16
16
|
import '@oclif/core';
|
|
17
|
+
import { G as GameContext, k as cacheKeys } from './baseGameCommand-8VL7xe-O.js';
|
|
17
18
|
import 'fast-glob';
|
|
18
19
|
import 'uuid';
|
|
19
20
|
import 'yazl';
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
2
|
import { Text, Box } from 'ink';
|
|
3
3
|
import { useState, useEffect, useContext } from 'react';
|
|
4
|
-
import {
|
|
4
|
+
import { c as getShortDate, P as Platform, k as getProject, E as getProjectPlatformProgress } from './baseCommand-CTn3KGH3.js';
|
|
5
5
|
import 'ink-spinner';
|
|
6
|
+
import { g as getShortUUID, m as makeHumanReadable, G as GameContext, C as CommandContext } from './baseGameCommand-8VL7xe-O.js';
|
|
6
7
|
import '@tanstack/react-query';
|
|
7
8
|
import 'axios';
|
|
8
9
|
import 'luxon';
|
|
@@ -11,7 +11,7 @@ import 'readline-sync';
|
|
|
11
11
|
import 'luxon';
|
|
12
12
|
import 'axios';
|
|
13
13
|
import 'isomorphic-git';
|
|
14
|
-
import {
|
|
14
|
+
import { H as queryClient, P as Platform, C as CredentialsType } from './baseCommand-CTn3KGH3.js';
|
|
15
15
|
import '@oclif/core';
|
|
16
16
|
import { useMutation } from '@tanstack/react-query';
|
|
17
17
|
import 'crypto-js';
|
|
@@ -24,10 +24,11 @@ import 'string-length';
|
|
|
24
24
|
import 'strip-ansi';
|
|
25
25
|
import 'open';
|
|
26
26
|
import '@inkjs/ui';
|
|
27
|
+
import { k as cacheKeys, G as GameContext } from './baseGameCommand-8VL7xe-O.js';
|
|
27
28
|
import 'marked';
|
|
28
29
|
import 'marked-terminal';
|
|
29
30
|
import 'qrcode';
|
|
30
|
-
import { i as importCredential } from './import-
|
|
31
|
+
import { i as importCredential } from './import-Dk2ywOVU.js';
|
|
31
32
|
|
|
32
33
|
async function importKeystore({ log = () => {
|
|
33
34
|
}, ...opt }) {
|
|
@@ -7,7 +7,8 @@ import { useState, useRef, useEffect } from 'react';
|
|
|
7
7
|
import 'node:fs';
|
|
8
8
|
import 'crypto-js';
|
|
9
9
|
import 'uuid';
|
|
10
|
-
import {
|
|
10
|
+
import { p as getAuthedHeaders, o as API_URL, F as castArrayObjectDates, J as JobStatus, a6 as castJobDates, a4 as castObjectDates, a7 as getShortTime } from './baseCommand-CTn3KGH3.js';
|
|
11
|
+
import { k as cacheKeys, x as useJob, h as getStageColor, y as getMessageColor } from './baseGameCommand-8VL7xe-O.js';
|
|
11
12
|
import 'luxon';
|
|
12
13
|
import 'fast-glob';
|
|
13
14
|
import 'yazl';
|
|
@@ -20,7 +21,7 @@ import 'readline-sync';
|
|
|
20
21
|
import 'isomorphic-git';
|
|
21
22
|
import '@oclif/core';
|
|
22
23
|
import 'fullscreen-ink';
|
|
23
|
-
import { u as useWebSocket } from './useWebSocket-
|
|
24
|
+
import { u as useWebSocket } from './useWebSocket-MXDbQHcu.js';
|
|
24
25
|
import { T as Title } from './Title-BCQtayg6.js';
|
|
25
26
|
import stringLength from 'string-length';
|
|
26
27
|
import stripAnsi from 'strip-ansi';
|
|
@@ -4,7 +4,8 @@ import axios from 'axios';
|
|
|
4
4
|
import fg from 'fast-glob';
|
|
5
5
|
import { v4 } from 'uuid';
|
|
6
6
|
import { ZipFile } from 'yazl';
|
|
7
|
-
import {
|
|
7
|
+
import { H as queryClient, k as getProject, v as DEFAULT_SHIPPED_FILES_GLOBS, w as DEFAULT_IGNORED_FILES_GLOBS, a0 as getNewUploadTicket, a1 as startJobsFromUpload } from './baseCommand-CTn3KGH3.js';
|
|
8
|
+
import { k as cacheKeys, s as getFileHash, t as getPlatformName } from './baseGameCommand-8VL7xe-O.js';
|
|
8
9
|
import { g as getCWDGitInfo } from './git-BpsfNFZ_.js';
|
|
9
10
|
import { jsx, Fragment } from 'react/jsx-runtime';
|
|
10
11
|
import 'ink';
|
|
@@ -13,7 +14,7 @@ import 'react';
|
|
|
13
14
|
import 'crypto-js';
|
|
14
15
|
import 'luxon';
|
|
15
16
|
import 'socket.io-client';
|
|
16
|
-
import { u as useJobWatching } from './JobLogTail-
|
|
17
|
+
import { u as useJobWatching } from './JobLogTail-Da8GuReK.js';
|
|
17
18
|
import 'fullscreen-ink';
|
|
18
19
|
import 'string-length';
|
|
19
20
|
import 'strip-ansi';
|
|
@@ -33,10 +34,11 @@ async function ship({ command, log = () => {
|
|
|
33
34
|
verbose && log("Fetching game config...");
|
|
34
35
|
const projectConfig = await command.getProjectConfig();
|
|
35
36
|
if (!projectConfig.project) throw new Error("No project found in project config");
|
|
36
|
-
const
|
|
37
|
+
const project = await getProject(projectConfig.project.id);
|
|
38
|
+
const projectUsesDemoCredentials = Boolean(project.details?.useDemoCredentials);
|
|
37
39
|
const isUsingDemoCredentials = useDemoCredentials ?? projectUsesDemoCredentials ?? false;
|
|
38
|
-
const hasConfiguredIos = Boolean(
|
|
39
|
-
const hasConfiguredAndroid = Boolean(
|
|
40
|
+
const hasConfiguredIos = Boolean(project.details?.iosBundleId);
|
|
41
|
+
const hasConfiguredAndroid = Boolean(project.details?.androidPackageName);
|
|
40
42
|
if (!isUsingDemoCredentials && !hasConfiguredAndroid && !hasConfiguredIos) {
|
|
41
43
|
throw new Error(
|
|
42
44
|
"No Android or iOS configuration found. Please run `shipthis game wizard android` or `shipthis game wizard ios` to configure your game."
|
|
@@ -86,7 +88,8 @@ async function ship({ command, log = () => {
|
|
|
86
88
|
platform: finalFlags.platform?.toUpperCase(),
|
|
87
89
|
skipPublish: finalFlags.skipPublish,
|
|
88
90
|
verbose: finalFlags.verbose,
|
|
89
|
-
useDemoCredentials: isUsingDemoCredentials
|
|
91
|
+
useDemoCredentials: isUsingDemoCredentials,
|
|
92
|
+
gameEngineVersion: finalFlags.gameEngineVersion
|
|
90
93
|
};
|
|
91
94
|
const jobs = await startJobsFromUpload(uploadTicket.id, startJobsOptions);
|
|
92
95
|
verbose && log("Cleaning up temporary zip file...");
|
|
@@ -3,16 +3,17 @@ import { Box, Text } from 'ink';
|
|
|
3
3
|
import Spinner from 'ink-spinner';
|
|
4
4
|
import { DateTime } from 'luxon';
|
|
5
5
|
import { useState, useEffect } from 'react';
|
|
6
|
-
import {
|
|
6
|
+
import { J as JobStatus } from './baseCommand-CTn3KGH3.js';
|
|
7
7
|
import '@tanstack/react-query';
|
|
8
8
|
import 'axios';
|
|
9
9
|
import 'node:fs';
|
|
10
10
|
import 'crypto-js';
|
|
11
11
|
import 'uuid';
|
|
12
|
+
import { e as getJobSummary, h as getStageColor, f as getJobStatusColor } from './baseGameCommand-8VL7xe-O.js';
|
|
12
13
|
import 'fast-glob';
|
|
13
14
|
import 'yazl';
|
|
14
15
|
import 'socket.io-client';
|
|
15
|
-
import { u as useJobWatching } from './JobLogTail-
|
|
16
|
+
import { u as useJobWatching } from './JobLogTail-Da8GuReK.js';
|
|
16
17
|
import 'fullscreen-ink';
|
|
17
18
|
import { a as StatusRow, b as StatusRowLabel } from './StatusTable-DzRWcMr4.js';
|
|
18
19
|
import { T as Title } from './Title-BCQtayg6.js';
|
|
@@ -10,13 +10,13 @@ import 'readline-sync';
|
|
|
10
10
|
import 'luxon';
|
|
11
11
|
import 'axios';
|
|
12
12
|
import 'isomorphic-git';
|
|
13
|
-
import './
|
|
13
|
+
import './baseCommand-CTn3KGH3.js';
|
|
14
14
|
import '@oclif/core';
|
|
15
15
|
import '@tanstack/react-query';
|
|
16
16
|
import 'react';
|
|
17
17
|
import 'crypto-js';
|
|
18
18
|
import 'uuid';
|
|
19
|
-
import { u as useProjectCredentials, g as getProjectCredentialSummary } from './useProjectCredentials-
|
|
19
|
+
import { u as useProjectCredentials, g as getProjectCredentialSummary } from './useProjectCredentials-TvlolkId.js';
|
|
20
20
|
import 'fast-glob';
|
|
21
21
|
import 'yazl';
|
|
22
22
|
import 'socket.io-client';
|
|
@@ -10,7 +10,7 @@ import 'readline-sync';
|
|
|
10
10
|
import 'luxon';
|
|
11
11
|
import axios from 'axios';
|
|
12
12
|
import 'isomorphic-git';
|
|
13
|
-
import {
|
|
13
|
+
import { c as getShortDate, p as getAuthedHeaders, o as API_URL, F as castArrayObjectDates } from './baseCommand-CTn3KGH3.js';
|
|
14
14
|
import '@oclif/core';
|
|
15
15
|
import { useQuery } from '@tanstack/react-query';
|
|
16
16
|
import 'react';
|
|
@@ -18,6 +18,7 @@ import 'crypto-js';
|
|
|
18
18
|
import 'uuid';
|
|
19
19
|
import 'fast-glob';
|
|
20
20
|
import 'yazl';
|
|
21
|
+
import { k as cacheKeys, g as getShortUUID } from './baseGameCommand-8VL7xe-O.js';
|
|
21
22
|
import 'socket.io-client';
|
|
22
23
|
import 'fullscreen-ink';
|
|
23
24
|
import { T as Table } from './Table-FaNgpyeq.js';
|