shipthis 0.0.26 → 0.0.27

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 CHANGED
@@ -1,20 +1,18 @@
1
- # ShipThis CLI Reference
1
+ # ShipThis CLI
2
2
 
3
3
  ## Introduction
4
4
 
5
- ShipThis is a platform that helps you manage shipping your [Godot](https://godotengine.org/) games on iOS to the App Store.
5
+ ShipThis is a tool which helps you manage releasing your [Godot](https://godotengine.org/) games to the iOS App Store.
6
6
 
7
- This is all done with an easy to use command line tool called `shipthis`.
7
+ :::tip Info
8
+ You don't need an Apple computer to use ShipThis.
9
+ :::
8
10
 
9
11
  ## Quickstart
10
12
 
11
13
  Let's discover **ShipThis in less than 5 minutes**.
12
14
 
13
- ### Getting Started
14
-
15
- ShipThis is a platform that helps you manage shipping your [Godot](https://godotengine.org/) games to the App Store.
16
-
17
- #### What you'll need
15
+ ### What you'll need
18
16
 
19
17
  - A Godot game
20
18
  - [Node.js](https://nodejs.org/en/download/) version 18.0 or above:
@@ -23,9 +21,9 @@ ShipThis is a platform that helps you manage shipping your [Godot](https://godot
23
21
 
24
22
  ### 1. Install ShipThis
25
23
 
26
- ShipThis can be installed as a package via the [NPM package manager](https://www.npmjs.com/). Run the following at the command line:
24
+ ShipThis can be installed as a package via the [NPM package manager](https://www.npmjs.com/). Run the following at the command line:
27
25
 
28
- ```
26
+ ```bash
29
27
  npm install -g shipthis
30
28
  ```
31
29
 
@@ -33,7 +31,7 @@ npm install -g shipthis
33
31
 
34
32
  Set up an account with ShipThis by logging in for the first time using the [`shipthis login`](https://shipthis.cc/docs/reference/login) command.
35
33
 
36
- ```
34
+ ```bash
37
35
  shipthis login
38
36
  ```
39
37
 
@@ -41,7 +39,7 @@ shipthis login
41
39
 
42
40
  Set up your ShipThis configuration using the built in [wizard](https://shipthis.cc/docs/wizard):
43
41
 
44
- ```
42
+ ```bash
45
43
  shipthis game wizard
46
44
  ```
47
45
 
@@ -49,14 +47,13 @@ shipthis game wizard
49
47
 
50
48
  Now you can publish your game to TestFlight with the [`shipthis game ship`](https://shipthis.cc/docs/reference/game/ship) command:
51
49
 
52
- ```
50
+ ```bash
53
51
  shipthis game ship
54
52
  ```
55
53
 
56
54
  Once you are happy with the build you can submit it to Apple using [App Store
57
55
  Connect](https://appstoreconnect.apple.com/).
58
56
 
59
-
60
57
  ## Topics
61
58
 
62
59
  - [apple](https://shipthis.cc/docs/reference/apple) - Commands that relate to linking your ShipThis account with your Apple Developer Account
@@ -68,4 +65,3 @@ Connect](https://appstoreconnect.apple.com/).
68
65
  - [login](https://shipthis.cc/docs/reference/login) - Signin or create a new account
69
66
  - [status](https://shipthis.cc/docs/reference/status) - Display your overall ShipThis account status
70
67
  - [help](https://shipthis.cc/docs/reference/help) - Display help for a specific topic or command
71
-
@@ -69,7 +69,7 @@ const UserCredentialsTable = ({ credentialTypeName, queryProps, ...boxProps }) =
69
69
  /* @__PURE__ */ jsx(Title, { children: `${credentialTypeName}s in your ShipThis account` }),
70
70
  /* @__PURE__ */ jsx(Box, { marginLeft: 2, marginBottom: 1, flexDirection: "column", children: /* @__PURE__ */ jsx(Text, { children: hasActive ? `You have an active ${credentialTypeName} in your ShipThis account.` : `You DO NOT have an active ${credentialTypeName} which ShipThis can use.` }) }),
71
71
  isLoading && /* @__PURE__ */ jsx(Spinner, { type: "dots" }),
72
- data && /* @__PURE__ */ jsx(Table, { data: data.data.map(getUserCredentialSummary) })
72
+ data && data.data.length > 0 && /* @__PURE__ */ jsx(Table, { data: data.data.map(getUserCredentialSummary) })
73
73
  ] });
74
74
  };
75
75
 
@@ -16,7 +16,7 @@ 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 { u as useUserCredentials, U as UserCredentialsTable } from '../../../UserCredentialsTable-D2Nm0QP_.js';
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
22
  import 'string-length';
@@ -65,7 +65,7 @@ const AppleApiKeysTable = ({ ctx, ...boxProps }) => {
65
65
  /* @__PURE__ */ jsx(Text, { children: `You have ${keys.length} App Store Connect API Keys in your Apple account` }),
66
66
  /* @__PURE__ */ jsx(Text, { children: `${hasUsable ? "One" : "None"} of these can be used by ShipThis` })
67
67
  ] }),
68
- /* @__PURE__ */ jsx(Table, { data: keys.map((key) => getAppleApiKeySummary(key, userCredentialsResponse.data)) }),
68
+ keys.length > 0 && /* @__PURE__ */ jsx(Table, { data: keys.map((key) => getAppleApiKeySummary(key, userCredentialsResponse.data)) }),
69
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
70
  ] })
71
71
  ] });
@@ -17,7 +17,7 @@ import 'isomorphic-git';
17
17
  import { A as App } from '../../../App-BfoOFeZ-.js';
18
18
  import Spinner from 'ink-spinner';
19
19
  import { g as getShortUUID } from '../../../index-ZHJdUrwJ.js';
20
- import { u as useUserCredentials, U as UserCredentialsTable } from '../../../UserCredentialsTable-D2Nm0QP_.js';
20
+ import { u as useUserCredentials, U as UserCredentialsTable } from '../../../UserCredentialsTable-A_YlFeJX.js';
21
21
  import { T as Title } from '../../../Title-BCQtayg6.js';
22
22
  import { T as Table } from '../../../Table-CvM6pccN.js';
23
23
  import 'string-length';
package/docs/README.md CHANGED
@@ -1,20 +1,18 @@
1
- # ShipThis CLI Reference
1
+ # ShipThis CLI
2
2
 
3
3
  ## Introduction
4
4
 
5
- ShipThis is a platform that helps you manage shipping your [Godot](https://godotengine.org/) games on iOS to the App Store.
5
+ ShipThis is a tool which helps you manage releasing your [Godot](https://godotengine.org/) games to the iOS App Store.
6
6
 
7
- This is all done with an easy to use command line tool called `shipthis`.
7
+ :::tip Info
8
+ You don't need an Apple computer to use ShipThis.
9
+ :::
8
10
 
9
11
  ## Quickstart
10
12
 
11
13
  Let's discover **ShipThis in less than 5 minutes**.
12
14
 
13
- ### Getting Started
14
-
15
- ShipThis is a platform that helps you manage shipping your [Godot](https://godotengine.org/) games to the App Store.
16
-
17
- #### What you'll need
15
+ ### What you'll need
18
16
 
19
17
  - A Godot game
20
18
  - [Node.js](https://nodejs.org/en/download/) version 18.0 or above:
@@ -23,9 +21,9 @@ ShipThis is a platform that helps you manage shipping your [Godot](https://godot
23
21
 
24
22
  ### 1. Install ShipThis
25
23
 
26
- ShipThis can be installed as a package via the [NPM package manager](https://www.npmjs.com/). Run the following at the command line:
24
+ ShipThis can be installed as a package via the [NPM package manager](https://www.npmjs.com/). Run the following at the command line:
27
25
 
28
- ```
26
+ ```bash
29
27
  npm install -g shipthis
30
28
  ```
31
29
 
@@ -33,7 +31,7 @@ npm install -g shipthis
33
31
 
34
32
  Set up an account with ShipThis by logging in for the first time using the [`shipthis login`](https://shipthis.cc/docs/reference/login) command.
35
33
 
36
- ```
34
+ ```bash
37
35
  shipthis login
38
36
  ```
39
37
 
@@ -41,7 +39,7 @@ shipthis login
41
39
 
42
40
  Set up your ShipThis configuration using the built in [wizard](https://shipthis.cc/docs/wizard):
43
41
 
44
- ```
42
+ ```bash
45
43
  shipthis game wizard
46
44
  ```
47
45
 
@@ -49,7 +47,7 @@ shipthis game wizard
49
47
 
50
48
  Now you can publish your game to TestFlight with the [`shipthis game ship`](https://shipthis.cc/docs/reference/game/ship) command:
51
49
 
52
- ```
50
+ ```bash
53
51
  shipthis game ship
54
52
  ```
55
53
 
@@ -68,4 +66,3 @@ Connect](https://appstoreconnect.apple.com/).
68
66
  - [login](https://shipthis.cc/docs/reference/login) - Signin or create a new account
69
67
  - [status](https://shipthis.cc/docs/reference/status) - Display your overall ShipThis account status
70
68
  - [help](https://shipthis.cc/docs/reference/help) - Display help for a specific topic or command
71
-
@@ -1,6 +1,21 @@
1
1
  # Topic: `apple apiKey`
2
2
 
3
- Commands related to App Store Connect API Keys
3
+ Commands in the apple apiKey topic are prefixed `shipthis apple apiKey`. These commands relate to App Store Connect API Keys.
4
+
5
+ - You can view the App Store Connect API Keys in the [Apple Developer Portal](https://appstoreconnect.apple.com/access/integrations/api).
6
+ - You can view the keys which ShipThis can use in the [ShipThis Dashboard](https://shipthis.cc/credentials)
7
+
8
+ :::tip
9
+ You will need to be authenticated against ShipThis and Apple before you can use
10
+ these commands. To do that please run the following commands first:
11
+
12
+ - [`shipthis login`](/docs/reference/login)
13
+ - [`shipthis apple login`](/docs/reference/apple/login)
14
+ :::
15
+
16
+ ## Example
17
+
18
+
4
19
 
5
20
 
6
21
  ## Commands
@@ -2,6 +2,11 @@
2
2
 
3
3
  ## Description
4
4
 
5
+ :::tip
6
+ We recommend configuring your game using the [`shipthis game wizard`](/docs/reference/game/wizard).
7
+ The `shipthis game create` command is the first step run by the wizard
8
+ :::
9
+
5
10
  Creates a new game in your [ShipThis account](https://shipthis.cc/games).
6
11
 
7
12
  It will read the name of your game from your `project.godot` file. You will be
@@ -514,10 +514,10 @@
514
514
  "wizard.js"
515
515
  ]
516
516
  },
517
- "apple:certificate:create": {
517
+ "apple:apiKey:create": {
518
518
  "aliases": [],
519
519
  "args": {},
520
- "description": "Creates an iOS Distribution Certificate in your Apple Developer account.\nSaves the certificate with the private key to your ShipThis account",
520
+ "description": "Creates an App Store Connect API Key in your Apple Developer account.\nSaves the private key in 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:certificate:create",
542
+ "id": "apple:apiKey: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
- "certificate",
552
+ "apiKey",
553
553
  "create.js"
554
554
  ]
555
555
  },
556
- "apple:certificate:export": {
556
+ "apple:apiKey: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 Apple Distribution Certificate to a ZIP file.",
565
+ "description": "Saves the current App Store Connect API Key to a ZIP file",
566
566
  "examples": [
567
- "<%= config.bin %> <%= command.id %> userCert.zip"
567
+ "<%= config.bin %> <%= command.id %> userApiKey.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:certificate:export",
580
+ "id": "apple:apiKey: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
- "certificate",
591
+ "apiKey",
592
592
  "export.js"
593
593
  ]
594
594
  },
595
- "apple:certificate:import": {
595
+ "apple:apiKey: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 iOS Distribution Certificate to your ShipThis account",
604
+ "description": "Imports an App Store Connect API Key ZIP file into your ShipThis account",
605
605
  "examples": [
606
- "<%= config.bin %> <%= command.id %> userCert.zip"
606
+ "<%= config.bin %> <%= command.id %> userApiKey.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:certificate:import",
618
+ "id": "apple:apiKey: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
- "certificate",
629
+ "apiKey",
630
630
  "import.js"
631
631
  ]
632
632
  },
633
- "apple:certificate:status": {
633
+ "apple:apiKey:status": {
634
634
  "aliases": [],
635
635
  "args": {},
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.",
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.",
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:certificate:status",
651
+ "id": "apple:apiKey:status",
652
652
  "pluginAlias": "shipthis",
653
653
  "pluginName": "shipthis",
654
654
  "pluginType": "core",
@@ -659,14 +659,147 @@
659
659
  "dist",
660
660
  "commands",
661
661
  "apple",
662
- "certificate",
662
+ "apiKey",
663
663
  "status.js"
664
664
  ]
665
665
  },
666
- "apple:apiKey:create": {
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": {
667
720
  "aliases": [],
668
721
  "args": {},
669
- "description": "Creates an App Store Connect API Key in your Apple Developer account.\nSaves the private key in your ShipThis account.",
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": {
800
+ "aliases": [],
801
+ "args": {},
802
+ "description": "Creates an iOS Distribution Certificate in your Apple Developer account.\nSaves the certificate with the private key to your ShipThis account",
670
803
  "examples": [
671
804
  "<%= config.bin %> <%= command.id %>",
672
805
  "<%= config.bin %> <%= command.id %> --force"
@@ -688,7 +821,7 @@
688
821
  },
689
822
  "hasDynamicHelp": false,
690
823
  "hiddenAliases": [],
691
- "id": "apple:apiKey:create",
824
+ "id": "apple:certificate:create",
692
825
  "pluginAlias": "shipthis",
693
826
  "pluginName": "shipthis",
694
827
  "pluginType": "core",
@@ -698,11 +831,11 @@
698
831
  "dist",
699
832
  "commands",
700
833
  "apple",
701
- "apiKey",
834
+ "certificate",
702
835
  "create.js"
703
836
  ]
704
837
  },
705
- "apple:apiKey:export": {
838
+ "apple:certificate:export": {
706
839
  "aliases": [],
707
840
  "args": {
708
841
  "file": {
@@ -711,9 +844,9 @@
711
844
  "required": true
712
845
  }
713
846
  },
714
- "description": "Saves the current App Store Connect API Key to a ZIP file",
847
+ "description": "Saves the current Apple Distribution Certificate to a ZIP file.",
715
848
  "examples": [
716
- "<%= config.bin %> <%= command.id %> userApiKey.zip"
849
+ "<%= config.bin %> <%= command.id %> userCert.zip"
717
850
  ],
718
851
  "flags": {
719
852
  "force": {
@@ -726,7 +859,7 @@
726
859
  },
727
860
  "hasDynamicHelp": false,
728
861
  "hiddenAliases": [],
729
- "id": "apple:apiKey:export",
862
+ "id": "apple:certificate:export",
730
863
  "pluginAlias": "shipthis",
731
864
  "pluginName": "shipthis",
732
865
  "pluginType": "core",
@@ -737,11 +870,11 @@
737
870
  "dist",
738
871
  "commands",
739
872
  "apple",
740
- "apiKey",
873
+ "certificate",
741
874
  "export.js"
742
875
  ]
743
876
  },
744
- "apple:apiKey:import": {
877
+ "apple:certificate:import": {
745
878
  "aliases": [],
746
879
  "args": {
747
880
  "file": {
@@ -750,9 +883,9 @@
750
883
  "required": true
751
884
  }
752
885
  },
753
- "description": "Imports an App Store Connect API Key ZIP file into your ShipThis account",
886
+ "description": "Imports an iOS Distribution Certificate to your ShipThis account",
754
887
  "examples": [
755
- "<%= config.bin %> <%= command.id %> userApiKey.zip"
888
+ "<%= config.bin %> <%= command.id %> userCert.zip"
756
889
  ],
757
890
  "flags": {
758
891
  "force": {
@@ -764,7 +897,7 @@
764
897
  },
765
898
  "hasDynamicHelp": false,
766
899
  "hiddenAliases": [],
767
- "id": "apple:apiKey:import",
900
+ "id": "apple:certificate:import",
768
901
  "pluginAlias": "shipthis",
769
902
  "pluginName": "shipthis",
770
903
  "pluginType": "core",
@@ -775,14 +908,14 @@
775
908
  "dist",
776
909
  "commands",
777
910
  "apple",
778
- "apiKey",
911
+ "certificate",
779
912
  "import.js"
780
913
  ]
781
914
  },
782
- "apple:apiKey:status": {
915
+ "apple:certificate:status": {
783
916
  "aliases": [],
784
917
  "args": {},
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.",
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.",
786
919
  "examples": [
787
920
  "<%= config.bin %> <%= command.id %>",
788
921
  "<%= config.bin %> <%= command.id %> --noAppleAuth"
@@ -797,7 +930,7 @@
797
930
  },
798
931
  "hasDynamicHelp": false,
799
932
  "hiddenAliases": [],
800
- "id": "apple:apiKey:status",
933
+ "id": "apple:certificate:status",
801
934
  "pluginAlias": "shipthis",
802
935
  "pluginName": "shipthis",
803
936
  "pluginType": "core",
@@ -808,28 +941,17 @@
808
941
  "dist",
809
942
  "commands",
810
943
  "apple",
811
- "apiKey",
944
+ "certificate",
812
945
  "status.js"
813
946
  ]
814
947
  },
815
- "game:build:download": {
948
+ "game:ios:status": {
816
949
  "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",
950
+ "args": {},
951
+ "description": "Shows the Game iOS Platform status. If --gameId is not provided it will look in the current directory.",
830
952
  "examples": [
831
- "<%= config.bin %> <%= command.id %> 7a3f5c92 output.ipa",
832
- "<%= config.bin %> <%= command.id %> --gameId 0c179fc4 e4b9a3d7 output.apk"
953
+ "<%= config.bin %> <%= command.id %>",
954
+ "<%= config.bin %> <%= command.id %> --gameId 0c179fc4"
833
955
  ],
834
956
  "flags": {
835
957
  "gameId": {
@@ -839,18 +961,11 @@
839
961
  "hasDynamicHelp": false,
840
962
  "multiple": false,
841
963
  "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
964
  }
850
965
  },
851
966
  "hasDynamicHelp": false,
852
967
  "hiddenAliases": [],
853
- "id": "game:build:download",
968
+ "id": "game:ios:status",
854
969
  "pluginAlias": "shipthis",
855
970
  "pluginName": "shipthis",
856
971
  "pluginType": "core",
@@ -861,18 +976,17 @@
861
976
  "dist",
862
977
  "commands",
863
978
  "game",
864
- "build",
865
- "download.js"
979
+ "ios",
980
+ "status.js"
866
981
  ]
867
982
  },
868
- "game:build:list": {
983
+ "game:job:list": {
869
984
  "aliases": [],
870
985
  "args": {},
871
- "description": "Lists the builds for successful jobs of a game.",
986
+ "description": "Lists the jobs for a game.",
872
987
  "examples": [
873
988
  "<%= config.bin %> <%= command.id %>",
874
- "<%= config.bin %> <%= command.id %> --gameId 0c179fc4",
875
- "<%= config.bin %> <%= command.id %> --gameId 0c179fc4 --pageSize 20 --pageNumber 1"
989
+ "<%= config.bin %> <%= command.id %> --gameId 0c179fc4"
876
990
  ],
877
991
  "flags": {
878
992
  "gameId": {
@@ -930,7 +1044,7 @@
930
1044
  },
931
1045
  "hasDynamicHelp": false,
932
1046
  "hiddenAliases": [],
933
- "id": "game:build:list",
1047
+ "id": "game:job:list",
934
1048
  "pluginAlias": "shipthis",
935
1049
  "pluginName": "shipthis",
936
1050
  "pluginType": "core",
@@ -941,125 +1055,11 @@
941
1055
  "dist",
942
1056
  "commands",
943
1057
  "game",
944
- "build",
1058
+ "job",
945
1059
  "list.js"
946
1060
  ]
947
1061
  },
948
- "game:ios:status": {
949
- "aliases": [],
950
- "args": {},
951
- "description": "Shows the Game iOS Platform status. If --gameId is not provided it will look in the current directory.",
952
- "examples": [
953
- "<%= config.bin %> <%= command.id %>",
954
- "<%= config.bin %> <%= command.id %> --gameId 0c179fc4"
955
- ],
956
- "flags": {
957
- "gameId": {
958
- "char": "g",
959
- "description": "The ID of the game",
960
- "name": "gameId",
961
- "hasDynamicHelp": false,
962
- "multiple": false,
963
- "type": "option"
964
- }
965
- },
966
- "hasDynamicHelp": false,
967
- "hiddenAliases": [],
968
- "id": "game:ios:status",
969
- "pluginAlias": "shipthis",
970
- "pluginName": "shipthis",
971
- "pluginType": "core",
972
- "strict": true,
973
- "enableJsonFlag": false,
974
- "isESM": true,
975
- "relativePath": [
976
- "dist",
977
- "commands",
978
- "game",
979
- "ios",
980
- "status.js"
981
- ]
982
- },
983
- "game:job:list": {
984
- "aliases": [],
985
- "args": {},
986
- "description": "Lists the jobs for a game.",
987
- "examples": [
988
- "<%= config.bin %> <%= command.id %>",
989
- "<%= config.bin %> <%= command.id %> --gameId 0c179fc4"
990
- ],
991
- "flags": {
992
- "gameId": {
993
- "char": "g",
994
- "description": "The ID of the game",
995
- "name": "gameId",
996
- "hasDynamicHelp": false,
997
- "multiple": false,
998
- "type": "option"
999
- },
1000
- "pageNumber": {
1001
- "char": "p",
1002
- "description": "The page number to show (starts at 0)",
1003
- "name": "pageNumber",
1004
- "default": 0,
1005
- "hasDynamicHelp": false,
1006
- "multiple": false,
1007
- "type": "option"
1008
- },
1009
- "pageSize": {
1010
- "char": "s",
1011
- "description": "The number of items to show per page",
1012
- "name": "pageSize",
1013
- "default": 10,
1014
- "hasDynamicHelp": false,
1015
- "multiple": false,
1016
- "type": "option"
1017
- },
1018
- "orderBy": {
1019
- "char": "o",
1020
- "description": "The field to order by",
1021
- "name": "orderBy",
1022
- "default": "createdAt",
1023
- "hasDynamicHelp": false,
1024
- "multiple": false,
1025
- "options": [
1026
- "createdAt",
1027
- "updatedAt"
1028
- ],
1029
- "type": "option"
1030
- },
1031
- "order": {
1032
- "char": "r",
1033
- "description": "The order to sort by",
1034
- "name": "order",
1035
- "default": "desc",
1036
- "hasDynamicHelp": false,
1037
- "multiple": false,
1038
- "options": [
1039
- "asc",
1040
- "desc"
1041
- ],
1042
- "type": "option"
1043
- }
1044
- },
1045
- "hasDynamicHelp": false,
1046
- "hiddenAliases": [],
1047
- "id": "game:job:list",
1048
- "pluginAlias": "shipthis",
1049
- "pluginName": "shipthis",
1050
- "pluginType": "core",
1051
- "strict": true,
1052
- "enableJsonFlag": false,
1053
- "isESM": true,
1054
- "relativePath": [
1055
- "dist",
1056
- "commands",
1057
- "game",
1058
- "job",
1059
- "list.js"
1060
- ]
1061
- },
1062
- "game:job:status": {
1062
+ "game:job:status": {
1063
1063
  "aliases": [],
1064
1064
  "args": {
1065
1065
  "job_id": {
@@ -1117,21 +1117,14 @@
1117
1117
  "status.js"
1118
1118
  ]
1119
1119
  },
1120
- "game:ios:profile:create": {
1120
+ "game:ios:app:addTester": {
1121
1121
  "aliases": [],
1122
1122
  "args": {},
1123
- "description": "Creates a Mobile Provisioning Profile in the Apple Developer Portal.",
1123
+ "description": "Adds a test user to the game in App Store Connect.",
1124
1124
  "examples": [
1125
1125
  "<%= config.bin %> <%= command.id %>"
1126
1126
  ],
1127
1127
  "flags": {
1128
- "quiet": {
1129
- "char": "q",
1130
- "description": "Avoid output except for interactions and errors",
1131
- "name": "quiet",
1132
- "allowNo": false,
1133
- "type": "boolean"
1134
- },
1135
1128
  "gameId": {
1136
1129
  "char": "g",
1137
1130
  "description": "The ID of the game",
@@ -1140,16 +1133,34 @@
1140
1133
  "multiple": false,
1141
1134
  "type": "option"
1142
1135
  },
1143
- "force": {
1136
+ "email": {
1137
+ "char": "e",
1138
+ "description": "The email address of the tester",
1139
+ "name": "email",
1140
+ "hasDynamicHelp": false,
1141
+ "multiple": false,
1142
+ "type": "option"
1143
+ },
1144
+ "firstName": {
1144
1145
  "char": "f",
1145
- "name": "force",
1146
- "allowNo": false,
1147
- "type": "boolean"
1146
+ "description": "The first name of the tester",
1147
+ "name": "firstName",
1148
+ "hasDynamicHelp": false,
1149
+ "multiple": false,
1150
+ "type": "option"
1151
+ },
1152
+ "lastName": {
1153
+ "char": "l",
1154
+ "description": "The last name of the tester",
1155
+ "name": "lastName",
1156
+ "hasDynamicHelp": false,
1157
+ "multiple": false,
1158
+ "type": "option"
1148
1159
  }
1149
1160
  },
1150
1161
  "hasDynamicHelp": false,
1151
1162
  "hiddenAliases": [],
1152
- "id": "game:ios:profile:create",
1163
+ "id": "game:ios:app:addTester",
1153
1164
  "pluginAlias": "shipthis",
1154
1165
  "pluginName": "shipthis",
1155
1166
  "pluginType": "core",
@@ -1161,24 +1172,25 @@
1161
1172
  "commands",
1162
1173
  "game",
1163
1174
  "ios",
1164
- "profile",
1165
- "create.js"
1175
+ "app",
1176
+ "addTester.js"
1166
1177
  ]
1167
1178
  },
1168
- "game:ios:profile:export": {
1179
+ "game:ios:app:create": {
1169
1180
  "aliases": [],
1170
- "args": {
1171
- "file": {
1172
- "description": "Name of the ZIP file to create",
1173
- "name": "file",
1174
- "required": true
1175
- }
1176
- },
1177
- "description": "Saves the current Mobile Provisioning Profile to a ZIP file",
1181
+ "args": {},
1182
+ "description": "Creates an App and BundleId in the Apple Developer Portal.",
1178
1183
  "examples": [
1179
- "<%= config.bin %> <%= command.id %> userProfile.zip"
1184
+ "<%= config.bin %> <%= command.id %>"
1180
1185
  ],
1181
1186
  "flags": {
1187
+ "quiet": {
1188
+ "char": "q",
1189
+ "description": "Avoid output except for interactions and errors",
1190
+ "name": "quiet",
1191
+ "allowNo": false,
1192
+ "type": "boolean"
1193
+ },
1182
1194
  "gameId": {
1183
1195
  "char": "g",
1184
1196
  "description": "The ID of the game",
@@ -1187,9 +1199,24 @@
1187
1199
  "multiple": false,
1188
1200
  "type": "option"
1189
1201
  },
1202
+ "appName": {
1203
+ "char": "n",
1204
+ "description": "The name of the App in the Apple Developer Portal",
1205
+ "name": "appName",
1206
+ "hasDynamicHelp": false,
1207
+ "multiple": false,
1208
+ "type": "option"
1209
+ },
1210
+ "bundleId": {
1211
+ "char": "b",
1212
+ "description": "The BundleId in the Apple Developer Portal",
1213
+ "name": "bundleId",
1214
+ "hasDynamicHelp": false,
1215
+ "multiple": false,
1216
+ "type": "option"
1217
+ },
1190
1218
  "force": {
1191
1219
  "char": "f",
1192
- "description": "Overwrite the file if it already exists",
1193
1220
  "name": "force",
1194
1221
  "allowNo": false,
1195
1222
  "type": "boolean"
@@ -1197,7 +1224,7 @@
1197
1224
  },
1198
1225
  "hasDynamicHelp": false,
1199
1226
  "hiddenAliases": [],
1200
- "id": "game:ios:profile:export",
1227
+ "id": "game:ios:app:create",
1201
1228
  "pluginAlias": "shipthis",
1202
1229
  "pluginName": "shipthis",
1203
1230
  "pluginType": "core",
@@ -1209,22 +1236,16 @@
1209
1236
  "commands",
1210
1237
  "game",
1211
1238
  "ios",
1212
- "profile",
1213
- "export.js"
1239
+ "app",
1240
+ "create.js"
1214
1241
  ]
1215
1242
  },
1216
- "game:ios:profile:import": {
1243
+ "game:ios:app:status": {
1217
1244
  "aliases": [],
1218
- "args": {
1219
- "file": {
1220
- "description": "Name of the ZIP file to import (must be in the same format as the export)",
1221
- "name": "file",
1222
- "required": true
1223
- }
1224
- },
1225
- "description": "Imports an Mobile Provisioning Profile to your ShipThis account",
1245
+ "args": {},
1246
+ "description": "Shows the Game iOS App status. ",
1226
1247
  "examples": [
1227
- "<%= config.bin %> <%= command.id %> profile.zip"
1248
+ "<%= config.bin %> <%= command.id %>"
1228
1249
  ],
1229
1250
  "flags": {
1230
1251
  "gameId": {
@@ -1234,17 +1255,11 @@
1234
1255
  "hasDynamicHelp": false,
1235
1256
  "multiple": false,
1236
1257
  "type": "option"
1237
- },
1238
- "force": {
1239
- "char": "f",
1240
- "name": "force",
1241
- "allowNo": false,
1242
- "type": "boolean"
1243
1258
  }
1244
1259
  },
1245
1260
  "hasDynamicHelp": false,
1246
1261
  "hiddenAliases": [],
1247
- "id": "game:ios:profile:import",
1262
+ "id": "game:ios:app:status",
1248
1263
  "pluginAlias": "shipthis",
1249
1264
  "pluginName": "shipthis",
1250
1265
  "pluginType": "core",
@@ -1256,18 +1271,25 @@
1256
1271
  "commands",
1257
1272
  "game",
1258
1273
  "ios",
1259
- "profile",
1260
- "import.js"
1274
+ "app",
1275
+ "status.js"
1261
1276
  ]
1262
1277
  },
1263
- "game:ios:profile:status": {
1278
+ "game:ios:app:sync": {
1264
1279
  "aliases": [],
1265
1280
  "args": {},
1266
- "description": "Shows the Game iOS Mobile Provisioning Profile Status.",
1281
+ "description": "Synchronies the Apple App \"BundleId\" with the capabilities from the local project.",
1267
1282
  "examples": [
1268
1283
  "<%= config.bin %> <%= command.id %>"
1269
1284
  ],
1270
1285
  "flags": {
1286
+ "quiet": {
1287
+ "char": "q",
1288
+ "description": "Avoid output except for interactions and errors",
1289
+ "name": "quiet",
1290
+ "allowNo": false,
1291
+ "type": "boolean"
1292
+ },
1271
1293
  "gameId": {
1272
1294
  "char": "g",
1273
1295
  "description": "The ID of the game",
@@ -1276,16 +1298,16 @@
1276
1298
  "multiple": false,
1277
1299
  "type": "option"
1278
1300
  },
1279
- "noAppleAuth": {
1301
+ "force": {
1280
1302
  "char": "f",
1281
- "name": "noAppleAuth",
1303
+ "name": "force",
1282
1304
  "allowNo": false,
1283
1305
  "type": "boolean"
1284
1306
  }
1285
1307
  },
1286
1308
  "hasDynamicHelp": false,
1287
1309
  "hiddenAliases": [],
1288
- "id": "game:ios:profile:status",
1310
+ "id": "game:ios:app:sync",
1289
1311
  "pluginAlias": "shipthis",
1290
1312
  "pluginName": "shipthis",
1291
1313
  "pluginType": "core",
@@ -1297,18 +1319,25 @@
1297
1319
  "commands",
1298
1320
  "game",
1299
1321
  "ios",
1300
- "profile",
1301
- "status.js"
1322
+ "app",
1323
+ "sync.js"
1302
1324
  ]
1303
1325
  },
1304
- "game:ios:app:addTester": {
1326
+ "game:ios:profile:create": {
1305
1327
  "aliases": [],
1306
1328
  "args": {},
1307
- "description": "Adds a test user to the game in App Store Connect.",
1329
+ "description": "Creates a Mobile Provisioning Profile in the Apple Developer Portal.",
1308
1330
  "examples": [
1309
1331
  "<%= config.bin %> <%= command.id %>"
1310
1332
  ],
1311
1333
  "flags": {
1334
+ "quiet": {
1335
+ "char": "q",
1336
+ "description": "Avoid output except for interactions and errors",
1337
+ "name": "quiet",
1338
+ "allowNo": false,
1339
+ "type": "boolean"
1340
+ },
1312
1341
  "gameId": {
1313
1342
  "char": "g",
1314
1343
  "description": "The ID of the game",
@@ -1317,34 +1346,16 @@
1317
1346
  "multiple": false,
1318
1347
  "type": "option"
1319
1348
  },
1320
- "email": {
1321
- "char": "e",
1322
- "description": "The email address of the tester",
1323
- "name": "email",
1324
- "hasDynamicHelp": false,
1325
- "multiple": false,
1326
- "type": "option"
1327
- },
1328
- "firstName": {
1349
+ "force": {
1329
1350
  "char": "f",
1330
- "description": "The first name of the tester",
1331
- "name": "firstName",
1332
- "hasDynamicHelp": false,
1333
- "multiple": false,
1334
- "type": "option"
1335
- },
1336
- "lastName": {
1337
- "char": "l",
1338
- "description": "The last name of the tester",
1339
- "name": "lastName",
1340
- "hasDynamicHelp": false,
1341
- "multiple": false,
1342
- "type": "option"
1351
+ "name": "force",
1352
+ "allowNo": false,
1353
+ "type": "boolean"
1343
1354
  }
1344
1355
  },
1345
1356
  "hasDynamicHelp": false,
1346
1357
  "hiddenAliases": [],
1347
- "id": "game:ios:app:addTester",
1358
+ "id": "game:ios:profile:create",
1348
1359
  "pluginAlias": "shipthis",
1349
1360
  "pluginName": "shipthis",
1350
1361
  "pluginType": "core",
@@ -1356,25 +1367,24 @@
1356
1367
  "commands",
1357
1368
  "game",
1358
1369
  "ios",
1359
- "app",
1360
- "addTester.js"
1370
+ "profile",
1371
+ "create.js"
1361
1372
  ]
1362
1373
  },
1363
- "game:ios:app:create": {
1374
+ "game:ios:profile:export": {
1364
1375
  "aliases": [],
1365
- "args": {},
1366
- "description": "Creates an App and BundleId in the Apple Developer Portal.",
1376
+ "args": {
1377
+ "file": {
1378
+ "description": "Name of the ZIP file to create",
1379
+ "name": "file",
1380
+ "required": true
1381
+ }
1382
+ },
1383
+ "description": "Saves the current Mobile Provisioning Profile to a ZIP file",
1367
1384
  "examples": [
1368
- "<%= config.bin %> <%= command.id %>"
1385
+ "<%= config.bin %> <%= command.id %> userProfile.zip"
1369
1386
  ],
1370
1387
  "flags": {
1371
- "quiet": {
1372
- "char": "q",
1373
- "description": "Avoid output except for interactions and errors",
1374
- "name": "quiet",
1375
- "allowNo": false,
1376
- "type": "boolean"
1377
- },
1378
1388
  "gameId": {
1379
1389
  "char": "g",
1380
1390
  "description": "The ID of the game",
@@ -1383,24 +1393,9 @@
1383
1393
  "multiple": false,
1384
1394
  "type": "option"
1385
1395
  },
1386
- "appName": {
1387
- "char": "n",
1388
- "description": "The name of the App in the Apple Developer Portal",
1389
- "name": "appName",
1390
- "hasDynamicHelp": false,
1391
- "multiple": false,
1392
- "type": "option"
1393
- },
1394
- "bundleId": {
1395
- "char": "b",
1396
- "description": "The BundleId in the Apple Developer Portal",
1397
- "name": "bundleId",
1398
- "hasDynamicHelp": false,
1399
- "multiple": false,
1400
- "type": "option"
1401
- },
1402
1396
  "force": {
1403
1397
  "char": "f",
1398
+ "description": "Overwrite the file if it already exists",
1404
1399
  "name": "force",
1405
1400
  "allowNo": false,
1406
1401
  "type": "boolean"
@@ -1408,7 +1403,7 @@
1408
1403
  },
1409
1404
  "hasDynamicHelp": false,
1410
1405
  "hiddenAliases": [],
1411
- "id": "game:ios:app:create",
1406
+ "id": "game:ios:profile:export",
1412
1407
  "pluginAlias": "shipthis",
1413
1408
  "pluginName": "shipthis",
1414
1409
  "pluginType": "core",
@@ -1420,16 +1415,22 @@
1420
1415
  "commands",
1421
1416
  "game",
1422
1417
  "ios",
1423
- "app",
1424
- "create.js"
1418
+ "profile",
1419
+ "export.js"
1425
1420
  ]
1426
1421
  },
1427
- "game:ios:app:status": {
1422
+ "game:ios:profile:import": {
1428
1423
  "aliases": [],
1429
- "args": {},
1430
- "description": "Shows the Game iOS App status. ",
1424
+ "args": {
1425
+ "file": {
1426
+ "description": "Name of the ZIP file to import (must be in the same format as the export)",
1427
+ "name": "file",
1428
+ "required": true
1429
+ }
1430
+ },
1431
+ "description": "Imports an Mobile Provisioning Profile to your ShipThis account",
1431
1432
  "examples": [
1432
- "<%= config.bin %> <%= command.id %>"
1433
+ "<%= config.bin %> <%= command.id %> profile.zip"
1433
1434
  ],
1434
1435
  "flags": {
1435
1436
  "gameId": {
@@ -1439,11 +1440,17 @@
1439
1440
  "hasDynamicHelp": false,
1440
1441
  "multiple": false,
1441
1442
  "type": "option"
1443
+ },
1444
+ "force": {
1445
+ "char": "f",
1446
+ "name": "force",
1447
+ "allowNo": false,
1448
+ "type": "boolean"
1442
1449
  }
1443
1450
  },
1444
1451
  "hasDynamicHelp": false,
1445
1452
  "hiddenAliases": [],
1446
- "id": "game:ios:app:status",
1453
+ "id": "game:ios:profile:import",
1447
1454
  "pluginAlias": "shipthis",
1448
1455
  "pluginName": "shipthis",
1449
1456
  "pluginType": "core",
@@ -1455,25 +1462,18 @@
1455
1462
  "commands",
1456
1463
  "game",
1457
1464
  "ios",
1458
- "app",
1459
- "status.js"
1465
+ "profile",
1466
+ "import.js"
1460
1467
  ]
1461
1468
  },
1462
- "game:ios:app:sync": {
1469
+ "game:ios:profile:status": {
1463
1470
  "aliases": [],
1464
1471
  "args": {},
1465
- "description": "Synchronies the Apple App \"BundleId\" with the capabilities from the local project.",
1472
+ "description": "Shows the Game iOS Mobile Provisioning Profile Status.",
1466
1473
  "examples": [
1467
1474
  "<%= config.bin %> <%= command.id %>"
1468
1475
  ],
1469
1476
  "flags": {
1470
- "quiet": {
1471
- "char": "q",
1472
- "description": "Avoid output except for interactions and errors",
1473
- "name": "quiet",
1474
- "allowNo": false,
1475
- "type": "boolean"
1476
- },
1477
1477
  "gameId": {
1478
1478
  "char": "g",
1479
1479
  "description": "The ID of the game",
@@ -1482,16 +1482,16 @@
1482
1482
  "multiple": false,
1483
1483
  "type": "option"
1484
1484
  },
1485
- "force": {
1485
+ "noAppleAuth": {
1486
1486
  "char": "f",
1487
- "name": "force",
1487
+ "name": "noAppleAuth",
1488
1488
  "allowNo": false,
1489
1489
  "type": "boolean"
1490
1490
  }
1491
1491
  },
1492
1492
  "hasDynamicHelp": false,
1493
1493
  "hiddenAliases": [],
1494
- "id": "game:ios:app:sync",
1494
+ "id": "game:ios:profile:status",
1495
1495
  "pluginAlias": "shipthis",
1496
1496
  "pluginName": "shipthis",
1497
1497
  "pluginType": "core",
@@ -1503,10 +1503,10 @@
1503
1503
  "commands",
1504
1504
  "game",
1505
1505
  "ios",
1506
- "app",
1507
- "sync.js"
1506
+ "profile",
1507
+ "status.js"
1508
1508
  ]
1509
1509
  }
1510
1510
  },
1511
- "version": "0.0.26"
1511
+ "version": "0.0.27"
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.26",
4
+ "version": "0.0.27",
5
5
  "author": "Hello Invent Ltd",
6
6
  "bin": {
7
7
  "shipthis": "./bin/run.js"