shipthis 0.1.16 → 0.1.18

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.
Files changed (55) hide show
  1. package/README.md +5 -1
  2. package/assets/markdown/create-or-import-keystore.md +1 -1
  3. package/dist/{AppleBundleIdDetails-DxWVnxa5.js → AppleBundleIdDetails-D41xptO8.js} +1 -1
  4. package/dist/{Command-zfJ7qIJI.js → Command-DdJBwDHu.js} +18 -5
  5. package/dist/{CommandGame-DVsNreSF.js → CommandGame-ClEQvI36.js} +1 -1
  6. package/dist/{Create-DdF29mIS.js → Create-C-7pvYVd.js} +1 -1
  7. package/dist/{Import-D8ik724M.js → Import-BfcHPxoi.js} +1 -1
  8. package/dist/{JobProgress-D1Pe4YJc.js → JobProgress-CICU69cf.js} +2 -2
  9. package/dist/{JobStatusTable-D-daiV-I.js → JobStatusTable-CpPlQBqR.js} +2 -2
  10. package/dist/commands/apple/apiKey/create.js +1 -1
  11. package/dist/commands/apple/apiKey/export.js +1 -1
  12. package/dist/commands/apple/apiKey/import.js +1 -1
  13. package/dist/commands/apple/apiKey/status.js +1 -1
  14. package/dist/commands/apple/certificate/create.js +1 -1
  15. package/dist/commands/apple/certificate/export.js +1 -1
  16. package/dist/commands/apple/certificate/import.js +1 -1
  17. package/dist/commands/apple/certificate/status.js +1 -1
  18. package/dist/commands/apple/status.js +1 -1
  19. package/dist/commands/game/android/apiKey/connect.js +3 -3
  20. package/dist/commands/game/android/apiKey/create.js +3 -3
  21. package/dist/commands/game/android/apiKey/export.js +1 -1
  22. package/dist/commands/game/android/apiKey/import.js +1 -1
  23. package/dist/commands/game/android/apiKey/status.js +1 -1
  24. package/dist/commands/game/android/keyStore/create.js +3 -3
  25. package/dist/commands/game/android/keyStore/export.js +1 -1
  26. package/dist/commands/game/android/keyStore/import.js +3 -3
  27. package/dist/commands/game/android/keyStore/status.js +1 -1
  28. package/dist/commands/game/android/status.js +1 -1
  29. package/dist/commands/game/build/download.js +1 -1
  30. package/dist/commands/game/build/list.js +2 -2
  31. package/dist/commands/game/details.js +1 -1
  32. package/dist/commands/game/ios/app/addTester.js +1 -1
  33. package/dist/commands/game/ios/app/create.js +1 -1
  34. package/dist/commands/game/ios/app/status.js +2 -2
  35. package/dist/commands/game/ios/app/sync.js +1 -1
  36. package/dist/commands/game/ios/profile/create.js +1 -1
  37. package/dist/commands/game/ios/profile/export.js +1 -1
  38. package/dist/commands/game/ios/profile/import.js +1 -1
  39. package/dist/commands/game/ios/profile/status.js +1 -1
  40. package/dist/commands/game/ios/status.js +2 -2
  41. package/dist/commands/game/job/list.js +1 -1
  42. package/dist/commands/game/job/status.js +3 -3
  43. package/dist/commands/game/list.js +1 -1
  44. package/dist/commands/game/ship.js +5 -5
  45. package/dist/commands/game/status.js +1 -1
  46. package/dist/commands/game/wizard.js +74 -11
  47. package/dist/commands/status.js +1 -1
  48. package/dist/{index-BVvcTBnj.js → index-DlvM24jQ.js} +1 -1
  49. package/dist/{index-Cx_2qTdS.js → index-_Lan5Hud.js} +1 -1
  50. package/dist/{useJobWatching-DS0qHqPA.js → useJobWatching-W6FYJEPP.js} +1 -1
  51. package/npm-shrinkwrap.json +2 -2
  52. package/oclif.manifest.json +1 -1
  53. package/package.json +1 -1
  54. package/docs/assets/ship-output.gif +0 -0
  55. package/docs/assets/ship-outputx0.5.gif +0 -0
package/README.md CHANGED
@@ -11,8 +11,12 @@
11
11
  </a>
12
12
  </h1>
13
13
  <p align="center">
14
- <em><b>ShipThis</b> is a <b>command line tool</b> which manages building and uploading your <a href="https://godotengine.org/">Godot</a> mobile games to the <b>Apple App Store</b> and <b>Google Play</b>. Designed to compile and upload your Godot games in the cloud, meaning <b>you do not need to install or run Xcode or Android Studio to release an iOS or Android game</b>.</em>
14
+ <em><b>ShipThis</b> is a <b>command line tool</b> which manages building and uploading your <a href="https://godotengine.org/">Godot</a> mobile games to the <b>Apple App Store</b> and <b>Google Play</b>.</em>
15
15
  </p>
16
+ <p align="center">
17
+ <em><b>ShipThis compiles and uploads your Godot games in the cloud, meaning</b> you do not need to install or run Xcode or Android Studio to ship a Godot iOS/Android game.</em>
18
+ </p>
19
+
16
20
 
17
21
  <p align="center">
18
22
  <picture>
@@ -2,6 +2,6 @@
2
2
 
3
3
  ShipThis can create an **Android Keystore file** for you, which is used by Google Play to verify that you are the known uploader of your game. This keystore is called the upload key. After you upload a new build, Google Play internally processes and re-signs the app for Distribution with a different key called the Google Play signing key.
4
4
 
5
- Read more at [https://developer.android.com/privacy-and-security/keystore](https://developer.android.com/privacy-and-security/keystore)
5
+ - Read more at https://developer.android.com/privacy-and-security/keystore
6
6
 
7
7
  **Note: If you have previously published your game to Google Play, then you may want to import an existing keystore file.**
@@ -21,7 +21,7 @@ import { u as useAppleApp } from './useAppleApp-DcSr-q-w.js';
21
21
  import 'fast-glob';
22
22
  import 'yazl';
23
23
  import '@inkjs/ui';
24
- import './Command-zfJ7qIJI.js';
24
+ import './Command-DdJBwDHu.js';
25
25
  import 'open';
26
26
  import { T as Table } from './Table-CvM6pccN.js';
27
27
  import { T as Title } from './Title-BCQtayg6.js';
@@ -134,14 +134,27 @@ const GameProvider = ({ children }) => {
134
134
  return /* @__PURE__ */ jsx(GameContext.Provider, { value: { gameId, game, setGameId }, children });
135
135
  };
136
136
 
137
+ const cleanHyperlinks = (input) => {
138
+ return input.replace(/\x1b]8;;[^\x07]*\x07/g, "").replace(/\x1b]8;;\x07/g, "");
139
+ };
137
140
  const entrypointPath = fs__default.realpathSync(process.argv[1]);
