@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
@@ -10,7 +10,7 @@ class IssueLabels extends repo_command_1.RepoCommand {
10
10
  const { flags, args } = await this.parse(IssueLabels);
11
11
  const token = (0, config_1.getToken)();
12
12
  if (!token) {
13
- this.error('Not authenticated. Run: oh-gc auth:login');
13
+ this.error('Not authenticated. Run: oh-gc auth login');
14
14
  }
15
15
  const { owner, repo } = this.resolveRepoFromFlags(flags);
16
16
  const labels = args.labels.split(',').map((l) => l.trim());
@@ -10,7 +10,7 @@ class IssueReactions extends repo_command_1.RepoCommand {
10
10
  const { flags, args } = await this.parse(IssueReactions);
11
11
  const token = (0, config_1.getToken)();
12
12
  if (!token) {
13
- this.error('Not authenticated. Run: oh-gc auth:login');
13
+ this.error('Not authenticated. Run: oh-gc auth login');
14
14
  }
15
15
  const { owner, repo } = this.resolveRepoFromFlags(flags);
16
16
  const reactions = await (0, issues_1.listIssueReactions)(token, owner, repo, args.number);
@@ -10,7 +10,7 @@ class IssueReopen extends repo_command_1.RepoCommand {
10
10
  const { flags, args } = await this.parse(IssueReopen);
11
11
  const token = (0, config_1.getToken)();
12
12
  if (!token) {
13
- this.error('Not authenticated. Run: oh-gc auth:login');
13
+ this.error('Not authenticated. Run: oh-gc auth login');
14
14
  }
15
15
  const { owner, repo } = this.resolveRepoFromFlags(flags);
16
16
  const issue = await (0, issues_1.reopenIssue)(token, owner, repo, args.number);
@@ -10,7 +10,7 @@ class IssueUpdate extends repo_command_1.RepoCommand {
10
10
  const { flags, args } = await this.parse(IssueUpdate);
11
11
  const token = (0, config_1.getToken)();
12
12
  if (!token) {
13
- this.error('Not authenticated. Run: oh-gc auth:login');
13
+ this.error('Not authenticated. Run: oh-gc auth login');
14
14
  }
15
15
  const { owner, repo } = this.resolveRepoFromFlags(flags);
16
16
  const params = {};
@@ -10,7 +10,7 @@ class PRClose extends repo_command_1.RepoCommand {
10
10
  const { flags, args } = await this.parse(PRClose);
11
11
  const token = (0, config_1.getToken)();
12
12
  if (!token) {
13
- this.error('Not authenticated. Run: oh-gc auth:login');
13
+ this.error('Not authenticated. Run: oh-gc auth login');
14
14
  }
15
15
  const { owner, repo } = this.resolveRepoFromFlags(flags);
16
16
  const pr = await (0, prs_1.closePR)(token, owner, repo, parseInt(args.number));
@@ -45,7 +45,7 @@ class PRComment extends repo_command_1.RepoCommand {
45
45
  const { args, flags } = await this.parse(PRComment);
46
46
  const token = (0, index_1.getToken)();
47
47
  if (!token)
48
- this.error('Not logged in. Run: oh-gc auth:login');
48
+ this.error('Not logged in. Run: oh-gc auth login');
49
49
  let owner, repo;
50
50
  try {
51
51
  ;
@@ -10,7 +10,7 @@ class PRReactions extends repo_command_1.RepoCommand {
10
10
  const { flags, args } = await this.parse(PRReactions);
11
11
  const token = (0, config_1.getToken)();
12
12
  if (!token) {
13
- this.error('Not authenticated. Run: oh-gc auth:login');
13
+ this.error('Not authenticated. Run: oh-gc auth login');
14
14
  }
15
15
  const { owner, repo } = this.resolveRepoFromFlags(flags);
16
16
  const reactions = await (0, prs_1.listPRReactions)(token, owner, repo, parseInt(args.number));
@@ -10,7 +10,7 @@ class PRReopen extends repo_command_1.RepoCommand {
10
10
  const { flags, args } = await this.parse(PRReopen);
11
11
  const token = (0, config_1.getToken)();
12
12
  if (!token) {
13
- this.error('Not authenticated. Run: oh-gc auth:login');
13
+ this.error('Not authenticated. Run: oh-gc auth login');
14
14
  }
15
15
  const { owner, repo } = this.resolveRepoFromFlags(flags);
16
16
  const pr = await (0, prs_1.reopenPR)(token, owner, repo, parseInt(args.number));
@@ -0,0 +1,12 @@
1
+ import { RepoCommand } from '../../repo-command';
2
+ export default class RepoArchive extends RepoCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static flags: {
6
+ open: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
7
+ password: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
8
+ repo: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
9
+ json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
10
+ };
11
+ run(): Promise<void>;
12
+ }
@@ -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 RepoArchive extends repo_command_1.RepoCommand {
9
+ async run() {
10
+ const { flags } = await this.parse(RepoArchive);
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 status = flags.open ? 0 : 2;
23
+ try {
24
+ await (0, repos_1.archiveRepo)(token, owner, repo, { status, password: flags.password });
25
+ const action = flags.open ? 'Unarchived' : 'Archived';
26
+ this.log(`${action} ${owner}/${repo}`);
27
+ }
28
+ catch (err) {
29
+ if (err instanceof client_1.GitCodeError)
30
+ this.error(err.message);
31
+ this.error('Could not connect to GitCode. Check your internet connection.');
32
+ }
33
+ }
34
+ }
35
+ RepoArchive.description = 'Archive or unarchive a repository';
36
+ RepoArchive.examples = [
37
+ '<%= config.bin %> repo archive --password mypassword',
38
+ '<%= config.bin %> repo archive --open --password mypassword',
39
+ ];
40
+ RepoArchive.flags = {
41
+ ...repo_command_1.RepoCommand.repoFlags,
42
+ open: core_1.Flags.boolean({ description: 'Unarchive the repository (default: archive)' }),
43
+ password: core_1.Flags.string({ description: 'Archive password', required: true }),
44
+ };
45
+ exports.default = RepoArchive;
46
+ //# sourceMappingURL=archive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"archive.js","sourceRoot":"","sources":["../../../src/commands/repo/archive.ts"],"names":[],"mappings":";;AAAA,sCAAmC;AACnC,qDAAgD;AAChD,8CAA6C;AAC7C,2CAA6C;AAC7C,6CAA+C;AAE/C,MAAqB,WAAY,SAAQ,0BAAW;IAalD,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;QAE/C,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,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAEjC,IAAI,CAAC;YACH,MAAM,IAAA,mBAAW,EAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAA;YAC3E,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAA;YACrD,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC,CAAA;QACxC,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,uBAAW,GAAG,mCAAmC,CAAA;AACjD,oBAAQ,GAAG;IAChB,sDAAsD;IACtD,6DAA6D;CAC9D,CAAA;AAEM,iBAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;IACxB,IAAI,EAAE,YAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,6CAA6C,EAAE,CAAC;IACnF,QAAQ,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,kBAAkB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;CAC5E,CAAA;kBAXkB,WAAW"}
@@ -0,0 +1,15 @@
1
+ import { RepoCommand } from '../../repo-command';
2
+ export default class RepoContributors extends RepoCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static flags: {
6
+ type: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
7
+ stats: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
8
+ author: 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
+ page: import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces").CustomOptions>;
11
+ repo: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
12
+ json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
13
+ };
14
+ run(): Promise<void>;
15
+ }
@@ -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
+ }