shipthis 0.0.27 → 0.0.29

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.
@@ -1,4 +1,4 @@
1
- import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
1
+ import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
2
  import { Flags } from '@oclif/core';
3
3
  import { Box, Text, render } from 'ink';
4
4
  import { f as getShortDate, A as ApiKey, P as Platform, C as CredentialsType, B as BaseAuthenticatedCommand } from '../../../baseGameCommand-B3NbuvDu.js';
@@ -19,9 +19,9 @@ import Spinner from 'ink-spinner';
19
19
  import { u as useUserCredentials, U as UserCredentialsTable } from '../../../UserCredentialsTable-A_YlFeJX.js';
20
20
  import { T as Title } from '../../../Title-BCQtayg6.js';
21
21
  import { T as Table } from '../../../Table-CvM6pccN.js';
22
+ import { N as NextSteps } from '../../../NextSteps-CK9zHOCt.js';
22
23
  import 'string-length';
23
24
  import 'strip-ansi';
24
- import { N as NextSteps } from '../../../NextSteps-CK9zHOCt.js';
25
25
  import 'ini';
26
26
  import 'deepmerge';
27
27
  import '../../../cacheKeys-CShA-ZjE.js';
@@ -57,17 +57,20 @@ const AppleApiKeysTable = ({ ctx, ...boxProps }) => {
57
57
  const { data: userCredentialsResponse } = useUserCredentials({ platform: Platform.IOS, type: CredentialsType.KEY });
58
58
  const { data: keys, isLoading } = useAppleApiKeys({ ctx });
59
59
  const hasUsable = keys && userCredentialsResponse && keys.some((key) => canAppleApiKeyBeUsed(key, userCredentialsResponse.data));
60
- return /* @__PURE__ */ jsxs(Box, { flexDirection: "column", marginBottom: 1, ...boxProps, children: [
61
- /* @__PURE__ */ jsx(Title, { children: "App Store Connect API Keys in your Apple account" }),
62
- isLoading && /* @__PURE__ */ jsx(Spinner, { type: "dots" }),
63
- keys && userCredentialsResponse && /* @__PURE__ */ jsxs(Fragment, { children: [
64
- /* @__PURE__ */ jsxs(Box, { marginLeft: 2, marginBottom: 1, flexDirection: "column", children: [
65
- /* @__PURE__ */ jsx(Text, { children: `You have ${keys.length} App Store Connect API Keys in your Apple account` }),
66
- /* @__PURE__ */ jsx(Text, { children: `${hasUsable ? "One" : "None"} of these can be used by ShipThis` })
67
- ] }),
68
- keys.length > 0 && /* @__PURE__ */ jsx(Table, { data: keys.map((key) => getAppleApiKeySummary(key, userCredentialsResponse.data)) }),
69
- !hasUsable && /* @__PURE__ */ jsx(Box, { marginTop: 1, children: /* @__PURE__ */ jsx(Text, { bold: true, children: "You do not have a usable App Store Connect API Key. To ship an iOS game, you will need a usable App Store Connect API Key." }) })
70
- ] })
60
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
61
+ /* @__PURE__ */ jsxs(Box, { flexDirection: "column", marginBottom: 1, ...boxProps, children: [
62
+ /* @__PURE__ */ jsx(Title, { children: "App Store Connect API Keys in your Apple account" }),
63
+ isLoading && /* @__PURE__ */ jsx(Spinner, { type: "dots" }),
64
+ keys && userCredentialsResponse && /* @__PURE__ */ jsxs(Fragment, { children: [
65
+ /* @__PURE__ */ jsxs(Box, { marginLeft: 2, marginBottom: 1, flexDirection: "column", children: [
66
+ /* @__PURE__ */ jsx(Text, { children: `You have ${keys.length} App Store Connect API Keys in your Apple account` }),
67
+ /* @__PURE__ */ jsx(Text, { children: `${hasUsable ? "One" : "None"} of these can be used by ShipThis` })
68
+ ] }),
69
+ keys.length > 0 && /* @__PURE__ */ jsx(Table, { data: keys.map((key) => getAppleApiKeySummary(key, userCredentialsResponse.data)) }),
70
+ !hasUsable && /* @__PURE__ */ jsx(Box, { marginTop: 1, children: /* @__PURE__ */ jsx(Text, { bold: true, children: "You do not have a usable App Store Connect API Key. To ship an iOS game, you will need a usable App Store Connect API Key." }) })
71
+ ] })
72
+ ] }),
73
+ keys && !hasUsable && /* @__PURE__ */ jsx(NextSteps, { steps: ["shipthis apple apiKey create"] })
71
74
  ] });
72
75
  };
73
76
 
@@ -98,8 +101,7 @@ class AppleApiKeyStatus extends BaseAuthenticatedCommand {
98
101
  queryProps: { type: CredentialsType.KEY, platform: Platform.IOS }
99
102
  }
100
103
  ),
101
- showApple && /* @__PURE__ */ jsx(AppleApiKeysTable, { ctx }),
102
- /* @__PURE__ */ jsx(NextSteps, { steps: [] })
104
+ showApple && /* @__PURE__ */ jsx(AppleApiKeysTable, { ctx })
103
105
  ] })
104
106
  );
105
107
  }
@@ -1,4 +1,4 @@
1
- import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
1
+ import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
2
  import { Flags } from '@oclif/core';
3
3
  import { Box, Text, render } from 'ink';
