shipthis 0.1.21 → 0.1.22

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 (76) hide show
  1. package/dist/{AppleBundleIdDetails-fvGbPZdv.js → AppleBundleIdDetails-C9C5WSPR.js} +7 -7
  2. package/dist/{Command-I9hBoGAj.js → Command-BQCJ9Wf-.js} +5 -5
  3. package/dist/{CommandGame-CdBKIgr-.js → CommandGame-CkGqTno0.js} +2 -2
  4. package/dist/{Create-4wdfWBjN.js → Create-CKZDEkqF.js} +5 -5
  5. package/dist/{Import-B3j3Faf_.js → Import-Ljz1gxXd.js} +7 -7
  6. package/dist/{JobProgress-DrBLSHdv.js → JobProgress-D9tHgBvi.js} +12 -6
  7. package/dist/{JobStatusTable-CHJt8Sci.js → JobStatusTable-DmI7qCHc.js} +16 -16
  8. package/dist/{ProjectCredentialsTable-CJdsMx-O.js → ProjectCredentialsTable-CTkP1mvy.js} +6 -6
  9. package/dist/{UserCredentialsTable-DO3pBaVs.js → UserCredentialsTable-DhtM_iTG.js} +7 -7
  10. package/dist/{baseAppleCommand-DwtoHHJe.js → baseAppleCommand-IGl6KTvv.js} +1 -1
  11. package/dist/{baseGameAndroidCommand-_iWWt-Rh.js → baseGameAndroidCommand-DFn4zMvq.js} +2 -2
  12. package/dist/commands/apple/apiKey/create.js +10 -10
  13. package/dist/commands/apple/apiKey/export.js +8 -8
  14. package/dist/commands/apple/apiKey/import.js +8 -8
  15. package/dist/commands/apple/apiKey/status.js +8 -8
  16. package/dist/commands/apple/certificate/create.js +10 -10
  17. package/dist/commands/apple/certificate/export.js +8 -8
  18. package/dist/commands/apple/certificate/import.js +8 -8
  19. package/dist/commands/apple/certificate/status.js +8 -8
  20. package/dist/commands/apple/login.js +5 -5
  21. package/dist/commands/apple/status.js +8 -8
  22. package/dist/commands/dashboard.js +4 -4
  23. package/dist/commands/game/android/apiKey/connect.js +10 -10
  24. package/dist/commands/game/android/apiKey/create.js +13 -13
  25. package/dist/commands/game/android/apiKey/export.js +9 -9
  26. package/dist/commands/game/android/apiKey/import.js +9 -9
  27. package/dist/commands/game/android/apiKey/invite.js +7 -7
  28. package/dist/commands/game/android/apiKey/status.js +10 -10
  29. package/dist/commands/game/android/keyStore/create.js +11 -11
  30. package/dist/commands/game/android/keyStore/export.js +8 -8
  31. package/dist/commands/game/android/keyStore/import.js +11 -11
  32. package/dist/commands/game/android/keyStore/status.js +10 -10
  33. package/dist/commands/game/android/status.js +6 -6
  34. package/dist/commands/game/build/download.js +8 -20
  35. package/dist/commands/game/build/list.js +8 -8
  36. package/dist/commands/game/create.js +5 -5
  37. package/dist/commands/game/details.js +7 -7
  38. package/dist/commands/game/export.js +4 -4
  39. package/dist/commands/game/ios/app/addTester.js +8 -8
  40. package/dist/commands/game/ios/app/create.js +7 -7
  41. package/dist/commands/game/ios/app/status.js +10 -10
  42. package/dist/commands/game/ios/app/sync.js +8 -8
  43. package/dist/commands/game/ios/profile/create.js +10 -10
  44. package/dist/commands/game/ios/profile/export.js +8 -8
  45. package/dist/commands/game/ios/profile/import.js +8 -8
  46. package/dist/commands/game/ios/profile/status.js +9 -9
  47. package/dist/commands/game/ios/status.js +9 -9
  48. package/dist/commands/game/ios/wizard.js +7 -7
  49. package/dist/commands/game/job/list.js +6 -6
  50. package/dist/commands/game/job/status.js +9 -9
  51. package/dist/commands/game/list.js +6 -6
  52. package/dist/commands/game/ship.js +78 -22
  53. package/dist/commands/game/status.js +6 -6
  54. package/dist/commands/game/wizard.js +17 -17
  55. package/dist/commands/internal/fastlane.js +4 -4
  56. package/dist/commands/internal/readme.js +4 -4
  57. package/dist/commands/login.js +5 -5
  58. package/dist/commands/status.js +9 -9
  59. package/dist/{export-CDgzZlSd.js → export-CVs_xoDN.js} +1 -1
  60. package/dist/{import-D9dyGwy2.js → import-Ch5O7xfN.js} +1 -1
  61. package/dist/{index-B-jDJolg.js → index-BB00V5oF.js} +4 -4
  62. package/dist/{index-BCO3QRqD.js → index-CIa2EDQ6.js} +1 -1
  63. package/dist/{index-Cn5-DHOL.js → index-DkNQs11R.js} +30 -14
  64. package/dist/{index-JYXa6bEW.js → index-DrcGhlrc.js} +8 -8
  65. package/dist/{index-xV-xLIQa.js → index-DyOv-ge5.js} +7 -7
  66. package/dist/{index-CSBsz7Js.js → index-vMXsdSCy.js} +4 -4
  67. package/dist/{upload-CoVtaz5g.js → upload-CRE2nVdd.js} +1 -1
  68. package/dist/{useAndroidServiceAccountTestResult-Bwu7ZeY5.js → useAndroidServiceAccountTestResult-DcYDam-p.js} +1 -1
  69. package/dist/{useAppleApp-1zogXNDE.js → useAppleApp-B16WbUxJ.js} +1 -1
  70. package/dist/{useAppleBundleId-C1shz-fc.js → useAppleBundleId-DobPATan.js} +1 -1
  71. package/dist/{useJobWatching-mXM2P2E5.js → useJobWatching-BZSUa8E-.js} +3 -3
  72. package/dist/{useProjectCredentials-B2wXUghS.js → useProjectCredentials-Btnr7WK3.js} +3 -3
  73. package/dist/{useWebSocket-Kupwp5m2.js → useWebSocket-ByuNoqRw.js} +1 -1
  74. package/npm-shrinkwrap.json +2 -2
  75. package/oclif.manifest.json +175 -142
  76. package/package.json +1 -1
