shipthis 0.0.9 → 0.0.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +36 -20
- package/bin/readme.sh +15 -0
- package/bin/run.js +1 -1
- package/dist/commands/apple/apiKey/create.js +1 -1
- package/dist/commands/apple/apiKey/status.js +1 -1
- package/dist/commands/apple/certificate/create.js +1 -1
- package/dist/commands/apple/certificate/status.js +1 -1
- package/dist/commands/apple/login.js +3 -3
- package/dist/commands/apple/status.js +24 -9
- package/dist/commands/game/create.js +1 -1
- package/dist/commands/game/details.js +1 -1
- package/dist/commands/game/ios/app/create.js +1 -1
- package/dist/commands/game/ios/app/status.js +1 -1
- package/dist/commands/game/ios/app/sync.js +1 -1
- package/dist/commands/game/ios/profile/create.js +1 -1
- package/dist/commands/game/ios/profile/status.js +1 -1
- package/dist/commands/game/job/list.js +1 -1
- package/dist/commands/game/list.js +1 -1
- package/dist/commands/game/ship.js +1 -1
- package/dist/commands/game/status.js +1 -1
- package/dist/commands/game/wizard.js +3 -2
- package/dist/utils/help.js +14 -0
- package/docs/README.md +20 -0
- package/docs/apple/apiKey/create.md +26 -0
- package/docs/apple/apiKey/export.md +24 -0
- package/docs/apple/apiKey/import.md +24 -0
- package/docs/apple/apiKey/status.md +25 -0
- package/docs/apple/apiKey.md +110 -0
- package/docs/apple/certificate/create.md +26 -0
- package/docs/apple/certificate/export.md +24 -0
- package/docs/apple/certificate/import.md +24 -0
- package/docs/apple/certificate/status.md +25 -0
- package/docs/apple/certificate.md +110 -0
- package/docs/apple/login.md +30 -0
- package/docs/apple/status.md +21 -0
- package/docs/apple.md +48 -0
- package/docs/dashboard.md +18 -0
- package/docs/game/build/download.md +28 -0
- package/docs/game/build/list.md +31 -0
- package/docs/game/build.md +68 -0
- package/docs/game/create.md +23 -0
- package/docs/game/details.md +35 -0
- package/docs/game/export.md +26 -0
- package/docs/game/ios/app/addTester.md +24 -0
- package/docs/game/ios/app/create.md +25 -0
- package/docs/game/ios/app/status.md +21 -0
- package/docs/game/ios/app/sync.md +23 -0
- package/docs/game/ios/app.md +104 -0
- package/docs/game/ios/profile/create.md +23 -0
- package/docs/game/ios/profile/export.md +25 -0
- package/docs/game/ios/profile/import.md +25 -0
- package/docs/game/ios/profile/status.md +22 -0
- package/docs/game/ios/profile.md +106 -0
- package/docs/game/ios/status.md +23 -0
- package/docs/game/ios.md +247 -0
- package/docs/game/job/list.md +29 -0
- package/docs/game/job/status.md +30 -0
- package/docs/game/job.md +68 -0
- package/docs/game/list.md +26 -0
- package/docs/game/ship.md +21 -0
- package/docs/game/status.md +23 -0
- package/docs/game/wizard.md +23 -0
- package/docs/game.md +19 -0
- package/docs/help.md +21 -0
- package/docs/login.md +28 -0
- package/docs/status.md +18 -0
- package/oclif.manifest.json +22 -20
- package/package.json +17 -3
package/README.md
CHANGED
|
@@ -30,27 +30,43 @@ USAGE
|
|
|
30
30
|
```
|
|
31
31
|
<!-- usagestop -->
|
|
32
32
|
|
|
33
|
+
<!-- commands -->
|
|
33
34
|
# Command Topics
|
|
34
35
|
|
|
35
|
-
* [`shipthis apple`](docs
|
|
36
|
-
* [`shipthis apple apiKey`](docs
|
|
37
|
-
* [`shipthis apple
|
|
38
|
-
* [`shipthis apple
|
|
39
|
-
* [`shipthis apple
|
|
40
|
-
* [`shipthis
|
|
41
|
-
* [`shipthis
|
|
42
|
-
* [`shipthis
|
|
43
|
-
* [`shipthis
|
|
44
|
-
* [`shipthis
|
|
45
|
-
* [`shipthis
|
|
46
|
-
* [`shipthis
|
|
47
|
-
* [`shipthis
|
|
48
|
-
* [`shipthis
|
|
49
|
-
* [`shipthis game
|
|
50
|
-
* [`shipthis game
|
|
51
|
-
* [`shipthis game
|
|
52
|
-
* [`shipthis
|
|
53
|
-
* [`shipthis
|
|
54
|
-
* [`shipthis
|
|
36
|
+
* [`shipthis apple`](./docs/apple.md) - Commands related to Apple Developer Portal
|
|
37
|
+
* [`shipthis apple apiKey`](docs/apple/apiKey.md) - Creates an App Store Connect API Key in your Apple Developer account and saves the private key in your ShipThis account
|
|
38
|
+
* [`shipthis apple apiKey create`](docs/apple/apiKey/create.md) - Creates an App Store Connect API Key in your Apple Developer account and saves the private key in your ShipThis account
|
|
39
|
+
* [`shipthis apple apiKey export`](docs/apple/apiKey/export.md) - Saves the current App Store Connect API Key to a ZIP file
|
|
40
|
+
* [`shipthis apple apiKey import`](docs/apple/apiKey/import.md) - Imports an App Store Connect API Key ZIP file into your ShipThis account
|
|
41
|
+
* [`shipthis apple apiKey status`](docs/apple/apiKey/status.md) - Displays the status of the App Store Connect API Keys in your Apple and ShipThis accounts. The API key is used to automatically publish your games to the App Store.
|
|
42
|
+
* [`shipthis apple certificate`](docs/apple/certificate.md) - Creates an iOS Distribution Certificate in your Apple Developer account and saves it with the private key to your ShipThis account
|
|
43
|
+
* [`shipthis apple certificate create`](docs/apple/certificate/create.md) - Creates an iOS Distribution Certificate in your Apple Developer account and saves it with the private key to your ShipThis account
|
|
44
|
+
* [`shipthis apple certificate export`](docs/apple/certificate/export.md) - Saves the current Apple Distribution Certificate to a ZIP file.
|
|
45
|
+
* [`shipthis apple certificate import`](docs/apple/certificate/import.md) - Imports an iOS Distribution Certificate to your ShipThis account
|
|
46
|
+
* [`shipthis apple certificate status`](docs/apple/certificate/status.md) - Displays the status of the iOS Distribution certificates in your Apple and ShipThis accounts. These are used to sign all of your iOS apps.
|
|
47
|
+
* [`shipthis apple login`](docs/apple/login.md) - Authenticate with Apple - saves the session to the auth file
|
|
48
|
+
* [`shipthis apple status`](docs/apple/status.md) - Shows the status of the Apple authentication and integration
|
|
49
|
+
* [`shipthis dashboard`](docs/dashboard.md) - Opens the web-browser to your ShipThis dashboard
|
|
50
|
+
* [`shipthis game`](docs/game.md) - Commands related to Game Management
|
|
51
|
+
* [`shipthis game build`](docs/game/build.md) - Commands related to builds for a specific game
|
|
52
|
+
* [`shipthis game build download`](docs/game/build/download.md) - Downloads the given build artifact to the specified file
|
|
53
|
+
* [`shipthis game build list`](docs/game/build/list.md) - Lists the builds for successful jobs of a game.
|
|
54
|
+
* [`shipthis game create`](docs/game/create.md) - Create a new game
|
|
55
|
+
* [`shipthis game details`](docs/game/details.md) - Shows and sets the details of a game. If --gameId is not provided it will look in the current directory.
|
|
56
|
+
* [`shipthis game export`](docs/game/export.md) - Downloads the shipthis.json file for a given game into the current directory.
|
|
57
|
+
* [`shipthis game ios`](docs/game/ios.md) - Commands related to the iOS platform for a specific game
|
|
58
|
+
* [`shipthis game ios app`](docs/game/ios/app.md) - Commands related to the App Store App for a specific game
|
|
59
|
+
* [`shipthis game ios profile`](docs/game/ios/profile.md) - Commands related to the App Store Provisioning Profiles for this Game
|
|
60
|
+
* [`shipthis game ios status`](docs/game/ios/status.md) - Shows the Game iOS Platform status. If --gameId is not provided it will look in the current directory.
|
|
61
|
+
* [`shipthis game job`](docs/game/job.md) - Commands related to jobs for a specific game
|
|
62
|
+
* [`shipthis game job list`](docs/game/job/list.md) - Lists the jobs for a game. If --gameId is not provided it will look in the current directory.
|
|
63
|
+
* [`shipthis game job status`](docs/game/job/status.md) - Shows the real-time status of a job.
|
|
64
|
+
* [`shipthis game list`](docs/game/list.md) - Shows a list of all your games
|
|
65
|
+
* [`shipthis game ship`](docs/game/ship.md) - Builds the app (for all platforms with valid credentials) and ships it to the stores
|
|
66
|
+
* [`shipthis game status`](docs/game/status.md) - Shows the Game status. If --gameId is not provided it will look in the current directory.
|
|
67
|
+
* [`shipthis game wizard`](docs/game/wizard.md) - Runs all the steps for the specific platform
|
|
68
|
+
* [`shipthis help`](docs/help.md) - Display help for shipthis.
|
|
69
|
+
* [`shipthis login`](docs/login.md) - Authenticate - will create a new account if one does not exist.
|
|
70
|
+
* [`shipthis status`](docs/status.md) - Displays the current overall status.
|
|
55
71
|
|
|
56
72
|
<!-- commandsstop -->
|
package/bin/readme.sh
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
scriptDir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
4
|
+
|
|
5
|
+
cd $scriptDir/..
|
|
6
|
+
|
|
7
|
+
# We want to avoid overwriting the docs we have manually written
|
|
8
|
+
|
|
9
|
+
bin/dev.js internal readme docs/ -d 2 --only docs/game --notDryRun --overWrite
|
|
10
|
+
bin/dev.js internal readme docs/ -d 2 --only docs/apple/apiKey --notDryRun --overWrite
|
|
11
|
+
bin/dev.js internal readme docs/ -d 2 --only docs/apple/certificate --notDryRun --overWrite
|
|
12
|
+
bin/dev.js internal readme docs/ -d 2 --only docs/login.md --notDryRun --overWrite
|
|
13
|
+
bin/dev.js internal readme docs/ -d 2 --only docs/status.md --notDryRun --overWrite
|
|
14
|
+
bin/dev.js internal readme docs/ -d 2 --only docs/dashboard.md --notDryRun --overWrite
|
|
15
|
+
bin/dev.js internal readme docs/ -d 2 --only docs/help.md --notDryRun --overWrite
|
package/bin/run.js
CHANGED
|
@@ -26,7 +26,7 @@ import 'deepmerge';
|
|
|
26
26
|
|
|
27
27
|
class AppleApiKeyCreate extends BaseAppleCommand {
|
|
28
28
|
static args = {};
|
|
29
|
-
static description = "Creates an App Store Connect API Key in your Apple Developer account
|
|
29
|
+
static description = "Creates an App Store Connect API Key in your Apple Developer account.\nSaves the private key in your ShipThis account.";
|
|
30
30
|
static examples = ["<%= config.bin %> <%= command.id %>", "<%= config.bin %> <%= command.id %> --force"];
|
|
31
31
|
static flags = {
|
|
32
32
|
force: Flags.boolean({ char: "f" }),
|
|
@@ -73,7 +73,7 @@ const AppleApiKeysTable = ({ ctx, ...boxProps }) => {
|
|
|
73
73
|
|
|
74
74
|
class AppleApiKeyStatus extends BaseAuthenticatedCommand {
|
|
75
75
|
static args = {};
|
|
76
|
-
static description = "Displays the status of
|
|
76
|
+
static 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.";
|
|
77
77
|
static examples = [
|
|
78
78
|
"<%= config.bin %> <%= command.id %>",
|
|
79
79
|
"<%= config.bin %> <%= command.id %> --noAppleAuth"
|
|
@@ -65,7 +65,7 @@ function exportCertificate(certificate, privateKey) {
|
|
|
65
65
|
|
|
66
66
|
class AppleCertificateCreate extends BaseAppleCommand {
|
|
67
67
|
static args = {};
|
|
68
|
-
static description = "Creates an iOS Distribution Certificate in your Apple Developer account
|
|
68
|
+
static description = "Creates an iOS Distribution Certificate in your Apple Developer account.\nSaves the certificate with the private key to your ShipThis account";
|
|
69
69
|
static examples = ["<%= config.bin %> <%= command.id %>", "<%= config.bin %> <%= command.id %> --force"];
|
|
70
70
|
static flags = {
|
|
71
71
|
force: Flags.boolean({ char: "f" }),
|
|
@@ -81,7 +81,7 @@ const AppleCertificatesTable = ({ ctx, ...boxProps }) => {
|
|
|
81
81
|
|
|
82
82
|
class AppleCertificateStatus extends BaseAuthenticatedCommand {
|
|
83
83
|
static args = {};
|
|
84
|
-
static description = "Displays the status of the iOS Distribution certificates in your Apple and ShipThis accounts
|
|
84
|
+
static 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.";
|
|
85
85
|
static examples = [
|
|
86
86
|
"<%= config.bin %> <%= command.id %>",
|
|
87
87
|
"<%= config.bin %> <%= command.id %> --noAppleAuth"
|
|
@@ -36,7 +36,7 @@ class AppleLogin extends BaseAuthenticatedCommand {
|
|
|
36
36
|
force: Flags.boolean({ char: "f" }),
|
|
37
37
|
appleEmail: Flags.string({
|
|
38
38
|
char: "e",
|
|
39
|
-
description: "Your Apple email address"
|
|
39
|
+
description: "Your Apple Developer email address"
|
|
40
40
|
})
|
|
41
41
|
};
|
|
42
42
|
async run() {
|
|
@@ -47,12 +47,12 @@ class AppleLogin extends BaseAuthenticatedCommand {
|
|
|
47
47
|
}
|
|
48
48
|
const getAppleEmail = async () => {
|
|
49
49
|
if (flags.appleEmail) return flags.appleEmail;
|
|
50
|
-
const appleEmail2 = await getInput("Please enter your Apple email address: ");
|
|
50
|
+
const appleEmail2 = await getInput("Please enter your Apple Developer account email address: ");
|
|
51
51
|
if (!appleEmail2) throw new Error("Email address is required");
|
|
52
52
|
return appleEmail2;
|
|
53
53
|
};
|
|
54
54
|
const getApplePassword = async () => {
|
|
55
|
-
const applePassword2 = await getMaskedInput("Please enter your Apple password: ");
|
|
55
|
+
const applePassword2 = await getMaskedInput("Please enter your Apple Developer password: ");
|
|
56
56
|
if (!applePassword2) throw new Error("Password is required");
|
|
57
57
|
return applePassword2;
|
|
58
58
|
};
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { B as BaseAuthenticatedCommand } from '../../baseGameCommand-BeUNc6Wy.js';
|
|
2
3
|
import 'path';
|
|
3
4
|
import 'fs';
|
|
4
5
|
import '@oclif/core';
|
|
5
6
|
import '@expo/apple-utils/build/index.js';
|
|
6
7
|
import 'axios';
|
|
7
|
-
import '../../baseGameCommand-BeUNc6Wy.js';
|
|
8
8
|
import 'luxon';
|
|
9
9
|
import 'crypto';
|
|
10
10
|
import 'readline-sync';
|
|
@@ -13,7 +13,6 @@ import 'react';
|
|
|
13
13
|
import '@tanstack/react-query';
|
|
14
14
|
import 'socket.io-client';
|
|
15
15
|
import 'isomorphic-git';
|
|
16
|
-
import { B as BaseAppleCommand } from '../../baseAppleCommand-IhowpKpk.js';
|
|
17
16
|
import { A as App } from '../../App-SiSXLW2s.js';
|
|
18
17
|
import { render } from 'ink';
|
|
19
18
|
import 'ink-spinner';
|
|
@@ -25,19 +24,35 @@ import 'ini';
|
|
|
25
24
|
import 'deepmerge';
|
|
26
25
|
import '../../Title-BCQtayg6.js';
|
|
27
26
|
|
|
28
|
-
class AppleStatus extends
|
|
27
|
+
class AppleStatus extends BaseAuthenticatedCommand {
|
|
29
28
|
static args = {};
|
|
30
|
-
static description = "Shows the status of the Apple authentication and integration";
|
|
29
|
+
static description = "Shows the status of the Apple authentication and integration.";
|
|
31
30
|
static examples = ["<%= config.bin %> <%= command.id %>"];
|
|
32
31
|
static flags = {};
|
|
33
32
|
async run() {
|
|
34
|
-
const
|
|
35
|
-
|
|
33
|
+
const checkAuth = async () => {
|
|
34
|
+
try {
|
|
35
|
+
const authState = await this.refreshAppleAuthState();
|
|
36
|
+
const { session: session2 } = authState;
|
|
37
|
+
return {
|
|
38
|
+
isAuthenticatedOnApple: true,
|
|
39
|
+
session: session2
|
|
40
|
+
};
|
|
41
|
+
} catch {
|
|
42
|
+
return {
|
|
43
|
+
isAuthenticatedOnApple: false,
|
|
44
|
+
session: null
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
const { isAuthenticatedOnApple, session } = await checkAuth();
|
|
36
49
|
const statuses = {
|
|
37
|
-
"
|
|
38
|
-
"
|
|
50
|
+
"Authenticated on Apple Developer Portal": isAuthenticatedOnApple,
|
|
51
|
+
"Apple Full Name": session?.user?.fullName || "Please authenticate",
|
|
52
|
+
"Apple Provider Name": session?.provider?.name || "Please authenticate"
|
|
39
53
|
};
|
|
40
|
-
|
|
54
|
+
let steps = [];
|
|
55
|
+
if (!isAuthenticatedOnApple) steps.push("$ shipthis apple login");
|
|
41
56
|
render(
|
|
42
57
|
/* @__PURE__ */ jsxs(App, { children: [
|
|
43
58
|
/* @__PURE__ */ jsx(StatusTable, { marginBottom: 1, title: "Apple Status", statuses }),
|
|
@@ -18,7 +18,7 @@ import 'isomorphic-git';
|
|
|
18
18
|
|
|
19
19
|
class GameCreate extends BaseAuthenticatedCommand {
|
|
20
20
|
static args = {};
|
|
21
|
-
static description = "Create a new game";
|
|
21
|
+
static description = "Create a new game in ShipThis.";
|
|
22
22
|
static examples = ["<%= config.bin %> <%= command.id %>"];
|
|
23
23
|
static flags = {
|
|
24
24
|
quiet: Flags.boolean({ char: "q", description: "Avoid output except for interactions and errors" }),
|
|
@@ -26,7 +26,7 @@ import '../../Title-BCQtayg6.js';
|
|
|
26
26
|
|
|
27
27
|
class GameDetails extends BaseGameCommand {
|
|
28
28
|
static args = {};
|
|
29
|
-
static description = "Shows and sets the details of a game.
|
|
29
|
+
static description = "Shows and sets the details of a game.";
|
|
30
30
|
static examples = [
|
|
31
31
|
"<%= config.bin %> <%= command.id %>",
|
|
32
32
|
"<%= config.bin %> <%= command.id %> --gameId 0c179fc4",
|
|
@@ -25,7 +25,7 @@ import 'deepmerge';
|
|
|
25
25
|
|
|
26
26
|
class GameIosAppCreate extends BaseGameCommand {
|
|
27
27
|
static args = {};
|
|
28
|
-
static description = "Creates an App and BundleId in the Apple Developer Portal.
|
|
28
|
+
static description = "Creates an App and BundleId in the Apple Developer Portal.";
|
|
29
29
|
static examples = ["<%= config.bin %> <%= command.id %>"];
|
|
30
30
|
static flags = {
|
|
31
31
|
quiet: Flags.boolean({ char: "q", description: "Avoid output except for interactions and errors" }),
|
|
@@ -29,7 +29,7 @@ import '../../../../useAppleBundleId-VKmaX7sP.js';
|
|
|
29
29
|
|
|
30
30
|
class GameIosAppStatus extends BaseGameCommand {
|
|
31
31
|
static args = {};
|
|
32
|
-
static description = "Shows the Game iOS App status.
|
|
32
|
+
static description = "Shows the Game iOS App status. ";
|
|
33
33
|
static examples = ["<%= config.bin %> <%= command.id %>"];
|
|
34
34
|
static flags = {
|
|
35
35
|
gameId: Flags.string({ char: "g", description: "The ID of the game" })
|
|
@@ -25,7 +25,7 @@ import 'deepmerge';
|
|
|
25
25
|
|
|
26
26
|
class GameIosAppSync extends BaseGameCommand {
|
|
27
27
|
static args = {};
|
|
28
|
-
static description = 'Synchronies the Apple App "BundleId" with the capabilities from the local project.
|
|
28
|
+
static description = 'Synchronies the Apple App "BundleId" with the capabilities from the local project.';
|
|
29
29
|
static examples = ["<%= config.bin %> <%= command.id %>"];
|
|
30
30
|
static flags = {
|
|
31
31
|
quiet: Flags.boolean({ char: "q", description: "Avoid output except for interactions and errors" }),
|
|
@@ -26,7 +26,7 @@ import 'deepmerge';
|
|
|
26
26
|
|
|
27
27
|
class GameIosProfileCreate extends BaseGameCommand {
|
|
28
28
|
static args = {};
|
|
29
|
-
static description = "Creates a Mobile Provisioning Profile in the Apple Developer Portal.
|
|
29
|
+
static description = "Creates a Mobile Provisioning Profile in the Apple Developer Portal.";
|
|
30
30
|
static examples = ["<%= config.bin %> <%= command.id %>"];
|
|
31
31
|
static flags = {
|
|
32
32
|
quiet: Flags.boolean({ char: "q", description: "Avoid output except for interactions and errors" }),
|
|
@@ -149,7 +149,7 @@ const ProjectCredentialsTable = ({ credentialTypeName, queryProps, ...boxProps }
|
|
|
149
149
|
|
|
150
150
|
class GameIosProfileStatus extends BaseGameCommand {
|
|
151
151
|
static args = {};
|
|
152
|
-
static description = "Shows the Game iOS Mobile Provisioning Profile Status.
|
|
152
|
+
static description = "Shows the Game iOS Mobile Provisioning Profile Status.";
|
|
153
153
|
static examples = ["<%= config.bin %> <%= command.id %>"];
|
|
154
154
|
static flags = {
|
|
155
155
|
gameId: Flags.string({ char: "g", description: "The ID of the game" }),
|
|
@@ -27,7 +27,7 @@ import '../../../cacheKeys-CShA-ZjE.js';
|
|
|
27
27
|
|
|
28
28
|
class GameJobList extends BaseGameCommand {
|
|
29
29
|
static args = {};
|
|
30
|
-
static description = "Lists the jobs for a game.
|
|
30
|
+
static description = "Lists the jobs for a game.";
|
|
31
31
|
static examples = [
|
|
32
32
|
"<%= config.bin %> <%= command.id %>",
|
|
33
33
|
"<%= config.bin %> <%= command.id %> --gameId 0c179fc4"
|
|
@@ -25,7 +25,7 @@ import 'isomorphic-git';
|
|
|
25
25
|
|
|
26
26
|
class GameList extends BaseAuthenticatedCommand {
|
|
27
27
|
static args = {};
|
|
28
|
-
static description = "Shows a list of all your games";
|
|
28
|
+
static description = "Shows a list of all your games.";
|
|
29
29
|
static examples = ["<%= config.bin %> <%= command.id %>"];
|
|
30
30
|
static flags = {
|
|
31
31
|
pageNumber: Flags.integer({ char: "p", description: "The page number to show (starts at 0)", default: 0 }),
|
|
@@ -22,7 +22,7 @@ import 'isomorphic-git';
|
|
|
22
22
|
|
|
23
23
|
class GameShip extends BaseGameCommand {
|
|
24
24
|
static args = {};
|
|
25
|
-
static description = "Builds the app (for all platforms with valid credentials) and ships it to the stores";
|
|
25
|
+
static description = "Builds the app (for all platforms with valid credentials) and ships it to the stores.";
|
|
26
26
|
static examples = ["<%= config.bin %> <%= command.id %>"];
|
|
27
27
|
async run() {
|
|
28
28
|
await this.ensureWeAreInAProjectDir();
|
|
@@ -27,7 +27,7 @@ import '../../Title-BCQtayg6.js';
|
|
|
27
27
|
|
|
28
28
|
class GameStatus extends BaseGameCommand {
|
|
29
29
|
static args = {};
|
|
30
|
-
static description = "Shows the
|
|
30
|
+
static description = "Shows the status of the current game.";
|
|
31
31
|
static examples = [
|
|
32
32
|
"<%= config.bin %> <%= command.id %>",
|
|
33
33
|
"<%= config.bin %> <%= command.id %> --gameId 0c179fc4"
|
|
@@ -22,7 +22,7 @@ class GameWizard extends BaseAuthenticatedCommand {
|
|
|
22
22
|
static flags = {
|
|
23
23
|
forceStep: Flags.string({
|
|
24
24
|
char: "f",
|
|
25
|
-
description: "Force a specific step to run.
|
|
25
|
+
description: "Force a specific step to run."
|
|
26
26
|
}),
|
|
27
27
|
platform: Flags.string({
|
|
28
28
|
char: "p",
|
|
@@ -31,7 +31,8 @@ class GameWizard extends BaseAuthenticatedCommand {
|
|
|
31
31
|
"ios"
|
|
32
32
|
/* TODO - android */
|
|
33
33
|
],
|
|
34
|
-
required:
|
|
34
|
+
required: false,
|
|
35
|
+
default: "ios"
|
|
35
36
|
})
|
|
36
37
|
};
|
|
37
38
|
async run() {
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Help } from '@oclif/core';
|
|
2
|
+
|
|
3
|
+
class CustomHelp extends Help {
|
|
4
|
+
formatTopics(topics) {
|
|
5
|
+
const publicTopics = topics.filter((t) => t.name !== "internal");
|
|
6
|
+
return super.formatTopics(publicTopics);
|
|
7
|
+
}
|
|
8
|
+
// formatCommand is protected, so we need to override it to make it public
|
|
9
|
+
exposedFormatCommand(command) {
|
|
10
|
+
return super.formatCommand(command);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export { CustomHelp as default };
|
package/docs/README.md
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# CLI Reference
|
|
2
|
+
|
|
3
|
+
# Intro
|
|
4
|
+
|
|
5
|
+
ShipThis is a platform that helps you manage shipping your [Godot](https://godotengine.org/) Games to the app
|
|
6
|
+
stores. Currently it supports the Apple App Store however more platforms being developed.
|
|
7
|
+
|
|
8
|
+
This is all done with an easy to use command line tool called `shipthis`.
|
|
9
|
+
|
|
10
|
+
You can discover **ShipThis in less than 5 minutes** via our [Quick Start Guide](https://shipthis.cc/docs/quickstart).
|
|
11
|
+
|
|
12
|
+
## Topics
|
|
13
|
+
- [apple](apple.md)
|
|
14
|
+
- [game](game.md)
|
|
15
|
+
|
|
16
|
+
## Commands
|
|
17
|
+
- [dashboard](dashboard.md)
|
|
18
|
+
- [login](login.md)
|
|
19
|
+
- [status](status.md)
|
|
20
|
+
- [help](help.md)
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# apple apiKey create
|
|
2
|
+
|
|
3
|
+
## Description
|
|
4
|
+
|
|
5
|
+
Creates an App Store Connect API Key in your Apple Developer account.
|
|
6
|
+
Saves the private key in your ShipThis account.
|
|
7
|
+
|
|
8
|
+
## Help Output
|
|
9
|
+
|
|
10
|
+
```
|
|
11
|
+
USAGE
|
|
12
|
+
$ shipthis apple apiKey create [-f] [-q]
|
|
13
|
+
|
|
14
|
+
FLAGS
|
|
15
|
+
-f, --force
|
|
16
|
+
-q, --quiet Avoid output except for interactions and errors
|
|
17
|
+
|
|
18
|
+
DESCRIPTION
|
|
19
|
+
Creates an App Store Connect API Key in your Apple Developer account.
|
|
20
|
+
Saves the private key in your ShipThis account.
|
|
21
|
+
|
|
22
|
+
EXAMPLES
|
|
23
|
+
$ shipthis apple apiKey create
|
|
24
|
+
|
|
25
|
+
$ shipthis apple apiKey create --force
|
|
26
|
+
```
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# apple apiKey export
|
|
2
|
+
|
|
3
|
+
## Description
|
|
4
|
+
|
|
5
|
+
Saves the current App Store Connect API Key to a ZIP file
|
|
6
|
+
|
|
7
|
+
## Help Output
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
USAGE
|
|
11
|
+
$ shipthis apple apiKey export FILE [-f]
|
|
12
|
+
|
|
13
|
+
ARGUMENTS
|
|
14
|
+
FILE Name of the ZIP file to create
|
|
15
|
+
|
|
16
|
+
FLAGS
|
|
17
|
+
-f, --force Overwrite the file if it already exists
|
|
18
|
+
|
|
19
|
+
DESCRIPTION
|
|
20
|
+
Saves the current App Store Connect API Key to a ZIP file
|
|
21
|
+
|
|
22
|
+
EXAMPLES
|
|
23
|
+
$ shipthis apple apiKey export userApiKey.zip
|
|
24
|
+
```
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# apple apiKey import
|
|
2
|
+
|
|
3
|
+
## Description
|
|
4
|
+
|
|
5
|
+
Imports an App Store Connect API Key ZIP file into your ShipThis account
|
|
6
|
+
|
|
7
|
+
## Help Output
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
USAGE
|
|
11
|
+
$ shipthis apple apiKey import FILE [-f]
|
|
12
|
+
|
|
13
|
+
ARGUMENTS
|
|
14
|
+
FILE Name of the ZIP file to import (must be in the same format as the export)
|
|
15
|
+
|
|
16
|
+
FLAGS
|
|
17
|
+
-f, --force
|
|
18
|
+
|
|
19
|
+
DESCRIPTION
|
|
20
|
+
Imports an App Store Connect API Key ZIP file into your ShipThis account
|
|
21
|
+
|
|
22
|
+
EXAMPLES
|
|
23
|
+
$ shipthis apple apiKey import userApiKey.zip
|
|
24
|
+
```
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# apple apiKey status
|
|
2
|
+
|
|
3
|
+
## Description
|
|
4
|
+
|
|
5
|
+
Displays the status of App Store Connect API Keys in your Apple and ShipThis accounts.
|
|
6
|
+
This API key is used to automatically publish your games to the App Store.
|
|
7
|
+
|
|
8
|
+
## Help Output
|
|
9
|
+
|
|
10
|
+
```
|
|
11
|
+
USAGE
|
|
12
|
+
$ shipthis apple apiKey status [-f]
|
|
13
|
+
|
|
14
|
+
FLAGS
|
|
15
|
+
-f, --noAppleAuth
|
|
16
|
+
|
|
17
|
+
DESCRIPTION
|
|
18
|
+
Displays the status of App Store Connect API Keys in your Apple and ShipThis accounts.
|
|
19
|
+
This API key is used to automatically publish your games to the App Store.
|
|
20
|
+
|
|
21
|
+
EXAMPLES
|
|
22
|
+
$ shipthis apple apiKey status
|
|
23
|
+
|
|
24
|
+
$ shipthis apple apiKey status --noAppleAuth
|
|
25
|
+
```
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
# apple apiKey
|
|
2
|
+
|
|
3
|
+
Commands related to App Store Connect API Keys
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
## Commands
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### apple apiKey create
|
|
10
|
+
|
|
11
|
+
#### Description
|
|
12
|
+
|
|
13
|
+
Creates an App Store Connect API Key in your Apple Developer account.
|
|
14
|
+
Saves the private key in your ShipThis account.
|
|
15
|
+
|
|
16
|
+
#### Help Output
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
USAGE
|
|
20
|
+
$ shipthis apple apiKey create [-f] [-q]
|
|
21
|
+
|
|
22
|
+
FLAGS
|
|
23
|
+
-f, --force
|
|
24
|
+
-q, --quiet Avoid output except for interactions and errors
|
|
25
|
+
|
|
26
|
+
DESCRIPTION
|
|
27
|
+
Creates an App Store Connect API Key in your Apple Developer account.
|
|
28
|
+
Saves the private key in your ShipThis account.
|
|
29
|
+
|
|
30
|
+
EXAMPLES
|
|
31
|
+
$ shipthis apple apiKey create
|
|
32
|
+
|
|
33
|
+
$ shipthis apple apiKey create --force
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### apple apiKey export
|
|
37
|
+
|
|
38
|
+
#### Description
|
|
39
|
+
|
|
40
|
+
Saves the current App Store Connect API Key to a ZIP file
|
|
41
|
+
|
|
42
|
+
#### Help Output
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
USAGE
|
|
46
|
+
$ shipthis apple apiKey export FILE [-f]
|
|
47
|
+
|
|
48
|
+
ARGUMENTS
|
|
49
|
+
FILE Name of the ZIP file to create
|
|
50
|
+
|
|
51
|
+
FLAGS
|
|
52
|
+
-f, --force Overwrite the file if it already exists
|
|
53
|
+
|
|
54
|
+
DESCRIPTION
|
|
55
|
+
Saves the current App Store Connect API Key to a ZIP file
|
|
56
|
+
|
|
57
|
+
EXAMPLES
|
|
58
|
+
$ shipthis apple apiKey export userApiKey.zip
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### apple apiKey import
|
|
62
|
+
|
|
63
|
+
#### Description
|
|
64
|
+
|
|
65
|
+
Imports an App Store Connect API Key ZIP file into your ShipThis account
|
|
66
|
+
|
|
67
|
+
#### Help Output
|
|
68
|
+
|
|
69
|
+
```
|
|
70
|
+
USAGE
|
|
71
|
+
$ shipthis apple apiKey import FILE [-f]
|
|
72
|
+
|
|
73
|
+
ARGUMENTS
|
|
74
|
+
FILE Name of the ZIP file to import (must be in the same format as the export)
|
|
75
|
+
|
|
76
|
+
FLAGS
|
|
77
|
+
-f, --force
|
|
78
|
+
|
|
79
|
+
DESCRIPTION
|
|
80
|
+
Imports an App Store Connect API Key ZIP file into your ShipThis account
|
|
81
|
+
|
|
82
|
+
EXAMPLES
|
|
83
|
+
$ shipthis apple apiKey import userApiKey.zip
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### apple apiKey status
|
|
87
|
+
|
|
88
|
+
#### Description
|
|
89
|
+
|
|
90
|
+
Displays the status of App Store Connect API Keys in your Apple and ShipThis accounts.
|
|
91
|
+
This API key is used to automatically publish your games to the App Store.
|
|
92
|
+
|
|
93
|
+
#### Help Output
|
|
94
|
+
|
|
95
|
+
```
|
|
96
|
+
USAGE
|
|
97
|
+
$ shipthis apple apiKey status [-f]
|
|
98
|
+
|
|
99
|
+
FLAGS
|
|
100
|
+
-f, --noAppleAuth
|
|
101
|
+
|
|
102
|
+
DESCRIPTION
|
|
103
|
+
Displays the status of App Store Connect API Keys in your Apple and ShipThis accounts.
|
|
104
|
+
This API key is used to automatically publish your games to the App Store.
|
|
105
|
+
|
|
106
|
+
EXAMPLES
|
|
107
|
+
$ shipthis apple apiKey status
|
|
108
|
+
|
|
109
|
+
$ shipthis apple apiKey status --noAppleAuth
|
|
110
|
+
```
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# apple certificate create
|
|
2
|
+
|
|
3
|
+
## Description
|
|
4
|
+
|
|
5
|
+
Creates an iOS Distribution Certificate in your Apple Developer account.
|
|
6
|
+
Saves the certificate with the private key to your ShipThis account
|
|
7
|
+
|
|
8
|
+
## Help Output
|
|
9
|
+
|
|
10
|
+
```
|
|
11
|
+
USAGE
|
|
12
|
+
$ shipthis apple certificate create [-f] [-q]
|
|
13
|
+
|
|
14
|
+
FLAGS
|
|
15
|
+
-f, --force
|
|
16
|
+
-q, --quiet Avoid output except for interactions and errors
|
|
17
|
+
|
|
18
|
+
DESCRIPTION
|
|
19
|
+
Creates an iOS Distribution Certificate in your Apple Developer account.
|
|
20
|
+
Saves the certificate with the private key to your ShipThis account
|
|
21
|
+
|
|
22
|
+
EXAMPLES
|
|
23
|
+
$ shipthis apple certificate create
|
|
24
|
+
|
|
25
|
+
$ shipthis apple certificate create --force
|
|
26
|
+
```
|