@oh-gc/cli 0.6.0 → 0.7.1

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 (72) hide show
  1. package/README.md +147 -183
  2. package/dist/api/client.js +4 -2
  3. package/dist/api/client.js.map +1 -1
  4. package/dist/api/issues.d.ts +2 -1
  5. package/dist/api/issues.js +17 -7
  6. package/dist/api/issues.js.map +1 -1
  7. package/dist/api/prs.js +2 -2
  8. package/dist/api/prs.js.map +1 -1
  9. package/dist/api/repos.d.ts +150 -0
  10. package/dist/api/repos.js +116 -0
  11. package/dist/api/repos.js.map +1 -1
  12. package/dist/commands/issue/close.js +1 -1
  13. package/dist/commands/issue/history.js +1 -1
  14. package/dist/commands/issue/labels.js +1 -1
  15. package/dist/commands/issue/reactions.js +1 -1
  16. package/dist/commands/issue/reopen.js +1 -1
  17. package/dist/commands/issue/update.js +5 -3
  18. package/dist/commands/issue/update.js.map +1 -1
  19. package/dist/commands/pr/close.js +1 -1
  20. package/dist/commands/pr/comment.js +1 -1
  21. package/dist/commands/pr/comments.d.ts +2 -0
  22. package/dist/commands/pr/comments.js +6 -1
  23. package/dist/commands/pr/comments.js.map +1 -1
  24. package/dist/commands/pr/reactions.js +1 -1
  25. package/dist/commands/pr/reopen.js +1 -1
  26. package/dist/commands/repo/archive.d.ts +12 -0
  27. package/dist/commands/repo/archive.js +46 -0
  28. package/dist/commands/repo/archive.js.map +1 -0
  29. package/dist/commands/repo/contributors.d.ts +15 -0
  30. package/dist/commands/repo/contributors.js +91 -0
  31. package/dist/commands/repo/contributors.js.map +1 -0
  32. package/dist/commands/repo/create.d.ts +24 -0
  33. package/dist/commands/repo/create.js +74 -0
  34. package/dist/commands/repo/create.js.map +1 -0
  35. package/dist/commands/repo/delete.d.ts +11 -0
  36. package/dist/commands/repo/delete.js +46 -0
  37. package/dist/commands/repo/delete.js.map +1 -0
  38. package/dist/commands/repo/events.d.ts +16 -0
  39. package/dist/commands/repo/events.js +72 -0
  40. package/dist/commands/repo/events.js.map +1 -0
  41. package/dist/commands/repo/fork.d.ts +13 -0
  42. package/dist/commands/repo/fork.js +56 -0
  43. package/dist/commands/repo/fork.js.map +1 -0
  44. package/dist/commands/repo/forks.d.ts +13 -0
  45. package/dist/commands/repo/forks.js +66 -0
  46. package/dist/commands/repo/forks.js.map +1 -0
  47. package/dist/commands/repo/languages.d.ts +10 -0
  48. package/dist/commands/repo/languages.js +56 -0
  49. package/dist/commands/repo/languages.js.map +1 -0
  50. package/dist/commands/repo/list.d.ts +18 -0
  51. package/dist/commands/repo/list.js +89 -0
  52. package/dist/commands/repo/list.js.map +1 -0
  53. package/dist/commands/repo/module.d.ts +17 -0
  54. package/dist/commands/repo/module.js +69 -0
  55. package/dist/commands/repo/module.js.map +1 -0
  56. package/dist/commands/repo/roles.d.ts +10 -0
  57. package/dist/commands/repo/roles.js +53 -0
  58. package/dist/commands/repo/roles.js.map +1 -0
  59. package/dist/commands/repo/settings.d.ts +17 -0
  60. package/dist/commands/repo/settings.js +82 -0
  61. package/dist/commands/repo/settings.js.map +1 -0
  62. package/dist/commands/repo/stats.d.ts +16 -0
  63. package/dist/commands/repo/stats.js +92 -0
  64. package/dist/commands/repo/stats.js.map +1 -0
  65. package/dist/commands/repo/transition.d.ts +11 -0
  66. package/dist/commands/repo/transition.js +67 -0
  67. package/dist/commands/repo/transition.js.map +1 -0
  68. package/dist/commands/user/emails.js +1 -1
  69. package/dist/commands/user/followers.js +1 -1
  70. package/dist/commands/user/following.js +1 -1
  71. package/dist/commands/user/view.js +1 -1
  72. package/package.json +3 -2
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const core_1 = require("@oclif/core");
4
+ const repo_command_1 = require("../../repo-command");
5
+ const index_1 = require("../../config/index");
6
+ const repos_1 = require("../../api/repos");
7
+ const client_1 = require("../../api/client");
8
+ const index_2 = require("../../ui/index");
9
+ class RepoContributors extends repo_command_1.RepoCommand {
10
+ async run() {
11
+ const { flags } = await this.parse(RepoContributors);
12
+ const token = (0, index_1.getToken)();
13
+ if (!token)
14
+ this.error('Not logged in. Run: gc auth login');
15
+ let owner, repo;
16
+ try {
17
+ ;
18
+ ({ owner, repo } = this.resolveRepoFromFlags(flags));
19
+ }
20
+ catch (err) {
21
+ this.error(err.message);
22
+ }
23
+ try {
24
+ if (flags.stats) {
25
+ const stats = await (0, repos_1.getContributorStatistics)(token, owner, repo, {
26
+ author: flags.author,
27
+ per_page: flags.limit,
28
+ page: flags.page,
29
+ });
30
+ if (flags.json) {
31
+ (0, index_2.printJson)(stats);
32
+ return;
33
+ }
34
+ if (stats.length === 0) {
35
+ this.log('No contributor statistics found.');
36
+ return;
37
+ }
38
+ (0, index_2.printTable)(stats.map((s) => ({
39
+ name: s.name,
40
+ additions: s.additions,
41
+ deletions: s.deletions,
42
+ commits: s.commit_count,
43
+ })), ['name', 'additions', 'deletions', 'commits']);
44
+ }
45
+ else {
46
+ const contributors = await (0, repos_1.getRepoContributors)(token, owner, repo, {
47
+ type: flags.type,
48
+ per_page: flags.limit,
49
+ page: flags.page,
50
+ });
51
+ if (flags.json) {
52
+ (0, index_2.printJson)(contributors);
53
+ return;
54
+ }
55
+ if (contributors.length === 0) {
56
+ this.log('No contributors found.');
57
+ return;
58
+ }
59
+ (0, index_2.printTable)(contributors.map((c) => ({
60
+ login: c.login,
61
+ name: c.name ?? '-',
62
+ contributions: c.contributions,
63
+ })), ['login', 'name', 'contributions']);
64
+ }
65
+ }
66
+ catch (err) {
67
+ if (err instanceof client_1.GitCodeError)
68
+ this.error(err.message);
69
+ this.error('Could not connect to GitCode. Check your internet connection.');
70
+ }
71
+ }
72
+ }
73
+ RepoContributors.description = 'List contributors for a repository';
74
+ RepoContributors.examples = [
75
+ '<%= config.bin %> repo contributors',
76
+ '<%= config.bin %> repo contributors --stats',
77
+ '<%= config.bin %> repo contributors --stats --author alice',
78
+ ];
79
+ RepoContributors.flags = {
80
+ ...repo_command_1.RepoCommand.repoFlags,
81
+ type: core_1.Flags.string({
82
+ description: 'Contributor type: committers or authors',
83
+ options: ['committers', 'authors'],
84
+ }),
85
+ stats: core_1.Flags.boolean({ description: 'Show detailed contribution statistics' }),
86
+ author: core_1.Flags.string({ description: 'Filter by author (used with --stats)' }),
87
+ limit: core_1.Flags.integer({ description: 'Max number of contributors to show', default: 30 }),
88
+ page: core_1.Flags.integer({ description: 'Page number', default: 1 }),
89
+ };
90
+ exports.default = RepoContributors;
91
+ //# sourceMappingURL=contributors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contributors.js","sourceRoot":"","sources":["../../../src/commands/repo/contributors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { BaseCommand } from '../../base-command';
2
+ export default class RepoCreate extends BaseCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static args: {
6
+ name: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
7
+ };
8
+ static flags: {
9
+ org: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
10
+ desc: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
11
+ homepage: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
12
+ private: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
13
+ public: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
14
+ init: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
15
+ gitignore: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
16
+ license: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
17
+ 'default-branch': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
18
+ 'import-url': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
19
+ template: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
20
+ 'repo-type': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
21
+ json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
22
+ };
23
+ run(): Promise<void>;
24
+ }
@@ -0,0 +1,74 @@
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 repos_1 = require("../../api/repos");
7
+ const client_1 = require("../../api/client");
8
+ const index_2 = require("../../ui/index");
9
+ class RepoCreate extends base_command_1.BaseCommand {
10
+ async run() {
11
+ const { args, flags } = await this.parse(RepoCreate);
12
+ const token = (0, index_1.getToken)();
13
+ if (!token)
14
+ this.error('Not logged in. Run: gc auth login');
15
+ const params = {
16
+ name: args.name,
17
+ description: flags.desc,
18
+ homepage: flags.homepage,
19
+ private: flags.private ? true : flags.public ? false : undefined,
20
+ auto_init: flags.init,
21
+ gitignore_template: flags.gitignore,
22
+ license_template: flags.license,
23
+ default_branch: flags['default-branch'],
24
+ import_url: flags['import-url'],
25
+ project_template: flags.template,
26
+ repository_type: flags['repo-type'],
27
+ };
28
+ try {
29
+ const repo = flags.org
30
+ ? await (0, repos_1.createOrgRepo)(token, flags.org, params)
31
+ : await (0, repos_1.createUserRepo)(token, params);
32
+ if (flags.json) {
33
+ (0, index_2.printJson)(repo);
34
+ return;
35
+ }
36
+ this.log(`Created ${repo.full_name}`);
37
+ this.log(`URL: ${repo.html_url}`);
38
+ }
39
+ catch (err) {
40
+ if (err instanceof client_1.GitCodeError)
41
+ this.error(err.message);
42
+ this.error('Could not connect to GitCode. Check your internet connection.');
43
+ }
44
+ }
45
+ }
46
+ RepoCreate.description = 'Create a new repository';
47
+ RepoCreate.examples = [
48
+ '<%= config.bin %> repo create myrepo',
49
+ '<%= config.bin %> repo create myrepo --private --init',
50
+ '<%= config.bin %> repo create myrepo --org myorg --desc "My project"',
51
+ ];
52
+ RepoCreate.args = {
53
+ name: core_1.Args.string({ description: 'Repository name', required: true }),
54
+ };
55
+ RepoCreate.flags = {
56
+ ...base_command_1.BaseCommand.baseFlags,
57
+ org: core_1.Flags.string({ description: 'Create repository under this organization' }),
58
+ desc: core_1.Flags.string({ description: 'Repository description' }),
59
+ homepage: core_1.Flags.string({ description: 'Repository homepage URL' }),
60
+ private: core_1.Flags.boolean({ description: 'Make repository private' }),
61
+ public: core_1.Flags.boolean({ description: 'Make repository public' }),
62
+ init: core_1.Flags.boolean({ description: 'Initialize with README' }),
63
+ gitignore: core_1.Flags.string({ description: 'Gitignore template name' }),
64
+ license: core_1.Flags.string({ description: 'License template name' }),
65
+ 'default-branch': core_1.Flags.string({ description: 'Default branch name' }),
66
+ 'import-url': core_1.Flags.string({ description: 'URL to import repository from' }),
67
+ template: core_1.Flags.string({ description: 'Project template name' }),
68
+ 'repo-type': core_1.Flags.string({
69
+ description: 'Repository type',
70
+ options: ['code', 'model', 'dataset', 'space'],
71
+ }),
72
+ };
73
+ exports.default = RepoCreate;
74
+ //# sourceMappingURL=create.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/repo/create.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { RepoCommand } from '../../repo-command';
2
+ export default class RepoDelete extends RepoCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static flags: {
6
+ yes: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
7
+ repo: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
8
+ json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
9
+ };
10
+ run(): Promise<void>;
11
+ }
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const core_1 = require("@oclif/core");
4
+ const repo_command_1 = require("../../repo-command");
5
+ const index_1 = require("../../config/index");
6
+ const repos_1 = require("../../api/repos");
7
+ const client_1 = require("../../api/client");
8
+ class RepoDelete extends repo_command_1.RepoCommand {
9
+ async run() {
10
+ const { flags } = await this.parse(RepoDelete);
11
+ const token = (0, index_1.getToken)();
12
+ if (!token)
13
+ this.error('Not logged in. Run: gc auth login');
14
+ let owner, repo;
15
+ try {
16
+ ;
17
+ ({ owner, repo } = this.resolveRepoFromFlags(flags));
18
+ }
19
+ catch (err) {
20
+ this.error(err.message);
21
+ }
22
+ if (!flags.yes) {
23
+ this.error(`This will permanently delete ${owner}/${repo}. Re-run with --yes to confirm.`);
24
+ }
25
+ try {
26
+ await (0, repos_1.deleteRepo)(token, owner, repo);
27
+ this.log(`Deleted ${owner}/${repo}`);
28
+ }
29
+ catch (err) {
30
+ if (err instanceof client_1.GitCodeError)
31
+ this.error(err.message);
32
+ this.error('Could not connect to GitCode. Check your internet connection.');
33
+ }
34
+ }
35
+ }
36
+ RepoDelete.description = 'Delete a repository';
37
+ RepoDelete.examples = [
38
+ '<%= config.bin %> repo delete --repo alice/myrepo --yes',
39
+ '<%= config.bin %> repo delete',
40
+ ];
41
+ RepoDelete.flags = {
42
+ ...repo_command_1.RepoCommand.repoFlags,
43
+ yes: core_1.Flags.boolean({ description: 'Skip confirmation prompt', char: 'y' }),
44
+ };
45
+ exports.default = RepoDelete;
46
+ //# sourceMappingURL=delete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/commands/repo/delete.ts"],"names":[],"mappings":";;AAAA,sCAAmC;AACnC,qDAAgD;AAChD,8CAA6C;AAC7C,2CAA4C;AAC5C,6CAA+C;AAE/C,MAAqB,UAAW,SAAQ,0BAAW;IAYjD,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;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,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAA;QACvD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,KAAK,CAAE,GAAa,CAAC,OAAO,CAAC,CAAA;QACpC,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,CAAC,gCAAgC,KAAK,IAAI,IAAI,iCAAiC,CAAC,CAAA;QAC5F,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAA,kBAAU,EAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;YACpC,IAAI,CAAC,GAAG,CAAC,WAAW,KAAK,IAAI,IAAI,EAAE,CAAC,CAAA;QACtC,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;;AAnCM,sBAAW,GAAG,qBAAqB,CAAA;AACnC,mBAAQ,GAAG;IAChB,yDAAyD;IACzD,+BAA+B;CAChC,CAAA;AAEM,gBAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;IACxB,GAAG,EAAE,YAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,0BAA0B,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;CAC3E,CAAA;kBAVkB,UAAU"}
@@ -0,0 +1,16 @@
1
+ import { RepoCommand } from '../../repo-command';
2
+ export default class RepoEvents extends RepoCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static flags: {
6
+ filter: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
7
+ author: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
8
+ before: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
9
+ after: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
10
+ limit: import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces").CustomOptions>;
11
+ page: import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces").CustomOptions>;
12
+ repo: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
13
+ json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
14
+ };
15
+ run(): Promise<void>;
16
+ }
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const core_1 = require("@oclif/core");
4
+ const repo_command_1 = require("../../repo-command");
5
+ const index_1 = require("../../config/index");
6
+ const repos_1 = require("../../api/repos");
7
+ const client_1 = require("../../api/client");
8
+ const index_2 = require("../../ui/index");
9
+ class RepoEvents extends repo_command_1.RepoCommand {
10
+ async run() {
11
+ const { flags } = await this.parse(RepoEvents);
12
+ const token = (0, index_1.getToken)();
13
+ if (!token)
14
+ this.error('Not logged in. Run: gc auth login');
15
+ let owner, repo;
16
+ try {
17
+ ;
18
+ ({ owner, repo } = this.resolveRepoFromFlags(flags));
19
+ }
20
+ catch (err) {
21
+ this.error(err.message);
22
+ }
23
+ try {
24
+ const events = await (0, repos_1.getRepoEvents)(token, owner, repo, {
25
+ filter: flags.filter,
26
+ author: flags.author,
27
+ before: flags.before,
28
+ after: flags.after,
29
+ per_page: flags.limit,
30
+ page: flags.page,
31
+ });
32
+ if (flags.json) {
33
+ (0, index_2.printJson)(events);
34
+ return;
35
+ }
36
+ if (events.length === 0) {
37
+ this.log('No events found.');
38
+ return;
39
+ }
40
+ (0, index_2.printTable)(events.map((e) => ({
41
+ action: String(e.action ?? e.type ?? '-'),
42
+ author: String(e.actor?.login ?? '-'),
43
+ title: String(e.title ?? e.payload?.title ?? '-'),
44
+ date: (0, index_2.formatDate)(String(e.created_at ?? '')),
45
+ })), ['action', 'author', 'title', 'date']);
46
+ }
47
+ catch (err) {
48
+ if (err instanceof client_1.GitCodeError)
49
+ this.error(err.message);
50
+ this.error('Could not connect to GitCode. Check your internet connection.');
51
+ }
52
+ }
53
+ }
54
+ RepoEvents.description = 'List events for a repository';
55
+ RepoEvents.examples = [
56
+ '<%= config.bin %> repo events',
57
+ '<%= config.bin %> repo events --filter push --author alice',
58
+ ];
59
+ RepoEvents.flags = {
60
+ ...repo_command_1.RepoCommand.repoFlags,
61
+ filter: core_1.Flags.string({
62
+ description: 'Event type filter',
63
+ options: ['all', 'push', 'merged', 'issue', 'comments', 'team', 'project'],
64
+ }),
65
+ author: core_1.Flags.string({ description: 'Filter by author username' }),
66
+ before: core_1.Flags.string({ description: 'Show events before this date' }),
67
+ after: core_1.Flags.string({ description: 'Show events after this date' }),
68
+ limit: core_1.Flags.integer({ description: 'Max number of events to show', default: 30 }),
69
+ page: core_1.Flags.integer({ description: 'Page number', default: 1 }),
70
+ };
71
+ exports.default = RepoEvents;
72
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/commands/repo/events.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { RepoCommand } from '../../repo-command';
2
+ export default class RepoFork extends RepoCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static flags: {
6
+ org: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
7
+ name: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
8
+ path: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
9
+ repo: 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,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const core_1 = require("@oclif/core");
4
+ const repo_command_1 = require("../../repo-command");
5
+ const index_1 = require("../../config/index");
6
+ const repos_1 = require("../../api/repos");
7
+ const client_1 = require("../../api/client");
8
+ const index_2 = require("../../ui/index");
9
+ class RepoFork extends repo_command_1.RepoCommand {
10
+ async run() {
11
+ const { flags } = await this.parse(RepoFork);
12
+ const token = (0, index_1.getToken)();
13
+ if (!token)
14
+ this.error('Not logged in. Run: gc auth login');
15
+ let owner, repo;
16
+ try {
17
+ ;
18
+ ({ owner, repo } = this.resolveRepoFromFlags(flags));
19
+ }
20
+ catch (err) {
21
+ this.error(err.message);
22
+ }
23
+ try {
24
+ const forked = await (0, repos_1.forkRepo)(token, owner, repo, {
25
+ organization: flags.org,
26
+ name: flags.name,
27
+ path: flags.path,
28
+ });
29
+ if (flags.json) {
30
+ (0, index_2.printJson)(forked);
31
+ return;
32
+ }
33
+ this.log(`Forked to ${forked.full_name}`);
34
+ this.log(`URL: ${forked.html_url}`);
35
+ }
36
+ catch (err) {
37
+ if (err instanceof client_1.GitCodeError)
38
+ this.error(err.message);
39
+ this.error('Could not connect to GitCode. Check your internet connection.');
40
+ }
41
+ }
42
+ }
43
+ RepoFork.description = 'Fork a repository';
44
+ RepoFork.examples = [
45
+ '<%= config.bin %> repo fork',
46
+ '<%= config.bin %> repo fork --repo alice/myrepo --org myorg',
47
+ '<%= config.bin %> repo fork --name myfork',
48
+ ];
49
+ RepoFork.flags = {
50
+ ...repo_command_1.RepoCommand.repoFlags,
51
+ org: core_1.Flags.string({ description: 'Fork into this organization' }),
52
+ name: core_1.Flags.string({ description: 'Name for the forked repository' }),
53
+ path: core_1.Flags.string({ description: 'Path for the forked repository' }),
54
+ };
55
+ exports.default = RepoFork;
56
+ //# sourceMappingURL=fork.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fork.js","sourceRoot":"","sources":["../../../src/commands/repo/fork.ts"],"names":[],"mappings":";;AAAA,sCAAmC;AACnC,qDAAgD;AAChD,8CAA6C;AAC7C,2CAA0C;AAC1C,6CAA+C;AAC/C,0CAA0C;AAE1C,MAAqB,QAAS,SAAQ,0BAAW;IAe/C,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QAE5C,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,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAA;QACvD,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,gBAAQ,EAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE;gBAChD,YAAY,EAAE,KAAK,CAAC,GAAG;gBACvB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,IAAI,EAAE,KAAK,CAAC,IAAI;aACjB,CAAC,CAAA;YAEF,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBACf,IAAA,iBAAS,EAAC,MAAM,CAAC,CAAA;gBACjB,OAAM;YACR,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,aAAa,MAAM,CAAC,SAAS,EAAE,CAAC,CAAA;YACzC,IAAI,CAAC,GAAG,CAAC,QAAQ,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAA;QACrC,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;;AA7CM,oBAAW,GAAG,mBAAmB,CAAA;AACjC,iBAAQ,GAAG;IAChB,6BAA6B;IAC7B,6DAA6D;IAC7D,2CAA2C;CAC5C,CAAA;AAEM,cAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;IACxB,GAAG,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,6BAA6B,EAAE,CAAC;IACjE,IAAI,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,gCAAgC,EAAE,CAAC;IACrE,IAAI,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,gCAAgC,EAAE,CAAC;CACtE,CAAA;kBAbkB,QAAQ"}
@@ -0,0 +1,13 @@
1
+ import { RepoCommand } from '../../repo-command';
2
+ export default class RepoForks extends RepoCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static flags: {
6
+ sort: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
7
+ limit: import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces").CustomOptions>;
8
+ page: import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces").CustomOptions>;
9
+ repo: 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,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const core_1 = require("@oclif/core");
4
+ const repo_command_1 = require("../../repo-command");
5
+ const index_1 = require("../../config/index");
6
+ const repos_1 = require("../../api/repos");
7
+ const client_1 = require("../../api/client");
8
+ const index_2 = require("../../ui/index");
9
+ class RepoForks extends repo_command_1.RepoCommand {
10
+ async run() {
11
+ const { flags } = await this.parse(RepoForks);
12
+ const token = (0, index_1.getToken)();
13
+ if (!token)
14
+ this.error('Not logged in. Run: gc auth login');
15
+ let owner, repo;
16
+ try {
17
+ ;
18
+ ({ owner, repo } = this.resolveRepoFromFlags(flags));
19
+ }
20
+ catch (err) {
21
+ this.error(err.message);
22
+ }
23
+ try {
24
+ const forks = await (0, repos_1.listForks)(token, owner, repo, {
25
+ sort: flags.sort,
26
+ per_page: flags.limit,
27
+ page: flags.page,
28
+ });
29
+ if (flags.json) {
30
+ (0, index_2.printJson)(forks);
31
+ return;
32
+ }
33
+ if (forks.length === 0) {
34
+ this.log('No forks found.');
35
+ return;
36
+ }
37
+ (0, index_2.printTable)(forks.map((f) => ({
38
+ name: f.full_name,
39
+ owner: f.owner?.login ?? '-',
40
+ created: (0, index_2.formatDate)(f.created_at),
41
+ })), ['name', 'owner', '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
+ RepoForks.description = 'List forks of a repository';
51
+ RepoForks.examples = [
52
+ '<%= config.bin %> repo forks',
53
+ '<%= config.bin %> repo forks --sort newest --limit 10',
54
+ ];
55
+ RepoForks.flags = {
56
+ ...repo_command_1.RepoCommand.repoFlags,
57
+ sort: core_1.Flags.string({
58
+ description: 'Sort order',
59
+ options: ['newest', 'oldest', 'stargazers'],
60
+ default: 'newest',
61
+ }),
62
+ limit: core_1.Flags.integer({ description: 'Max number of forks to show', default: 30 }),
63
+ page: core_1.Flags.integer({ description: 'Page number', default: 1 }),
64
+ };
65
+ exports.default = RepoForks;
66
+ //# sourceMappingURL=forks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"forks.js","sourceRoot":"","sources":["../../../src/commands/repo/forks.ts"],"names":[],"mappings":";;AAAA,sCAAmC;AACnC,qDAAgD;AAChD,8CAA6C;AAC7C,2CAA2C;AAC3C,6CAA+C;AAC/C,0CAAkE;AAElE,MAAqB,SAAU,SAAQ,0BAAW;IAkBhD,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,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAA;QACvD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,KAAK,CAAE,GAAa,CAAC,OAAO,CAAC,CAAA;QACpC,CAAC;QAED,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,IAAA,iBAAS,EAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE;gBAChD,IAAI,EAAE,KAAK,CAAC,IAA0C;gBACtD,QAAQ,EAAE,KAAK,CAAC,KAAK;gBACrB,IAAI,EAAE,KAAK,CAAC,IAAI;aACjB,CAAC,CAAA;YAEF,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBACf,IAAA,iBAAS,EAAC,KAAK,CAAC,CAAA;gBAChB,OAAM;YACR,CAAC;YAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;gBAC3B,OAAM;YACR,CAAC;YAED,IAAA,kBAAU,EACR,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAChB,IAAI,EAAE,CAAC,CAAC,SAAS;gBACjB,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,IAAI,GAAG;gBAC5B,OAAO,EAAE,IAAA,kBAAU,EAAC,CAAC,CAAC,UAAU,CAAC;aAClC,CAAC,CAAC,EACH,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,CAC7B,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;;AA3DM,qBAAW,GAAG,4BAA4B,CAAA;AAC1C,kBAAQ,GAAG;IAChB,8BAA8B;IAC9B,uDAAuD;CACxD,CAAA;AAEM,eAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;IACxB,IAAI,EAAE,YAAK,CAAC,MAAM,CAAC;QACjB,WAAW,EAAE,YAAY;QACzB,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAC;QAC3C,OAAO,EAAE,QAAQ;KAClB,CAAC;IACF,KAAK,EAAE,YAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,6BAA6B,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACjF,IAAI,EAAE,YAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;CAChE,CAAA;kBAhBkB,SAAS"}
@@ -0,0 +1,10 @@
1
+ import { RepoCommand } from '../../repo-command';
2
+ export default class RepoLanguages extends RepoCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static flags: {
6
+ repo: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
7
+ json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
8
+ };
9
+ run(): Promise<void>;
10
+ }
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const repo_command_1 = require("../../repo-command");
4
+ const index_1 = require("../../config/index");
5
+ const repos_1 = require("../../api/repos");
6
+ const client_1 = require("../../api/client");
7
+ const index_2 = require("../../ui/index");
8
+ class RepoLanguages extends repo_command_1.RepoCommand {
9
+ async run() {
10
+ const { flags } = await this.parse(RepoLanguages);
11
+ const token = (0, index_1.getToken)();
12
+ if (!token)
13
+ this.error('Not logged in. Run: gc auth login');
14
+ let owner, repo;
15
+ try {
16
+ ;
17
+ ({ owner, repo } = this.resolveRepoFromFlags(flags));
18
+ }
19
+ catch (err) {
20
+ this.error(err.message);
21
+ }
22
+ try {
23
+ const languages = await (0, repos_1.getRepoLanguages)(token, owner, repo);
24
+ if (flags.json) {
25
+ (0, index_2.printJson)(languages);
26
+ return;
27
+ }
28
+ const entries = Object.entries(languages);
29
+ if (entries.length === 0) {
30
+ this.log('No language data available.');
31
+ return;
32
+ }
33
+ const total = entries.reduce((sum, [, bytes]) => sum + bytes, 0);
34
+ (0, index_2.printTable)(entries
35
+ .sort(([, a], [, b]) => b - a)
36
+ .map(([lang, bytes]) => ({
37
+ language: lang,
38
+ bytes: bytes.toLocaleString(),
39
+ percentage: `${((bytes / total) * 100).toFixed(1)}%`,
40
+ })), ['language', 'bytes', 'percentage']);
41
+ }
42
+ catch (err) {
43
+ if (err instanceof client_1.GitCodeError)
44
+ this.error(err.message);
45
+ this.error('Could not connect to GitCode. Check your internet connection.');
46
+ }
47
+ }
48
+ }
49
+ RepoLanguages.description = 'Show programming languages used in a repository';
50
+ RepoLanguages.examples = [
51
+ '<%= config.bin %> repo languages',
52
+ '<%= config.bin %> repo languages --repo alice/myrepo',
53
+ ];
54
+ RepoLanguages.flags = { ...repo_command_1.RepoCommand.repoFlags };
55
+ exports.default = RepoLanguages;
56
+ //# sourceMappingURL=languages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"languages.js","sourceRoot":"","sources":["../../../src/commands/repo/languages.ts"],"names":[],"mappings":";;AAAA,qDAAgD;AAChD,8CAA6C;AAC7C,2CAAkD;AAClD,6CAA+C;AAC/C,0CAAsD;AAEtD,MAAqB,aAAc,SAAQ,0BAAW;IASpD,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;QAEjD,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,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAA;QACvD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,KAAK,CAAE,GAAa,CAAC,OAAO,CAAC,CAAA;QACpC,CAAC;QAED,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,IAAA,wBAAgB,EAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;YAE5D,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBACf,IAAA,iBAAS,EAAC,SAAS,CAAC,CAAA;gBACpB,OAAM;YACR,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;YACzC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,IAAI,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAA;gBACvC,OAAM;YACR,CAAC;YAED,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,CAAA;YAChE,IAAA,kBAAU,EACR,OAAO;iBACJ,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;iBAC7B,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;gBACvB,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,KAAK,CAAC,cAAc,EAAE;gBAC7B,UAAU,EAAE,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG;aACrD,CAAC,CAAC,EACL,CAAC,UAAU,EAAE,OAAO,EAAE,YAAY,CAAC,CACpC,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;;AAlDM,yBAAW,GAAG,iDAAiD,CAAA;AAC/D,sBAAQ,GAAG;IAChB,kCAAkC;IAClC,sDAAsD;CACvD,CAAA;AAEM,mBAAK,GAAG,EAAE,GAAG,0BAAW,CAAC,SAAS,EAAE,CAAA;kBAPxB,aAAa"}
@@ -0,0 +1,18 @@
1
+ import { BaseCommand } from '../../base-command';
2
+ export default class RepoList extends BaseCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static flags: {
6
+ org: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
7
+ user: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
8
+ visibility: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
9
+ type: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
10
+ sort: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
11
+ direction: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
12
+ limit: import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces").CustomOptions>;
13
+ page: import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces").CustomOptions>;
14
+ 'repo-type': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
15
+ json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
16
+ };
17
+ run(): Promise<void>;
18
+ }