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.
Files changed (68) hide show
  1. package/README.md +36 -20
  2. package/bin/readme.sh +15 -0
  3. package/bin/run.js +1 -1
  4. package/dist/commands/apple/apiKey/create.js +1 -1
  5. package/dist/commands/apple/apiKey/status.js +1 -1
  6. package/dist/commands/apple/certificate/create.js +1 -1
  7. package/dist/commands/apple/certificate/status.js +1 -1
  8. package/dist/commands/apple/login.js +3 -3
  9. package/dist/commands/apple/status.js +24 -9
  10. package/dist/commands/game/create.js +1 -1
  11. package/dist/commands/game/details.js +1 -1
  12. package/dist/commands/game/ios/app/create.js +1 -1
  13. package/dist/commands/game/ios/app/status.js +1 -1
  14. package/dist/commands/game/ios/app/sync.js +1 -1
  15. package/dist/commands/game/ios/profile/create.js +1 -1
  16. package/dist/commands/game/ios/profile/status.js +1 -1
  17. package/dist/commands/game/job/list.js +1 -1
  18. package/dist/commands/game/list.js +1 -1
  19. package/dist/commands/game/ship.js +1 -1
  20. package/dist/commands/game/status.js +1 -1
  21. package/dist/commands/game/wizard.js +3 -2
  22. package/dist/utils/help.js +14 -0
  23. package/docs/README.md +20 -0
  24. package/docs/apple/apiKey/create.md +26 -0
  25. package/docs/apple/apiKey/export.md +24 -0
  26. package/docs/apple/apiKey/import.md +24 -0
  27. package/docs/apple/apiKey/status.md +25 -0
  28. package/docs/apple/apiKey.md +110 -0
  29. package/docs/apple/certificate/create.md +26 -0
  30. package/docs/apple/certificate/export.md +24 -0
  31. package/docs/apple/certificate/import.md +24 -0
  32. package/docs/apple/certificate/status.md +25 -0
  33. package/docs/apple/certificate.md +110 -0
  34. package/docs/apple/login.md +30 -0
  35. package/docs/apple/status.md +21 -0
  36. package/docs/apple.md +48 -0
  37. package/docs/dashboard.md +18 -0
  38. package/docs/game/build/download.md +28 -0
  39. package/docs/game/build/list.md +31 -0
  40. package/docs/game/build.md +68 -0
  41. package/docs/game/create.md +23 -0
  42. package/docs/game/details.md +35 -0
  43. package/docs/game/export.md +26 -0
  44. package/docs/game/ios/app/addTester.md +24 -0
  45. package/docs/game/ios/app/create.md +25 -0
  46. package/docs/game/ios/app/status.md +21 -0
  47. package/docs/game/ios/app/sync.md +23 -0
  48. package/docs/game/ios/app.md +104 -0
  49. package/docs/game/ios/profile/create.md +23 -0
  50. package/docs/game/ios/profile/export.md +25 -0
  51. package/docs/game/ios/profile/import.md +25 -0
  52. package/docs/game/ios/profile/status.md +22 -0
  53. package/docs/game/ios/profile.md +106 -0
  54. package/docs/game/ios/status.md +23 -0
  55. package/docs/game/ios.md +247 -0
  56. package/docs/game/job/list.md +29 -0
  57. package/docs/game/job/status.md +30 -0
  58. package/docs/game/job.md +68 -0
  59. package/docs/game/list.md +26 -0
  60. package/docs/game/ship.md +21 -0
  61. package/docs/game/status.md +23 -0
  62. package/docs/game/wizard.md +23 -0
  63. package/docs/game.md +19 -0
  64. package/docs/help.md +21 -0
  65. package/docs/login.md +28 -0
  66. package/docs/status.md +18 -0
  67. package/oclif.manifest.json +22 -20
  68. 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//apple.md) - Commands related to Apple Developer Portal
36
- * [`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
37
- * [`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
38
- * [`shipthis apple login`](docs//apple/login.md) - Authenticate with Apple - saves the session to the auth file
39
- * [`shipthis apple status`](docs//apple/status.md) - Shows the status of the Apple authentication and integration
40
- * [`shipthis dashboard`](docs//dashboard.md) - Opens the web-browser to your ShipThis dashboard
41
- * [`shipthis game`](docs//game.md) - Commands related to Game Management
42
- * [`shipthis game build`](docs//game/build.md) - Commands related to builds for a specific game
43
- * [`shipthis game create`](docs//game/create.md) - Create a new game
44
- * [`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.
45
- * [`shipthis game export`](docs//game/export.md) - Downloads the shipthis.json file for a given game into the current directory.
46
- * [`shipthis game ios`](docs//game/ios.md) - Commands related to the iOS platform for a specific game
47
- * [`shipthis game job`](docs//game/job.md) - Commands related to jobs for a specific game
48
- * [`shipthis game list`](docs//game/list.md) - Shows a list of all your games
49
- * [`shipthis game ship`](docs//game/ship.md) - Builds the app (for all platforms with valid credentials) and ships it to the stores
50
- * [`shipthis game status`](docs//game/status.md) - Shows the Game status. If --gameId is not provided it will look in the current directory.
51
- * [`shipthis game wizard`](docs//game/wizard.md) - Runs all the steps for the specific platform
52
- * [`shipthis help`](docs//help.md) - Display help for shipthis.
53
- * [`shipthis login`](docs//login.md) - Authenticate - will create a new account if one does not exist.
54
- * [`shipthis status`](docs//status.md) - Displays the current overall status.
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
@@ -1,4 +1,4 @@
1
- #!/usr/bin/env node
1
+ #!/usr/bin/env -S node --no-deprecation
2
2
 
3
3
  import {execute} from '@oclif/core'
4
4
 
@@ -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 and saves the private key in your ShipThis 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 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.";
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 and saves it with the private key to your ShipThis 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. These are used to sign all of your iOS apps.";
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 BaseAppleCommand {
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 authState = await this.refreshAppleAuthState();
35
- const { session } = authState;
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
- "Full Name": session.user.fullName,
38
- "Provider Name": session.provider.name
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
- const steps = [];
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. If --gameId is not provided it will look in the current directory.";
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. If --gameId is not provided it will look in the current directory.";
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. If --gameId is not provided it will look in the current directory.";
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. If --gameId is not provided it will look in the current directory.';
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. If --gameId is not provided it will look in the current directory.";
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. If --gameId is not provided it will look in the current directory.";
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. If --gameId is not provided it will look in the current directory.";
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 Game status. If --gameId is not provided it will look in the current directory.";
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. You can repeat this flag to force multiple steps."
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: true
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
+ ```