done-coding-extract 0.1.22 → 0.1.23
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/README.md +12 -2
- package/es/cli.mjs +1 -1
- package/es/{index-694d5432.js → index-aebb3f75.js} +45 -45
- package/es/index.mjs +1 -1
- package/package.json +6 -6
package/README.md
CHANGED
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
## 安装
|
|
9
9
|
|
|
10
10
|
### 独立安装
|
|
11
|
+
|
|
11
12
|
```bash
|
|
12
13
|
npm install @done-coding/cli-extract
|
|
13
14
|
# 或
|
|
@@ -15,6 +16,7 @@ pnpm add @done-coding/cli-extract
|
|
|
15
16
|
```
|
|
16
17
|
|
|
17
18
|
### 作为 done-coding CLI 的一部分
|
|
19
|
+
|
|
18
20
|
```bash
|
|
19
21
|
npm install -g @done-coding/cli
|
|
20
22
|
# 然后使用
|
|
@@ -47,6 +49,7 @@ dc-extract --help
|
|
|
47
49
|
### 基础命令
|
|
48
50
|
|
|
49
51
|
#### `dc-extract init`
|
|
52
|
+
|
|
50
53
|
初始化配置文件
|
|
51
54
|
|
|
52
55
|
```bash
|
|
@@ -55,11 +58,13 @@ dc-extract init
|
|
|
55
58
|
```
|
|
56
59
|
|
|
57
60
|
**功能说明**:
|
|
61
|
+
|
|
58
62
|
- 在项目根目录创建 `.done-coding/extract.json5` 配置文件
|
|
59
63
|
- 提供默认的提取规则和模板配置
|
|
60
64
|
- 支持自定义提取目标和输出格式
|
|
61
65
|
|
|
62
66
|
#### `dc-extract` (默认命令)
|
|
67
|
+
|
|
63
68
|
生成文件
|
|
64
69
|
|
|
65
70
|
```bash
|
|
@@ -77,6 +82,7 @@ dc-extract -R ./src
|
|
|
77
82
|
```
|
|
78
83
|
|
|
79
84
|
**选项说明**:
|
|
85
|
+
|
|
80
86
|
- `-R, --rootDir`: 运行目录,默认为当前目录
|
|
81
87
|
- `-C, --configPath`: 配置文件相对路径,默认为 `./.done-coding/extract.json5`
|
|
82
88
|
- `-m, --mode`: 生成模式,可选值:`result`(默认)、`template`
|
|
@@ -84,6 +90,7 @@ dc-extract -R ./src
|
|
|
84
90
|
### 生成模式
|
|
85
91
|
|
|
86
92
|
#### result 模式
|
|
93
|
+
|
|
87
94
|
直接生成最终结果文件
|
|
88
95
|
|
|
89
96
|
```bash
|
|
@@ -92,6 +99,7 @@ dc-extract -m result
|
|
|
92
99
|
```
|
|
93
100
|
|
|
94
101
|
#### template 模式
|
|
102
|
+
|
|
95
103
|
生成模板文件供进一步处理
|
|
96
104
|
|
|
97
105
|
```bash
|
|
@@ -161,6 +169,7 @@ DC extract -C ./config.json5
|
|
|
161
169
|
### 常见问题
|
|
162
170
|
|
|
163
171
|
**Q: 配置文件找不到**
|
|
172
|
+
|
|
164
173
|
```bash
|
|
165
174
|
# 检查配置文件是否存在
|
|
166
175
|
ls -la .done-coding/extract.json5
|
|
@@ -170,6 +179,7 @@ dc-extract init
|
|
|
170
179
|
```
|
|
171
180
|
|
|
172
181
|
**Q: 生成失败**
|
|
182
|
+
|
|
173
183
|
```bash
|
|
174
184
|
# 检查运行目录
|
|
175
185
|
dc-extract -R ./src
|
|
@@ -208,7 +218,7 @@ dc-extract --help
|
|
|
208
218
|
|
|
209
219
|
```bash
|
|
210
220
|
# 克隆仓库
|
|
211
|
-
git clone https://
|
|
221
|
+
git clone https://github.com/done-coding/done-coding-cli.git
|
|
212
222
|
cd done-coding-cli/packages/extract
|
|
213
223
|
|
|
214
224
|
# 安装依赖
|
|
@@ -236,4 +246,4 @@ MIT © [JustSoSu](https://gitee.com/done-coding)
|
|
|
236
246
|
- [主 CLI 工具](https://www.npmjs.com/package/@done-coding/cli)
|
|
237
247
|
- [模板处理工具](https://www.npmjs.com/package/@done-coding/cli-template) - 本包依赖的模板引擎
|
|
238
248
|
- [Gitee 仓库](https://gitee.com/done-coding/done-coding-cli)
|
|
239
|
-
- [更新日志](./CHANGELOG.md)
|
|
249
|
+
- [更新日志](./CHANGELOG.md)
|
package/es/cli.mjs
CHANGED
|
@@ -6,7 +6,7 @@ import g from "node:fs";
|
|
|
6
6
|
import { OutputModeEnum as H, batchCompileHandler as X } from "@done-coding/cli-template";
|
|
7
7
|
const D = {
|
|
8
8
|
name: "@done-coding/cli-extract",
|
|
9
|
-
version: "0.1.
|
|
9
|
+
version: "0.1.23",
|
|
10
10
|
description: "信息提取命令行工具",
|
|
11
11
|
bin: {
|
|
12
12
|
"dc-extract": "es/cli.mjs"
|
|
@@ -50,7 +50,7 @@ const D = {
|
|
|
50
50
|
}
|
|
51
51
|
}, R = {
|
|
52
52
|
name: "@done-coding/cli-inject",
|
|
53
|
-
version: "0.5.
|
|
53
|
+
version: "0.5.23",
|
|
54
54
|
description: "信息(JSON)注入命令行工具",
|
|
55
55
|
bin: {
|
|
56
56
|
"dc-inject": "es/cli.mjs"
|
|
@@ -61,7 +61,7 @@ const D = {
|
|
|
61
61
|
}
|
|
62
62
|
}, {
|
|
63
63
|
cliConfig: { namespaceDir: B, moduleName: Q }
|
|
64
|
-
} = R, Y = `./${B}/${Q}`, T = `${Y}.json`,
|
|
64
|
+
} = R, Y = `./${B}/${Q}`, T = `${Y}.json`, Z = {
|
|
65
65
|
sourceFilePath: "./package.json",
|
|
66
66
|
keyConfigMap: {
|
|
67
67
|
name: {
|
|
@@ -78,22 +78,22 @@ const D = {
|
|
|
78
78
|
}
|
|
79
79
|
},
|
|
80
80
|
injectFilePath: "./src/injectInfo.json"
|
|
81
|
-
}, Z = () => j({
|
|
81
|
+
}, O = Z, ee = () => j({
|
|
82
82
|
configPathDefault: T
|
|
83
|
-
}),
|
|
83
|
+
}), ne = async (e) => F(O, e, {
|
|
84
84
|
onFileGenerated: () => {
|
|
85
85
|
s.info("文件生成成功");
|
|
86
86
|
}
|
|
87
|
-
}),
|
|
87
|
+
}), te = {
|
|
88
88
|
command: V.INIT,
|
|
89
89
|
describe: "初始化配置文件",
|
|
90
|
-
options:
|
|
91
|
-
handler:
|
|
92
|
-
},
|
|
90
|
+
options: ee(),
|
|
91
|
+
handler: ne
|
|
92
|
+
}, oe = () => ({
|
|
93
93
|
...j({
|
|
94
94
|
configPathDefault: T
|
|
95
95
|
})
|
|
96
|
-
}),
|
|
96
|
+
}), se = async ({
|
|
97
97
|
rootDir: e = process.cwd(),
|
|
98
98
|
config: n = O,
|
|
99
99
|
keyConfigMap: o = {}
|
|
@@ -125,28 +125,28 @@ const D = {
|
|
|
125
125
|
} else
|
|
126
126
|
s.stage("开始注入文件");
|
|
127
127
|
g.writeFileSync(p, y), s.success(`文件注入成功: ${p}`), s.info(y);
|
|
128
|
-
},
|
|
128
|
+
}, re = async (e) => {
|
|
129
129
|
const n = await x(e, () => (s.info("配置文件为空,使用默认配置"), O));
|
|
130
130
|
if (!n)
|
|
131
131
|
return s.error("配置文件为空"), process.exit(1);
|
|
132
132
|
const { rootDir: o } = e;
|
|
133
|
-
await
|
|
134
|
-
},
|
|
133
|
+
await se({ rootDir: o, config: n });
|
|
134
|
+
}, ce = {
|
|
135
135
|
command: "$0",
|
|
136
136
|
describe: "生成文件",
|
|
137
|
-
options:
|
|
138
|
-
handler:
|
|
139
|
-
}, { version:
|
|
140
|
-
[
|
|
137
|
+
options: oe(),
|
|
138
|
+
handler: re
|
|
139
|
+
}, { version: ie, description: ae } = R;
|
|
140
|
+
[te, ce].map(
|
|
141
141
|
N
|
|
142
142
|
), v({ packageJson: R });
|
|
143
|
-
const
|
|
143
|
+
const ue = ({
|
|
144
144
|
input: e,
|
|
145
145
|
rootDir: n
|
|
146
146
|
}) => {
|
|
147
147
|
const o = $.resolve(n, e), t = g.readFileSync(o, "utf-8");
|
|
148
148
|
return e.endsWith(".json") || e.endsWith(".json5") ? JSON.parse(t) : t;
|
|
149
|
-
},
|
|
149
|
+
}, de = (e) => typeof e == "object" && !!e, pe = ({
|
|
150
150
|
content: e,
|
|
151
151
|
targetKey: n,
|
|
152
152
|
keyConfig: o
|
|
@@ -169,7 +169,7 @@ const ae = ({
|
|
|
169
169
|
});
|
|
170
170
|
}
|
|
171
171
|
case u.JSON_INJECT: {
|
|
172
|
-
if (!
|
|
172
|
+
if (!de(e))
|
|
173
173
|
throw new Error(`${t} 类型的keyConfig需要content为json`);
|
|
174
174
|
return C({
|
|
175
175
|
sourceJson: e,
|
|
@@ -189,7 +189,7 @@ const ae = ({
|
|
|
189
189
|
default:
|
|
190
190
|
throw new Error(`不支持的类型${t}`);
|
|
191
191
|
}
|
|
192
|
-
},
|
|
192
|
+
}, me = {
|
|
193
193
|
name: "${name}",
|
|
194
194
|
version: "${version}",
|
|
195
195
|
description: "${description}"
|
|
@@ -232,23 +232,23 @@ const ae = ({
|
|
|
232
232
|
list: [
|
|
233
233
|
{
|
|
234
234
|
mode: H.OVERWRITE,
|
|
235
|
-
inputData: JSON.stringify(
|
|
235
|
+
inputData: JSON.stringify(me, null, 2),
|
|
236
236
|
output: "./src/extractInfo.json"
|
|
237
237
|
}
|
|
238
238
|
]
|
|
239
239
|
}
|
|
240
|
-
},
|
|
240
|
+
}, le = () => j({
|
|
241
241
|
configPathDefault: A
|
|
242
242
|
}), G = async (e) => F(k, e, {
|
|
243
243
|
onFileGenerated: () => {
|
|
244
244
|
s.info("文件生成成功");
|
|
245
245
|
}
|
|
246
|
-
}),
|
|
246
|
+
}), fe = {
|
|
247
247
|
command: h.INIT,
|
|
248
248
|
describe: "初始化配置文件",
|
|
249
|
-
options:
|
|
249
|
+
options: le(),
|
|
250
250
|
handler: G
|
|
251
|
-
},
|
|
251
|
+
}, ye = () => ({
|
|
252
252
|
...j({
|
|
253
253
|
configPathDefault: A
|
|
254
254
|
}),
|
|
@@ -259,19 +259,19 @@ const ae = ({
|
|
|
259
259
|
default: S.RESULT,
|
|
260
260
|
describe: "生成模式"
|
|
261
261
|
}
|
|
262
|
-
}),
|
|
262
|
+
}), ge = async ({
|
|
263
263
|
rootDir: e = process.cwd(),
|
|
264
264
|
config: n
|
|
265
265
|
}) => {
|
|
266
266
|
const { extractInput: o, extractOutput: t } = n, a = Object.entries(o).reduce(
|
|
267
267
|
(c, [m, l]) => {
|
|
268
|
-
const f =
|
|
268
|
+
const f = ue({
|
|
269
269
|
rootDir: e,
|
|
270
270
|
input: m
|
|
271
271
|
});
|
|
272
272
|
return Object.entries(l).reduce(
|
|
273
273
|
(d, [i, p]) => {
|
|
274
|
-
const y =
|
|
274
|
+
const y = pe({
|
|
275
275
|
content: f,
|
|
276
276
|
targetKey: i,
|
|
277
277
|
keyConfig: p
|
|
@@ -295,13 +295,13 @@ const ae = ({
|
|
|
295
295
|
if (!n)
|
|
296
296
|
return s.error("配置文件为空"), process.exit(1);
|
|
297
297
|
const { rootDir: o } = e;
|
|
298
|
-
await
|
|
299
|
-
},
|
|
298
|
+
await ge({ rootDir: o, config: n });
|
|
299
|
+
}, Ee = {
|
|
300
300
|
command: "$0",
|
|
301
301
|
describe: "生成文件",
|
|
302
|
-
options:
|
|
302
|
+
options: ye(),
|
|
303
303
|
handler: I
|
|
304
|
-
},
|
|
304
|
+
}, Re = async (e, n) => {
|
|
305
305
|
switch (e) {
|
|
306
306
|
case h.INIT:
|
|
307
307
|
return G(n);
|
|
@@ -310,10 +310,10 @@ const ae = ({
|
|
|
310
310
|
default:
|
|
311
311
|
return I(n);
|
|
312
312
|
}
|
|
313
|
-
}, { version:
|
|
314
|
-
describe:
|
|
315
|
-
version:
|
|
316
|
-
subcommands: [
|
|
313
|
+
}, { version: Ce, description: je } = D, _ = {
|
|
314
|
+
describe: je,
|
|
315
|
+
version: Ce,
|
|
316
|
+
subcommands: [fe, Ee].map(
|
|
317
317
|
N
|
|
318
318
|
),
|
|
319
319
|
demandCommandCount: 1,
|
|
@@ -323,21 +323,21 @@ const ae = ({
|
|
|
323
323
|
} = D, P = (e = !1) => {
|
|
324
324
|
const n = e ? w : void 0, o = `$0${e ? ` ${w}` : ""} <command> [options]`;
|
|
325
325
|
return { command: n, usage: o };
|
|
326
|
-
},
|
|
326
|
+
}, Oe = async () => W({
|
|
327
327
|
..._,
|
|
328
328
|
...P()
|
|
329
|
-
}),
|
|
329
|
+
}), be = () => N({
|
|
330
330
|
..._,
|
|
331
331
|
...P(!0)
|
|
332
332
|
});
|
|
333
333
|
export {
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
334
|
+
be as a,
|
|
335
|
+
fe as b,
|
|
336
|
+
Oe as c,
|
|
337
337
|
I as d,
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
338
|
+
Ee as e,
|
|
339
|
+
Re as f,
|
|
340
|
+
ge as g,
|
|
341
341
|
G as h,
|
|
342
342
|
_ as i
|
|
343
343
|
};
|
package/es/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { i as t, a as i, e as s, g as d, d as l, f as p, b as f, h as u } from "./index-
|
|
2
|
+
import { i as t, a as i, e as s, g as d, d as l, f as p, b as f, h as u } from "./index-aebb3f75.js";
|
|
3
3
|
import { E as C, G as E, S as b } from "./index-a1ee6691-8c73eb4d.js";
|
|
4
4
|
import "@done-coding/cli-utils";
|
|
5
5
|
import "node:path";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "done-coding-extract",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.23",
|
|
4
4
|
"description": "信息提取命令行工具",
|
|
5
5
|
"private": false,
|
|
6
6
|
"module": "es/index.mjs",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
],
|
|
32
32
|
"repository": {
|
|
33
33
|
"type": "git",
|
|
34
|
-
"url": "https://
|
|
34
|
+
"url": "https://github.com/done-coding/done-coding-cli.git",
|
|
35
35
|
"directory": "packages/extract"
|
|
36
36
|
},
|
|
37
37
|
"publishConfig": {
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"license": "MIT",
|
|
43
43
|
"sideEffects": false,
|
|
44
44
|
"devDependencies": {
|
|
45
|
-
"@done-coding/cli-inject": "0.5.
|
|
45
|
+
"@done-coding/cli-inject": "0.5.23",
|
|
46
46
|
"@types/node": "^18.0.0",
|
|
47
47
|
"@types/yargs": "^17.0.28",
|
|
48
48
|
"typescript": "^5.8.3",
|
|
@@ -50,12 +50,12 @@
|
|
|
50
50
|
"vite-plugin-dts": "^3.6.0"
|
|
51
51
|
},
|
|
52
52
|
"dependencies": {
|
|
53
|
-
"@done-coding/cli-template": "0.8.
|
|
54
|
-
"@done-coding/cli-utils": "0.8.
|
|
53
|
+
"@done-coding/cli-template": "0.8.10",
|
|
54
|
+
"@done-coding/cli-utils": "0.8.4"
|
|
55
55
|
},
|
|
56
56
|
"engines": {
|
|
57
57
|
"node": ">=18.0.0"
|
|
58
58
|
},
|
|
59
|
-
"gitHead": "
|
|
59
|
+
"gitHead": "d90f437c0a716f3e62bd92a221341838710869ad",
|
|
60
60
|
"scripts": {}
|
|
61
61
|
}
|