4
4
  import { f as getShortDate, q as Certificate, r as CertificateType, P as Platform, C as CredentialsType, B as BaseAuthenticatedCommand } from '../../../baseGameCommand-B3NbuvDu.js';
@@ -16,13 +16,13 @@ import 'socket.io-client';
16
16
  import 'isomorphic-git';
17
17
  import { A as App } from '../../../App-BfoOFeZ-.js';
18
18
  import Spinner from 'ink-spinner';
19
+ import { N as NextSteps } from '../../../NextSteps-CK9zHOCt.js';
19
20
  import { g as getShortUUID } from '../../../index-ZHJdUrwJ.js';
20
21
  import { u as useUserCredentials, U as UserCredentialsTable } from '../../../UserCredentialsTable-A_YlFeJX.js';
21
22
  import { T as Title } from '../../../Title-BCQtayg6.js';
22
23
  import { T as Table } from '../../../Table-CvM6pccN.js';
23
24
  import 'string-length';
24
25
  import 'strip-ansi';
25
- import { N as NextSteps } from '../../../NextSteps-CK9zHOCt.js';
26
26
  import 'ini';
27
27
  import 'deepmerge';
28
28
  import '../../../cacheKeys-CShA-ZjE.js';
@@ -65,17 +65,20 @@ const AppleCertificatesTable = ({ ctx, ...boxProps }) => {
65
65
  });
66
66
  const { data: certs, isLoading } = useAppleCertificates({ ctx });
67
67
  const hasUsable = certs && userCredentialsResponse && certs.some((cert) => canAppleCertificateBeUsed(cert, userCredentialsResponse.data));
68
- return /* @__PURE__ */ jsxs(Box, { flexDirection: "column", marginBottom: 1, ...boxProps, children: [
69
- /* @__PURE__ */ jsx(Title, { children: "Distribution Certificates in your Apple account" }),
70
- isLoading && /* @__PURE__ */ jsx(Spinner, { type: "dots" }),
71
- certs && userCredentialsResponse && /* @__PURE__ */ jsxs(Fragment, { children: [
72
- /* @__PURE__ */ jsxs(Box, { marginLeft: 2, marginBottom: 1, flexDirection: "column", children: [
73
- /* @__PURE__ */ jsx(Text, { children: `You have ${certs.length} Distribution Certificates in your Apple account` }),
74
- /* @__PURE__ */ jsx(Text, { children: `${hasUsable ? "One" : "None"} of these can be used by ShipThis` })
75
- ] }),
76
- /* @__PURE__ */ jsx(Table, { data: certs.map((cert) => getAppleCertificateSummary(cert, userCredentialsResponse.data)) }),
77
- !hasUsable && /* @__PURE__ */ jsx(Box, { marginTop: 1, children: /* @__PURE__ */ jsx(Text, { bold: true, children: "You do not have a usable Distribution Certificate. To ship an iOS game, you will need a usable Distribution Certificate." }) })
78
- ] })
68
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
69
+ /* @__PURE__ */ jsxs(Box, { flexDirection: "column", marginBottom: 1, ...boxProps, children: [
70
+ /* @__PURE__ */ jsx(Title, { children: "Distribution Certificates in your Apple account" }),
71
+ isLoading && /* @__PURE__ */ jsx(Spinner, { type: "dots" }),
72
+ certs && userCredentialsResponse && /* @__PURE__ */ jsxs(Fragment, { children: [
73
+ /* @__PURE__ */ jsxs(Box, { marginLeft: 2, marginBottom: 1, flexDirection: "column", children: [
74
+ /* @__PURE__ */ jsx(Text, { children: `You have ${certs.length} Distribution Certificates in your Apple account` }),
75
+ /* @__PURE__ */ jsx(Text, { children: `${hasUsable ? "One" : "None"} of these can be used by ShipThis` })
76
+ ] }),
77
+ certs.length > 0 && /* @__PURE__ */ jsx(Table, { data: certs.map((cert) => getAppleCertificateSummary(cert, userCredentialsResponse.data)) }),
78
+ !hasUsable && /* @__PURE__ */ jsx(Box, { marginTop: 1, children: /* @__PURE__ */ jsx(Text, { bold: true, children: "You do not have a usable Distribution Certificate. To ship an iOS game, you will need a usable Distribution Certificate." }) })
79
+ ] })
80
+ ] }),
81
+ certs && !hasUsable && /* @__PURE__ */ jsx(NextSteps, { steps: ["shipthis apple certificate create"] })
79
82
  ] });
80
83
  };
81
84
 
@@ -16,10 +16,10 @@ import 'isomorphic-git';
16
16
  import { A as App } from '../../App-BfoOFeZ-.js';
17
17
  import { render } from 'ink';
18
18
  import 'ink-spinner';
19
+ import { N as NextSteps } from '../../NextSteps-CK9zHOCt.js';
19
20
  import { S as StatusTable } from '../../StatusTable-CxuX_R1D.js';
20
21
  import 'string-length';
21
22
  import 'strip-ansi';
22
- import { N as NextSteps } from '../../NextSteps-CK9zHOCt.js';
23
23
  import 'ini';
24
24
  import 'deepmerge';
25
25
  import '../../Title-BCQtayg6.js';
@@ -15,15 +15,15 @@ import 'luxon';
15
15
  import 'socket.io-client';
16
16
  import '@expo/apple-utils/build/index.js';
17
17
  import 'isomorphic-git';
18
+ import { N as NextSteps } from '../../../../NextSteps-CK9zHOCt.js';
18
19
  import { A as AppleAppDetails, a as AppleBundleIdDetails } from '../../../../AppleBundleIdDetails-n1_U8IqK.js';
