@oh-gc/cli 0.6.1 → 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 (61) hide show
  1. package/README.md +103 -89
  2. package/dist/api/repos.d.ts +150 -0
  3. package/dist/api/repos.js +116 -0
  4. package/dist/api/repos.js.map +1 -1
  5. package/dist/commands/issue/close.js +1 -1
  6. package/dist/commands/issue/history.js +1 -1
  7. package/dist/commands/issue/labels.js +1 -1
  8. package/dist/commands/issue/reactions.js +1 -1
  9. package/dist/commands/issue/reopen.js +1 -1
  10. package/dist/commands/issue/update.js +1 -1
  11. package/dist/commands/pr/close.js +1 -1
  12. package/dist/commands/pr/comment.js +1 -1
  13. package/dist/commands/pr/reactions.js +1 -1
  14. package/dist/commands/pr/reopen.js +1 -1
  15. package/dist/commands/repo/archive.d.ts +12 -0
  16. package/dist/commands/repo/archive.js +46 -0
  17. package/dist/commands/repo/archive.js.map +1 -0
  18. package/dist/commands/repo/contributors.d.ts +15 -0
  19. package/dist/commands/repo/contributors.js +91 -0
  20. package/dist/commands/repo/contributors.js.map +1 -0
  21. package/dist/commands/repo/create.d.ts +24 -0
  22. package/dist/commands/repo/create.js +74 -0
  23. package/dist/commands/repo/create.js.map +1 -0
  24. package/dist/commands/repo/delete.d.ts +11 -0
  25. package/dist/commands/repo/delete.js +46 -0
  26. package/dist/commands/repo/delete.js.map +1 -0
  27. package/dist/commands/repo/events.d.ts +16 -0
  28. package/dist/commands/repo/events.js +72 -0
  29. package/dist/commands/repo/events.js.map +1 -0
  30. package/dist/commands/repo/fork.d.ts +13 -0
  31. package/dist/commands/repo/fork.js +56 -0
  32. package/dist/commands/repo/fork.js.map +1 -0
  33. package/dist/commands/repo/forks.d.ts +13 -0
  34. package/dist/commands/repo/forks.js +66 -0
  35. package/dist/commands/repo/forks.js.map +1 -0
  36. package/dist/commands/repo/languages.d.ts +10 -0
  37. package/dist/commands/repo/languages.js +56 -0
  38. package/dist/commands/repo/languages.js.map +1 -0
  39. package/dist/commands/repo/list.d.ts +18 -0
  40. package/dist/commands/repo/list.js +89 -0
  41. package/dist/commands/repo/list.js.map +1 -0
  42. package/dist/commands/repo/module.d.ts +17 -0
  43. package/dist/commands/repo/module.js +69 -0
  44. package/dist/commands/repo/module.js.map +1 -0
  45. package/dist/commands/repo/roles.d.ts +10 -0
  46. package/dist/commands/repo/roles.js +53 -0
  47. package/dist/commands/repo/roles.js.map +1 -0
  48. package/dist/commands/repo/settings.d.ts +17 -0
  49. package/dist/commands/repo/settings.js +82 -0
  50. package/dist/commands/repo/settings.js.map +1 -0
  51. package/dist/commands/repo/stats.d.ts +16 -0
  52. package/dist/commands/repo/stats.js +92 -0
  53. package/dist/commands/repo/stats.js.map +1 -0
  54. package/dist/commands/repo/transition.d.ts +11 -0
  55. package/dist/commands/repo/transition.js +67 -0
  56. package/dist/commands/repo/transition.js.map +1 -0
  57. package/dist/commands/user/emails.js +1 -1
  58. package/dist/commands/user/followers.js +1 -1
  59. package/dist/commands/user/following.js +1 -1
  60. package/dist/commands/user/view.js +1 -1
  61. package/package.json +3 -2