@@ -2,14 +2,14 @@ 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 '../../../../index-CSBsz7Js.js';
6
- import { b as getShortDate, n as Profile, o as ProfileType, C as CredentialsType, P as Platform, c as BaseGameCommand } from '../../../../index-Cn5-DHOL.js';
5
+ import '../../../../index-vMXsdSCy.js';
6
+ import { b as getShortDate, n as Profile, o as ProfileType, C as CredentialsType, P as Platform, c as BaseGameCommand } from '../../../../index-DkNQs11R.js';
7
7
  import Spinner from 'ink-spinner';
8
8
  import 'axios';
9
9
  import 'crypto-js';
10
10
  import 'uuid';
11
- import { DateTime } from 'luxon';
12
11
  import 'fs';
12
+ import { DateTime } from 'luxon';
13
13
  import '@inkjs/ui';
14
14
  import { useQuery } from '@tanstack/react-query';
15
15
  import 'yazl';
@@ -18,9 +18,9 @@ import 'readline-sync';
18
18
  import 'node:readline';
19
19
  import 'node:path';
20
20
  import 'node:url';
21
+ import 'isomorphic-git';
21
22
  import 'fast-glob';
22
23
  import 'socket.io-client';
23
- import 'isomorphic-git';
24
24
  import 'open';
25
25
  import 'marked';
26
26
  import 'marked-terminal';
@@ -28,14 +28,14 @@ import 'path';
28
28
  import 'qrcode';
29
29
  import 'string-length';
30
30
  import 'strip-ansi';
31
- import { u as useProjectCredentials } from '../../../../useProjectCredentials-B2wXUghS.js';
31
+ import { u as useProjectCredentials } from '../../../../useProjectCredentials-Btnr7WK3.js';
32
32
  import { T as Table } from '../../../../Table-CvM6pccN.js';
33
33
  import { T as Title } from '../../../../Title-BCQtayg6.js';
34
34
  import { N as NextSteps } from '../../../../NextSteps-CK9zHOCt.js';
35
- import { C as Command } from '../../../../Command-I9hBoGAj.js';
36
- import { P as ProjectCredentialsTable } from '../../../../ProjectCredentialsTable-CJdsMx-O.js';
37
- import '../../../../index-B-jDJolg.js';
38
- import '../../../../useAndroidServiceAccountTestResult-Bwu7ZeY5.js';
35
+ import { C as Command } from '../../../../Command-BQCJ9Wf-.js';
36
+ import { P as ProjectCredentialsTable } from '../../../../ProjectCredentialsTable-CTkP1mvy.js';
37
+ import '../../../../index-BB00V5oF.js';
38
+ import '../../../../useAndroidServiceAccountTestResult-DcYDam-p.js';
39
39
  import '@expo/apple-utils/build/index.js';
40
40
  import 'ini';
41
41
  import 'deepmerge';
@@ -2,8 +2,8 @@ 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 '../../../index-CSBsz7Js.js';
6
- import { c as BaseGameCommand, k as getProjectPlatformProgress, P as Platform, b as getShortDate } from '../../../index-Cn5-DHOL.js';
5
+ import '../../../index-vMXsdSCy.js';
6
+ import { c as BaseGameCommand, k as getProjectPlatformProgress, P as Platform, b as getShortDate } from '../../../index-DkNQs11R.js';
7
7
  import 'ink-spinner';
8
8
  import '@inkjs/ui';
9
9
  import 'axios';
@@ -11,7 +11,7 @@ import '@tanstack/react-query';
11
11
  import 'fs';
12
12
  import 'uuid';
13
13
  import 'yazl';
14
- import { g as getShortUUID, m as makeHumanReadable } from '../../../index-B-jDJolg.js';
14
+ import { g as getShortUUID, m as makeHumanReadable } from '../../../index-BB00V5oF.js';
15
15
  import 'open';