138
141
  const root = path.dirname(entrypointPath);
139
142
  const Markdown = ({ filename, templateVars, ...options }) => {
140
- setOptions({ renderer: new TerminalRenderer(options) });
141
- const mdPath = path.join(root, "..", "assets", "markdown", filename);
142
- const mdTemplate = fs__default.readFileSync(mdPath, "utf8").trim();
143
- const markdown = !templateVars ? mdTemplate : mdTemplate.replace(/\${(.*?)}/g, (_, key) => templateVars[key.trim()] || "");
144
- return /* @__PURE__ */ jsx(Text, { children: parse(markdown).trim() });
143
+ const [text, setText] = useState("");
144
+ useEffect(() => {
145
+ setOptions({
146
+ renderer: new TerminalRenderer({
147
+ ...options
148
+ })
149
+ });
150
+ const mdPath = path.join(root, "..", "assets", "markdown", filename);
151
+ const mdTemplate = fs__default.readFileSync(mdPath, "utf8").trim();
152
+ const markdown = !templateVars ? mdTemplate : mdTemplate.replace(/\${(.*?)}/g, (_, key) => templateVars[key.trim()] || "");
153
+ const rendered = parse(markdown).trim();
154
+ const cleaned = cleanHyperlinks(rendered);
155
+ setText(cleaned);
156
+ }, [filename, templateVars, options]);
157
+ return /* @__PURE__ */ jsx(Text, { children: text });
145
158
  };
146
159
 
147
160
  scriptDir(import.meta);
@@ -1,5 +1,5 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
- import { C as Command, G as GameProvider } from './Command-zfJ7qIJI.js';
2
+ import { C as Command, G as GameProvider } from './Command-DdJBwDHu.js';
3
3
 