19
20
  import 'string-length';
20
21
  import 'strip-ansi';
21
- import { N as NextSteps } from '../../../../NextSteps-CK9zHOCt.js';
22
22
  import 'path';
23
23
  import 'ini';
24
24
  import 'deepmerge';
25
- import '../../../../useAppleApp-Cr3VcGVs.js';
26
25
  import '../../../../Title-BCQtayg6.js';
26
+ import '../../../../useAppleApp-Cr3VcGVs.js';
27
27
  import '../../../../Table-CvM6pccN.js';
28
28
  import '../../../../useAppleBundleId-BxtyGpHy.js';
29
29
 
@@ -15,13 +15,13 @@ import { DateTime } from 'luxon';
15
15
  import 'socket.io-client';
16
16
  import '@expo/apple-utils/build/index.js';
17
17
  import 'isomorphic-git';
18
+ import { N as NextSteps } from '../../../../NextSteps-CK9zHOCt.js';
18
19
  import { c as cacheKeys } from '../../../../cacheKeys-CShA-ZjE.js';
19
20
  import { g as getShortUUID } from '../../../../index-ZHJdUrwJ.js';
20
21
  import { T as Title } from '../../../../Title-BCQtayg6.js';
21
22
  import { T as Table } from '../../../../Table-CvM6pccN.js';
22
23
  import 'string-length';
23
24
  import 'strip-ansi';
24
- import { N as NextSteps } from '../../../../NextSteps-CK9zHOCt.js';
25
25
  import 'path';
26
26
  import 'ini';
27
27
  import 'deepmerge';
@@ -6,6 +6,7 @@ import 'ink-spinner';
6
6
  import { d as BaseGameCommand, e as getProjectPlatformProgress, P as Platform, f as getShortDate } from '../../../baseGameCommand-B3NbuvDu.js';
7
7
  import { g as getShortUUID, m as makeHumanReadable } from '../../../index-ZHJdUrwJ.js';
8
8
  import 'react';
9
+ import { N as NextSteps } from '../../../NextSteps-CK9zHOCt.js';
9
10
  import { A as AppleAppDetails, a as AppleBundleIdDetails } from '../../../AppleBundleIdDetails-n1_U8IqK.js';
10
11
  import { S as StatusTable } from '../../../StatusTable-CxuX_R1D.js';
11
12
  import 'axios';
@@ -14,7 +15,6 @@ import 'socket.io-client';
14
15
  import 'string-length';
15
16
  import 'strip-ansi';
16
17
  import 'luxon';
17
- import { N as NextSteps } from '../../../NextSteps-CK9zHOCt.js';
18
18
  import 'path';
19
19
  import 'fs';
20
20
  import '@expo/apple-utils/build/index.js';
@@ -24,8 +24,8 @@ import 'node:readline';
24
24
  import 'isomorphic-git';
25
25
  import 'ini';
26
26
  import 'deepmerge';
27
- import '../../../useAppleApp-Cr3VcGVs.js';
28
27
  import '../../../Title-BCQtayg6.js';
28
+ import '../../../useAppleApp-Cr3VcGVs.js';
29
29
  import '../../../Table-CvM6pccN.js';
30
30
  import '../../../useAppleBundleId-BxtyGpHy.js';
31
31
 
@@ -16,6 +16,7 @@ import { DateTime } from 'luxon';
16
16
  import 'isomorphic-git';
17
17
  import { A as App } from '../../../App-BfoOFeZ-.js';
18
18
  import Spinner from 'ink-spinner';
19
+ import { N as NextSteps } from '../../../NextSteps-CK9zHOCt.js';
19
20
  import { h as getStageColor, j as getMessageColor, d as getJobStatusColor } from '../../../index-ZHJdUrwJ.js';
20
21
  import { c as cacheKeys } from '../../../cacheKeys-CShA-ZjE.js';
21
22
  import { T as Title } from '../../../Title-BCQtayg6.js';
@@ -24,7 +25,6 @@ import stripAnsi from 'strip-ansi';
24
25
  import { u as useJob, a as getJobSummary } from '../../../useJob-Bc9fdiyP.js';
25
26
  import { a as StatusRow, b as StatusRowLabel } from '../../../StatusTable-CxuX_R1D.js';
26
27
  import { g as getBuildSummary } from '../../../useBuilds-JHqMwpWS.js';
27
- import { N as NextSteps } from '../../../NextSteps-CK9zHOCt.js';
28
28
  import 'ini';
29
29
  import 'deepmerge';
30
30
 
@@ -6,6 +6,7 @@ import 'ink-spinner';
6
6
  import { d as BaseGameCommand, e as getProjectPlatformProgress, P as Platform, f as getShortDate } from '../../baseGameCommand-B3NbuvDu.js';
7
7
  import { g as getShortUUID, m as makeHumanReadable } from '../../index-ZHJdUrwJ.js';
8
8
  import 'react';
9
+ import { N as NextSteps } from '../../NextSteps-CK9zHOCt.js';
9
10
  import 'luxon';
10
11
  import '@tanstack/react-query';
11
12
  import '@expo/apple-utils/build/index.js';
@@ -14,7 +15,6 @@ import { S as StatusTable } from '../../StatusTable-CxuX_R1D.js';
14
15
  import 'socket.io-client';
15
16
  import 'string-length';
16
17
  import 'strip-ansi';