16
16
  import 'marked';
17
17
  import 'marked-terminal';
@@ -21,12 +21,12 @@ import 'qrcode';
21
21
  import { S as StatusTable } from '../../../StatusTable-Dm5St4g-.js';
22
22
  import 'string-length';
23
23
  import 'strip-ansi';
24
- import { A as AppleAppDetails, a as AppleBundleIdDetails } from '../../../AppleBundleIdDetails-fvGbPZdv.js';
25
- import { C as Command } from '../../../Command-I9hBoGAj.js';
24
+ import { A as AppleAppDetails, a as AppleBundleIdDetails } from '../../../AppleBundleIdDetails-C9C5WSPR.js';
25
+ import { C as Command } from '../../../Command-BQCJ9Wf-.js';
26
26
  import 'luxon';
27
27
  import 'fast-glob';
28
28
  import 'socket.io-client';
29
- import '../../../useAndroidServiceAccountTestResult-Bwu7ZeY5.js';
29
+ import '../../../useAndroidServiceAccountTestResult-DcYDam-p.js';
30
30
  import '@expo/apple-utils/build/index.js';
31
31
  import 'crypto-js';
32
32
  import 'crypto';
@@ -34,13 +34,13 @@ import 'readline-sync';
34
34
  import 'node:readline';
35
35
  import 'node:path';
36
36
  import 'node:url';
37
+ import 'isomorphic-git';
37
38
  import 'ini';
38
39
  import 'deepmerge';
39
- import 'isomorphic-git';
40
40
  import '../../../Title-BCQtayg6.js';
41
- import '../../../useAppleApp-1zogXNDE.js';
41
+ import '../../../useAppleApp-B16WbUxJ.js';
42
42
  import '../../../Table-CvM6pccN.js';
43
- import '../../../useAppleBundleId-C1shz-fc.js';
43
+ import '../../../useAppleBundleId-DobPATan.js';
44
44
 
