@oh-gc/cli 0.3.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 (76) hide show
  1. package/README.md +186 -0
  2. package/bin/dev.js +19 -0
  3. package/bin/run.js +12 -0
  4. package/dist/api/client.d.ts +9 -0
  5. package/dist/api/client.js +57 -0
  6. package/dist/api/client.js.map +1 -0
  7. package/dist/api/issues.d.ts +60 -0
  8. package/dist/api/issues.js +30 -0
  9. package/dist/api/issues.js.map +1 -0
  10. package/dist/api/prs.d.ts +62 -0
  11. package/dist/api/prs.js +25 -0
  12. package/dist/api/prs.js.map +1 -0
  13. package/dist/api/releases.d.ts +33 -0
  14. package/dist/api/releases.js +41 -0
  15. package/dist/api/releases.js.map +1 -0
  16. package/dist/api/user.d.ts +8 -0
  17. package/dist/api/user.js +8 -0
  18. package/dist/api/user.js.map +1 -0
  19. package/dist/base-command.d.ts +6 -0
  20. package/dist/base-command.js +14 -0
  21. package/dist/base-command.js.map +1 -0
  22. package/dist/commands/auth/login.d.ts +9 -0
  23. package/dist/commands/auth/login.js +77 -0
  24. package/dist/commands/auth/login.js.map +1 -0
  25. package/dist/commands/auth/logout.d.ts +9 -0
  26. package/dist/commands/auth/logout.js +19 -0
  27. package/dist/commands/auth/logout.js.map +1 -0
  28. package/dist/commands/auth/status.d.ts +9 -0
  29. package/dist/commands/auth/status.js +37 -0
  30. package/dist/commands/auth/status.js.map +1 -0
  31. package/dist/commands/issue/comment.d.ts +13 -0
  32. package/dist/commands/issue/comment.js +99 -0
  33. package/dist/commands/issue/comment.js.map +1 -0
  34. package/dist/commands/issue/create.d.ts +13 -0
  35. package/dist/commands/issue/create.js +106 -0
  36. package/dist/commands/issue/create.js.map +1 -0
  37. package/dist/commands/issue/list.d.ts +13 -0
  38. package/dist/commands/issue/list.js +68 -0
  39. package/dist/commands/issue/list.js.map +1 -0
  40. package/dist/commands/issue/view.d.ts +12 -0
  41. package/dist/commands/issue/view.js +64 -0
  42. package/dist/commands/issue/view.js.map +1 -0
  43. package/dist/commands/pr/create.d.ts +14 -0
  44. package/dist/commands/pr/create.js +120 -0
  45. package/dist/commands/pr/create.js.map +1 -0
  46. package/dist/commands/pr/list.d.ts +14 -0
  47. package/dist/commands/pr/list.js +71 -0
  48. package/dist/commands/pr/list.js.map +1 -0
  49. package/dist/commands/pr/merge.d.ts +16 -0
  50. package/dist/commands/pr/merge.js +59 -0
  51. package/dist/commands/pr/merge.js.map +1 -0
  52. package/dist/commands/pr/view.d.ts +15 -0
  53. package/dist/commands/pr/view.js +57 -0
  54. package/dist/commands/pr/view.js.map +1 -0
  55. package/dist/commands/release/create.d.ts +16 -0
  56. package/dist/commands/release/create.js +194 -0
  57. package/dist/commands/release/create.js.map +1 -0
  58. package/dist/commands/repo/get-remote.d.ts +9 -0
  59. package/dist/commands/repo/get-remote.js +22 -0
  60. package/dist/commands/repo/get-remote.js.map +1 -0
  61. package/dist/commands/repo/set-remote.d.ts +12 -0
  62. package/dist/commands/repo/set-remote.js +20 -0
  63. package/dist/commands/repo/set-remote.js.map +1 -0
  64. package/dist/config/index.d.ts +3 -0
  65. package/dist/config/index.js +41 -0
  66. package/dist/config/index.js.map +1 -0
  67. package/dist/git/index.d.ts +11 -0
  68. package/dist/git/index.js +51 -0
  69. package/dist/git/index.js.map +1 -0
  70. package/dist/index.d.ts +7 -0
  71. package/dist/index.js +36 -0
  72. package/dist/index.js.map +1 -0
  73. package/dist/ui/index.d.ts +6 -0
  74. package/dist/ui/index.js +38 -0
  75. package/dist/ui/index.js.map +1 -0
  76. package/package.json +71 -0
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ const readline = __importStar(require("node:readline"));
37
+ const base_command_1 = require("../../base-command");
38
+ const index_1 = require("../../config/index");
39
+ const user_1 = require("../../api/user");
40
+ const client_1 = require("../../api/client");
41
+ const index_2 = require("../../ui/index");
42
+ class AuthLogin extends base_command_1.BaseCommand {
43
+ async run() {
44
+ const { flags } = await this.parse(AuthLogin);
45
+ const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
46
+ const token = await new Promise((resolve) => {
47
+ rl.question('Enter your GitCode personal access token: ', (answer) => {
48
+ rl.close();
49
+ resolve(answer.trim());
50
+ });
51
+ });
52
+ if (!token) {
53
+ this.error('Token cannot be empty.');
54
+ }
55
+ try {
56
+ const user = await (0, user_1.getCurrentUser)(token);
57
+ (0, index_1.setToken)(token);
58
+ if (flags.json) {
59
+ (0, index_2.printJson)(user);
60
+ }
61
+ else {
62
+ this.log(`Logged in as ${user.login} (${user.name})`);
63
+ }
64
+ }
65
+ catch (err) {
66
+ if (err instanceof client_1.GitCodeError) {
67
+ this.error(err.message);
68
+ }
69
+ this.error('Could not connect to GitCode. Check your internet connection.');
70
+ }
71
+ }
72
+ }
73
+ AuthLogin.description = 'Log in with a GitCode personal access token';
74
+ AuthLogin.examples = ['<%= config.bin %> auth login'];
75
+ AuthLogin.flags = { ...base_command_1.BaseCommand.baseFlags };
76
+ exports.default = AuthLogin;
77
+ //# sourceMappingURL=login.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/commands/auth/login.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,wDAAyC;AACzC,qDAAgD;AAChD,8CAA6C;AAC7C,yCAA+C;AAC/C,6CAA+C;AAC/C,0CAA0C;AAE1C,MAAqB,SAAU,SAAQ,0BAAW;IAKhD,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;QAE7C,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;QACrF,MAAM,KAAK,GAAG,MAAM,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE;YAClD,EAAE,CAAC,QAAQ,CAAC,4CAA4C,EAAE,CAAC,MAAM,EAAE,EAAE;gBACnE,EAAE,CAAC,KAAK,EAAE,CAAA;gBACV,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;YACxB,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAA;QACtC,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAA,qBAAc,EAAC,KAAK,CAAC,CAAA;YACxC,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAA;YACf,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBACf,IAAA,iBAAS,EAAC,IAAI,CAAC,CAAA;YACjB,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,IAAI,GAAG,CAAC,CAAA;YACvD,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,qBAAY,EAAE,CAAC;gBAChC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YACzB,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAA;QAC7E,CAAC;IACH,CAAC;;AAjCM,qBAAW,GAAG,6CAA6C,CAAA;AAC3D,kBAAQ,GAAG,CAAC,8BAA8B,CAAC,CAAA;AAC3C,eAAK,GAAG,EAAE,GAAG,0BAAW,CAAC,SAAS,EAAE,CAAA;kBAHxB,SAAS"}
@@ -0,0 +1,9 @@
1
+ import { BaseCommand } from '../../base-command';
2
+ export default class AuthLogout extends BaseCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static flags: {
6
+ json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
7
+ };
8
+ run(): Promise<void>;
9
+ }
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const base_command_1 = require("../../base-command");
4
+ const index_1 = require("../../config/index");
5
+ class AuthLogout extends base_command_1.BaseCommand {
6
+ async run() {
7
+ if (!(0, index_1.getToken)()) {
8
+ this.log('Not logged in.');
9
+ return;
10
+ }
11
+ (0, index_1.clearToken)();
12
+ this.log('Logged out.');
13
+ }
14
+ }
15
+ AuthLogout.description = 'Log out and remove stored token';
16
+ AuthLogout.examples = ['<%= config.bin %> auth logout'];
17
+ AuthLogout.flags = { ...base_command_1.BaseCommand.baseFlags };
18
+ exports.default = AuthLogout;
19
+ //# sourceMappingURL=logout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logout.js","sourceRoot":"","sources":["../../../src/commands/auth/logout.ts"],"names":[],"mappings":";;AAAA,qDAAgD;AAChD,8CAAyD;AAEzD,MAAqB,UAAW,SAAQ,0BAAW;IAKjD,KAAK,CAAC,GAAG;QACP,IAAI,CAAC,IAAA,gBAAQ,GAAE,EAAE,CAAC;YAChB,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;YAC1B,OAAM;QACR,CAAC;QACD,IAAA,kBAAU,GAAE,CAAA;QACZ,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;IACzB,CAAC;;AAXM,sBAAW,GAAG,iCAAiC,CAAA;AAC/C,mBAAQ,GAAG,CAAC,+BAA+B,CAAC,CAAA;AAC5C,gBAAK,GAAG,EAAE,GAAG,0BAAW,CAAC,SAAS,EAAE,CAAA;kBAHxB,UAAU"}
@@ -0,0 +1,9 @@
1
+ import { BaseCommand } from '../../base-command';
2
+ export default class AuthStatus extends BaseCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static flags: {
6
+ json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
7
+ };
8
+ run(): Promise<void>;
9
+ }
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const base_command_1 = require("../../base-command");
4
+ const index_1 = require("../../config/index");
5
+ const user_1 = require("../../api/user");
6
+ const client_1 = require("../../api/client");
7
+ const index_2 = require("../../ui/index");
8
+ class AuthStatus extends base_command_1.BaseCommand {
9
+ async run() {
10
+ const { flags } = await this.parse(AuthStatus);
11
+ const token = (0, index_1.getToken)();
12
+ if (!token) {
13
+ this.error('Not logged in. Run: gc auth login');
14
+ }
15
+ try {
16
+ const user = await (0, user_1.getCurrentUser)(token);
17
+ if (flags.json) {
18
+ (0, index_2.printJson)(user);
19
+ }
20
+ else {
21
+ this.log(`Logged in as ${user.login} (${user.name})`);
22
+ this.log(`Profile: ${user.html_url}`);
23
+ }
24
+ }
25
+ catch (err) {
26
+ if (err instanceof client_1.GitCodeError) {
27
+ this.error(err.message);
28
+ }
29
+ this.error('Could not connect to GitCode. Check your internet connection.');
30
+ }
31
+ }
32
+ }
33
+ AuthStatus.description = 'Show the currently logged-in user';
34
+ AuthStatus.examples = ['<%= config.bin %> auth status'];
35
+ AuthStatus.flags = { ...base_command_1.BaseCommand.baseFlags };
36
+ exports.default = AuthStatus;
37
+ //# sourceMappingURL=status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/commands/auth/status.ts"],"names":[],"mappings":";;AAAA,qDAAgD;AAChD,8CAA6C;AAC7C,yCAA+C;AAC/C,6CAA+C;AAC/C,0CAA0C;AAE1C,MAAqB,UAAW,SAAQ,0BAAW;IAKjD,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;QAE9C,MAAM,KAAK,GAAG,IAAA,gBAAQ,GAAE,CAAA;QACxB,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAA;QACjD,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAA,qBAAc,EAAC,KAAK,CAAC,CAAA;YACxC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBACf,IAAA,iBAAS,EAAC,IAAI,CAAC,CAAA;YACjB,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,IAAI,GAAG,CAAC,CAAA;gBACrD,IAAI,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;YACvC,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,qBAAY,EAAE,CAAC;gBAChC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YACzB,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAA;QAC7E,CAAC;IACH,CAAC;;AA1BM,sBAAW,GAAG,mCAAmC,CAAA;AACjD,mBAAQ,GAAG,CAAC,+BAA+B,CAAC,CAAA;AAC5C,gBAAK,GAAG,EAAE,GAAG,0BAAW,CAAC,SAAS,EAAE,CAAA;kBAHxB,UAAU"}
@@ -0,0 +1,13 @@
1
+ import { BaseCommand } from '../../base-command';
2
+ export default class IssueComment extends BaseCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static args: {
6
+ number: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
7
+ };
8
+ static flags: {
9
+ body: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
10
+ json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
11
+ };
12
+ run(): Promise<void>;
13
+ }
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ const core_1 = require("@oclif/core");
37
+ const readline = __importStar(require("node:readline"));
38
+ const base_command_1 = require("../../base-command");
39
+ const index_1 = require("../../config/index");
40
+ const index_2 = require("../../git/index");
41
+ const issues_1 = require("../../api/issues");
42
+ const client_1 = require("../../api/client");
43
+ const index_3 = require("../../ui/index");
44
+ class IssueComment extends base_command_1.BaseCommand {
45
+ async run() {
46
+ const { args, flags } = await this.parse(IssueComment);
47
+ const token = (0, index_1.getToken)();
48
+ if (!token)
49
+ this.error('Not logged in. Run: gc auth login');
50
+ let owner, repo;
51
+ try {
52
+ ;
53
+ ({ owner, repo } = (0, index_2.resolveRepo)());
54
+ }
55
+ catch (err) {
56
+ this.error(err.message);
57
+ }
58
+ let body = flags.body;
59
+ if (!body) {
60
+ const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
61
+ body = await new Promise((resolve) => {
62
+ rl.question('Comment: ', (answer) => {
63
+ rl.close();
64
+ resolve(answer.trim());
65
+ });
66
+ });
67
+ }
68
+ if (!body)
69
+ this.error('Comment body cannot be empty.');
70
+ try {
71
+ const comment = await (0, issues_1.createComment)(token, owner, repo, args.number, body);
72
+ if (flags.json) {
73
+ (0, index_3.printJson)(comment);
74
+ }
75
+ else {
76
+ this.log(`Added comment on #${args.number}`);
77
+ }
78
+ }
79
+ catch (err) {
80
+ if (err instanceof client_1.GitCodeError)
81
+ this.error(err.message);
82
+ this.error('Could not connect to GitCode. Check your internet connection.');
83
+ }
84
+ }
85
+ }
86
+ IssueComment.description = 'Add a comment to an issue';
87
+ IssueComment.examples = [
88
+ '<%= config.bin %> issue comment 12',
89
+ '<%= config.bin %> issue comment 12 --body "Confirmed on v2.1"',
90
+ ];
91
+ IssueComment.args = {
92
+ number: core_1.Args.string({ description: 'Issue number', required: true }),
93
+ };
94
+ IssueComment.flags = {
95
+ ...base_command_1.BaseCommand.baseFlags,
96
+ body: core_1.Flags.string({ description: 'Comment body' }),
97
+ };
98
+ exports.default = IssueComment;
99
+ //# sourceMappingURL=comment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comment.js","sourceRoot":"","sources":["../../../src/commands/issue/comment.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sCAAyC;AACzC,wDAAyC;AACzC,qDAAgD;AAChD,8CAA6C;AAC7C,2CAA6C;AAC7C,6CAAgD;AAChD,6CAA+C;AAC/C,0CAA0C;AAE1C,MAAqB,YAAa,SAAQ,0BAAW;IAcnD,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;QAEtD,MAAM,KAAK,GAAG,IAAA,gBAAQ,GAAE,CAAA;QACxB,IAAI,CAAC,KAAK;YAAE,IAAI,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAA;QAE3D,IAAI,KAAa,EAAE,IAAY,CAAA;QAC/B,IAAI,CAAC;YACH,CAAC;YAAA,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAA,mBAAW,GAAE,CAAC,CAAA;QACpC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,KAAK,CAAE,GAAa,CAAC,OAAO,CAAC,CAAA;QACpC,CAAC;QAED,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;QACrB,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;YACrF,IAAI,GAAG,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBACnC,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE;oBAClC,EAAE,CAAC,KAAK,EAAE,CAAA;oBACV,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;gBACxB,CAAC,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;QACJ,CAAC;QAED,IAAI,CAAC,IAAI;YAAE,IAAI,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAA;QAEtD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAA,sBAAa,EAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;YAE1E,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBACf,IAAA,iBAAS,EAAC,OAAO,CAAC,CAAA;YACpB,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,GAAG,CAAC,qBAAqB,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;YAC9C,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,qBAAY;gBAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YACxD,IAAI,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAA;QAC7E,CAAC;IACH,CAAC;;AAnDM,wBAAW,GAAG,2BAA2B,CAAA;AACzC,qBAAQ,GAAG;IAChB,oCAAoC;IACpC,+DAA+D;CAChE,CAAA;AACM,iBAAI,GAAG;IACZ,MAAM,EAAE,WAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;CACrE,CAAA;AACM,kBAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;IACxB,IAAI,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC;CACpD,CAAA;kBAZkB,YAAY"}
@@ -0,0 +1,13 @@
1
+ import { BaseCommand } from '../../base-command';
2
+ export default class IssueCreate extends BaseCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static flags: {
6
+ title: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
7
+ body: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
8
+ assignee: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
9
+ labels: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
10
+ json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
11
+ };
12
+ run(): Promise<void>;
13
+ }
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ const core_1 = require("@oclif/core");
37
+ const readline = __importStar(require("node:readline"));
38
+ const base_command_1 = require("../../base-command");
39
+ const index_1 = require("../../config/index");
40
+ const index_2 = require("../../git/index");
41
+ const issues_1 = require("../../api/issues");
42
+ const client_1 = require("../../api/client");
43
+ const index_3 = require("../../ui/index");
44
+ async function prompt(question) {
45
+ const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
46
+ return new Promise((resolve) => {
47
+ rl.question(question, (answer) => {
48
+ rl.close();
49
+ resolve(answer.trim());
50
+ });
51
+ });
52
+ }
53
+ class IssueCreate extends base_command_1.BaseCommand {
54
+ async run() {
55
+ const { flags } = await this.parse(IssueCreate);
56
+ const token = (0, index_1.getToken)();
57
+ if (!token)
58
+ this.error('Not logged in. Run: gc auth login');
59
+ let owner, repo;
60
+ try {
61
+ ;
62
+ ({ owner, repo } = (0, index_2.resolveRepo)());
63
+ }
64
+ catch (err) {
65
+ this.error(err.message);
66
+ }
67
+ const title = flags.title ?? (await prompt('Title: '));
68
+ if (!title)
69
+ this.error('Title cannot be empty.');
70
+ const body = flags.body ?? (await prompt('Body (press Enter to skip): '));
71
+ try {
72
+ const issue = await (0, issues_1.createIssue)(token, owner, repo, {
73
+ title,
74
+ body: body || '',
75
+ assignee: flags.assignee,
76
+ labels: flags.labels,
77
+ });
78
+ if (flags.json) {
79
+ (0, index_3.printJson)(issue);
80
+ }
81
+ else {
82
+ this.log(`Created issue #${issue.number}: ${issue.title}`);
83
+ this.log(issue.html_url);
84
+ }
85
+ }
86
+ catch (err) {
87
+ if (err instanceof client_1.GitCodeError)
88
+ this.error(err.message);
89
+ this.error('Could not connect to GitCode. Check your internet connection.');
90
+ }
91
+ }
92
+ }
93
+ IssueCreate.description = 'Create a new issue';
94
+ IssueCreate.examples = [
95
+ '<%= config.bin %> issue create',
96
+ '<%= config.bin %> issue create --title "Bug" --body "Steps to reproduce..."',
97
+ ];
98
+ IssueCreate.flags = {
99
+ ...base_command_1.BaseCommand.baseFlags,
100
+ title: core_1.Flags.string({ description: 'Issue title' }),
101
+ body: core_1.Flags.string({ description: 'Issue body' }),
102
+ assignee: core_1.Flags.string({ description: 'Username to assign' }),
103
+ labels: core_1.Flags.string({ description: 'Comma-separated label names' }),
104
+ };
105
+ exports.default = IssueCreate;
106
+ //# sourceMappingURL=create.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/issue/create.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { BaseCommand } from '../../base-command';
2
+ export default class IssueList extends BaseCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static flags: {
6
+ state: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
7
+ assignee: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
8
+ search: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
9
+ limit: import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces").CustomOptions>;
10
+ json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
11
+ };
12
+ run(): Promise<void>;
13
+ }
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const core_1 = require("@oclif/core");
4
+ const base_command_1 = require("../../base-command");
5
+ const index_1 = require("../../config/index");
6
+ const index_2 = require("../../git/index");
7
+ const issues_1 = require("../../api/issues");
8
+ const client_1 = require("../../api/client");
9
+ const index_3 = require("../../ui/index");
10
+ class IssueList extends base_command_1.BaseCommand {
11
+ async run() {
12
+ const { flags } = await this.parse(IssueList);
13
+ const token = (0, index_1.getToken)();
14
+ if (!token)
15
+ this.error('Not logged in. Run: gc auth login');
16
+ let owner, repo;
17
+ try {
18
+ ;
19
+ ({ owner, repo } = (0, index_2.resolveRepo)());
20
+ }
21
+ catch (err) {
22
+ this.error(err.message);
23
+ }
24
+ try {
25
+ const issues = await (0, issues_1.listIssues)(token, owner, repo, {
26
+ state: flags.state,
27
+ assignee: flags.assignee,
28
+ search: flags.search,
29
+ per_page: flags.limit,
30
+ });
31
+ if (flags.json) {
32
+ (0, index_3.printJson)(issues);
33
+ return;
34
+ }
35
+ (0, index_3.printTable)(issues.map((i) => ({
36
+ number: `#${i.number}`,
37
+ title: i.title,
38
+ state: i.state,
39
+ assignee: i.assignee?.login ?? '-',
40
+ created: (0, index_3.formatDate)(i.created_at),
41
+ })), ['number', 'title', 'state', 'assignee', 'created']);
42
+ }
43
+ catch (err) {
44
+ if (err instanceof client_1.GitCodeError)
45
+ this.error(err.message);
46
+ this.error('Could not connect to GitCode. Check your internet connection.');
47
+ }
48
+ }
49
+ }
50
+ IssueList.description = 'List issues for the current repository';
51
+ IssueList.examples = [
52
+ '<%= config.bin %> issue list',
53
+ '<%= config.bin %> issue list --state closed',
54
+ '<%= config.bin %> issue list --assignee alice --search "login bug"',
55
+ ];
56
+ IssueList.flags = {
57
+ ...base_command_1.BaseCommand.baseFlags,
58
+ state: core_1.Flags.string({
59
+ description: 'Filter by state: open, closed, all',
60
+ default: 'open',
61
+ options: ['open', 'closed', 'all'],
62
+ }),
63
+ assignee: core_1.Flags.string({ description: 'Filter by assignee username' }),
64
+ search: core_1.Flags.string({ description: 'Search issue title and body' }),
65
+ limit: core_1.Flags.integer({ description: 'Max number of issues to show', default: 30 }),
66
+ };
67
+ exports.default = IssueList;
68
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/issue/list.ts"],"names":[],"mappings":";;AAAA,sCAAmC;AACnC,qDAAgD;AAChD,8CAA6C;AAC7C,2CAA6C;AAC7C,6CAA6C;AAC7C,6CAA+C;AAC/C,0CAAkE;AAElE,MAAqB,SAAU,SAAQ,0BAAW;IAmBhD,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;QAE7C,MAAM,KAAK,GAAG,IAAA,gBAAQ,GAAE,CAAA;QACxB,IAAI,CAAC,KAAK;YAAE,IAAI,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAA;QAE3D,IAAI,KAAa,EAAE,IAAY,CAAA;QAC/B,IAAI,CAAC;YACH,CAAC;YAAA,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAA,mBAAW,GAAE,CAAC,CAAA;QACpC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,KAAK,CAAE,GAAa,CAAC,OAAO,CAAC,CAAA;QACpC,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAU,EAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE;gBAClD,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,QAAQ,EAAE,KAAK,CAAC,KAAK;aACtB,CAAC,CAAA;YAEF,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBACf,IAAA,iBAAS,EAAC,MAAM,CAAC,CAAA;gBACjB,OAAM;YACR,CAAC;YAED,IAAA,kBAAU,EACR,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACjB,MAAM,EAAE,IAAI,CAAC,CAAC,MAAM,EAAE;gBACtB,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,KAAK,IAAI,GAAG;gBAClC,OAAO,EAAE,IAAA,kBAAU,EAAC,CAAC,CAAC,UAAU,CAAC;aAClC,CAAC,CAAC,EACH,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,CAAC,CACpD,CAAA;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,qBAAY;gBAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YACxD,IAAI,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAA;QAC7E,CAAC;IACH,CAAC;;AA1DM,qBAAW,GAAG,wCAAwC,CAAA;AACtD,kBAAQ,GAAG;IAChB,8BAA8B;IAC9B,6CAA6C;IAC7C,oEAAoE;CACrE,CAAA;AACM,eAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;IACxB,KAAK,EAAE,YAAK,CAAC,MAAM,CAAC;QAClB,WAAW,EAAE,oCAAoC;QACjD,OAAO,EAAE,MAAM;QACf,OAAO,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC;KACnC,CAAC;IACF,QAAQ,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,6BAA6B,EAAE,CAAC;IACtE,MAAM,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,6BAA6B,EAAE,CAAC;IACpE,KAAK,EAAE,YAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,8BAA8B,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;CACnF,CAAA;kBAjBkB,SAAS"}
@@ -0,0 +1,12 @@
1
+ import { BaseCommand } from '../../base-command';
2
+ export default class IssueView extends BaseCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static args: {
6
+ number: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
7
+ };
8
+ static flags: {
9
+ json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
10
+ };
11
+ run(): Promise<void>;
12
+ }
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const core_1 = require("@oclif/core");
4
+ const base_command_1 = require("../../base-command");
5
+ const index_1 = require("../../config/index");
6
+ const index_2 = require("../../git/index");
7
+ const issues_1 = require("../../api/issues");
8
+ const client_1 = require("../../api/client");
9
+ const index_3 = require("../../ui/index");
10
+ class IssueView extends base_command_1.BaseCommand {
11
+ async run() {
12
+ const { args, flags } = await this.parse(IssueView);
13
+ const token = (0, index_1.getToken)();
14
+ if (!token)
15
+ this.error('Not logged in. Run: gc auth login');
16
+ let owner, repo;
17
+ try {
18
+ ;
19
+ ({ owner, repo } = (0, index_2.resolveRepo)());
20
+ }
21
+ catch (err) {
22
+ this.error(err.message);
23
+ }
24
+ try {
25
+ const [issue, comments] = await Promise.all([
26
+ (0, issues_1.getIssue)(token, owner, repo, args.number),
27
+ (0, issues_1.listComments)(token, owner, repo, args.number, { per_page: 10 }),
28
+ ]);
29
+ if (flags.json) {
30
+ (0, index_3.printJson)({ ...issue, recent_comments: comments });
31
+ return;
32
+ }
33
+ this.log(`#${issue.number} ${issue.title}`);
34
+ this.log(`State: ${issue.state}`);
35
+ this.log(`Author: ${issue.user.login}`);
36
+ this.log(`Assignee: ${issue.assignee?.login ?? '-'}`);
37
+ this.log(`Created: ${(0, index_3.formatDate)(issue.created_at)}`);
38
+ this.log(`Labels: ${issue.labels.map((l) => l.name).join(', ') || '-'}`);
39
+ this.log(`URL: ${issue.html_url}`);
40
+ this.log('');
41
+ this.log(issue.body || '(no description)');
42
+ if (comments.length > 0) {
43
+ this.log(`\n── ${comments.length} comment(s) ──`);
44
+ for (const c of comments) {
45
+ this.log(`\n${c.user.login} (${(0, index_3.formatDate)(c.created_at)}):`);
46
+ this.log(c.body);
47
+ }
48
+ }
49
+ }
50
+ catch (err) {
51
+ if (err instanceof client_1.GitCodeError)
52
+ this.error(err.message);
53
+ this.error('Could not connect to GitCode. Check your internet connection.');
54
+ }
55
+ }
56
+ }
57
+ IssueView.description = 'Show details of a single issue';
58
+ IssueView.examples = ['<%= config.bin %> issue view 12'];
59
+ IssueView.args = {
60
+ number: core_1.Args.string({ description: 'Issue number', required: true }),
61
+ };
62
+ IssueView.flags = { ...base_command_1.BaseCommand.baseFlags };
63
+ exports.default = IssueView;
64
+ //# sourceMappingURL=view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view.js","sourceRoot":"","sources":["../../../src/commands/issue/view.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { BaseCommand } from '../../base-command';
2
+ export default class PRCreate extends BaseCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static flags: {
6
+ title: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
7
+ body: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
8
+ base: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
9
+ head: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
10
+ draft: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
11
+ json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
12
+ };
13
+ run(): Promise<void>;
14
+ }