airship-cli 1.0.1 → 1.1.0

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 (47) hide show
  1. package/.github/workflows/npm-publish.yml +21 -26
  2. package/LICENSE +673 -673
  3. package/README.MD +8 -56
  4. package/out/AirshipTypes.d.ts +1 -1
  5. package/out/AirshipTypes.d.ts.map +1 -1
  6. package/out/cli.d.ts +2 -2
  7. package/out/cli.d.ts.map +1 -1
  8. package/out/cli.js +47 -22
  9. package/out/cli.js.map +1 -1
  10. package/out/commands/CommandTypes.d.ts +1 -0
  11. package/out/commands/CommandTypes.d.ts.map +1 -1
  12. package/out/commands/FetchGame.d.ts.map +1 -1
  13. package/out/commands/FetchGame.js +28 -15
  14. package/out/commands/FetchGame.js.map +1 -1
  15. package/out/commands/FetchUser.d.ts.map +1 -1
  16. package/out/commands/FetchUser.js +27 -16
  17. package/out/commands/FetchUser.js.map +1 -1
  18. package/out/commands/{help.d.ts → Help.d.ts} +1 -1
  19. package/out/commands/Help.d.ts.map +1 -0
  20. package/out/commands/{help.js → Help.js} +4 -3
  21. package/out/commands/Help.js.map +1 -0
  22. package/out/util/TokenManager.d.ts +1 -1
  23. package/out/util/TokenManager.d.ts.map +1 -1
  24. package/out/util/TokenManager.js +7 -4
  25. package/out/util/TokenManager.js.map +1 -1
  26. package/package.json +2 -3
  27. package/src/AirshipTypes.ts +62 -62
  28. package/src/cli.ts +68 -49
  29. package/src/commands/CommandTypes.ts +7 -6
  30. package/src/commands/FetchGame.ts +76 -60
  31. package/src/commands/FetchUser.ts +74 -60
  32. package/src/commands/Help.ts +36 -35
  33. package/src/util/Styles.ts +19 -19
  34. package/src/util/TokenManager.ts +21 -19
  35. package/tsconfig.json +42 -42
  36. package/out/Types.d.ts +0 -2
  37. package/out/Types.d.ts.map +0 -1
  38. package/out/Types.js +0 -2
  39. package/out/Types.js.map +0 -1
  40. package/out/commands/FetchUser copy.d.ts +0 -3
  41. package/out/commands/FetchUser copy.d.ts.map +0 -1
  42. package/out/commands/FetchUser copy.js +0 -46
  43. package/out/commands/FetchUser copy.js.map +0 -1
  44. package/out/commands/help.d.ts.map +0 -1
  45. package/out/commands/help.js.map +0 -1
  46. package/out/index.d.ts.map +0 -1
  47. package/out/index.js.map +0 -1