17
- import { N as NextSteps } from '../../NextSteps-CK9zHOCt.js';
18
18
  import 'path';
19
19
  import 'fs';
20
20
  import 'crypto';
@@ -14,10 +14,10 @@ import '@tanstack/react-query';
14
14
  import 'socket.io-client';
15
15
  import '@expo/apple-utils/build/index.js';
16
16
  import { i as isCWDGitRepo } from '../git-DREGq-jc.js';
17
+ import { N as NextSteps } from '../NextSteps-CK9zHOCt.js';
17
18
  import { S as StatusTable } from '../StatusTable-CxuX_R1D.js';
18
19
  import 'string-length';
19
20
  import 'strip-ansi';
20
- import { N as NextSteps } from '../NextSteps-CK9zHOCt.js';
21
21
  import '@oclif/core';
22
22
  import 'path';
23
23
  import 'ini';
@@ -1,27 +1,32 @@
1
1
  # Topic: `apple apiKey`
2
2
 
3
+ ## Description
4
+
3
5
  Commands in the apple apiKey topic are prefixed `shipthis apple apiKey`. These commands relate to App Store Connect API Keys.
4
6
 
5
7
  - You can view the App Store Connect API Keys in the [Apple Developer Portal](https://appstoreconnect.apple.com/access/integrations/api).
6
8
  - You can view the keys which ShipThis can use in the [ShipThis Dashboard](https://shipthis.cc/credentials)
7
9
 
10
+ :::info
11
+ An **App Store Connect API key** is used to authenticate and authorize automated interactions with Apple's App Store Connect API, enabling tasks like managing app metadata, TestFlight, and sales reports.
12
+ :::
13
+
8
14
  :::tip
9
15
  You will need to be authenticated against ShipThis and Apple before you can use
10
16
  these commands. To do that please run the following commands first:
11
17
 
12
18
  - [`shipthis login`](/docs/reference/login)
13
19
  - [`shipthis apple login`](/docs/reference/apple/login)
20
+
14
21
  :::
15
22
 
16
23
  ## Example
17
24
 
18
-
19
-
25
+ [![asciicast](https://asciinema.org/a/PsCq8H4NowWSiGGMLraosAh9a.svg)](https://asciinema.org/a/PsCq8H4NowWSiGGMLraosAh9a)
20
26
 
21
27
  ## Commands
22
28
 
23
-
24
- ### apple apiKey create
29
+ ### `apple apiKey create`
25
30
 
26
31
  #### Description
27
32
 
@@ -48,7 +53,7 @@ EXAMPLES
48
53
  $ shipthis apple apiKey create --force
49
54
  ```
50
55
 
51
- ### apple apiKey export
56
+ ### `apple apiKey export`
52
57
 
53
58
  #### Description
54
59
 
@@ -73,7 +78,7 @@ EXAMPLES
73
78
  $ shipthis apple apiKey export userApiKey.zip
74
79
  ```
75
80
 
76
- ### apple apiKey import
81
+ ### `apple apiKey import`
77
82
 
78
83
  #### Description
79
84
 
@@ -98,7 +103,7 @@ EXAMPLES
98
103
  $ shipthis apple apiKey import userApiKey.zip
99
104
  ```
100
105
 
101
- ### apple apiKey status
106
+ ### `apple apiKey status`
102
107
 
103
108
  #### Description
104
109
 
@@ -1,12 +1,32 @@
1
1
  # Topic: `apple certificate`
2
2
 
3
- Commands related to App Store Certificates
3
+ ## Description
4
4
 
5
+ Commands in the apple certificate topic are prefixed `shipthis apple certificate`.
6
+ These commands relate to iOS Distribution Certificates within your Apple Developer account.
5
7
 
6
- ## Commands
8
+ - You can view the Distribution Certificates in the [Apple Developer Portal](https://developer.apple.com/account/resources/certificates/list).
9
+ - You can more about Certificates in the [Apple Documentation](https://developer.apple.com/help/account/create-certificates/certificates-overview/).
10
+ - You can view the Certificates which ShipThis uses in the [ShipThis Dashboard](https://shipthis.cc/credentials).
11
+
12
+ :::info
13
+ An **iOS Distribution Certificate** is used to authenticate and authorize the distribution of iOS apps, ensuring they are signed and trusted for installation on devices or submission to the App Store.
14
+ :::
15
+
16
+ :::tip
17
+ You will need to be authenticated against ShipThis and Apple before you can use
18
+ these commands. To do that please run the following commands first:
19
+
20
+ - [`shipthis login`](/docs/reference/login)
21
+ - [`shipthis apple login`](/docs/reference/apple/login)
7
22
 
23
+ :::
24
+
25
+ ## Example
26
+
27
+ ## Commands
8
28
 
9
- ### apple certificate create
29
+ ### `apple certificate create`
10
30
 
11
31
  #### Description
12
32
 
@@ -33,7 +53,7 @@ EXAMPLES
33
53
  $ shipthis apple certificate create --force
34
54
  ```
35
55
 
36
- ### apple certificate export
56
+ ### `apple certificate export`
37
57
 
38
58
  #### Description
39
59
 
@@ -58,7 +78,7 @@ EXAMPLES
58
78
  $ shipthis apple certificate export userCert.zip
59
79
  ```
60
80
 
61
- ### apple certificate import
81
+ ### `apple certificate import`
62
82
 
63
83
  #### Description
64
84
 
@@ -83,7 +103,7 @@ EXAMPLES
83
103
  $ shipthis apple certificate import userCert.zip
84
104
  ```
85
105
 
86
- ### apple certificate status
106
+ ### `apple certificate status`
87
107
 
88
108
  #### Description
89
109
 
@@ -5,13 +5,19 @@ to managing completed builds of your game.
5
5
 
6
6
  ShipThis allows you to list and download your builds.
7
7
 
8
- ## Example
8
+ :::tip
9
+ The `game build` topic relates to the files which are generated by ShipThis from
10
+ your game code. It should not be confused with the command [`shipthis game ship`](/docs/reference/game/ship).
11
+ :::
12
+
13
+
14
+ ## Example
9
15
 
10
16
  [![asciicast](https://asciinema.org/a/m2i3bOvZHUpQXFWtYXc7UnaKQ.svg)](https://asciinema.org/a/m2i3bOvZHUpQXFWtYXc7UnaKQ)
11
17
 
12
18
  ## Commands
13
19
 
14
- ### game build download
20
+ ### Command: `game build download`
15
21
 
16
22
  #### Description
17
23
 
@@ -40,7 +46,7 @@ EXAMPLES
40
46
  $ shipthis game build download --gameId 0c179fc4 e4b9a3d7 output.apk
41
47
  ```
42
48
 
43
- ### game build list
49
+ ### Command: `game build list`
44
50
 
45
51
  #### Description
46
52
 
@@ -514,10 +514,10 @@
514
514
  "wizard.js"
515
515
  ]
516
516
  },
517
- "apple:apiKey:create": {
517
+ "apple:certificate:create": {
518
518
  "aliases": [],
519
519
  "args": {},
520
- "description": "Creates an App Store Connect API Key in your Apple Developer account.\nSaves the private key in your ShipThis account.",
520
+ "description": "Creates an iOS Distribution Certificate in your Apple Developer account.\nSaves the certificate with the private key to your ShipThis account",
521
521
  "examples": [
522
522
  "<%= config.bin %> <%= command.id %>",
523
523
  "<%= config.bin %> <%= command.id %> --force"
@@ -539,7 +539,7 @@
539
539
  },
540
540
  "hasDynamicHelp": false,
541
541
  "hiddenAliases": [],
542
- "id": "apple:apiKey:create",
542
+ "id": "apple:certificate:create",
543
543
  "pluginAlias": "shipthis",
544
544
  "pluginName": "shipthis",
545
545
  "pluginType": "core",
@@ -549,11 +549,11 @@
549
549
  "dist",
550
550
  "commands",
551
551
  "apple",
552
- "apiKey",
552
+ "certificate",
553
553
  "create.js"
554
554
  ]
555
555
  },
556
- "apple:apiKey:export": {
556
+ "apple:certificate:export": {
557
557
  "aliases": [],
558
558
  "args": {
559
559
  "file": {
@@ -562,9 +562,9 @@
562
562
  "required": true
563
563
  }
564
564
  },
565
- "description": "Saves the current App Store Connect API Key to a ZIP file",
565
+ "description": "Saves the current Apple Distribution Certificate to a ZIP file.",
566
566
  "examples": [
567
- "<%= config.bin %> <%= command.id %> userApiKey.zip"
567
+ "<%= config.bin %> <%= command.id %> userCert.zip"
568
568
  ],
569
569
  "flags": {
570
570
  "force": {
@@ -577,7 +577,7 @@
577
577
  },
578
578
  "hasDynamicHelp": false,
579
579
  "hiddenAliases": [],
580
- "id": "apple:apiKey:export",
580
+ "id": "apple:certificate:export",
581
581
  "pluginAlias": "shipthis",
582
582
  "pluginName": "shipthis",
583
583
  "pluginType": "core",
@@ -588,11 +588,11 @@
588
588
  "dist",
589
589
  "commands",
590
590
  "apple",
591
- "apiKey",
591
+ "certificate",
592
592
  "export.js"
593
593
  ]
594
594
  },
595
- "apple:apiKey:import": {
595
+ "apple:certificate:import": {
596
596
  "aliases": [],
597
597
  "args": {
598
598
  "file": {
@@ -601,9 +601,9 @@
601
601
  "required": true
602
602
  }
603
603
  },
604
- "description": "Imports an App Store Connect API Key ZIP file into your ShipThis account",
604
+ "description": "Imports an iOS Distribution Certificate to your ShipThis account",
605
605
  "examples": [
606
- "<%= config.bin %> <%= command.id %> userApiKey.zip"
606
+ "<%= config.bin %> <%= command.id %> userCert.zip"
607
607
  ],
608
608
  "flags": {
609
609
  "force": {
@@ -615,7 +615,7 @@
615
615
  },
616
616
  "hasDynamicHelp": false,
617
617
  "hiddenAliases": [],
618
- "id": "apple:apiKey:import",
618
+ "id": "apple:certificate:import",
619
619
  "pluginAlias": "shipthis",
620
620
  "pluginName": "shipthis",
621
621
  "pluginType": "core",
@@ -626,14 +626,14 @@
626
626
  "dist",
627
627
  "commands",
628
628
  "apple",
629
- "apiKey",
629
+ "certificate",
630
630
  "import.js"
631
631
  ]
632
632
  },
633
- "apple:apiKey:status": {
633
+ "apple:certificate:status": {
634
634
  "aliases": [],
635
635
  "args": {},
636
- "description": "Displays the status of App Store Connect API Keys in your Apple and ShipThis accounts.\nThis API key is used to automatically publish your games to the App Store.",
636
+ "description": "Displays the status of the iOS Distribution certificates in your Apple and ShipThis accounts.\nThese are used to sign all of your iOS apps.",
637
637
  "examples": [
638
638
  "<%= config.bin %> <%= command.id %>",
639
639
  "<%= config.bin %> <%= command.id %> --noAppleAuth"
@@ -648,7 +648,7 @@
648
648
  },
649
649
  "hasDynamicHelp": false,
650
650
  "hiddenAliases": [],
651
- "id": "apple:apiKey:status",
651
+ "id": "apple:certificate:status",
652
652
  "pluginAlias": "shipthis",
653
653
  "pluginName": "shipthis",
654
654
  "pluginType": "core",
@@ -659,147 +659,14 @@
659
659
  "dist",
660
660
  "commands",
661
661
  "apple",
662
- "apiKey",
662
+ "certificate",
663
663
  "status.js"
664
664
  ]
665
665
  },
666
- "game:build:download": {
667
- "aliases": [],
668
- "args": {
669
- "build_id": {
670
- "description": "The ID of the build to download",
671
- "name": "build_id",
672
- "required": true
673
- },
674
- "file": {
675
- "description": "Name of the file to output",
676
- "name": "file",
677
- "required": true
678
- }
679
- },
680
- "description": "Downloads the given build artifact to the specified file",
681
- "examples": [
682
- "<%= config.bin %> <%= command.id %> 7a3f5c92 output.ipa",
683
- "<%= config.bin %> <%= command.id %> --gameId 0c179fc4 e4b9a3d7 output.apk"
684
- ],
685
- "flags": {
686
- "gameId": {
687
- "char": "g",
688
- "description": "The ID of the game",
689
- "name": "gameId",
690
- "hasDynamicHelp": false,
691
- "multiple": false,
692
- "type": "option"
693
- },
694
- "force": {
695
- "char": "f",
696
- "description": "Overwrite the file if it already exists",
697
- "name": "force",
698
- "allowNo": false,
699
- "type": "boolean"
700
- }
701
- },
702
- "hasDynamicHelp": false,
703
- "hiddenAliases": [],
704
- "id": "game:build:download",
705
- "pluginAlias": "shipthis",
706
- "pluginName": "shipthis",
707
- "pluginType": "core",
708
- "strict": true,
709
- "enableJsonFlag": false,
710
- "isESM": true,
711
- "relativePath": [
712
- "dist",
713
- "commands",
714
- "game",
715
- "build",
716
- "download.js"
717
- ]
718
- },
719
- "game:build:list": {
720
- "aliases": [],
721
- "args": {},
722
- "description": "Lists the builds for successful jobs of a game.",
723
- "examples": [
724
- "<%= config.bin %> <%= command.id %>",
725
- "<%= config.bin %> <%= command.id %> --gameId 0c179fc4",
726
- "<%= config.bin %> <%= command.id %> --gameId 0c179fc4 --pageSize 20 --pageNumber 1"
727
- ],
728
- "flags": {
729
- "gameId": {
730
- "char": "g",
731
- "description": "The ID of the game",
732
- "name": "gameId",
733
- "hasDynamicHelp": false,
734
- "multiple": false,
735
- "type": "option"
736
- },
737
- "pageNumber": {
738
- "char": "p",
739
- "description": "The page number to show (starts at 0)",
740
- "name": "pageNumber",
741
- "default": 0,
742
- "hasDynamicHelp": false,
743
- "multiple": false,
744
- "type": "option"
745
- },
746
- "pageSize": {
747
- "char": "s",
748
- "description": "The number of items to show per page",
749
- "name": "pageSize",
750
- "default": 10,
751
- "hasDynamicHelp": false,
752
- "multiple": false,
753
- "type": "option"
754
- },
755
- "orderBy": {
756
- "char": "o",
757
- "description": "The field to order by",
758
- "name": "orderBy",
759
- "default": "createdAt",
760
- "hasDynamicHelp": false,
761
- "multiple": false,
762
- "options": [
763
- "createdAt",
764
- "updatedAt"
765
- ],
766
- "type": "option"
767
- },
768
- "order": {
769
- "char": "r",
770
- "description": "The order to sort by",
771
- "name": "order",
772
- "default": "desc",
773
- "hasDynamicHelp": false,
774
- "multiple": false,
775
- "options": [
776
- "asc",
777
- "desc"
778
- ],
779
- "type": "option"
780
- }
781
- },
782
- "hasDynamicHelp": false,
783
- "hiddenAliases": [],
784
- "id": "game:build:list",
785
- "pluginAlias": "shipthis",
786
- "pluginName": "shipthis",
787
- "pluginType": "core",
788
- "strict": true,
789
- "enableJsonFlag": false,
790
- "isESM": true,
791
- "relativePath": [
792
- "dist",
793
- "commands",
794
- "game",
795
- "build",
796
- "list.js"
797
- ]
798
- },
799
- "apple:certificate:create": {
666
+ "apple:apiKey:create": {
800
667
  "aliases": [],
801
668
  "args": {},
802
- "description": "Creates an iOS Distribution Certificate in your Apple Developer account.\nSaves the certificate with the private key to your ShipThis account",
669
+ "description": "Creates an App Store Connect API Key in your Apple Developer account.\nSaves the private key in your ShipThis account.",
803
670
  "examples": [
804
671
  "<%= config.bin %> <%= command.id %>",
805
672
  "<%= config.bin %> <%= command.id %> --force"
@@ -821,7 +688,7 @@
821
688
  },
822
689
  "hasDynamicHelp": false,
823
690
  "hiddenAliases": [],
824
- "id": "apple:certificate:create",
691
+ "id": "apple:apiKey:create",
825
692
  "pluginAlias": "shipthis",
826
693
  "pluginName": "shipthis",
827
694
  "pluginType": "core",
@@ -831,11 +698,11 @@
831
698
  "dist",
832
699
  "commands",
833
700
  "apple",
834
- "certificate",
701
+ "apiKey",
835
702
  "create.js"
836
703
  ]
837
704
  },
838
- "apple:certificate:export": {
705
+ "apple:apiKey:export": {
839
706
  "aliases": [],
840
707
  "args": {
841
708
  "file": {
@@ -844,9 +711,9 @@
844
711
  "required": true
845
712
  }
846
713
  },
847
- "description": "Saves the current Apple Distribution Certificate to a ZIP file.",
714
+ "description": "Saves the current App Store Connect API Key to a ZIP file",
848
715
  "examples": [
849
- "<%= config.bin %> <%= command.id %> userCert.zip"
716
+ "<%= config.bin %> <%= command.id %> userApiKey.zip"
850
717
  ],
851
718
  "flags": {
852
719
  "force": {
@@ -859,7 +726,7 @@
859
726
  },
860
727
  "hasDynamicHelp": false,
861
728
  "hiddenAliases": [],
862
- "id": "apple:certificate:export",
729
+ "id": "apple:apiKey:export",
863
730
  "pluginAlias": "shipthis",
864
731
  "pluginName": "shipthis",
865
732
  "pluginType": "core",
@@ -870,11 +737,11 @@
870
737
  "dist",
871
738
  "commands",
872
739
  "apple",
873
- "certificate",
740
+ "apiKey",
874
741
  "export.js"
875
742
  ]
876
743
  },
877
- "apple:certificate:import": {
744
+ "apple:apiKey:import": {
878
745
  "aliases": [],
879
746
  "args": {
880
747
  "file": {
@@ -883,9 +750,9 @@
883
750
  "required": true
884
751
  }
885
752
  },
886
- "description": "Imports an iOS Distribution Certificate to your ShipThis account",
753
+ "description": "Imports an App Store Connect API Key ZIP file into your ShipThis account",
887
754
  "examples": [
888
- "<%= config.bin %> <%= command.id %> userCert.zip"
755
+ "<%= config.bin %> <%= command.id %> userApiKey.zip"
889
756
  ],
890
757
  "flags": {
891
758
  "force": {
@@ -897,7 +764,7 @@
897
764
  },
898
765
  "hasDynamicHelp": false,
899
766
  "hiddenAliases": [],
900
- "id": "apple:certificate:import",
767
+ "id": "apple:apiKey:import",
901
768
  "pluginAlias": "shipthis",
902
769
  "pluginName": "shipthis",
903
770
  "pluginType": "core",
@@ -908,14 +775,14 @@
908
775
  "dist",
909
776
  "commands",
910
777
  "apple",
911
- "certificate",
778
+ "apiKey",
912
779
  "import.js"
913
780
  ]
914
781
  },
915
- "apple:certificate:status": {
782
+ "apple:apiKey:status": {
916
783
  "aliases": [],
917
784
  "args": {},
918
- "description": "Displays the status of the iOS Distribution certificates in your Apple and ShipThis accounts.\nThese are used to sign all of your iOS apps.",
785
+ "description": "Displays the status of App Store Connect API Keys in your Apple and ShipThis accounts.\nThis API key is used to automatically publish your games to the App Store.",
919
786
  "examples": [
920
787
  "<%= config.bin %> <%= command.id %>",
921
788
  "<%= config.bin %> <%= command.id %> --noAppleAuth"
@@ -930,7 +797,7 @@
930
797
  },
931
798
  "hasDynamicHelp": false,
932
799
  "hiddenAliases": [],
933
- "id": "apple:certificate:status",
800
+ "id": "apple:apiKey:status",
934
801
  "pluginAlias": "shipthis",
935
802
  "pluginName": "shipthis",
936
803
  "pluginType": "core",
@@ -941,17 +808,71 @@
941
808
  "dist",
942
809
  "commands",
943
810
  "apple",
944
- "certificate",
811
+ "apiKey",
945
812
  "status.js"
946
813
  ]
947
814
  },
948
- "game:ios:status": {
815
+ "game:build:download": {
816
+ "aliases": [],
817
+ "args": {
818
+ "build_id": {
819
+ "description": "The ID of the build to download",
820
+ "name": "build_id",
821
+ "required": true
822
+ },
823
+ "file": {
824
+ "description": "Name of the file to output",
825
+ "name": "file",
826
+ "required": true
827
+ }
828
+ },
829
+ "description": "Downloads the given build artifact to the specified file",
830
+ "examples": [
831
+ "<%= config.bin %> <%= command.id %> 7a3f5c92 output.ipa",
832
+ "<%= config.bin %> <%= command.id %> --gameId 0c179fc4 e4b9a3d7 output.apk"
833
+ ],
834
+ "flags": {
835
+ "gameId": {
836
+ "char": "g",
837
+ "description": "The ID of the game",
838
+ "name": "gameId",
839
+ "hasDynamicHelp": false,
840
+ "multiple": false,
841
+ "type": "option"
842
+ },
843
+ "force": {
844
+ "char": "f",
845
+ "description": "Overwrite the file if it already exists",
846
+ "name": "force",
847
+ "allowNo": false,
848
+ "type": "boolean"
849
+ }
850
+ },
851
+ "hasDynamicHelp": false,
852
+ "hiddenAliases": [],
853
+ "id": "game:build:download",
854
+ "pluginAlias": "shipthis",
855
+ "pluginName": "shipthis",
856
+ "pluginType": "core",
857
+ "strict": true,
858
+ "enableJsonFlag": false,
859
+ "isESM": true,
860
+ "relativePath": [
861
+ "dist",
862
+ "commands",
863
+ "game",
864
+ "build",
865
+ "download.js"
866
+ ]
867
+ },
868
+ "game:build:list": {
949
869
  "aliases": [],
950
870
  "args": {},
951
- "description": "Shows the Game iOS Platform status. If --gameId is not provided it will look in the current directory.",
871
+ "description": "Lists the builds for successful jobs of a game.",
952
872
  "examples": [
953
873
  "<%= config.bin %> <%= command.id %>",
954
- "<%= config.bin %> <%= command.id %> --gameId 0c179fc4"
874
+ "<%= config.bin %> <%= command.id %> --gameId 0c179fc4",
875
+ "<%= config.bin %> <%= command.id %> --gameId 0c179fc4 --pageSize 20 --pageNumber 1"
955
876
  ],
956
877
  "flags": {
957
878
  "gameId": {
@@ -961,11 +882,55 @@
961
882
  "hasDynamicHelp": false,
962
883
  "multiple": false,
963
884
  "type": "option"
885
+ },
886
+ "pageNumber": {
887
+ "char": "p",
888
+ "description": "The page number to show (starts at 0)",
889
+ "name": "pageNumber",
890
+ "default": 0,
891
+ "hasDynamicHelp": false,
892
+ "multiple": false,
893
+ "type": "option"
894
+ },
895
+ "pageSize": {
896
+ "char": "s",
897
+ "description": "The number of items to show per page",
898
+ "name": "pageSize",
899
+ "default": 10,
900
+ "hasDynamicHelp": false,
901
+ "multiple": false,
902
+ "type": "option"
903
+ },
904
+ "orderBy": {
905
+ "char": "o",
906
+ "description": "The field to order by",
907
+ "name": "orderBy",
908
+ "default": "createdAt",
909
+ "hasDynamicHelp": false,
910
+ "multiple": false,
911
+ "options": [
912
+ "createdAt",
913
+ "updatedAt"
914
+ ],
915
+ "type": "option"
916
+ },
917
+ "order": {
918
+ "char": "r",
919
+ "description": "The order to sort by",
920
+ "name": "order",
921
+ "default": "desc",
922
+ "hasDynamicHelp": false,
923
+ "multiple": false,
924
+ "options": [
925
+ "asc",
926
+ "desc"
927
+ ],
928
+ "type": "option"
964
929
  }
965
930
  },
966
931
  "hasDynamicHelp": false,
967
932
  "hiddenAliases": [],
968
- "id": "game:ios:status",
933
+ "id": "game:build:list",
969
934
  "pluginAlias": "shipthis",
970
935
  "pluginName": "shipthis",
971
936
  "pluginType": "core",
@@ -976,8 +941,8 @@
976
941
  "dist",
977
942
  "commands",
978
943
  "game",
979
- "ios",
980
- "status.js"
944
+ "build",
945
+ "list.js"
981
946
  ]
982
947
  },
983
948
  "game:job:list": {
@@ -1117,6 +1082,41 @@
1117
1082
  "status.js"
1118
1083
  ]
1119
1084
  },
1085
+ "game:ios:status": {
1086
+ "aliases": [],
1087
+ "args": {},
1088
+ "description": "Shows the Game iOS Platform status. If --gameId is not provided it will look in the current directory.",
1089
+ "examples": [
1090
+ "<%= config.bin %> <%= command.id %>",
1091
+ "<%= config.bin %> <%= command.id %> --gameId 0c179fc4"
1092
+ ],
1093
+ "flags": {
1094
+ "gameId": {
1095
+ "char": "g",
1096
+ "description": "The ID of the game",
1097
+ "name": "gameId",
1098
+ "hasDynamicHelp": false,
1099
+ "multiple": false,
1100
+ "type": "option"
1101
+ }
1102
+ },
1103
+ "hasDynamicHelp": false,
1104
+ "hiddenAliases": [],
1105
+ "id": "game:ios:status",
1106
+ "pluginAlias": "shipthis",
1107
+ "pluginName": "shipthis",
1108
+ "pluginType": "core",
1109
+ "strict": true,
1110
+ "enableJsonFlag": false,
1111
+ "isESM": true,
1112
+ "relativePath": [
1113
+ "dist",
1114
+ "commands",
1115
+ "game",
1116
+ "ios",
1117
+ "status.js"
1118
+ ]
1119
+ },
1120
1120
  "game:ios:app:addTester": {
1121
1121
  "aliases": [],
1122
1122
  "args": {},
@@ -1508,5 +1508,5 @@
1508
1508
  ]
1509
1509
  }
1510
1510
  },
1511
- "version": "0.0.27"
1511
+ "version": "0.0.29"
1512
1512
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "shipthis",
3
3
  "description": "Game Shipping Tool",
4
- "version": "0.0.27",
4
+ "version": "0.0.29",
5
5
  "author": "Hello Invent Ltd",
6
6
  "bin": {
7
7
  "shipthis": "./bin/run.js"