@@ -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
+ }
@@ -0,0 +1,89 @@
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 RepoList extends base_command_1.BaseCommand {
10
+ async run() {
11
+ const { flags } = await this.parse(RepoList);
12
+ const token = (0, index_1.getToken)();
13
+ if (!token)
14
+ this.error('Not logged in. Run: gc auth login');
15
+ try {
16
+ const params = {
17
+ visibility: flags.visibility,
18
+ type: flags.type,
19
+ sort: flags.sort,
20
+ direction: flags.direction,
21
+ per_page: flags.limit,
22
+ page: flags.page,
23
+ repo_type: flags['repo-type'],
24
+ };
25
+ let repos;
26
+ if (flags.org) {
27
+ repos = await (0, repos_1.listOrgRepos)(token, flags.org, params);
28
+ }
29
+ else if (flags.user) {
30
+ repos = await (0, repos_1.listUserPublicRepos)(token, flags.user, params);
31
+ }
32
+ else {
33
+ repos = await (0, repos_1.listUserRepos)(token, params);
34
+ }
35
+ if (flags.json) {
36
+ (0, index_2.printJson)(repos);
37
+ return;
38
+ }
39
+ if (repos.length === 0) {
40
+ this.log('No repositories found.');
41
+ return;
42
+ }
43
+ (0, index_2.printTable)(repos.map((r) => ({
44
+ name: r.full_name,
45
+ visibility: r.private ? 'private' : 'public',
46
+ default_branch: r.default_branch,
47
+ updated: (0, index_2.formatDate)(r.updated_at),
48
+ })), ['name', 'visibility', 'default_branch', 'updated']);
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
+ RepoList.description = 'List repositories';
58
+ RepoList.examples = [
59
+ '<%= config.bin %> repo list',
60
+ '<%= config.bin %> repo list --org myorg',
61
+ '<%= config.bin %> repo list --user alice',
62
+ '<%= config.bin %> repo list --visibility private --sort updated',
63
+ ];
64
+ RepoList.flags = {
65
+ ...base_command_1.BaseCommand.baseFlags,
66
+ org: core_1.Flags.string({ description: 'List repositories for an organization' }),
67
+ user: core_1.Flags.string({ description: "List a user's public repositories" }),
68
+ visibility: core_1.Flags.string({
69
+ description: 'Filter by visibility',
70
+ options: ['public', 'private', 'all'],
71
+ }),
72
+ type: core_1.Flags.string({ description: 'Filter by repository type' }),
73
+ sort: core_1.Flags.string({
74
+ description: 'Sort repositories by field',
75
+ options: ['created', 'updated', 'pushed', 'full_name'],
76
+ }),
77
+ direction: core_1.Flags.string({
78
+ description: 'Sort direction',
79
+ options: ['asc', 'desc'],
80
+ }),
81
+ limit: core_1.Flags.integer({ description: 'Max number of repositories to show', default: 30 }),
82
+ page: core_1.Flags.integer({ description: 'Page number', default: 1 }),
83
+ 'repo-type': core_1.Flags.string({
84
+ description: 'Filter by repository type',
85
+ options: ['code', 'model', 'dataset', 'space', 'all'],
86
+ }),
87
+ };
88
+ exports.default = RepoList;
89
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/repo/list.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { RepoCommand } from '../../repo-command';
2
+ export default class RepoModule extends RepoCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static flags: {
6
+ wiki: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
7
+ issues: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
8
+ security: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
9
+ 'merge-request': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
10
+ fork: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
11
+ analysis: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
12
+ discussion: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
13
+ repo: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
14
+ json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
15
+ };
16
+ run(): Promise<void>;
17
+ }
@@ -0,0 +1,69 @@
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 RepoModule extends repo_command_1.RepoCommand {
9
+ async run() {
10
+ const { flags } = await this.parse(RepoModule);
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
+ const moduleFlags = ['wiki', 'issues', 'security', 'merge-request', 'fork', 'analysis', 'discussion'];
23
+ const hasAny = moduleFlags.some((f) => flags[f] !== undefined);
24
+ if (!hasAny) {
25
+ this.error('At least one module flag is required (e.g. --wiki, --no-issues).');
26
+ }
27
+ const params = {};
28
+ if (flags.wiki !== undefined)
29
+ params.has_wiki = flags.wiki;
30
+ if (flags.issues !== undefined)
31
+ params.has_issue = flags.issues;
32
+ if (flags.security !== undefined)
33
+ params.has_security = flags.security;
34
+ if (flags['merge-request'] !== undefined)
35
+ params.has_merge_request = flags['merge-request'];
36
+ if (flags.fork !== undefined)
37
+ params.has_fork = flags.fork;
38
+ if (flags.analysis !== undefined)
39
+ params.has_analysis = flags.analysis;
40
+ if (flags.discussion !== undefined)
41
+ params.has_discussion = flags.discussion;
42
+ try {
43
+ await (0, repos_1.updateModuleSetting)(token, owner, repo, params);
44
+ this.log(`Updated module settings for ${owner}/${repo}`);
45
+ }
46
+ catch (err) {
47
+ if (err instanceof client_1.GitCodeError)
48
+ this.error(err.message);
49
+ this.error('Could not connect to GitCode. Check your internet connection.');
50
+ }
51
+ }
52
+ }
53
+ RepoModule.description = 'Enable or disable repository modules (wiki, issues, etc.)';
54
+ RepoModule.examples = [
55
+ '<%= config.bin %> repo module --wiki --issues',
56
+ '<%= config.bin %> repo module --no-fork --no-discussion',
57
+ ];
58
+ RepoModule.flags = {
59
+ ...repo_command_1.RepoCommand.repoFlags,
60
+ wiki: core_1.Flags.boolean({ description: 'Enable or disable wiki', allowNo: true }),
61
+ issues: core_1.Flags.boolean({ description: 'Enable or disable issues', allowNo: true }),
62
+ security: core_1.Flags.boolean({ description: 'Enable or disable security', allowNo: true }),
63
+ 'merge-request': core_1.Flags.boolean({ description: 'Enable or disable merge requests', allowNo: true }),
64
+ fork: core_1.Flags.boolean({ description: 'Enable or disable fork', allowNo: true }),
65
+ analysis: core_1.Flags.boolean({ description: 'Enable or disable analysis', allowNo: true }),
66
+ discussion: core_1.Flags.boolean({ description: 'Enable or disable discussion', allowNo: true }),
67
+ };
68
+ exports.default = RepoModule;
69
+ //# sourceMappingURL=module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../../../src/commands/repo/module.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { RepoCommand } from '../../repo-command';
2
+ export default class RepoRoles 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,53 @@
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 RepoRoles extends repo_command_1.RepoCommand {
9
+ async run() {
10
+ const { flags } = await this.parse(RepoRoles);
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 roles = await (0, repos_1.getCustomizedRoles)(token, owner, repo);
24
+ if (flags.json) {
25
+ (0, index_2.printJson)(roles);
26
+ return;
27
+ }
28
+ if (roles.length === 0) {
29
+ this.log('No customized roles found.');
30
+ return;
31
+ }
32
+ (0, index_2.printTable)(roles.map((r) => ({
33
+ name: r.role_name,
34
+ 'access level': r.access_level,
35
+ members: r.member_count,
36
+ description: r.role_description || '-',
37
+ })), ['name', 'access level', 'members', 'description']);
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
+ RepoRoles.description = 'List customized roles for a repository';
47
+ RepoRoles.examples = [
48
+ '<%= config.bin %> repo roles',
49
+ '<%= config.bin %> repo roles --repo alice/myrepo --json',
50
+ ];
51
+ RepoRoles.flags = { ...repo_command_1.RepoCommand.repoFlags };
52
+ exports.default = RepoRoles;
53
+ //# sourceMappingURL=roles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roles.js","sourceRoot":"","sources":["../../../src/commands/repo/roles.ts"],"names":[],"mappings":";;AAAA,qDAAgD;AAChD,8CAA6C;AAC7C,2CAAoD;AACpD,6CAA+C;AAC/C,0CAAsD;AAEtD,MAAqB,SAAU,SAAQ,0BAAW;IAShD,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,0BAAkB,EAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;YAE1D,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,4BAA4B,CAAC,CAAA;gBACtC,OAAM;YACR,CAAC;YAED,IAAA,kBAAU,EACR,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAChB,IAAI,EAAE,CAAC,CAAC,SAAS;gBACjB,cAAc,EAAE,CAAC,CAAC,YAAY;gBAC9B,OAAO,EAAE,CAAC,CAAC,YAAY;gBACvB,WAAW,EAAE,CAAC,CAAC,gBAAgB,IAAI,GAAG;aACvC,CAAC,CAAC,EACH,CAAC,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,aAAa,CAAC,CACnD,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;;AA/CM,qBAAW,GAAG,wCAAwC,CAAA;AACtD,kBAAQ,GAAG;IAChB,8BAA8B;IAC9B,yDAAyD;CAC1D,CAAA;AAEM,eAAK,GAAG,EAAE,GAAG,0BAAW,CAAC,SAAS,EAAE,CAAA;kBAPxB,SAAS"}
@@ -0,0 +1,17 @@
1
+ import { RepoCommand } from '../../repo-command';
2
+ export default class RepoSettings extends RepoCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static flags: {
6
+ 'disable-fork': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
7
+ 'developer-branch': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
8
+ 'developer-tag': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
9
+ 'committer-branch': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
10
+ 'pre-merge-ref': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
11
+ 'open-gpg': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
12
+ lfs: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
13
+ repo: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
14
+ json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
15
+ };
16
+ run(): Promise<void>;
17
+ }
@@ -0,0 +1,82 @@
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 RepoSettings extends repo_command_1.RepoCommand {
10
+ async run() {
11
+ const { flags } = await this.parse(RepoSettings);
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
+ const updateFlags = ['disable-fork', 'developer-branch', 'developer-tag', 'committer-branch', 'pre-merge-ref', 'open-gpg', 'lfs'];
24
+ const hasUpdates = updateFlags.some((f) => flags[f] !== undefined);
25
+ try {
26
+ if (hasUpdates) {
27
+ const params = {};
28
+ if (flags['disable-fork'] !== undefined)
29
+ params.disable_fork = flags['disable-fork'];
30
+ if (flags['developer-branch'] !== undefined)
31
+ params.forbidden_developer_create_branch = flags['developer-branch'];
32
+ if (flags['developer-tag'] !== undefined)
33
+ params.forbidden_developer_create_tag = flags['developer-tag'];
34
+ if (flags['committer-branch'] !== undefined)
35
+ params.forbidden_committer_create_branch = flags['committer-branch'];
36
+ if (flags['pre-merge-ref'] !== undefined)
37
+ params.generate_pre_merge_ref = flags['pre-merge-ref'];
38
+ if (flags['open-gpg'] !== undefined)
39
+ params.open_gpg_verified = flags['open-gpg'];
40
+ if (flags.lfs !== undefined)
41
+ params.include_lfs_objects = flags.lfs;
42
+ const result = await (0, repos_1.updateRepoSettings)(token, owner, repo, params);
43
+ if (flags.json) {
44
+ (0, index_2.printJson)(result);
45
+ return;
46
+ }
47
+ this.log(`Updated settings for ${owner}/${repo}`);
48
+ }
49
+ else {
50
+ const settings = await (0, repos_1.getRepoSettings)(token, owner, repo);
51
+ if (flags.json) {
52
+ (0, index_2.printJson)(settings);
53
+ return;
54
+ }
55
+ (0, index_2.printTable)(Object.entries(settings).map(([key, value]) => ({ setting: key, value: String(value) })), ['setting', 'value']);
56
+ }
57
+ }
58
+ catch (err) {
59
+ if (err instanceof client_1.GitCodeError)
60
+ this.error(err.message);
61
+ this.error('Could not connect to GitCode. Check your internet connection.');
62
+ }
63
+ }
64
+ }
65
+ RepoSettings.description = 'View or update repository settings';
66
+ RepoSettings.examples = [
67
+ '<%= config.bin %> repo settings',
68
+ '<%= config.bin %> repo settings --disable-fork',
69
+ '<%= config.bin %> repo settings --pre-merge-ref --lfs',
70
+ ];
71
+ RepoSettings.flags = {
72
+ ...repo_command_1.RepoCommand.repoFlags,
73
+ 'disable-fork': core_1.Flags.boolean({ description: 'Disable forking', allowNo: true }),
74
+ 'developer-branch': core_1.Flags.boolean({ description: 'Forbid developer from creating branches', allowNo: true }),
75
+ 'developer-tag': core_1.Flags.boolean({ description: 'Forbid developer from creating tags', allowNo: true }),
76
+ 'committer-branch': core_1.Flags.boolean({ description: 'Forbid committer from creating branches', allowNo: true }),
77
+ 'pre-merge-ref': core_1.Flags.boolean({ description: 'Generate pre-merge ref', allowNo: true }),
78
+ 'open-gpg': core_1.Flags.boolean({ description: 'Enable GPG verification', allowNo: true }),
79
+ lfs: core_1.Flags.boolean({ description: 'Include LFS objects', allowNo: true }),
80
+ };
81
+ exports.default = RepoSettings;
82
+ //# sourceMappingURL=settings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../src/commands/repo/settings.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { RepoCommand } from '../../repo-command';
2
+ export default class RepoStats extends RepoCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static flags: {
6
+ branch: 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
+ since: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
9
+ until: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
10
+ downloads: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
11
+ direction: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, 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
+ }