@done-coding/cli-git 0.1.0 → 0.2.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.
package/es/cli.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { c as r } from "./index-aab45cf7.js";
2
+ import { c as r } from "./index-e8035171.js";
3
3
  import "chalk";
4
4
  import "@done-coding/request-axios";
5
5
  import "axios";
@@ -1,20 +1,20 @@
1
1
  #!/usr/bin/env node
2
2
  import s from "chalk";
3
- import { createRequest as $ } from "@done-coding/request-axios";
4
- import v from "axios";
3
+ import { createRequest as C } from "@done-coding/request-axios";
4
+ import S from "axios";
5
5
  import g from "prompts";
6
- import { lookForParentTarget as G, decryptAES as S } from "@done-coding/node-tools";
7
- import w from "node:fs";
6
+ import { lookForParentTarget as v, decryptAES as w, onPromptFormStateForSigint as d } from "@done-coding/node-tools";
7
+ import B from "node:fs";
8
8
  import "node:path";
9
- import { execSync as B } from "node:child_process";
10
- import I from "yargs";
11
- import { hideBin as N } from "yargs/helpers";
12
- import _ from "lodash.curry";
9
+ import { execSync as I } from "node:child_process";
10
+ import N from "yargs";
11
+ import { hideBin as x } from "yargs/helpers";
12
+ import P from "lodash.curry";
13
13
  var m = /* @__PURE__ */ ((e) => (e.CLONE = "clone", e))(m || {}), i = /* @__PURE__ */ ((e) => (e.GITHUB = "github", e.GITEE = "gitee", e))(i || {});