45
45
  class GameIosStatus extends BaseGameCommand {
46
46
  static args = {};
@@ -1,28 +1,28 @@
1
1
  import { Flags } from '@oclif/core';
2
2
  import chalk from 'chalk';
3
- import { B as BaseAuthenticatedCommand, j as isCWDGodotGame, W as WEB_URL, P as Platform, C as CredentialsType } from '../../../index-Cn5-DHOL.js';
3
+ import { B as BaseAuthenticatedCommand, j as isCWDGodotGame, W as WEB_URL, P as Platform, C as CredentialsType } from '../../../index-DkNQs11R.js';
4
4
  import 'axios';
5
5
  import 'crypto-js';
6
6
  import 'uuid';
7
+ import 'fs';
7
8
  import 'luxon';
8
- import { g as getUserCredentials, a as getProjectCredentials } from '../../../index-BCO3QRqD.js';
9
+ import { g as getUserCredentials, a as getProjectCredentials } from '../../../index-CIa2EDQ6.js';
9
10
  import 'react/jsx-runtime';
10
11
  import 'react';
11
12
  import 'ink';
12
- import { g as getRenderedMarkdown } from '../../../index-CSBsz7Js.js';
13
+ import { g as getRenderedMarkdown } from '../../../index-vMXsdSCy.js';
13
14
  import 'ink-spinner';
14
15
  import '@inkjs/ui';
15
16
  import '@tanstack/react-query';
16
- import 'fs';
17
17
  import 'yazl';
18
18
  import 'crypto';
19
19
  import 'readline-sync';
20
20
  import 'node:readline';
21
21
  import 'node:path';
22
22
  import 'node:url';
23
+ import 'isomorphic-git';
23
24
  import 'fast-glob';
24
25
  import 'socket.io-client';
25
- import 'isomorphic-git';
26
26
  import 'open';
27
27
  import 'qrcode';
28
28
  import 'string-length';
@@ -31,8 +31,8 @@ import 'path';
31
31
  import '@expo/apple-utils/build/index.js';
32
32
  import 'ini';
33
33
  import 'deepmerge';
34
- import '../../../index-B-jDJolg.js';
35
- import '../../../useAndroidServiceAccountTestResult-Bwu7ZeY5.js';
34
+ import '../../../index-BB00V5oF.js';
35
+ import '../../../useAndroidServiceAccountTestResult-DcYDam-p.js';
36
36
  import 'marked';
37
37
  import 'marked-terminal';
38
38
 
@@ -1,9 +1,9 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { render, Box, Text } from 'ink';
3
3
  import { Flags } from '@oclif/core';
4
- import { c as BaseGameCommand, z as getProjectJobs } from '../../../index-Cn5-DHOL.js';
4
+ import { c as BaseGameCommand, z as getProjectJobs } from '../../../index-DkNQs11R.js';
5
5
  import 'react';
6
- import { a as getJobSummary } from '../../../index-CSBsz7Js.js';
6
+ import { a as getJobSummary } from '../../../index-vMXsdSCy.js';
7
7
  import 'ink-spinner';
8
8
  import '@inkjs/ui';
9
9
  import 'axios';
@@ -11,7 +11,7 @@ import '@tanstack/react-query';
11
11
  import 'fs';
12
12
  import 'uuid';
13
13
  import 'yazl';
14
- import { c as getJobStatusColor } from '../../../index-B-jDJolg.js';
14
+ import { c as getJobStatusColor } from '../../../index-BB00V5oF.js';
15
15
  import 'open';
16
16
  import 'marked';
17
17
  import 'marked-terminal';
@@ -22,7 +22,7 @@ import 'string-length';
22
22
  import 'strip-ansi';
23
23
  import { DateTime } from 'luxon';
24
24
  import 'fast-glob';
25
- import { C as Command } from '../../../Command-I9hBoGAj.js';
25
+ import { C as Command } from '../../../Command-BQCJ9Wf-.js';
26
26
  import 'socket.io-client';
27
27
  import '@expo/apple-utils/build/index.js';
28
28
  import 'crypto-js';
@@ -31,10 +31,10 @@ import 'readline-sync';
31
31
  import 'node:readline';
32
32
  import 'node:path';
33
33
  import 'node:url';
34
+ import 'isomorphic-git';
34
35
  import 'ini';
35
36
  import 'deepmerge';
36
- import 'isomorphic-git';
37
- import '../../../useAndroidServiceAccountTestResult-Bwu7ZeY5.js';
37
+ import '../../../useAndroidServiceAccountTestResult-DcYDam-p.js';
38
38
 
39
39
  class GameJobList extends BaseGameCommand {
40
40
  static args = {};
@@ -1,9 +1,9 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { Args, Flags } from '@oclif/core';
3
3
  import { render } from 'ink';
4
- import { c as BaseGameCommand, E as getJob, J as JobStatus } from '../../../index-Cn5-DHOL.js';
4
+ import { c as BaseGameCommand, E as getJob, J as JobStatus } from '../../../index-DkNQs11R.js';
5
5
  import 'react';
6
- import '../../../index-CSBsz7Js.js';
6
+ import '../../../index-vMXsdSCy.js';
7
7
  import 'ink-spinner';
8
8
  import '@inkjs/ui';
9
9
  import 'axios';
@@ -17,9 +17,9 @@ import 'node:readline';
17
17
  import 'node:path';
18
18
  import 'node:url';
19
19
  import 'luxon';
20
+ import 'isomorphic-git';
20
21
  import 'fast-glob';
21
22
  import 'socket.io-client';
22
- import 'isomorphic-git';
23
23
  import 'open';
24
24
  import 'marked';
25
25
  import 'marked-terminal';
@@ -28,17 +28,17 @@ import { N as NextSteps } from '../../../NextSteps-CK9zHOCt.js';
28
28
  import 'qrcode';
29
29
  import 'string-length';
30
30
  import 'strip-ansi';
31
- import { C as Command } from '../../../Command-I9hBoGAj.js';
32
- import { J as JobStatusTable, a as JobLogTail } from '../../../JobStatusTable-CHJt8Sci.js';
31
+ import { C as Command } from '../../../Command-BQCJ9Wf-.js';
32
+ import { J as JobStatusTable, a as JobLogTail } from '../../../JobStatusTable-DmI7qCHc.js';
33
33
  import '@expo/apple-utils/build/index.js';
34
34
  import 'crypto-js';
35
35
  import 'ini';
36
36
  import 'deepmerge';
37
- import '../../../index-B-jDJolg.js';
38
- import '../../../useAndroidServiceAccountTestResult-Bwu7ZeY5.js';
37
+ import '../../../index-BB00V5oF.js';
38
+ import '../../../useAndroidServiceAccountTestResult-DcYDam-p.js';
39
39
  import '../../../Title-BCQtayg6.js';
40
- import '../../../useWebSocket-Kupwp5m2.js';
41
- import '../../../useJobWatching-mXM2P2E5.js';
40
+ import '../../../useWebSocket-ByuNoqRw.js';
41
+ import '../../../useJobWatching-BZSUa8E-.js';
42
42
  import '../../../StatusTable-Dm5St4g-.js';
43
43
 
44
44
  class GameJobStatus extends BaseGameCommand {
@@ -1,9 +1,9 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { render, Text, Box } from 'ink';
3
3
  import { Flags } from '@oclif/core';
4
- import { B as BaseAuthenticatedCommand, g as getProjects, b as getShortDate } from '../../index-Cn5-DHOL.js';
4
+ import { B as BaseAuthenticatedCommand, g as getProjects, b as getShortDate } from '../../index-DkNQs11R.js';
5
5
  import 'react';
6
- import '../../index-CSBsz7Js.js';
6
+ import '../../index-vMXsdSCy.js';
7
7
  import 'ink-spinner';
8
8
  import '@inkjs/ui';
9
9
  import 'axios';
@@ -11,7 +11,7 @@ import '@tanstack/react-query';
11
11
  import 'fs';
12
12
  import 'uuid';
13
13
  import 'yazl';
14
- import { g as getShortUUID } from '../../index-B-jDJolg.js';
14
+ import { g as getShortUUID } from '../../index-BB00V5oF.js';
15
15
  import 'open';
16
16
  import 'marked';
17
17
  import 'marked-terminal';
@@ -22,7 +22,7 @@ import 'string-length';
22
22
  import 'strip-ansi';
23
23
  import 'luxon';
24
24
  import 'fast-glob';
25
- import { C as Command } from '../../Command-I9hBoGAj.js';
25
+ import { C as Command } from '../../Command-BQCJ9Wf-.js';
26
26
  import 'socket.io-client';
27
27
  import '@expo/apple-utils/build/index.js';
28
28
  import 'crypto-js';
@@ -31,10 +31,10 @@ import 'readline-sync';
31
31
  import 'node:readline';
32
32
  import 'node:path';
33
33
  import 'node:url';
34
+ import 'isomorphic-git';
34
35
  import 'ini';
35
36
  import 'deepmerge';
36
- import 'isomorphic-git';
37
- import '../../useAndroidServiceAccountTestResult-Bwu7ZeY5.js';
37
+ import '../../useAndroidServiceAccountTestResult-DcYDam-p.js';
38
38
 
39
39
  class GameList extends BaseAuthenticatedCommand {
40
40
  static args = {};
@@ -1,26 +1,25 @@
1
1
  import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
2
- import { a1 as getShortAuthRequiredUrl, W as WEB_URL, c as BaseGameCommand } from '../../index-Cn5-DHOL.js';
3
- import { useContext, useState, useEffect } from 'react';
2
+ import { Flags } from '@oclif/core';
4
3
  import { useInput, Box, Text, render } from 'ink';
5
- import { c as CommandContext, b as GameContext, M as Markdown } from '../../index-CSBsz7Js.js';
4
+ import { a3 as getShortAuthRequiredUrl, W as WEB_URL, c as BaseGameCommand, K as downloadBuildById } from '../../index-DkNQs11R.js';
5
+ import { useContext, useState, useEffect } from 'react';
6
+ import { e as CommandContext, b as GameContext, M as Markdown } from '../../index-vMXsdSCy.js';
6
7
  import 'ink-spinner';
7
- import 'axios';
8
- import 'crypto-js';
9
- import 'uuid';
10
- import 'luxon';
11
- import 'fs';
12
8
  import '@inkjs/ui';
9
+ import axios from 'axios';
13
10
  import '@tanstack/react-query';
11
+ import 'fs';
12
+ import 'uuid';
14
13
  import 'yazl';
15
14
  import 'crypto';
16
15
  import 'readline-sync';
17
16
  import 'node:readline';
18
17
  import 'node:path';
19
18
  import 'node:url';
19
+ import 'luxon';
20
+ import 'isomorphic-git';
20
21
  import 'fast-glob';
21
22
  import 'socket.io-client';
22
- import 'isomorphic-git';
23
- import '@oclif/core';
24
23
  import open from 'open';
25
24
  import 'marked';
26
25
  import 'marked-terminal';
@@ -28,28 +27,52 @@ import 'path';
28
27
  import 'qrcode';
29
28
  import 'string-length';
30
29
  import 'strip-ansi';
31
- import { C as CommandGame } from '../../CommandGame-CdBKIgr-.js';
32
- import { g as getShortUUID } from '../../index-B-jDJolg.js';
33
- import { u as useShip, J as JobProgress } from '../../JobProgress-DrBLSHdv.js';
34
- import { J as JobStatusTable, a as JobLogTail } from '../../JobStatusTable-CHJt8Sci.js';
30
+ import { C as CommandGame } from '../../CommandGame-CkGqTno0.js';
31
+ import { g as getShortUUID } from '../../index-BB00V5oF.js';
32
+ import { u as useShip, J as JobProgress } from '../../JobProgress-D9tHgBvi.js';
33
+ import { J as JobStatusTable, a as JobLogTail } from '../../JobStatusTable-DmI7qCHc.js';
35
34
  import '@expo/apple-utils/build/index.js';
35
+ import 'crypto-js';
36
36
  import 'ini';
37
37
  import 'deepmerge';
38
- import '../../useAndroidServiceAccountTestResult-Bwu7ZeY5.js';
39
- import '../../Command-I9hBoGAj.js';
38
+ import '../../useAndroidServiceAccountTestResult-DcYDam-p.js';
39
+ import '../../Command-BQCJ9Wf-.js';
40
40
  import '../../git-DREGq-jc.js';
41
41
  import '../../ProgressSpinner-6pw1T8Iw.js';
42
- import '../../useJobWatching-mXM2P2E5.js';
43
- import '../../useWebSocket-Kupwp5m2.js';
42
+ import '../../useJobWatching-BZSUa8E-.js';
43
+ import '../../useWebSocket-ByuNoqRw.js';
44
44
  import '../../Title-BCQtayg6.js';
45
45
  import '../../StatusTable-Dm5St4g-.js';
46
46
 
47
+ function isNetworkError(exception) {
48
+ if (!axios.isAxiosError(exception)) return false;
49
+ return ["ECONNABORTED", "ERR_NETWORK"].includes(`${exception.code}`);
50
+ }
51
+ function getErrorMessage(error) {
52
+ try {
53
+ if (isNetworkError(error)) {
54
+ return "Please check your internet connection.";
55
+ }
56
+ const data = error?.response?.data;
57
+ const apiValidation = Array.isArray(data) ? data.map((r) => "message" in r ? `Error - ${r.message}` : r.toString()).join(" ") : "";
58
+ const apiErr = error?.response?.data?.error || "";
59
+ const apiMsg = `${apiErr}${apiValidation ? " " + apiValidation : ""}`;
60
+ if (apiMsg.length === 0) {
61
+ return "message" in error ? error.message : error.toString();
62
+ }
63
+ return apiMsg;
64
+ } catch {
65
+ return error ? error.toString() : "Error";
66
+ }
67
+ }
68
+
47
69
  const Ship = ({ onComplete, onError }) => {
48
70
  const { command } = useContext(CommandContext);
49
71
  const { gameId } = useContext(GameContext);
50
72
  const shipMutation = useShip();
51
73
  const [jobs, setJobs] = useState(null);
52
74
  const [failedJobs, setFailedJobs] = useState([]);
75
+ const [successJobs, setSuccessJobs] = useState([]);
53
76
  const [shipLog, setShipLog] = useState("");
54
77
  const [showLog, setShowLog] = useState(false);
55
78
  const [isComplete, setIsComplete] = useState(false);
@@ -75,6 +98,7 @@ const Ship = ({ onComplete, onError }) => {
75
98
  }
76
99
  });
77
100
  const handleJobComplete = (job) => {
101
+ setSuccessJobs([...successJobs, job]);
78
102
  const newJobs = (jobs || []).filter((prevJob) => prevJob.id !== job.id);
79
103
  setJobs(newJobs);
80
104
  if (newJobs.length === 0) {
@@ -88,7 +112,7 @@ const Ship = ({ onComplete, onError }) => {
88
112
  useEffect(() => {
89
113
  if (!isComplete) return;
90
114
  setTimeout(() => {
91
- failedJobs.length === 0 ? onComplete() : onError("One or more jobs failed");
115
+ failedJobs.length === 0 ? onComplete(successJobs) : onError("One or more jobs failed");
92
116
  }, 500);
93
117
  }, [isComplete]);
94
118
  if (!gameId) return /* @__PURE__ */ jsx(Fragment, {});
@@ -132,13 +156,45 @@ const Ship = ({ onComplete, onError }) => {
132
156
 
133
157
  class GameShip extends BaseGameCommand {
134
158
  static args = {};
159
+ static flags = {
160
+ ...BaseGameCommand.flags,
161
+ platform: Flags.string({
162
+ description: 'The platform to ship the game to. This can be "android" or "ios"',
163
+ required: false,
164
+ options: ["android", "ios"]
165
+ }),
166
+ skipPublish: Flags.boolean({
167
+ description: "Skip the publish step",
168
+ required: false,
169
+ default: false
170
+ }),
171
+ download: Flags.string({
172
+ description: "Download the build artifact to the specified file",
173
+ required: false,
174
+ dependsOn: ["platform"]
175
+ })
176
+ };
135
177
  static description = "Builds the app (for all platforms with valid credentials) and ships it to the stores.";
136
- static examples = ["<%= config.bin %> <%= command.id %>"];
178
+ static examples = [
179
+ "<%= config.bin %> <%= command.id %>",
180
+ "<%= config.bin %> <%= command.id %> --platform ios",
181
+ "<%= config.bin %> <%= command.id %> --platform android --skipPublish",
182
+ "<%= config.bin %> <%= command.id %> --platform android --download output.aab"
183
+ ];
137
184
  async run() {
138
185
  await this.ensureWeAreInAProjectDir();
139
- const handleComplete = () => process.exit(0);
186
+ const gameId = await this.getGameId();
187
+ if (!gameId) {
188
+ this.error("No game ID found");
189
+ }
190
+ const handleComplete = async (jobs) => {
191
+ if (this.flags.download) {
192
+ await downloadBuildById(gameId, `${jobs[0]?.build?.id}`, this.flags.download);
193
+ }
194
+ process.exit(0);
195
+ };
140
196
  const handleError = (e) => {
141
- process.exit(1);
197
+ this.error(getErrorMessage(e));
142
198
  };
143
199
  render(
144
200
  /* @__PURE__ */ jsx(CommandGame, { command: this, children: /* @__PURE__ */ jsx(Ship, { onComplete: handleComplete, onError: handleError }) })
@@ -2,8 +2,8 @@ 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 '../../index-CSBsz7Js.js';
6
- import { B as BaseAuthenticatedCommand, I as getProject, P as Platform, k as getProjectPlatformProgress, b as getShortDate } from '../../index-Cn5-DHOL.js';
5
+ import '../../index-vMXsdSCy.js';
6
+ import { B as BaseAuthenticatedCommand, I as getProject, P as Platform, k as getProjectPlatformProgress, b as getShortDate } from '../../index-DkNQs11R.js';
7
7
  import 'ink-spinner';
8
8
  import '@inkjs/ui';
9
9
  import 'axios';
@@ -11,7 +11,7 @@ import '@tanstack/react-query';
11
11
  import 'fs';
12
12
  import 'uuid';
13
13
  import 'yazl';
14
- import { g as getShortUUID, m as makeHumanReadable } from '../../index-B-jDJolg.js';
14
+ import { g as getShortUUID, m as makeHumanReadable } from '../../index-BB00V5oF.js';
15
15
  import 'open';
16
16
  import 'marked';
17
17
  import 'marked-terminal';
@@ -23,9 +23,9 @@ import 'string-length';
23
23
  import 'strip-ansi';
24
24
  import 'luxon';
25
25
  import 'fast-glob';
26
- import { C as Command } from '../../Command-I9hBoGAj.js';
26
+ import { C as Command } from '../../Command-BQCJ9Wf-.js';
27
27
  import 'socket.io-client';
28
- import '../../useAndroidServiceAccountTestResult-Bwu7ZeY5.js';
28
+ import '../../useAndroidServiceAccountTestResult-DcYDam-p.js';
29
29
  import '@expo/apple-utils/build/index.js';
30
30
  import 'crypto-js';
31
31
  import 'crypto';
@@ -33,9 +33,9 @@ import 'readline-sync';
33
33
  import 'node:readline';
34
34
  import 'node:path';
35
35
  import 'node:url';
36
+ import 'isomorphic-git';
36
37
  import 'ini';
37
38
  import 'deepmerge';
38
- import 'isomorphic-git';
39
39
  import '../../Title-BCQtayg6.js';
40
40
 
41
41
  function getSteps(platform, progress) {
@@ -1,16 +1,16 @@
1
1
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
2
  import { Args } from '@oclif/core';
3
3
  import { Text, Box, useInput, useFocus, measureElement, render } from 'ink';
4
- import { p as getAuthedHeaders, q as API_URL, L as castArrayObjectDates, M 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, W as WEB_URL, I as getProject, C as CredentialsType, T as getGoogleStatus, B as BaseAuthenticatedCommand, j as isCWDGodotGame } from '../../index-Cn5-DHOL.js';
4
+ import { p as getAuthedHeaders, q as API_URL, L as castArrayObjectDates, M 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, W as WEB_URL, I as getProject, C as CredentialsType, T as getGoogleStatus, B as BaseAuthenticatedCommand, j as isCWDGodotGame } from '../../index-DkNQs11R.js';
5
5
  import React, { useState, useContext, useEffect, useRef, useReducer } from 'react';
6
- import { c as CommandContext, b as GameContext, M as Markdown, d as useBuilds, q as queryBuilds, G as GameProvider, f as CreateGooglePlayGame } from '../../index-CSBsz7Js.js';
6
+ import { e as CommandContext, b as GameContext, M as Markdown, c as useBuilds, q as queryBuilds, G as GameProvider, f as CreateGooglePlayGame } from '../../index-vMXsdSCy.js';
7
7
  import Spinner from 'ink-spinner';
8
8
  import { Alert, TextInput } from '@inkjs/ui';
9
9
  import axios from 'axios';
10
10
  import 'crypto-js';
11
11
  import 'uuid';
12
- import 'luxon';
13
12
  import fs__default from 'fs';
13
+ import 'luxon';
14
14
  import { useQuery, useMutation } from '@tanstack/react-query';
15
15
  import 'yazl';
16
16
  import 'crypto';
@@ -18,9 +18,9 @@ import 'readline-sync';
18
18
  import 'node:readline';
19
19
  import 'node:path';
20
20
  import 'node:url';
21
+ import 'isomorphic-git';
21
22
  import 'fast-glob';
22
23
  import 'socket.io-client';
23
- import 'isomorphic-git';
24
24
  import 'open';
25
25
  import 'marked';
26
26
  import 'marked-terminal';
@@ -28,26 +28,26 @@ import 'path';
28
28
  import 'qrcode';
29
29
  import 'string-length';
30
30
  import 'strip-ansi';
31
- import { C as CreateKeystore } from '../../Create-4wdfWBjN.js';
32
- import { I as ImportKeystore } from '../../Import-B3j3Faf_.js';
33
- import { C as ConnectGoogle } from '../../index-xV-xLIQa.js';
34
- import { C as CreateServiceAccountKey } from '../../index-JYXa6bEW.js';
35
- import { c as cacheKeys, f as fetchKeyTestResult, K as KeyTestStatus, a as KeyTestError } from '../../useAndroidServiceAccountTestResult-Bwu7ZeY5.js';
36
- import { u as useShip, J as JobProgress } from '../../JobProgress-DrBLSHdv.js';
37
- import { a as getProjectCredentials } from '../../index-BCO3QRqD.js';
31
+ import { C as CreateKeystore } from '../../Create-CKZDEkqF.js';
32
+ import { I as ImportKeystore } from '../../Import-Ljz1gxXd.js';
33
+ import { C as ConnectGoogle } from '../../index-DyOv-ge5.js';
34
+ import { C as CreateServiceAccountKey } from '../../index-DrcGhlrc.js';
35
+ import { c as cacheKeys, f as fetchKeyTestResult, K as KeyTestStatus, a as KeyTestError } from '../../useAndroidServiceAccountTestResult-DcYDam-p.js';
36
+ import { u as useShip, J as JobProgress } from '../../JobProgress-D9tHgBvi.js';
37
+ import { a as getProjectCredentials } from '../../index-CIa2EDQ6.js';
38
38
  import { T as Title } from '../../Title-BCQtayg6.js';
39
- import { C as Command } from '../../Command-I9hBoGAj.js';
39
+ import { C as Command } from '../../Command-BQCJ9Wf-.js';
40
40
  import '@expo/apple-utils/build/index.js';
41
41
  import 'ini';
42
42
  import 'deepmerge';
43
- import '../../index-B-jDJolg.js';
43
+ import '../../index-BB00V5oF.js';
44
44
  import '../../RunWithSpinner-BVXNWGD3.js';
45
- import '../../import-D9dyGwy2.js';
46
- import '../../useWebSocket-Kupwp5m2.js';
47
- import '../../useProjectCredentials-B2wXUghS.js';
45
+ import '../../import-Ch5O7xfN.js';
46
+ import '../../useWebSocket-ByuNoqRw.js';
47
+ import '../../useProjectCredentials-Btnr7WK3.js';
48
48
  import '../../ProgressSpinner-6pw1T8Iw.js';
49
49
  import '../../git-DREGq-jc.js';
50
- import '../../useJobWatching-mXM2P2E5.js';
50
+ import '../../useJobWatching-BZSUa8E-.js';
51
51
 
52
52
  async function queryJobs({ projectId, ...pageAndSortParams }) {
53
53
  try {
@@ -1,7 +1,7 @@
1
1
  import fs__default, { promises } from 'fs';
2
2
  import path from 'path';
3
3
  import { Args, Flags } from '@oclif/core';
4
- import { Y as BaseCommand } from '../../index-Cn5-DHOL.js';
4
+ import { Y as BaseCommand } from '../../index-DkNQs11R.js';
5
5
  import '@expo/apple-utils/build/index.js';
6
6
  import 'axios';
7
7
  import 'crypto-js';
@@ -12,14 +12,14 @@ import 'readline-sync';
12
12
  import 'node:readline';
13
13
  import 'node:path';
14
14
  import 'node:url';
15
- import 'react';
16
- import '@tanstack/react-query';
15
+ import 'isomorphic-git';
17
16
  import 'ini';
18
17
  import 'deepmerge';
18
+ import 'react';
19
+ import '@tanstack/react-query';
19
20
  import 'fast-glob';
20
21
  import 'yazl';
21
22
  import 'socket.io-client';
22
- import 'isomorphic-git';
23
23
 
24
24
  function generateFastlaneSession(cookieData) {
25
25
  return cookieData.cookies.map((cookie) => {
@@ -1,7 +1,7 @@
1
1
  import { Args, Flags } from '@oclif/core';
2
2
  import fs__default from 'fs';
3
3
  import path from 'path';
4
- import { Y as BaseCommand } from '../../index-Cn5-DHOL.js';
4
+ import { Y as BaseCommand } from '../../index-DkNQs11R.js';
5
5
  import CustomHelp from '../../utils/help.js';
6
6
  import '@expo/apple-utils/build/index.js';
7
7
  import 'axios';
@@ -13,14 +13,14 @@ import 'readline-sync';
13
13
  import 'node:readline';
14
14
  import 'node:path';
15
15
  import 'node:url';
16
- import 'react';
17
- import '@tanstack/react-query';
16
+ import 'isomorphic-git';
18
17
  import 'ini';
19
18
  import 'deepmerge';
19
+ import 'react';
20
+ import '@tanstack/react-query';
20
21
  import 'fast-glob';
21
22
  import 'yazl';
22
23
  import 'socket.io-client';
23
- import 'isomorphic-git';
24
24
 
25
25
  function getDefaultExportFromCjs (x) {
26
26
  return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
@@ -1,7 +1,7 @@
1
1
  import axios from 'axios';
2
2
  import { Flags } from '@oclif/core';
3
- import { W as WEB_URL, Y as BaseCommand, q as API_URL, _ as setAuthToken, $ as acceptTerms } from '../index-Cn5-DHOL.js';
4
- import { a as getInput } from '../index-B-jDJolg.js';
3
+ import { W as WEB_URL, Y as BaseCommand, q as API_URL, _ as setAuthToken, $ as acceptTerms } from '../index-DkNQs11R.js';
4
+ import { a as getInput } from '../index-BB00V5oF.js';
5
5
  import 'path';
6
6
  import 'fs';
7
7
  import '@expo/apple-utils/build/index.js';
@@ -13,14 +13,14 @@ import 'readline-sync';
13
13
  import 'node:readline';
14
14
  import 'node:path';
15
15
  import 'node:url';
16
- import 'react';
17
- import '@tanstack/react-query';
16
+ import 'isomorphic-git';
18
17
  import 'ini';
19
18
  import 'deepmerge';
19
+ import 'react';
20
+ import '@tanstack/react-query';
20
21
  import 'fast-glob';
21
22
  import 'yazl';
22
23
  import 'socket.io-client';
23
- import 'isomorphic-git';
24
24
 
25
25
  const TERMS_URL = new URL("/terms", WEB_URL).href;
26
26
  const PRIVACY_URL = new URL("/privacy", WEB_URL).href;