4
4
  const CommandGame = ({ children, command }) => {
5
5
  return /* @__PURE__ */ jsx(Command, { command, children: /* @__PURE__ */ jsx(GameProvider, { children }) });
@@ -5,7 +5,7 @@ import { useContext } from 'react';
5
5
  import { useQueryClient } from '@tanstack/react-query';
6
6
  import { p as getAuthedHeaders, q as API_URL } from './index-Dhx6FAHt.js';
7
7
  import { c as cacheKeys } from './useAndroidServiceAccountTestResult-L4oozjag.js';
8
- import { a as GameContext } from './Command-zfJ7qIJI.js';
8
+ import { a as GameContext } from './Command-DdJBwDHu.js';
9
9
  import 'ink-spinner';
10
10
  import '@inkjs/ui';
11
11
  import 'fs';
@@ -2,7 +2,7 @@ import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { useContext, useState, useEffect } from 'react';
3
3
  import { Box, Text } from 'ink';
4
4
  import Spinner from 'ink-spinner';
5
- import { a as GameContext } from './Command-zfJ7qIJI.js';
5
+ import { a as GameContext } from './Command-DdJBwDHu.js';
6
6
  import { a1 as queryClient, P as Platform, C as CredentialsType } from './index-Dhx6FAHt.js';
7
7
  import 'axios';
8
8
  import 'crypto-js';
@@ -11,7 +11,7 @@ import { g as getCWDGitInfo } from './git-DREGq-jc.js';
11
11
  import { jsx, Fragment } from 'react/jsx-runtime';
12
12
  import { useRef } from 'react';
13
13
  import 'ink';
14
- import './Command-zfJ7qIJI.js';
14
+ import './Command-DdJBwDHu.js';
15
15
  import 'ink-spinner';
16
16
  import 'crypto-js';
17
17
  import 'luxon';
@@ -22,7 +22,7 @@ import 'qrcode';
22
22
  import 'string-length';
23
23
  import 'strip-ansi';
24
24
  import 'socket.io-client';
25
- import { u as useJobWatching } from './useJobWatching-DS0qHqPA.js';
25
+ import { u as useJobWatching } from './useJobWatching-W6FYJEPP.js';
26
26
 
27
27
  async function ship({ command, log = () => {
28
28
  } }) {
@@ -25,8 +25,8 @@ import { u as useWebSocket } from './useWebSocket-ZEZvtpT_.js';
25
25
  import { T as Title } from './Title-BCQtayg6.js';
26
26
  import stringLength from 'string-length';
27
27
  import stripAnsi from 'strip-ansi';
28
- import { g as getJobSummary, d as getBuildSummary } from './Command-zfJ7qIJI.js';
29
- import { u as useJobWatching } from './useJobWatching-DS0qHqPA.js';
28
+ import { g as getJobSummary, d as getBuildSummary } from './Command-DdJBwDHu.js';
29
+ import { u as useJobWatching } from './useJobWatching-W6FYJEPP.js';
30
30
  import { a as StatusRow, b as StatusRowLabel } from './StatusTable-Dm5St4g-.js';
31
31
 
32
32
  async function queryJobLogs({
@@ -4,7 +4,7 @@ import { render } from 'ink';
4
4
  import { P as Platform, C as CredentialsType, A as ApiKey, a as ApiKeyType, U as UserRole } from '../../../index-Dhx6FAHt.js';
5
5
  import { g as getUserCredentials } from '../../../index-B4v66AKo.js';
6
6
  import 'react';
7
- import { C as Command } from '../../../Command-zfJ7qIJI.js';
7
+ import { C as Command } from '../../../Command-DdJBwDHu.js';
8
8
  import 'ink-spinner';
9
9
  import 'axios';
10
10
  import 'crypto-js';
@@ -5,7 +5,7 @@ import * as fs from 'fs';
5
5
  import { B as BaseAuthenticatedCommand, P as Platform, C as CredentialsType } from '../../../index-Dhx6FAHt.js';
6
6
  import { g as getUserCredentials } from '../../../index-B4v66AKo.js';
7
7
  import 'react';
8
- import { C as Command } from '../../../Command-zfJ7qIJI.js';
8
+ import { C as Command } from '../../../Command-DdJBwDHu.js';
9
9
  import 'ink-spinner';
10
10
  import 'axios';
11
11
  import 'crypto-js';
@@ -5,7 +5,7 @@ import * as fs from 'fs';
5
5
  import { B as BaseAuthenticatedCommand, P as Platform, C as CredentialsType } from '../../../index-Dhx6FAHt.js';
6
6
  import { g as getUserCredentials } from '../../../index-B4v66AKo.js';
7
7
  import 'react';
8
- import { C as Command } from '../../../Command-zfJ7qIJI.js';
8
+ import { C as Command } from '../../../Command-DdJBwDHu.js';
9
9
  import 'ink-spinner';
10
10
  import 'axios';
11
11
  import 'crypto-js';
@@ -3,7 +3,7 @@ import { Flags } from '@oclif/core';
3
3
  import { Box, Text, render } from 'ink';
4
4
  import { b as getShortDate, A as ApiKey, C as CredentialsType, P as Platform, B as BaseAuthenticatedCommand } from '../../../index-Dhx6FAHt.js';
5
5
  import 'react';
6
- import { C as Command } from '../../../Command-zfJ7qIJI.js';
6
+ import { C as Command } from '../../../Command-DdJBwDHu.js';
7
7
  import Spinner from 'ink-spinner';
8
8
  import 'axios';
9
9
  import 'crypto-js';
@@ -4,7 +4,7 @@ import { render } from 'ink';
4
4
  import { m as CertificateType, l as Certificate, P as Platform, C as CredentialsType } from '../../../index-Dhx6FAHt.js';
5
5
  import { g as getUserCredentials } from '../../../index-B4v66AKo.js';
6
6
  import 'react';
7
- import { C as Command } from '../../../Command-zfJ7qIJI.js';
7
+ import { C as Command } from '../../../Command-DdJBwDHu.js';
8
8
  import 'ink-spinner';
9
9
  import 'axios';
10
10
  import 'crypto-js';
@@ -5,7 +5,7 @@ import * as fs from 'fs';
5
5
  import { B as BaseAuthenticatedCommand, P as Platform, C as CredentialsType } from '../../../index-Dhx6FAHt.js';
6
6
  import { g as getUserCredentials } from '../../../index-B4v66AKo.js';
7
7
  import 'react';
8
- import { C as Command } from '../../../Command-zfJ7qIJI.js';
8
+ import { C as Command } from '../../../Command-DdJBwDHu.js';
9
9
  import 'ink-spinner';
10
10
  import 'axios';
11
11
  import 'crypto-js';
@@ -5,7 +5,7 @@ import * as fs from 'fs';
5
5
  import { B as BaseAuthenticatedCommand, P as Platform, C as CredentialsType } from '../../../index-Dhx6FAHt.js';
6
6
  import { g as getUserCredentials } from '../../../index-B4v66AKo.js';
7
7
  import 'react';
8
- import { C as Command } from '../../../Command-zfJ7qIJI.js';
8
+ import { C as Command } from '../../../Command-DdJBwDHu.js';
9
9
  import 'ink-spinner';
10
10
  import 'axios';
11
11
  import 'crypto-js';
@@ -3,7 +3,7 @@ import { Flags } from '@oclif/core';
3
3
  import { Box, Text, render } from 'ink';
4
4
  import { b as getShortDate, l as Certificate, m as CertificateType, P as Platform, C as CredentialsType, B as BaseAuthenticatedCommand } from '../../../index-Dhx6FAHt.js';
5
5
  import 'react';
6
- import { C as Command } from '../../../Command-zfJ7qIJI.js';
6
+ import { C as Command } from '../../../Command-DdJBwDHu.js';
7
7
  import Spinner from 'ink-spinner';
8
8
  import 'axios';
9
9
  import 'crypto-js';
@@ -2,7 +2,7 @@ import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { B as BaseAuthenticatedCommand } from '../../index-Dhx6FAHt.js';
3
3
  import 'react';
4
4
  import { render } from 'ink';
5
- import { C as Command } from '../../Command-zfJ7qIJI.js';
5
+ import { C as Command } from '../../Command-DdJBwDHu.js';
6
6
  import 'ink-spinner';
7
7
  import 'axios';
8
8
  import 'crypto-js';
@@ -3,7 +3,7 @@ import { render } from 'ink';
3
3
  import { Flags } from '@oclif/core';
4
4
  import { R as getGoogleStatus, T as disconnectGoogle } from '../../../../index-Dhx6FAHt.js';
5
5
  import 'react';
6
- import '../../../../Command-zfJ7qIJI.js';
6
+ import '../../../../Command-DdJBwDHu.js';
7
7
  import 'ink-spinner';
8
8
  import '@inkjs/ui';
9
9
  import 'axios';
@@ -20,11 +20,11 @@ import 'luxon';
20
20
  import 'fast-glob';
21
21
  import 'socket.io-client';
22
22
  import 'isomorphic-git';
23
- import { C as ConnectGoogle } from '../../../../index-BVvcTBnj.js';
23
+ import { C as ConnectGoogle } from '../../../../index-DlvM24jQ.js';
24
24
  import 'qrcode';
25
25
  import 'string-length';
26
26
  import 'strip-ansi';
27
- import { C as CommandGame } from '../../../../CommandGame-DVsNreSF.js';
27
+ import { C as CommandGame } from '../../../../CommandGame-ClEQvI36.js';
28
28
  import 'open';
29
29
  import { B as BaseGameAndroidCommand } from '../../../../baseGameAndroidCommand-mdFhxanf.js';
30
30
  import 'path';
@@ -2,7 +2,7 @@ import { jsx } from 'react/jsx-runtime';
2
2
  import { render } from 'ink';
3
3
  import { Flags } from '@oclif/core';
4
4
  import 'react';
5
- import '../../../../Command-zfJ7qIJI.js';
5
+ import '../../../../Command-DdJBwDHu.js';
6
6
  import { P as Platform, C as CredentialsType } from '../../../../index-Dhx6FAHt.js';
7
7
  import 'ink-spinner';
8
8
  import 'axios';
@@ -26,8 +26,8 @@ import 'open';
26
26
  import 'qrcode';
27
27
  import 'string-length';
28
28
  import 'strip-ansi';
29
- import { C as CreateServiceAccountKey } from '../../../../index-Cx_2qTdS.js';
30
- import { C as CommandGame } from '../../../../CommandGame-DVsNreSF.js';
29
+ import { C as CreateServiceAccountKey } from '../../../../index-_Lan5Hud.js';
30
+ import { C as CommandGame } from '../../../../CommandGame-ClEQvI36.js';
31
31
  import { B as BaseGameAndroidCommand } from '../../../../baseGameAndroidCommand-mdFhxanf.js';
32
32
  import '../../../../index-Dj-chiHz.js';
33
33
  import '../../../../useAndroidServiceAccountTestResult-L4oozjag.js';
@@ -5,7 +5,7 @@ import * as fs from 'fs';
5
5
  import { P as Platform, C as CredentialsType } from '../../../../index-Dhx6FAHt.js';
6
6
  import { a as getProjectCredentials } from '../../../../index-B4v66AKo.js';
7
7
  import 'react';
8
- import { C as Command } from '../../../../Command-zfJ7qIJI.js';
8
+ import { C as Command } from '../../../../Command-DdJBwDHu.js';
9
9
  import 'ink-spinner';
10
10
  import 'axios';
11
11
  import 'crypto-js';
@@ -5,7 +5,7 @@ import * as fs from 'fs';
5
5
  import { P as Platform, C as CredentialsType } from '../../../../index-Dhx6FAHt.js';
6
6
  import { a as getProjectCredentials } from '../../../../index-B4v66AKo.js';
7
7
  import 'react';
8
- import { C as Command } from '../../../../Command-zfJ7qIJI.js';
8
+ import { C as Command } from '../../../../Command-DdJBwDHu.js';
9
9
  import 'ink-spinner';
10
10
  import 'axios';
11
11
  import 'crypto-js';
@@ -2,7 +2,7 @@ import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { render } from 'ink';
3
3
  import { Flags } from '@oclif/core';
4
4
  import 'react';
5
- import { C as Command } from '../../../../Command-zfJ7qIJI.js';
5
+ import { C as Command } from '../../../../Command-DdJBwDHu.js';
6
6
  import { P as Platform, C as CredentialsType } from '../../../../index-Dhx6FAHt.js';
7
7
  import 'ink-spinner';
8
8
  import 'axios';
@@ -2,7 +2,7 @@ import { jsx } from 'react/jsx-runtime';
2
2
  import { render } from 'ink';
3
3
  import { Flags } from '@oclif/core';
4
4
  import 'react';
5
- import '../../../../Command-zfJ7qIJI.js';
5
+ import '../../../../Command-DdJBwDHu.js';
6
6
  import { P as Platform, C as CredentialsType } from '../../../../index-Dhx6FAHt.js';
7
7
  import 'ink-spinner';
8
8
  import 'axios';
@@ -11,7 +11,7 @@ import 'uuid';
11
11
  import 'luxon';
12
12
  import { a as getProjectCredentials } from '../../../../index-B4v66AKo.js';
13
13
  import '@inkjs/ui';
14
- import { C as CreateKeystore } from '../../../../Create-DdF29mIS.js';
14
+ import { C as CreateKeystore } from '../../../../Create-C-7pvYVd.js';
15
15
  import 'fs';
16
16
  import 'yazl';
17
17
  import '@tanstack/react-query';
@@ -27,7 +27,7 @@ import 'open';
27
27
  import 'qrcode';
28
28
  import 'string-length';
29
29
  import 'strip-ansi';
30
- import { C as CommandGame } from '../../../../CommandGame-DVsNreSF.js';
30
+ import { C as CommandGame } from '../../../../CommandGame-ClEQvI36.js';
31
31
  import { B as BaseGameAndroidCommand } from '../../../../baseGameAndroidCommand-mdFhxanf.js';
32
32
  import '../../../../index-Dj-chiHz.js';
33
33
  import '../../../../useAndroidServiceAccountTestResult-L4oozjag.js';
@@ -5,7 +5,7 @@ import * as fs from 'fs';
5
5
  import { c as BaseGameCommand, P as Platform, C as CredentialsType } from '../../../../index-Dhx6FAHt.js';
6
6
  import { a as getProjectCredentials } from '../../../../index-B4v66AKo.js';
7
7
  import 'react';
8
- import { C as Command } from '../../../../Command-zfJ7qIJI.js';
8
+ import { C as Command } from '../../../../Command-DdJBwDHu.js';
9
9
  import 'ink-spinner';
10
10
  import 'axios';
11
11
  import 'crypto-js';
@@ -5,7 +5,7 @@ import * as fs from 'fs';
5
5
  import { c as BaseGameCommand, P as Platform, C as CredentialsType } from '../../../../index-Dhx6FAHt.js';
6
6
  import { a as getProjectCredentials } from '../../../../index-B4v66AKo.js';
7
7
  import 'react';
8
- import '../../../../Command-zfJ7qIJI.js';
8
+ import '../../../../Command-DdJBwDHu.js';
9
9
  import 'ink-spinner';
10
10
  import 'axios';
11
11
  import 'crypto-js';
@@ -13,7 +13,7 @@ import 'uuid';
13
13
  import 'luxon';
14
14
  import '@inkjs/ui';
15
15
  import '@tanstack/react-query';
16
- import { I as ImportKeystore } from '../../../../Import-D8ik724M.js';
16
+ import { I as ImportKeystore } from '../../../../Import-BfcHPxoi.js';
17
17
  import 'open';
18
18
  import 'crypto';
19
19
  import 'readline-sync';
@@ -27,7 +27,7 @@ import 'isomorphic-git';
27
27
  import 'qrcode';
28
28
  import 'string-length';
29
29
  import 'strip-ansi';
30
- import { C as CommandGame } from '../../../../CommandGame-DVsNreSF.js';
30
+ import { C as CommandGame } from '../../../../CommandGame-ClEQvI36.js';
31
31
  import { B as BaseGameAndroidCommand } from '../../../../baseGameAndroidCommand-mdFhxanf.js';
32
32
  import 'path';
33
33
  import '@expo/apple-utils/build/index.js';
@@ -1,7 +1,7 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { render } from 'ink';
3
3
  import 'react';
4
- import { C as Command } from '../../../../Command-zfJ7qIJI.js';
4
+ import { C as Command } from '../../../../Command-DdJBwDHu.js';
5
5
  import { c as BaseGameCommand, P as Platform, C as CredentialsType } from '../../../../index-Dhx6FAHt.js';
6
6
  import 'ink-spinner';
7
7
  import 'axios';
@@ -2,7 +2,7 @@ import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { render } from 'ink';
3
3
  import { Flags } from '@oclif/core';
4
4
  import 'react';
5
- import { C as Command } from '../../../Command-zfJ7qIJI.js';
5
+ import { C as Command } from '../../../Command-DdJBwDHu.js';
6
6
  import { c as BaseGameCommand, k as getProjectPlatformProgress, P as Platform, b as getShortDate } from '../../../index-Dhx6FAHt.js';
7
7
  import 'ink-spinner';
8
8
  import '@inkjs/ui';
@@ -4,7 +4,7 @@ import { render } from 'ink';
4
4
  import * as fs from 'fs';
5
5
  import { c as BaseGameCommand, K as getBuild } from '../../../index-Dhx6FAHt.js';
6
6
  import 'react';
7
- import { C as Command } from '../../../Command-zfJ7qIJI.js';
7
+ import { C as Command } from '../../../Command-DdJBwDHu.js';
8
8
  import 'ink-spinner';
9
9
  import '@inkjs/ui';
10
10
  import axios from 'axios';
@@ -3,7 +3,7 @@ import { Box, Text, render } from 'ink';
3
3
  import { Flags } from '@oclif/core';
4
4
  import { c as BaseGameCommand } from '../../../index-Dhx6FAHt.js';
5
5
  import 'react';
6
- import { c as useBuilds, d as getBuildSummary } from '../../../Command-zfJ7qIJI.js';
6
+ import { c as useBuilds, d as getBuildSummary } from '../../../Command-DdJBwDHu.js';
7
7
  import Spinner from 'ink-spinner';
8
8
  import 'axios';
9
9
  import 'crypto-js';
@@ -25,7 +25,7 @@ import 'open';
25
25
  import 'qrcode';
26
26
  import 'string-length';
27
27
  import 'strip-ansi';
28
- import { C as CommandGame } from '../../../CommandGame-DVsNreSF.js';
28
+ import { C as CommandGame } from '../../../CommandGame-ClEQvI36.js';
29
29
  import { T as Table } from '../../../Table-CvM6pccN.js';
30
30
  import { T as Title } from '../../../Title-BCQtayg6.js';
31
31
  import 'path';
@@ -2,7 +2,7 @@ import { jsx } from 'react/jsx-runtime';
2
2
  import { render } from 'ink';
3
3
  import { Flags } from '@oclif/core';
4
4
  import 'react';
5
- import { C as Command } from '../../Command-zfJ7qIJI.js';
5
+ import { C as Command } from '../../Command-DdJBwDHu.js';
6
6
  import { c as BaseGameCommand, D as DetailsFlags, t as GameEngine } from '../../index-Dhx6FAHt.js';
7
7
  import 'ink-spinner';
8
8
  import 'axios';
@@ -2,7 +2,7 @@ import { jsx } from 'react/jsx-runtime';
2
2
  import { render } from 'ink';
3
3
  import { Flags } from '@oclif/core';
4
4
  import 'react';
5
- import { C as Command } from '../../../../Command-zfJ7qIJI.js';
5
+ import { C as Command } from '../../../../Command-DdJBwDHu.js';
6
6
  import { c as BaseGameCommand, i as BetaGroup } from '../../../../index-Dhx6FAHt.js';
7
7
  import 'ink-spinner';
8
8
  import 'axios';
@@ -2,7 +2,7 @@ import { jsx } from 'react/jsx-runtime';
2
2
  import { render } from 'ink';
3
3
  import { Flags } from '@oclif/core';
4
4
  import 'react';
5
- import { C as Command } from '../../../../Command-zfJ7qIJI.js';
5
+ import { C as Command } from '../../../../Command-DdJBwDHu.js';
6
6
  import { c as BaseGameCommand, d as getGodotAppleBundleIdentifier, e as BundleId, f as App } from '../../../../index-Dhx6FAHt.js';
7
7
  import 'ink-spinner';
8
8
  import 'axios';
@@ -2,7 +2,7 @@ import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { render } from 'ink';
3
3
  import { Flags } from '@oclif/core';
4
4
  import 'react';
5
- import { C as Command } from '../../../../Command-zfJ7qIJI.js';
5
+ import { C as Command } from '../../../../Command-DdJBwDHu.js';
6
6
  import { c as BaseGameCommand } from '../../../../index-Dhx6FAHt.js';
7
7
  import 'ink-spinner';
8
8
  import 'axios';
@@ -26,7 +26,7 @@ import { N as NextSteps } from '../../../../NextSteps-CK9zHOCt.js';
26
26
  import 'qrcode';
27
27
  import 'string-length';
28
28
  import 'strip-ansi';
29
- import { A as AppleAppDetails, a as AppleBundleIdDetails } from '../../../../AppleBundleIdDetails-DxWVnxa5.js';
29
+ import { A as AppleAppDetails, a as AppleBundleIdDetails } from '../../../../AppleBundleIdDetails-D41xptO8.js';
30
30
  import '../../../../index-Dj-chiHz.js';
31
31
  import '../../../../useAndroidServiceAccountTestResult-L4oozjag.js';
32
32
  import 'marked';
@@ -2,7 +2,7 @@ import { jsx } from 'react/jsx-runtime';
2
2
  import { render } from 'ink';
3
3
  import { Flags } from '@oclif/core';
4
4
  import 'react';
5
- import { C as Command } from '../../../../Command-zfJ7qIJI.js';
5
+ import { C as Command } from '../../../../Command-DdJBwDHu.js';
6
6
  import { c as BaseGameCommand, h as CapabilityTypeOption } from '../../../../index-Dhx6FAHt.js';
7
7
  import 'ink-spinner';
8
8
  import 'axios';
@@ -3,7 +3,7 @@ import { render } from 'ink';
3
3
  import { Flags } from '@oclif/core';
4
4
  import axios from 'axios';
5
5
  import 'react';
6
- import { C as Command } from '../../../../Command-zfJ7qIJI.js';
6
+ import { C as Command } from '../../../../Command-DdJBwDHu.js';
7
7
  import { c as BaseGameCommand, P as Platform, C as CredentialsType, l as Certificate, m as CertificateType, n as Profile, o as ProfileType } from '../../../../index-Dhx6FAHt.js';
8
8
  import 'ink-spinner';
9
9
  import 'crypto-js';
@@ -5,7 +5,7 @@ import * as fs from 'fs';
5
5
  import { c as BaseGameCommand, P as Platform, C as CredentialsType } from '../../../../index-Dhx6FAHt.js';
6
6
  import { a as getProjectCredentials } from '../../../../index-B4v66AKo.js';
7
7
  import 'react';
8
- import { C as Command } from '../../../../Command-zfJ7qIJI.js';
8
+ import { C as Command } from '../../../../Command-DdJBwDHu.js';
9
9
  import 'ink-spinner';
10
10
  import 'axios';
11
11
  import 'crypto-js';
@@ -5,7 +5,7 @@ import * as fs from 'fs';
5
5
  import { c as BaseGameCommand, P as Platform, C as CredentialsType } from '../../../../index-Dhx6FAHt.js';
6
6
  import { a as getProjectCredentials } from '../../../../index-B4v66AKo.js';
7
7
  import 'react';
8
- import { C as Command } from '../../../../Command-zfJ7qIJI.js';
8
+ import { C as Command } from '../../../../Command-DdJBwDHu.js';
9
9
  import 'ink-spinner';
10
10
  import 'axios';
11
11
  import 'crypto-js';
@@ -2,7 +2,7 @@ import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
2
2
  import { Box, Text, render } from 'ink';
3
3
  import { Flags } from '@oclif/core';
4
4
  import 'react';
5
- import { C as Command } from '../../../../Command-zfJ7qIJI.js';
5
+ import { C as Command } from '../../../../Command-DdJBwDHu.js';
6
6
  import { b as getShortDate, n as Profile, o as ProfileType, C as CredentialsType, P as Platform, c as BaseGameCommand } from '../../../../index-Dhx6FAHt.js';
7
7
  import Spinner from 'ink-spinner';
8
8
  import 'axios';
@@ -2,7 +2,7 @@ import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { render } from 'ink';
3
3
  import { Flags } from '@oclif/core';
4
4
  import 'react';
5
- import { C as Command } from '../../../Command-zfJ7qIJI.js';
5
+ import { C as Command } from '../../../Command-DdJBwDHu.js';
6
6
  import { c as BaseGameCommand, k as getProjectPlatformProgress, P as Platform, b as getShortDate } from '../../../index-Dhx6FAHt.js';
7
7
  import 'ink-spinner';
8
8
  import '@inkjs/ui';
@@ -18,7 +18,7 @@ import 'qrcode';
18
18
  import { S as StatusTable } from '../../../StatusTable-Dm5St4g-.js';
19
19
  import 'string-length';
20
20
  import 'strip-ansi';
21
- import { A as AppleAppDetails, a as AppleBundleIdDetails } from '../../../AppleBundleIdDetails-DxWVnxa5.js';
21
+ import { A as AppleAppDetails, a as AppleBundleIdDetails } from '../../../AppleBundleIdDetails-D41xptO8.js';
22
22
  import 'luxon';
23
23
  import 'fast-glob';
24
24
  import 'socket.io-client';
@@ -3,7 +3,7 @@ import { render, Box, Text } from 'ink';
3
3
  import { Flags } from '@oclif/core';
4
4
  import { c as BaseGameCommand, z as getProjectJobs } from '../../../index-Dhx6FAHt.js';
5
5
  import 'react';
6
- import { g as getJobSummary, C as Command } from '../../../Command-zfJ7qIJI.js';
6
+ import { g as getJobSummary, C as Command } from '../../../Command-DdJBwDHu.js';
7
7
  import 'ink-spinner';
8
8
  import '@inkjs/ui';
9
9
  import 'axios';
@@ -3,7 +3,7 @@ import { Args, Flags } from '@oclif/core';
3
3
  import { render } from 'ink';
4
4
  import { c as BaseGameCommand, E as getJob, J as JobStatus } from '../../../index-Dhx6FAHt.js';
5
5
  import 'react';
6
- import { C as Command } from '../../../Command-zfJ7qIJI.js';
6
+ import { C as Command } from '../../../Command-DdJBwDHu.js';
7
7
  import 'ink-spinner';
8
8
  import '@inkjs/ui';
9
9
  import 'axios';
@@ -25,7 +25,7 @@ import { N as NextSteps } from '../../../NextSteps-CK9zHOCt.js';
25
25
  import 'qrcode';
26
26
  import 'string-length';
27
27
  import 'strip-ansi';
28
- import { J as JobStatusTable, a as JobLogTail } from '../../../JobStatusTable-D-daiV-I.js';
28
+ import { J as JobStatusTable, a as JobLogTail } from '../../../JobStatusTable-CpPlQBqR.js';
29
29
  import 'path';
30
30
  import '@expo/apple-utils/build/index.js';
31
31
  import 'crypto-js';
@@ -37,7 +37,7 @@ import 'marked';
37
37
  import 'marked-terminal';
38
38
  import '../../../Title-BCQtayg6.js';
39
39
  import '../../../useWebSocket-ZEZvtpT_.js';
40
- import '../../../useJobWatching-DS0qHqPA.js';
40
+ import '../../../useJobWatching-W6FYJEPP.js';
41
41
  import '../../../StatusTable-Dm5St4g-.js';
42
42
 
43
43
  class GameJobStatus extends BaseGameCommand {
@@ -3,7 +3,7 @@ import { render, Text, Box } from 'ink';
3
3
  import { Flags } from '@oclif/core';
4
4
  import { B as BaseAuthenticatedCommand, g as getProjects, b as getShortDate } from '../../index-Dhx6FAHt.js';
5
5
  import 'react';
6
- import { C as Command } from '../../Command-zfJ7qIJI.js';
6
+ import { C as Command } from '../../Command-DdJBwDHu.js';
7
7
  import 'ink-spinner';
8
8
  import '@inkjs/ui';
9
9
  import 'axios';
@@ -2,7 +2,7 @@ import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
2
2
  import { a0 as getShortAuthRequiredUrl, Y as WEB_URL, c as BaseGameCommand } from '../../index-Dhx6FAHt.js';
3
3
  import { useContext, useState, useEffect } from 'react';
4
4
  import { useInput, Box, Text, render } from 'ink';
5
- import { b as CommandContext, a as GameContext, M as Markdown } from '../../Command-zfJ7qIJI.js';
5
+ import { b as CommandContext, a as GameContext, M as Markdown } from '../../Command-DdJBwDHu.js';
6
6
  import 'ink-spinner';
7
7
  import 'axios';
8
8
  import 'crypto-js';
@@ -25,10 +25,10 @@ import open from 'open';
25
25
  import 'qrcode';
26
26
  import 'string-length';
27
27
  import 'strip-ansi';
28
- import { C as CommandGame } from '../../CommandGame-DVsNreSF.js';
28
+ import { C as CommandGame } from '../../CommandGame-ClEQvI36.js';
29
29
  import { g as getShortUUID } from '../../index-Dj-chiHz.js';
30
- import { u as useShip, J as JobProgress } from '../../JobProgress-D1Pe4YJc.js';
31
- import { J as JobStatusTable, a as JobLogTail } from '../../JobStatusTable-D-daiV-I.js';
30
+ import { u as useShip, J as JobProgress } from '../../JobProgress-CICU69cf.js';
31
+ import { J as JobStatusTable, a as JobLogTail } from '../../JobStatusTable-CpPlQBqR.js';
32
32
  import 'path';
33
33
  import '@expo/apple-utils/build/index.js';
34
34
  import 'ini';
@@ -38,7 +38,7 @@ import 'marked';
38
38
  import 'marked-terminal';
39
39
  import '../../git-DREGq-jc.js';
40
40
  import '../../ProgressSpinner-6pw1T8Iw.js';
41
- import '../../useJobWatching-DS0qHqPA.js';
41
+ import '../../useJobWatching-W6FYJEPP.js';
42
42
  import '../../useWebSocket-ZEZvtpT_.js';
43
43
  import '../../Title-BCQtayg6.js';
44
44
  import '../../StatusTable-Dm5St4g-.js';
@@ -2,7 +2,7 @@ import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { render } from 'ink';
3
3
  import { Flags } from '@oclif/core';
4
4
  import 'react';
5
- import { C as Command } from '../../Command-zfJ7qIJI.js';
5
+ import { C as Command } from '../../Command-DdJBwDHu.js';
6
6
  import { B as BaseAuthenticatedCommand, I as getProject, P as Platform, k as getProjectPlatformProgress, b as getShortDate } from '../../index-Dhx6FAHt.js';
7
7
  import 'ink-spinner';
8
8
  import '@inkjs/ui';
@@ -1,9 +1,9 @@
1
1
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
2
  import { Args } from '@oclif/core';
3
- import { Text, Box, useInput, render } from 'ink';
3
+ import { Text, Box, useInput, useFocus, measureElement, render } from 'ink';
4
4
  import { p as getAuthedHeaders, q as API_URL, L as castArrayObjectDates, a1 as queryClient, a8 as updateProject, u as getGodotVersion, t as GameEngine, v as createProject, w as DEFAULT_IGNORED_FILES_GLOBS, x as DEFAULT_SHIPPED_FILES_GLOBS, P as Platform, J as JobStatus, Y as WEB_URL, I as getProject, C as CredentialsType, R as getGoogleStatus, B as BaseAuthenticatedCommand, j as isCWDGodotGame } from '../../index-Dhx6FAHt.js';
5
- import React, { useState, useContext, useEffect, useRef } from 'react';
6
- import { b as CommandContext, a as GameContext, M as Markdown, c as useBuilds, q as queryBuilds, G as GameProvider, e as CreateGooglePlayGame, C as Command } from '../../Command-zfJ7qIJI.js';
5
+ import React, { useState, useContext, useEffect, useRef, useReducer } from 'react';
6
+ import { b as CommandContext, a as GameContext, M as Markdown, c as useBuilds, q as queryBuilds, G as GameProvider, e as CreateGooglePlayGame, C as Command } from '../../Command-DdJBwDHu.js';
7
7
  import Spinner from 'ink-spinner';
8
8
  import { Alert, TextInput } from '@inkjs/ui';
9
9
  import axios from 'axios';
@@ -25,12 +25,12 @@ import 'open';
25
25
  import 'qrcode';
26
26
  import 'string-length';
27
27
  import 'strip-ansi';
28
- import { C as CreateKeystore } from '../../Create-DdF29mIS.js';
29
- import { I as ImportKeystore } from '../../Import-D8ik724M.js';
30
- import { C as ConnectGoogle } from '../../index-BVvcTBnj.js';
31
- import { C as CreateServiceAccountKey } from '../../index-Cx_2qTdS.js';
28
+ import { C as CreateKeystore } from '../../Create-C-7pvYVd.js';
29
+ import { I as ImportKeystore } from '../../Import-BfcHPxoi.js';
30
+ import { C as ConnectGoogle } from '../../index-DlvM24jQ.js';
31
+ import { C as CreateServiceAccountKey } from '../../index-_Lan5Hud.js';
32
32
  import { c as cacheKeys, f as fetchKeyTestResult, K as KeyTestStatus, a as KeyTestError } from '../../useAndroidServiceAccountTestResult-L4oozjag.js';
33
- import { u as useShip, J as JobProgress } from '../../JobProgress-D1Pe4YJc.js';
33
+ import { u as useShip, J as JobProgress } from '../../JobProgress-CICU69cf.js';
34
34
  import { a as getProjectCredentials } from '../../index-B4v66AKo.js';
35
35
  import { T as Title } from '../../Title-BCQtayg6.js';
36
36
  import 'path';
@@ -46,7 +46,7 @@ import '../../useWebSocket-ZEZvtpT_.js';
46
46
  import '../../useProjectCredentials-CI_AoXmH.js';
47
47
  import '../../ProgressSpinner-6pw1T8Iw.js';
48
48
  import '../../git-DREGq-jc.js';
49
- import '../../useJobWatching-DS0qHqPA.js';
49
+ import '../../useJobWatching-W6FYJEPP.js';
50
50
 
51
51
  async function queryJobs({ projectId, ...pageAndSortParams }) {
52
52
  try {
@@ -575,7 +575,7 @@ const AndroidWizard = (props) => {
575
575
  iosSetupURL: new URL("/docs/ios", WEB_URL).toString(),
576
576
  docsURL: new URL("/docs", WEB_URL).toString()
577
577
  };
578
- return /* @__PURE__ */ jsxs(GameProvider, { children: [
578
+ return /* @__PURE__ */ jsx(GameProvider, { children: /* @__PURE__ */ jsxs(ScrollArea, { height: process.stdout.rows || 24, children: [
579
579
  /* @__PURE__ */ jsxs(Box, { flexDirection: "column", children: [
580
580
  /* @__PURE__ */ jsx(Box, { marginBottom: 1, children: /* @__PURE__ */ jsx(Title, { children: "ShipThis Android Wizard" }) }),
581
581
  stepStatuses && /* @__PURE__ */ jsx(StepStatusTable, { stepStatuses })
@@ -591,8 +591,71 @@ const AndroidWizard = (props) => {
591
591
  }
592
592
  ),
593
593
  showSuccess && /* @__PURE__ */ jsx(Box, { marginTop: 1, children: /* @__PURE__ */ jsx(Markdown, { filename: "android-success.md", templateVars }) })
594
- ] });
594
+ ] }) });
595
+ };
596
+
597
+ const reducer = (state, action) => {
598
+ switch (action.type) {
599
+ case "SET_INNER_HEIGHT":
600
+ return {
601
+ ...state,
602
+ innerHeight: action.innerHeight
603
+ };
604
+ case "SET_HEIGHT":
605
+ return {
606
+ ...state,
607
+ height: action.height
608
+ };
609
+ case "SCROLL_DOWN":
610
+ return {
611
+ ...state,
612
+ scrollTop: Math.min(
613
+ state.innerHeight <= state.height ? 0 : state.innerHeight - state.height,
614
+ state.scrollTop + 1
615
+ )
616
+ };
617
+ case "SCROLL_UP":
618
+ return {
619
+ ...state,
620
+ scrollTop: Math.max(0, state.scrollTop - 1)
621
+ };
622
+ default:
623
+ return state;
624
+ }
595
625
  };
626
+ function ScrollArea({ height, children }) {
627
+ useFocus();
628
+ const [state, dispatch] = useReducer(reducer, {
629
+ height,
630
+ scrollTop: 0,
631
+ innerHeight: 0
632
+ });
633
+ const innerRef = useRef(null);
634
+ useEffect(() => {
635
+ dispatch({ type: "SET_HEIGHT", height });
636
+ }, [height]);
637
+ useEffect(() => {
638
+ if (!innerRef.current) return;
639
+ const dimensions = measureElement(innerRef.current);
640
+ dispatch({
641
+ type: "SET_INNER_HEIGHT",
642
+ innerHeight: dimensions.height
643
+ });
644
+ }, []);
645
+ useInput((_input, key) => {
646
+ if (key.downArrow) {
647
+ dispatch({
648
+ type: "SCROLL_DOWN"
649
+ });
650
+ }
651
+ if (key.upArrow) {
652
+ dispatch({
653
+ type: "SCROLL_UP"
654
+ });
655
+ }
656
+ });
657
+ return /* @__PURE__ */ jsx(Box, { height, flexDirection: "column", flexGrow: 1, overflow: "hidden", children: /* @__PURE__ */ jsx(Box, { ref: innerRef, flexShrink: 0, flexDirection: "column", marginTop: -state.scrollTop, children }) });
658
+ }
596
659
 
597
660
  class GameWizard extends BaseAuthenticatedCommand {
598
661
  static args = {
@@ -2,7 +2,7 @@ import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { render } from 'ink';
3
3
  import { V as BaseCommand, j as isCWDGodotGame } from '../index-Dhx6FAHt.js';
4
4
  import 'react';
5
- import { C as Command } from '../Command-zfJ7qIJI.js';
5
+ import { C as Command } from '../Command-DdJBwDHu.js';
6
6
  import 'ink-spinner';
7
7
  import 'axios';
8
8
  import 'crypto-js';
@@ -21,7 +21,7 @@ import { u as useWebSocket } from './useWebSocket-ZEZvtpT_.js';
21
21
  import { c as cacheKeys } from './useAndroidServiceAccountTestResult-L4oozjag.js';
22
22
  import 'isomorphic-git';
23
23
  import '@oclif/core';
24
- import { a as GameContext, M as Markdown } from './Command-zfJ7qIJI.js';
24
+ import { a as GameContext, M as Markdown } from './Command-DdJBwDHu.js';
25
25
  import 'ink-spinner';
26
26
  import '@inkjs/ui';
27
27
  import 'string-length';
@@ -2,7 +2,7 @@ import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
2
2
  import { Box, Text } from 'ink';
3
3
  import { useState, useRef, useEffect, useContext } from 'react';
4
4
  import Spinner from 'ink-spinner';
5
- import { a as GameContext } from './Command-zfJ7qIJI.js';
5
+ import { a as GameContext } from './Command-DdJBwDHu.js';
6
6
  import { p as getAuthedHeaders, q as API_URL, H as castObjectDates, P as Platform, C as CredentialsType, R as getGoogleStatus } from './index-Dhx6FAHt.js';
7
7
  import axios from 'axios';
8
8
  import 'crypto-js';
@@ -1,4 +1,4 @@
1
- import { u as useJob } from './Command-zfJ7qIJI.js';
1
+ import { u as useJob } from './Command-DdJBwDHu.js';
2
2
  import { useState, useEffect } from 'react';
3
3
  import { u as useWebSocket } from './useWebSocket-ZEZvtpT_.js';
4
4
  import { F as castJobDates, H as castObjectDates } from './index-Dhx6FAHt.js';
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "shipthis",
3
- "version": "0.1.16",
3
+ "version": "0.1.18",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "shipthis",
9
- "version": "0.1.16",
9
+ "version": "0.1.18",
10
10
  "license": "MIT",
11
11
  "dependencies": {
12
12
  "@expo/apple-utils": "2.0.3",
@@ -2238,5 +2238,5 @@
2238
2238
  ]
2239
2239
  }
2240
2240
  },
2241
- "version": "0.1.16"
2241
+ "version": "0.1.18"
2242
2242
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "shipthis",
3
3
  "description": "ShipThis manages building and uploading your Godot games to the App Store and Google Play.",
4
- "version": "0.1.16",
4
+ "version": "0.1.18",
5
5
  "author": "Hello Invent Ltd",
6
6
  "bin": {
7
7
  "shipthis": "./bin/run.js"
Binary file
Binary file