14
- const x = 1e4, f = Math.random(), b = {
15
- timeout: x,
14
+ const _ = 1e4, h = Math.random(), $ = {
15
+ timeout: _,
16
16
  getBusinessCode() {
17
- return f;
17
+ return h;
18
18
  },
19
19
  getBusinessMsg(e) {
20
20
  return e.statusText;
@@ -22,14 +22,14 @@ const x = 1e4, f = Math.random(), b = {
22
22
  getBusinessData(e) {
23
23
  return e.data;
24
24
  },
25
- businessSuccessCodeList: [f],
26
- axios: v
27
- }, U = $({
25
+ businessSuccessCodeList: [h],
26
+ axios: S
27
+ }, U = C({
28
28
  basePath: " https://gitee.com",
29
- ...b
30
- }), O = $({
29
+ ...$
30
+ }), O = C({
31
31
  basePath: "https://api.github.com",
32
- ...b
32
+ ...$
33
33
  }), k = ({
34
34
  username: e
35
35
  }) => U({
@@ -46,35 +46,35 @@ const x = 1e4, f = Math.random(), b = {
46
46
  page: 1,
47
47
  sort: "updated"
48
48
  }
49
- }), P = ({
49
+ }), R = ({
50
50
  username: e
51
51
  }) => O({
52
52
  url: `/users/${e}/repos`,
53
53
  method: "GET"
54
- }), u = {
55
- version: "0.1.0",
54
+ }), p = {
55
+ version: "0.2.1",
56
56
  name: "@done-coding/cli-git",
57
57
  description: "git跨平台操作命令行工具",
58
58
  cliConfig: {
59
59
  namespaceDir: ".done-coding",
60
60
  moduleName: "git"
61
61
  }
62
- }, { namespaceDir: R, moduleName: H } = u.cliConfig, L = `${R}/${H}`, F = (e) => `${L}/.${e}`, q = ({
62
+ }, { namespaceDir: H, moduleName: F } = p.cliConfig, L = `${H}/${F}`, q = (e) => `${L}/.${e}`, M = ({
63
63
  secretKey: e,
64
64
  platform: o
65
65
  }) => {
66
- const n = F(o), r = G(n);
66
+ const n = q(o), r = v(n);
67
67
  if (!r) {
68
68
  console.log(s.yellow("配置文件不存在"));
69
69
  return;
70
70
  }
71
- const a = `${r}/${n}`, c = w.readFileSync(a, "utf-8"), l = S({ encryptedText: c, secretKey: e });
71
+ const a = `${r}/${n}`, c = B.readFileSync(a, "utf-8"), l = w({ encryptedText: c, secretKey: e });
72
72
  if (!l) {
73
73
  console.log(s.yellow("配置文件解密失败"));
74
74
  return;
75
75
  }
76
76
  return JSON.parse(l);
77
- }, M = async ({
77
+ }, A = async ({
78
78
  platform: e,
79
79
  username: o
80
80
  } = {}) => {
@@ -82,42 +82,42 @@ const x = 1e4, f = Math.random(), b = {
82
82
  platform: e,
83
83
  username: o
84
84
  };
85
- e || (n.platform = (await g({
86
- type: "select",
87
- name: "platform",
88
- message: "选择git平台",
89
- choices: [
90
- {
91
- title: "Github",
92
- value: i.GITHUB
93
- },
94
- {
95
- title: "Gitee",
96
- value: i.GITEE
97
- }
98
- ],
99
- validate: (t) => t === void 0 ? "请选择git平台" : !0
100
- })).platform), o || (n.username = (await g({
85
+ if (!e) {
86
+ const t = [
87
+ { title: "GitHub", value: i.GITHUB },
88
+ { title: "Gitee", value: i.GITEE }
89
+ ];
90
+ n.platform = (await g({
91
+ type: "select",
92
+ name: "platform",
93
+ message: "选择git平台",
94
+ choices: t,
95
+ onState: d
96
+ })).platform;
97
+ }
98
+ o || (n.username = (await g({
101
99
  type: "text",
102
100
  name: "username",
103
101
  message: "请输入用户名",
104
- validate: (t) => t.trim() === "" ? "用户名不能为空" : !0
102
+ format: (t) => t.trim(),
103
+ validate: (t) => t.length > 0 || "用户名不能为空",
104
+ onState: d
105
105
  })).username);
106
106
  const { platform: r, username: a } = n;
107
107
  let c = [];
108
- const l = q({
108
+ const l = M({
109
109
  secretKey: a,
110
110
  platform: r
111
111
  });
112
- let d = l == null ? void 0 : l.accessToken;
112
+ let f = l == null ? void 0 : l.accessToken;
113
113
  console.log(s.blue(`正在获取${a}的${r}仓库列表...`));
114
- const p = {
114
+ const u = {
115
115
  username: a,
116
- accessToken: d
116
+ accessToken: f
117
117
  };
118
118
  switch (n.platform) {
119
119
  case i.GITHUB: {
120
- c = (await P(p)).data.map((t) => ({
120
+ c = (await R(u)).data.map((t) => ({
121
121
  name: t.name,
122
122
  httpUrl: t.clone_url,
123
123
  sshUrl: t.ssh_url,
@@ -126,7 +126,7 @@ const x = 1e4, f = Math.random(), b = {
126
126
  break;
127
127
  }
128
128
  case i.GITEE: {
129
- c = (await (p.accessToken ? D : k)(p)).data.map((t) => ({
129
+ c = (await (u.accessToken ? D : k)(u)).data.map((t) => ({
130
130
  name: t.name,
131
131
  httpUrl: t.html_url,
132
132
  sshUrl: t.ssh_url,
@@ -142,48 +142,56 @@ const x = 1e4, f = Math.random(), b = {
142
142
  return;
143
143
  } else
144
144
  console.log(s.blue(`共${c.length}个仓库`));
145
- const { repoUrl: E } = await g({
145
+ const { repoUrl: G } = await g({
146
146
  name: "repoUrl",
147
147
  type: "select",
148
148
  message: "选择仓库",
149
149
  choices: c.map((t) => ({
150
150
  title: `${t.name} ${t.description}`,
151
151
  value: t.sshUrl
152
- }))
152
+ })),
153
+ onState: d
153
154
  });
154
- return E;
155
- }, A = async (e) => {
156
- const o = await M(e);
157
- B(`git clone ${o} 1>&2`), console.log(s.green(`克隆${o}成功`));
158
- }, j = async (e, o) => (console.log("com", o), e === m.CLONE ? A(o) : (console.log(s.red(`无效的命令: ${e}`)), process.exit(1))), y = async (e) => {
159
- }, C = u.cliConfig.moduleName, J = (e, o) => {
155
+ return G;
156
+ }, j = async (e) => {
157
+ const o = await A(e);
158
+ I(`git clone ${o} 1>&2`), console.log(s.green(`克隆${o}成功`));
159
+ }, J = async (e, o) => e === m.CLONE ? j(o) : (console.log(s.red(`无效的命令: ${e}`)), process.exit(1)), y = async (e) => {
160
+ }, T = p.cliConfig.moduleName, K = (e, o) => {
160
161
  console.log(e ? s.red(e) : s.red(o.message)), process.exit(1);
161
- }, K = u.description, z = `Usage: $0 ${C} <command> [options]`, Q = "Usage: $0 <command> [options]", h = (e) => e.command({
162
+ }, z = p.description, Q = `Usage: $0 ${T} <command> [options]`, V = "Usage: $0 <command> [options]", W = {
162
163
  command: `${m.CLONE} <platform> <username>`,
163
- describe: "从一个某个git平台克隆代码",
164
- builder: (o) => o.positional("platform", {
165
- describe: "git平台",
164
+ describe: "从选择的git平台克隆代码",
165
+ builder: (e) => e.positional("platform", {
166
+ describe: "选择git平台",
166
167
  type: "string",
167
168
  choices: [i.GITHUB, i.GITEE]
168
169
  }).positional("username", {
169
170
  describe: "git平台用户名",
170
171
  type: "string"
171
172
  }),
172
- handler: _(j)(m.CLONE)
173
- }).demandCommand(1), T = (e, o = !1) => o ? h(e.strict().usage(z)) : h(
174
- e.strict().usage(Q).help("help").version(u.version).alias("v", "version").alias("h", "help")
175
- ).fail(J).argv, V = (e) => T(e, !0), ce = {
176
- command: C,
177
- describe: K,
178
- builder: V,
173
+ /** @ts-ignore */
174
+ async handler(e) {
175
+ return await P(J)(m.CLONE)(
176
+ e
177
+ ), process.exit(0);
178
+ }
179
+ }, b = (e) => e.command(W).demandCommand(1), E = (e, o = !1) => o ? b(e.strict().usage(Q)) : b(
180
+ e.strict().usage(V).help("help").version(p.version).alias("v", "version").alias("h", "help")
181
+ ).fail(K).argv, X = (e) => E(e, !0), le = {
182
+ command: T,
183
+ describe: z,
184
+ builder: X,
179
185
  handler: y
180
- }, ie = async () => {
181
- const e = I(N(process.argv));
182
- return await T(e), y();
186
+ }, me = async () => {
187
+ const e = N(x(process.argv));
188
+ return await E(e), y();
183
189
  };
184
190
  export {
185
- ce as a,
186
- ie as c,
187
- M as g,
191
+ le as a,
192
+ A as b,
193
+ me as c,
194
+ j as d,
195
+ W as g,
188
196
  y as h
189
197
  };
package/es/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { a as l, g as b, h as c } from "./index-aab45cf7.js";
2
+ import { a as C, b, d as h, g as c, h as f } from "./index-e8035171.js";
3
3
  import "chalk";
4
4
  import "@done-coding/request-axios";
5
5
  import "axios";
@@ -12,7 +12,9 @@ import "yargs";
12
12
  import "yargs/helpers";
13
13
  import "lodash.curry";
14
14
  export {
15
- l as command,
15
+ C as command,
16
16
  b as getTargetRepoUrl,
17
- c as handler
17
+ h as gitClone,
18
+ c as gitCloneCommand,
19
+ f as handler
18
20
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@done-coding/cli-git",
3
- "version": "0.1.0",
3
+ "version": "0.2.1",
4
4
  "description": "git跨平台操作命令行工具",
5
5
  "private": false,
6
6
  "module": "es/index.mjs",
@@ -55,7 +55,7 @@
55
55
  "node": ">=16.0.0"
56
56
  },
57
57
  "dependencies": {
58
- "@done-coding/node-tools": "^0.1.0",
58
+ "@done-coding/node-tools": "^0.2.0",
59
59
  "@done-coding/request-axios": "^1.1.1",
60
60
  "axios": "^1.8.4",
61
61
  "chalk": "^5.3.0",
@@ -63,5 +63,5 @@
63
63
  "prompts": "^2.4.2",
64
64
  "yargs": "^17.7.2"
65
65
  },
66
- "gitHead": "465ac238437ab8bd3803c5e6fe8ac5a30bc445f3"
66
+ "gitHead": "0dde53af70143475f5149714152d714802f846f8"
67
67
  }
package/types/index.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  export { handler } from "./handler";
2
- export { command } from "./main";
3
- export { getTargetRepoUrl } from "./utils";
2
+ export { command, gitCloneCommand } from "./main";
3
+ export { getTargetRepoUrl, gitClone } from "./utils";
@@ -1,5 +1,5 @@
1
1
  declare const _default: {
2
- "version": "0.1.0",
2
+ "version": "0.2.1",
3
3
  "name": "@done-coding/cli-git",
4
4
  "description": "git跨平台操作命令行工具",
5
5
  "cliConfig": {
package/types/main.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import type { CommandModule } from "yargs";
2
2
  import { type Options } from './utils';
3
+ export declare const gitCloneCommand: CommandModule;
3
4
  export declare const command: CommandModule<Options, Options>;
4
5
  export declare const createCli: () => Promise<void>;
@@ -1,3 +1,3 @@
1
1
  import type { Options } from "./types";
2
2
  /** 克隆目标仓库 */
3
- export declare const clone: (options: Options) => Promise<void>;
3
+ export declare const gitClone: (options: Options) => Promise<void>;