package/README.MD CHANGED
@@ -1,57 +1,9 @@
1
- # Airship CLI
2
-
3
- [![npm](https://badge.fury.io/js/airship-cli.svg)](https://www.npmjs.com/package/airship-cli)
4
-
5
-
6
-
7
- Give it a try in your own terminal!
8
-
9
- ```sh
10
- npx airship-cli@latest
11
- ```
12
-
13
- # Installation
14
-
15
- <table>
16
- <tr>
17
- <th>npm</th>
18
- <th>yarn</th>
19
- <th>bun</th>
20
- </tr>
21
- <tr>
22
- <td>
23
-
24
- ```sh
25
- npm install airship-cli
26
- ```
27
-
28
- </td>
29
- <td>
30
-
31
- ```sh
32
- yarn add airship-cli
33
- ```
34
-
35
- </td>
36
- <td>
37
-
38
- ```sh
39
- bun add airship-cli
40
- ```
41
-
42
- </td>
43
- </tr>
44
- </table>
45
-
46
- # Usage
47
-
48
- Simply run the command below and you're ready to grab data from the platform API. It's that simple!
49
-
50
- ```sh
51
- airship
52
- ```
53
-
54
- # License
55
-
56
- Copyright (c) 2026 Max McDaniel
1
+ # Airship CLI
2
+ A CLI Tool to interact with Airship's API endpoints.
3
+
4
+ [![npm](https://badge.fury.io/js/airship-cli.svg)](https://www.npmjs.com/package/airship-cli)
5
+
6
+ # License
7
+
8
+ Copyright (c) 2026 Max McDaniel
57
9
  Licensed under the GPL 3.0 license.
@@ -12,7 +12,7 @@ export type AirshipUser = {
12
12
  lastOnlineTime: string;
13
13
  };
14
14
  };
15
- export type AirshipUserError = {
15
+ export type AirshipError = {
16
16
  message: string[];
17
17
  error: string;
18
18
  statusCode: number;
@@ -1 +1 @@
1
- {"version":3,"file":"AirshipTypes.d.ts","sourceRoot":"","sources":["../src/AirshipTypes.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAA;CACf,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACtB,IAAI,EAAE;QACF,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,EAAE,MAAM,CAAC;QACnB,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,MAAM,CAAA;KACzB,CAAA;CACJ,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC3B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAA;CACrB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,OAAO,CAAA;CACvB,CAAA;AAED,KAAK,QAAQ,GAAG;IACZ,IAAI,EAAE,SAAS,CAAC;IAChB,GAAG,EAAE,MAAM,CAAA;CACd,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACtB,IAAI,EAAE;QACF,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;QAC9B,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,WAAW,EAAE,MAAM,CAAC;QACpB,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;QAC9C,iBAAiB,EAAE,MAAM,CAAC;QAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;QACpC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,KAAK,EAAE,QAAQ,EAAE,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,YAAY,EAAE,mBAAmB,CAAA;KACpC,CAAA;CACJ,CAAC"}
1
+ {"version":3,"file":"AirshipTypes.d.ts","sourceRoot":"","sources":["../src/AirshipTypes.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAA;CACf,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACtB,IAAI,EAAE;QACF,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,EAAE,MAAM,CAAC;QACnB,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,MAAM,CAAA;KACzB,CAAA;CACJ,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACvB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAA;CACrB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,OAAO,CAAA;CACvB,CAAA;AAED,KAAK,QAAQ,GAAG;IACZ,IAAI,EAAE,SAAS,CAAC;IAChB,GAAG,EAAE,MAAM,CAAA;CACd,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACtB,IAAI,EAAE;QACF,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;QAC9B,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,WAAW,EAAE,MAAM,CAAC;QACpB,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;QAC9C,iBAAiB,EAAE,MAAM,CAAC;QAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;QACpC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,KAAK,EAAE,QAAQ,EAAE,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,YAAY,EAAE,mBAAmB,CAAA;KACpC,CAAA;CACJ,CAAC"}
package/out/cli.d.ts CHANGED
@@ -4,6 +4,6 @@ export declare const commandMap: {
4
4
  "Fetch User": import("./commands/CommandTypes.js").CLICommand;
5
5
  "Fetch Game": import("./commands/CommandTypes.js").CLICommand;
6
6
  };
7
- export declare const commandList: string[];
8
- export declare function StartTool(): void;
7
+ export declare function StartTool(): Promise<void>;
8
+ export declare function RestartTool(): Promise<void>;
9
9
  //# sourceMappingURL=cli.d.ts.map
package/out/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAUA,eAAO,MAAM,UAAU;;;;CAItB,CAAC;AAEF,eAAO,MAAM,WAAW,UAIvB,CAAC;AAEF,wBAAgB,SAAS,SAMxB"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAUA,eAAO,MAAM,UAAU;;;;CAItB,CAAC;AAEF,wBAAsB,SAAS,kBAK9B;AAED,wBAAsB,WAAW,kBAWhC"}
package/out/cli.js CHANGED
@@ -1,44 +1,69 @@
1
1
  #!/usr/bin/env node
2
- import { input, select } from '@inquirer/prompts';
2
+ import { confirm, input, select } from '@inquirer/prompts';
3
3
  import { PrintHeader, PrintError, PrintTitle } from './util/Styles.js';
4
4
  import { AirshipToken } from './util/TokenManager.js';
5
- import { isInt16Array } from 'node:util/types';
6
- import { helpCommand } from './commands/help.js';
5
+ import { helpCommand } from './commands/Help.js';
7
6
  import { fetchUserCommand } from './commands/FetchUser.js';
8
7
  import { fetchGameCommand } from './commands/FetchGame.js';
8
+ import { setTimeout } from 'node:timers/promises';
9
9
  export const commandMap = {
10
10
  "Help": helpCommand,
11
11
  "Fetch User": fetchUserCommand,
12
12
  "Fetch Game": fetchGameCommand
13
13
  };
14
- export const commandList = [
15
- "Help",
16
- "Fetch User",
17
- "Fetch Game"
18
- ];
19
- export function StartTool() {
14
+ export async function StartTool() {
20
15
  PrintTitle();
21
- setTimeout(() => {
22
- PromptCommand();
23
- }, 250);
16
+ await setTimeout(250);
17
+ PromptCommand();
18
+ }
19
+ ;
20
+ export async function RestartTool() {
21
+ try {
22
+ await setTimeout(800);
23
+ const restartTool = await confirm({ message: "Would you like to anything else?" });
24
+ if (restartTool) {
25
+ StartTool();
26
+ }
27
+ ;
28
+ }
29
+ catch (err) {
30
+ process.exit(0);
31
+ }
32
+ ;
24
33
  }
25
34
  ;
26
- StartTool();
27
35
  async function PromptCommand() {
28
- const answer = await select({ message: "What would you like to do?", choices: commandList });
29
- for (let command of Object.entries(commandMap)) {
30
- const cmdName = command[0];
31
- const cmdFunction = command[1];
32
- if (answer === cmdName) {
33
- PrintTitle();
34
- setTimeout(() => {
36
+ try {
37
+ const answer = await select({ message: "What would you like to do?", choices: Object.keys(commandMap) });
38
+ for (let command of Object.entries(commandMap)) {
39
+ const cmdName = command[0];
40
+ const requiresToken = command[1].requiresToken;
41
+ const cmdFunction = command[1];
42
+ if (answer === cmdName) {
43
+ if (AirshipToken === undefined && requiresToken) {
44
+ PrintError("An authenticated Airship installation is required to run this command!");
45
+ process.exit(1);
46
+ }
47
+ ;
48
+ await setTimeout(250);
35
49
  cmdFunction.execute();
36
- }, 250);
37
- return;
50
+ return;
51
+ }
52
+ ;
38
53
  }
39
54
  ;
40
55
  }
56
+ catch (err) {
57
+ process.exit(0);
58
+ }
41
59
  ;
42
60
  }
43
61
  ;
62
+ process.on("exit", (signal) => {
63
+ if (signal === 0) {
64
+ console.clear();
65
+ }
66
+ ;
67
+ });
68
+ StartTool();
44
69
  //# sourceMappingURL=cli.js.map
package/out/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,MAAM,CAAC,MAAM,UAAU,GAAG;IACtB,MAAM,EAAE,WAAW;IACnB,YAAY,EAAE,gBAAgB;IAC9B,YAAY,EAAE,gBAAgB;CACjC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG;IACvB,MAAM;IACN,YAAY;IACZ,YAAY;CACf,CAAC;AAEF,MAAM,UAAU,SAAS;IACrB,UAAU,EAAE,CAAC;IAEb,UAAU,CAAC,GAAG,EAAE;QACZ,aAAa,EAAE,CAAC;IACpB,CAAC,EAAE,GAAG,CAAC,CAAC;AACZ,CAAC;AAAA,CAAC;AAEF,SAAS,EAAE,CAAC;AAEZ,KAAK,UAAU,aAAa;IACxB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,EAAE,OAAO,EAAE,4BAA4B,EAAE,OAAO,EAAE,WAAW,EAAC,CAAC,CAAC;IAE5F,KAAK,IAAI,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7C,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAE/B,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YACrB,UAAU,EAAE,CAAC;YAEb,UAAU,CAAC,GAAG,EAAE;gBACZ,WAAW,CAAC,OAAO,EAAE,CAAC;YAC1B,CAAC,EAAE,GAAG,CAAC,CAAC;YACR,OAAO;QACX,CAAC;QAAA,CAAC;IACN,CAAC;IAAA,CAAC;AACN,CAAC;AAAA,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,MAAM,CAAC,MAAM,UAAU,GAAG;IACtB,MAAM,EAAE,WAAW;IACnB,YAAY,EAAE,gBAAgB;IAC9B,YAAY,EAAE,gBAAgB;CACjC,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,SAAS;IAC3B,UAAU,EAAE,CAAC;IAEb,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;IACtB,aAAa,EAAE,CAAC;AACpB,CAAC;AAAA,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,WAAW;IAC7B,IAAI,CAAC;QACD,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;QACtB,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,EAAE,OAAO,EAAE,kCAAkC,EAAE,CAAC,CAAC;QAEnF,IAAI,WAAW,EAAE,CAAC;YACd,SAAS,EAAE,CAAC;QAChB,CAAC;QAAA,CAAC;IACN,CAAC;IAAC,OAAM,GAAG,EAAE,CAAC;QACV,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAAA,CAAC;AACN,CAAC;AAAA,CAAC;AAEF,KAAK,UAAU,aAAa;IACxB,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,EAAE,OAAO,EAAE,4BAA4B,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAC,CAAC,CAAC;QAExG,KAAK,IAAI,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7C,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAC3B,MAAM,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;YAC/C,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAE/B,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;gBACrB,IAAI,YAAY,KAAK,SAAS,IAAI,aAAa,EAAE,CAAC;oBAC9C,UAAU,CAAC,wEAAwE,CAAC,CAAC;oBACrF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACpB,CAAC;gBAAA,CAAC;gBAEF,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;gBACtB,WAAW,CAAC,OAAO,EAAE,CAAC;gBACtB,OAAO;YACX,CAAC;YAAA,CAAC;QACN,CAAC;QAAA,CAAC;IACN,CAAC;IAAC,OAAM,GAAG,EAAE,CAAC;QACV,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAAA,CAAC;AACN,CAAC;AAAA,CAAC;AAEF,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;IAC1B,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,EAAE,CAAC;IACpB,CAAC;IAAA,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,SAAS,EAAE,CAAC"}
@@ -1,5 +1,6 @@
1
1
  export type CLICommand = {
2
2
  name: string;
3
+ displayName: string;
3
4
  description: string;
4
5
  usage: string;
5
6
  requiresToken: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"CommandTypes.d.ts","sourceRoot":"","sources":["../../src/commands/CommandTypes.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,OAAO,CAAC;IACvB,OAAO,EAAE,MAAM,IAAI,CAAA;CACtB,CAAC"}
1
+ {"version":3,"file":"CommandTypes.d.ts","sourceRoot":"","sources":["../../src/commands/CommandTypes.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,OAAO,CAAC;IACvB,OAAO,EAAE,MAAM,IAAI,CAAA;CACtB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"FetchGame.d.ts","sourceRoot":"","sources":["../../src/commands/FetchGame.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAYpD,eAAO,MAAM,gBAAgB,EAAE,UAgD9B,CAAC"}
1
+ {"version":3,"file":"FetchGame.d.ts","sourceRoot":"","sources":["../../src/commands/FetchGame.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAcpD,eAAO,MAAM,gBAAgB,EAAE,UA8D9B,CAAC"}
@@ -1,22 +1,29 @@
1
1
  import { input, select, confirm } from '@inquirer/prompts';
2
2
  import { PrintHeader, PrintError, PrintTitle } from '../util/Styles.js';
3
3
  import { AirshipToken } from '../util/TokenManager.js';
4
- import { StartTool } from "../cli.js";
4
+ import { RestartTool, StartTool } from "../cli.js";
5
+ import { setTimeout } from "node:timers/promises";
6
+ import chalk from "chalk";
5
7
  const apiMap = {
6
8
  "Slug": "https://api.airship.gg/content/games/slug/",
7
9
  "GameId": "https://api.airship.gg/content/games/game-id/"
8
10
  };
9
11
  export const fetchGameCommand = {
10
12
  name: "fetch-game",
13
+ displayName: "Fetch Game",
11
14
  description: "Returns data related to the specified game.",
12
15
  usage: "fetch-game <method: slug | gameId> <identifier: string>",
13
16
  requiresToken: false,
14
17
  execute: async () => {
18
+ console.clear();
19
+ PrintHeader("Fetch Game");
20
+ await setTimeout(250);
15
21
  const fetchMethod = await select({ message: "Which method would you like to use?", choices: [
16
22
  "Slug",
17
23
  "GameId"
18
24
  ] });
19
25
  const gameIdentifier = await input({ message: `Please enter the ${fetchMethod}:` });
26
+ const dataType = await select({ message: "How would you like your data?", choices: ["Simple", "Verbose"] });
20
27
  for (let data of Object.entries(apiMap)) {
21
28
  const method = data[0];
22
29
  const url = data[1];
@@ -24,27 +31,33 @@ export const fetchGameCommand = {
24
31
  fetch(url + gameIdentifier, {
25
32
  method: "GET"
26
33
  }).then(raw => raw.text().then(data => {
27
- const gameData = JSON.parse(data);
28
- const entries = Object.entries(gameData);
29
- if (entries.length === 0) {
34
+ const result = JSON.parse(data);
35
+ const keys = Object.keys(result);
36
+ const entries = Object.entries(result);
37
+ if (entries.length === 0 || "error" in result || keys.length === 0) {
30
38
  PrintError(`Invalid ${fetchMethod}!`);
39
+ return;
31
40
  }
32
- else if (entries.length === 3) {
33
- // const styledError = `${entries[0]?.[1]}`.replaceAll("username", "Username").replaceAll(",", ", ");
34
- // PrintError(styledError);
41
+ ;
42
+ switch (dataType) {
43
+ case "Simple":
44
+ const userData = result.game;
45
+ console.log(`\n${chalk.green("Game Id")}: ${userData.id}`);
46
+ console.log(`${chalk.green("Name")}: ${userData.name}`);
47
+ console.log(`${chalk.green("Slug")}: ${userData.slug || ""}`);
48
+ console.log(`${chalk.green("Developer")}: ${userData.organization.name}`);
49
+ console.log(`${chalk.green("Description")}: ${userData.description || ""}\n`);
50
+ break;
51
+ case "Verbose":
52
+ console.dir(result, { depth: null });
53
+ console.log();
54
+ break;
35
55
  }
36
56
  ;
37
- console.log(gameData);
38
57
  })).catch((err) => {
39
58
  PrintError(err);
40
59
  });
41
- setTimeout(async () => {
42
- const restartTool = await confirm({ message: "Would you like to anything else?" });
43
- if (restartTool) {
44
- StartTool();
45
- }
46
- ;
47
- }, 1000);
60
+ RestartTool();
48
61
  return;
49
62
  }
50
63
  ;
@@ -1 +1 @@
1
- {"version":3,"file":"FetchGame.js","sourceRoot":"","sources":["../../src/commands/FetchGame.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,MAAM,GAAG;IACX,MAAM,EAAE,4CAA4C;IACpD,QAAQ,EAAE,+CAA+C;CAC5D,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAe;IACxC,IAAI,EAAE,YAAY;IAClB,WAAW,EAAE,6CAA6C;IAC1D,KAAK,EAAE,yDAAyD;IAChE,aAAa,EAAE,KAAK;IACpB,OAAO,EAAE,KAAK,IAAI,EAAE;QAChB,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,EAAE,OAAO,EAAE,qCAAqC,EAAE,OAAO,EAAE;gBACxF,MAAM;gBACN,QAAQ;aACX,EAAC,CAAC,CAAC;QAEJ,MAAM,cAAc,GAAG,MAAM,KAAK,CAAC,EAAE,OAAO,EAAE,oBAAoB,WAAW,GAAG,EAAE,CAAC,CAAC;QAEpF,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACvB,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAEpB,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;gBACzB,KAAK,CAAC,GAAG,GAAG,cAAc,EAAE;oBACxB,MAAM,EAAE,KAAK;iBAChB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAqB,CAAC;oBACtD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;oBAEzC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACvB,UAAU,CAAC,WAAW,WAAW,GAAG,CAAC,CAAC;oBAC1C,CAAC;yBAAM,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAC9B,qGAAqG;wBACrG,2BAA2B;oBAC/B,CAAC;oBAAA,CAAC;oBAEF,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAC1B,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBACd,UAAU,CAAC,GAAG,CAAC,CAAC;gBACpB,CAAC,CAAC,CAAC;gBAEH,UAAU,CAAC,KAAK,IAAI,EAAE;oBAClB,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,EAAE,OAAO,EAAE,kCAAkC,EAAE,CAAC,CAAC;oBAEnF,IAAI,WAAW,EAAE,CAAC;wBACd,SAAS,EAAE,CAAC;oBAChB,CAAC;oBAAA,CAAC;gBACN,CAAC,EAAE,IAAI,CAAC,CAAC;gBAET,OAAO;YACX,CAAC;YAAA,CAAC;QACN,CAAC;QAAA,CAAC;IACN,CAAC;CACJ,CAAC"}
1
+ {"version":3,"file":"FetchGame.js","sourceRoot":"","sources":["../../src/commands/FetchGame.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"FetchUser.d.ts","sourceRoot":"","sources":["../../src/commands/FetchUser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAYpD,eAAO,MAAM,gBAAgB,EAAE,UAgD9B,CAAC"}
1
+ {"version":3,"file":"FetchUser.d.ts","sourceRoot":"","sources":["../../src/commands/FetchUser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAcpD,eAAO,MAAM,gBAAgB,EAAE,UA4D9B,CAAC"}
@@ -1,22 +1,29 @@
1
1
  import { input, select, confirm } from '@inquirer/prompts';
2
- import { PrintHeader, PrintError, PrintTitle } from '../util/Styles.js';
2
+ import { PrintError, PrintHeader, PrintTitle } from '../util/Styles.js';
3
3
  import { AirshipToken } from '../util/TokenManager.js';
4
- import { StartTool } from "../cli.js";
4
+ import { RestartTool, StartTool } from "../cli.js";
5
+ import chalk from "chalk";
6
+ import { setTimeout } from "node:timers/promises";
5
7
  const apiMap = {
6
8
  "Username": "https://api.airship.gg/game-coordinator/users/user?username=",
7
9
  "UserId": "https://api.airship.gg/game-coordinator/users/uid/"
8
10
  };
9
11
  export const fetchUserCommand = {
10
12
  name: "fetch-user",
13
+ displayName: "Fetch User",
11
14
  description: "Returns data related to the specified user.",
12
15
  usage: "fetch-user <method: username | userId> <identifier: string>",
13
16
  requiresToken: false,
14
17
  execute: async () => {
18
+ console.clear();
19
+ PrintHeader("Fetch User");
20
+ await setTimeout(250);
15
21
  const fetchMethod = await select({ message: "Which method would you like to use?", choices: [
16
22
  "Username",
17
23
  "UserId"
18
24
  ] });
19
25
  const userIdentifier = await input({ message: `Please enter the ${fetchMethod}:` });
26
+ const dataType = await select({ message: "How would you like your data?", choices: ["Simple", "Verbose"] });
20
27
  for (let data of Object.entries(apiMap)) {
21
28
  const method = data[0];
22
29
  const url = data[1];
@@ -24,27 +31,31 @@ export const fetchUserCommand = {
24
31
  fetch(url + userIdentifier, {
25
32
  method: "GET"
26
33
  }).then(raw => raw.text().then(data => {
27
- const userData = JSON.parse(data);
28
- const entries = Object.entries(userData);
29
- if (entries.length === 0) {
34
+ const result = JSON.parse(data);
35
+ const keys = Object.keys(result);
36
+ const entries = Object.entries(result);
37
+ if (entries.length === 0 || "error" in result || keys.length === 0) {
30
38
  PrintError(`Invalid ${fetchMethod}!`);
39
+ return;
31
40
  }
32
- else if (entries.length === 3) {
33
- const styledError = `${entries[0]?.[1]}`.replaceAll("username", "Username").replaceAll(",", ", ");
34
- PrintError(styledError);
41
+ ;
42
+ switch (dataType) {
43
+ case "Simple":
44
+ const userData = result.user;
45
+ console.log(`\n${chalk.green("User Id")}: ${userData.uid}`);
46
+ console.log(`${chalk.green("Username")}: ${userData.username}`);
47
+ console.log(`${chalk.green("Status Text")}: ${userData.statusText || ""}\n`);
48
+ break;
49
+ case "Verbose":
50
+ console.dir(result, { depth: null });
51
+ console.log();
52
+ break;
35
53
  }
36
54
  ;
37
- console.log(userData);
38
55
  })).catch((err) => {
39
56
  PrintError(err);
40
57
  });
41
- setTimeout(async () => {
42
- const restartTool = await confirm({ message: "Would you like to anything else?" });
43
- if (restartTool) {
44
- StartTool();
45
- }
46
- ;
47
- }, 1000);
58
+ RestartTool();
48
59
  return;
49
60
  }
50
61
  ;
@@ -1 +1 @@
1
- {"version":3,"file":"FetchUser.js","sourceRoot":"","sources":["../../src/commands/FetchUser.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,MAAM,GAAG;IACX,UAAU,EAAE,8DAA8D;IAC1E,QAAQ,EAAE,oDAAoD;CACjE,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAe;IACxC,IAAI,EAAE,YAAY;IAClB,WAAW,EAAE,6CAA6C;IAC1D,KAAK,EAAE,6DAA6D;IACpE,aAAa,EAAE,KAAK;IACpB,OAAO,EAAE,KAAK,IAAI,EAAE;QAChB,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,EAAE,OAAO,EAAE,qCAAqC,EAAE,OAAO,EAAE;gBACxF,UAAU;gBACV,QAAQ;aACX,EAAC,CAAC,CAAC;QAEJ,MAAM,cAAc,GAAG,MAAM,KAAK,CAAC,EAAE,OAAO,EAAE,oBAAoB,WAAW,GAAG,EAAE,CAAC,CAAC;QAEpF,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACvB,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAEpB,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;gBACzB,KAAK,CAAC,GAAG,GAAG,cAAc,EAAE;oBACxB,MAAM,EAAE,KAAK;iBAChB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAwC,CAAC;oBACzE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;oBAEzC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACvB,UAAU,CAAC,WAAW,WAAW,GAAG,CAAC,CAAC;oBAC1C,CAAC;yBAAM,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAC9B,MAAM,WAAW,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;wBAClG,UAAU,CAAC,WAAW,CAAC,CAAC;oBAC5B,CAAC;oBAAA,CAAC;oBAEF,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAC1B,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBACd,UAAU,CAAC,GAAG,CAAC,CAAC;gBACpB,CAAC,CAAC,CAAC;gBAEH,UAAU,CAAC,KAAK,IAAI,EAAE;oBAClB,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,EAAE,OAAO,EAAE,kCAAkC,EAAE,CAAC,CAAC;oBAEnF,IAAI,WAAW,EAAE,CAAC;wBACd,SAAS,EAAE,CAAC;oBAChB,CAAC;oBAAA,CAAC;gBACN,CAAC,EAAE,IAAI,CAAC,CAAC;gBAET,OAAO;YACX,CAAC;YAAA,CAAC;QACN,CAAC;QAAA,CAAC;IACN,CAAC;CACJ,CAAC"}
1
+ {"version":3,"file":"FetchUser.js","sourceRoot":"","sources":["../../src/commands/FetchUser.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  import type { CLICommand } from "./CommandTypes.js";
2
2
  export declare const helpCommand: CLICommand;
3
- //# sourceMappingURL=help.d.ts.map
3
+ //# sourceMappingURL=Help.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Help.d.ts","sourceRoot":"","sources":["../../src/commands/Help.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAOpD,eAAO,MAAM,WAAW,EAAE,UA6BzB,CAAC"}
@@ -2,14 +2,15 @@ import chalk from "chalk";
2
2
  import { input, select, confirm } from '@inquirer/prompts';
3
3
  import { PrintHeader, PrintError, PrintTitle } from '../util/Styles.js';
4
4
  import { AirshipToken } from '../util/TokenManager.js';
5
- import { commandMap, commandList, StartTool } from "../cli.js";
5
+ import { commandMap, StartTool } from "../cli.js";
6
6
  export const helpCommand = {
7
7
  name: "help",
8
+ displayName: "Help",
8
9
  description: "Returns the usage of a command.",
9
10
  usage: "help <command: string>",
10
11
  requiresToken: false,
11
12
  execute: async () => {
12
- const commandSelect = await select({ message: "Which command do you need help with?", choices: commandList.slice(1) });
13
+ const commandSelect = await select({ message: "Which command do you need help with?", choices: Object.keys(commandMap).slice(1) });
13
14
  for (let command of Object.entries(commandMap)) {
14
15
  if (command[0] === commandSelect) {
15
16
  console.log(`\n`);
@@ -31,4 +32,4 @@ export const helpCommand = {
31
32
  ;
32
33
  }
33
34
  };
34
- //# sourceMappingURL=help.js.map
35
+ //# sourceMappingURL=Help.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Help.js","sourceRoot":"","sources":["../../src/commands/Help.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAElD,MAAM,CAAC,MAAM,WAAW,GAAe;IACnC,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,MAAM;IACnB,WAAW,EAAE,iCAAiC;IAC9C,KAAK,EAAE,wBAAwB;IAC/B,aAAa,EAAE,KAAK;IACpB,OAAO,EAAE,KAAK,IAAI,EAAE;QAChB,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,EAAE,OAAO,EAAE,sCAAsC,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAEnI,KAAK,IAAI,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7C,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,aAAa,EAAE,CAAC;gBAC/B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAClB,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,aAAa,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;gBACpE,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;gBACpE,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACxD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAElB,UAAU,CAAC,KAAK,IAAI,EAAE;oBAClB,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,EAAE,OAAO,EAAE,kCAAkC,EAAE,CAAC,CAAC;oBAEnF,IAAI,WAAW,EAAE,CAAC;wBACd,SAAS,EAAE,CAAC;oBAChB,CAAC;oBAAA,CAAC;gBACN,CAAC,EAAE,CAAC,CAAC,CAAC;gBAEN,OAAO;YACX,CAAC;YAAA,CAAC;QACN,CAAC;QAAA,CAAC;IACN,CAAC;CACJ,CAAC"}
@@ -1,2 +1,2 @@
1
- export declare const AirshipToken: string;
1
+ export declare const AirshipToken: string | undefined;
2
2
  //# sourceMappingURL=TokenManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TokenManager.d.ts","sourceRoot":"","sources":["../../src/util/TokenManager.ts"],"names":[],"mappings":"AAmBA,eAAO,MAAM,YAAY,QAAsB,CAAC"}
1
+ {"version":3,"file":"TokenManager.d.ts","sourceRoot":"","sources":["../../src/util/TokenManager.ts"],"names":[],"mappings":"AAqBA,eAAO,MAAM,YAAY,oBAAsB,CAAC"}
@@ -2,13 +2,16 @@ import * as fs from 'fs';
2
2
  import { PrintError } from './Styles.js';
3
3
  const airshipAccountPath = process.env.APPDATA + `../../LocalLow/Easy/Airship/account.json`;
4
4
  function FetchAirshipToken() {
5
- const accountsFile = fs.readFileSync(airshipAccountPath);
6
- if (!accountsFile) {
5
+ let jsonData;
6
+ try {
7
+ const accountsFile = fs.readFileSync(airshipAccountPath);
8
+ jsonData = JSON.parse(accountsFile.toString("utf8"));
9
+ }
10
+ catch (err) {
7
11
  PrintError("No Airship Installation Found!");
8
- process.exit(1);
12
+ return undefined;
9
13
  }
10
14
  ;
11
- const jsonData = JSON.parse(accountsFile.toString("utf8"));
12
15
  return jsonData.refreshToken;
13
16
  }
14
17
  ;
@@ -1 +1 @@
1
- {"version":3,"file":"TokenManager.js","sourceRoot":"","sources":["../../src/util/TokenManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,0CAA0C,CAAC;AAE5F,SAAS,iBAAiB;IACtB,MAAM,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC;IACzD,IAAI,CAAC,YAAY,EAAE,CAAC;QAChB,UAAU,CAAC,gCAAgC,CAAC,CAAC;QAE7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAAA,CAAC;IAEF,MAAM,QAAQ,GAAgB,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAExE,OAAO,QAAQ,CAAC,YAAY,CAAC;AACjC,CAAC;AAAA,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"TokenManager.js","sourceRoot":"","sources":["../../src/util/TokenManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,0CAA0C,CAAC;AAE5F,SAAS,iBAAiB;IACtB,IAAI,QAAqB,CAAC;IAE1B,IAAI,CAAC;QACD,MAAM,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC;QAEzD,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACzD,CAAC;IAAC,OAAM,GAAG,EAAE,CAAC;QACV,UAAU,CAAC,gCAAgC,CAAC,CAAC;QAC7C,OAAO,SAAS,CAAC;IACrB,CAAC;IAAA,CAAC;IAEF,OAAO,QAAQ,CAAC,YAAY,CAAC;AACjC,CAAC;AAAA,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,iBAAiB,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "airship-cli",
3
- "version": "1.0.1",
3
+ "version": "1.1.0",
4
4
  "description": "A CLI Tool to interact with Airship's API endpoints.",
5
5
  "main": "out/cli.js",
6
6
  "bin": {
@@ -8,7 +8,6 @@
8
8
  },
9
9
  "type": "module",
10
10
  "scripts": {
11
- "test": "echo \"No test specified\"",
12
11
  "tsc": "tsc --w"
13
12
  },
14
13
  "author": "Max McDaniel",
@@ -22,4 +21,4 @@
22
21
  "devDependencies": {
23
22
  "@types/node": "^25.0.10"
24
23
  }
25
- }
24
+ }