@done-coding/cli 0.15.18 → 0.15.19
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 +341 -1
- package/es/cli.mjs +1 -1
- package/es/dc-cli.mjs +1 -1
- package/es/done-coding.mjs +1 -1
- package/package.json +11 -11
package/README.md
CHANGED
|
@@ -1,7 +1,347 @@
|
|
|
1
1
|
# @done-coding/cli
|
|
2
2
|
|
|
3
|
-
done-coding
|
|
3
|
+
done-coding 命令行工具集 - 提供完整的开发工作流支持
|
|
4
|
+
|
|
5
|
+
[](https://www.npmjs.com/package/@done-coding/cli)
|
|
6
|
+
[](https://opensource.org/licenses/MIT)
|
|
4
7
|
|
|
5
8
|
## 安装
|
|
6
9
|
|
|
10
|
+
### 全局安装(推荐)
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
npm install -g @done-coding/cli
|
|
14
|
+
# 或使用 pnpm
|
|
15
|
+
pnpm add -g @done-coding/cli
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
### 本地安装
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
npm install @done-coding/cli
|
|
22
|
+
# 或使用 pnpm
|
|
7
23
|
pnpm add @done-coding/cli
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## 快速开始
|
|
27
|
+
|
|
28
|
+
安装完成后,您可以使用以下命令启动:
|
|
29
|
+
|
|
30
|
+
### 安装后提示
|
|
31
|
+
|
|
32
|
+
根据您的操作系统,使用方式略有不同:
|
|
33
|
+
|
|
34
|
+
#### 可用命令
|
|
35
|
+
|
|
36
|
+
根据 package.json 的 bin 配置,以下命令在所有系统中都可用:
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
# 主要命令(推荐)
|
|
40
|
+
DC [命令] # 大写 DC 命令
|
|
41
|
+
dc-cli [命令] # 完整 CLI 命令
|
|
42
|
+
done-coding [命令] # 完整品牌命令
|
|
43
|
+
|
|
44
|
+
# 查看帮助
|
|
45
|
+
DC --help
|
|
46
|
+
dc-cli --help
|
|
47
|
+
done-coding --help
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
⚠️ **重要提示**:
|
|
51
|
+
|
|
52
|
+
- 推荐使用大写的 `DC` 命令,在所有系统中都可用
|
|
53
|
+
- 可以使用 `dc-cli` 或 `done-coding` 作为替代命令
|
|
54
|
+
- **系统差异说明**:
|
|
55
|
+
- **Windows 系统**: 可以使用小写 `dc` 命令(系统对大小写不敏感且无系统dc命令)
|
|
56
|
+
- **macOS/Linux 系统**: 不建议使用小写 `dc` 命令(避免与系统dc命令冲突)
|
|
57
|
+
|
|
58
|
+
## 功能特性
|
|
59
|
+
|
|
60
|
+
- ✅ **统一入口**: 集成 9 个专业工具包,提供统一的命令行入口
|
|
61
|
+
- 🚀 **跨平台兼容**: 支持 Windows、macOS、Linux,自动处理系统差异
|
|
62
|
+
- 🔧 **模块化设计**: 每个子包独立开发,可单独使用或集成使用
|
|
63
|
+
- 📦 **完整工作流**: 涵盖项目创建、开发、构建、发布的完整流程
|
|
64
|
+
- 🔄 **包间协作**: 智能的包间功能调用,如 config 包调用 git 包的合并检测
|
|
65
|
+
|
|
66
|
+
## API 文档
|
|
67
|
+
|
|
68
|
+
@done-coding/cli 集成了多个工具,每个工具都专注于特定的开发任务:
|
|
69
|
+
|
|
70
|
+
### 🚀 项目创建
|
|
71
|
+
|
|
72
|
+
- **命令**: `DC create [projectName]`
|
|
73
|
+
- **描述**: 项目创建命令行工具
|
|
74
|
+
- **包地址**: [create-done-coding](https://www.npmjs.com/package/create-done-coding)
|
|
75
|
+
- **选项**:
|
|
76
|
+
- `-c, --justCloneFromDoneCoding`: 是否仅仅从done-coding系列项目列表中克隆远程仓库
|
|
77
|
+
|
|
78
|
+
### 🔧 组件生成
|
|
79
|
+
|
|
80
|
+
- **命令**: `DC component`
|
|
81
|
+
- **描述**: 组件命令行工具
|
|
82
|
+
- **包地址**: [@done-coding/cli-component](https://www.npmjs.com/package/@done-coding/cli-component)
|
|
83
|
+
|
|
84
|
+
### ⚙️ 工程配置
|
|
85
|
+
|
|
86
|
+
- **命令**: `DC config`
|
|
87
|
+
- **描述**: 工程化配置命令行工具
|
|
88
|
+
- **包地址**: [@done-coding/cli-config](https://www.npmjs.com/package/@done-coding/cli-config)
|
|
89
|
+
|
|
90
|
+
### 📤 信息提取
|
|
91
|
+
|
|
92
|
+
- **命令**: `DC extract`
|
|
93
|
+
- **描述**: 信息提取命令行工具
|
|
94
|
+
- **包地址**: [@done-coding/cli-extract](https://www.npmjs.com/package/@done-coding/cli-extract)
|
|
95
|
+
|
|
96
|
+
### 🔄 Git 操作
|
|
97
|
+
|
|
98
|
+
- **命令**: `DC git`
|
|
99
|
+
- **描述**: git跨平台操作命令行工具
|
|
100
|
+
- **包地址**: [@done-coding/cli-git](https://www.npmjs.com/package/@done-coding/cli-git)
|
|
101
|
+
|
|
102
|
+
### 💉 信息注入
|
|
103
|
+
|
|
104
|
+
- **命令**: `DC inject`
|
|
105
|
+
- **描述**: 信息(JSON)注入命令行工具
|
|
106
|
+
- **包地址**: [@done-coding/cli-inject](https://www.npmjs.com/package/@done-coding/cli-inject)
|
|
107
|
+
|
|
108
|
+
### 📦 项目发布
|
|
109
|
+
|
|
110
|
+
- **命令**: `DC publish`
|
|
111
|
+
- **描述**: 项目发布命令行工具
|
|
112
|
+
- **包地址**: [@done-coding/cli-publish](https://www.npmjs.com/package/@done-coding/cli-publish)
|
|
113
|
+
|
|
114
|
+
### 📝 模板处理
|
|
115
|
+
|
|
116
|
+
- **命令**: `DC template`
|
|
117
|
+
- **描述**: 预编译命令行工具
|
|
118
|
+
- **包地址**: [@done-coding/cli-template](https://www.npmjs.com/package/@done-coding/cli-template)
|
|
119
|
+
|
|
120
|
+
## 完整命令列表
|
|
121
|
+
|
|
122
|
+
### 基于实际 CLI 输出的命令
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
# 项目管理
|
|
126
|
+
DC create [projectName] # 创建新项目
|
|
127
|
+
DC create --justCloneFromDoneCoding # 仅从done-coding系列项目克隆
|
|
128
|
+
|
|
129
|
+
# 组件管理
|
|
130
|
+
DC component add <name> # 新增组件
|
|
131
|
+
DC component remove [name] # 删除组件
|
|
132
|
+
DC component list # 展示组件列表
|
|
133
|
+
|
|
134
|
+
# 工程化配置
|
|
135
|
+
DC config # 工程化配置命令行工具
|
|
136
|
+
|
|
137
|
+
# 信息处理
|
|
138
|
+
DC extract # 信息提取命令行工具
|
|
139
|
+
DC inject # 信息(JSON)注入命令行工具
|
|
140
|
+
|
|
141
|
+
# 模板处理
|
|
142
|
+
DC template # 预编译命令行工具
|
|
143
|
+
|
|
144
|
+
# Git 操作
|
|
145
|
+
DC git init # 初始化配置文件
|
|
146
|
+
DC git clone <platform> <username> # 从选择的git平台克隆代码
|
|
147
|
+
DC git hooks <name> [args...] # git钩子回调
|
|
148
|
+
DC git check <type> # 检查git操作
|
|
149
|
+
|
|
150
|
+
# 项目发布
|
|
151
|
+
DC publish # 项目发布命令行工具
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
### 使用替代命令
|
|
155
|
+
|
|
156
|
+
```bash
|
|
157
|
+
# 使用完整命令名
|
|
158
|
+
dc-cli [command] # 完整CLI命令
|
|
159
|
+
done-coding [command] # 完整品牌命令
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
## 使用示例
|
|
163
|
+
|
|
164
|
+
### 创建新项目
|
|
165
|
+
|
|
166
|
+
```bash
|
|
167
|
+
# 使用主要命令
|
|
168
|
+
DC create
|
|
169
|
+
DC create my-app
|
|
170
|
+
DC create --justCloneFromDoneCoding
|
|
171
|
+
|
|
172
|
+
# 使用替代命令
|
|
173
|
+
dc-cli create my-app
|
|
174
|
+
done-coding create my-app
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
### 组件管理
|
|
178
|
+
|
|
179
|
+
```bash
|
|
180
|
+
# 使用主要命令
|
|
181
|
+
DC component add Button
|
|
182
|
+
DC component remove Button
|
|
183
|
+
DC component list
|
|
184
|
+
|
|
185
|
+
# 使用替代命令
|
|
186
|
+
dc-cli component add Button
|
|
187
|
+
done-coding component list
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
### Git 操作
|
|
191
|
+
|
|
192
|
+
```bash
|
|
193
|
+
# 使用主要命令
|
|
194
|
+
DC git init
|
|
195
|
+
DC git clone gitee username
|
|
196
|
+
DC git hooks pre-commit
|
|
197
|
+
DC git check reverse-merge
|
|
198
|
+
|
|
199
|
+
# 使用替代命令
|
|
200
|
+
dc-cli git init
|
|
201
|
+
done-coding git clone gitee username
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
### 模板处理
|
|
205
|
+
|
|
206
|
+
```bash
|
|
207
|
+
# 使用主要命令
|
|
208
|
+
DC template
|
|
209
|
+
|
|
210
|
+
# 使用替代命令
|
|
211
|
+
dc-cli template
|
|
212
|
+
done-coding template
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
### 项目发布
|
|
216
|
+
|
|
217
|
+
```bash
|
|
218
|
+
# 使用主要命令
|
|
219
|
+
DC publish
|
|
220
|
+
|
|
221
|
+
# 使用替代命令
|
|
222
|
+
dc-cli publish
|
|
223
|
+
done-coding publish
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
## 配置
|
|
227
|
+
|
|
228
|
+
您可以在项目根目录创建 `.done-coding.config.js` 文件来自定义配置:
|
|
229
|
+
|
|
230
|
+
```javascript
|
|
231
|
+
export default {
|
|
232
|
+
// 默认模板路径
|
|
233
|
+
templatePath: "./templates",
|
|
234
|
+
|
|
235
|
+
// 组件生成配置
|
|
236
|
+
component: {
|
|
237
|
+
defaultType: "react",
|
|
238
|
+
outputDir: "./src/components",
|
|
239
|
+
},
|
|
240
|
+
|
|
241
|
+
// Git 配置
|
|
242
|
+
git: {
|
|
243
|
+
autoCommit: true,
|
|
244
|
+
commitTemplate: "conventional",
|
|
245
|
+
},
|
|
246
|
+
};
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
## 架构设计
|
|
250
|
+
|
|
251
|
+
done-coding CLI 采用模块化架构,每个子包都是独立的工具:
|
|
252
|
+
|
|
253
|
+
### 包依赖关系
|
|
254
|
+
|
|
255
|
+
```mermaid
|
|
256
|
+
graph TD
|
|
257
|
+
A["@done-coding/cli"] --> B["create-done-coding"]
|
|
258
|
+
A --> C["@done-coding/cli-component"]
|
|
259
|
+
A --> D["@done-coding/cli-config"]
|
|
260
|
+
A --> E["@done-coding/cli-extract"]
|
|
261
|
+
A --> F["@done-coding/cli-git"]
|
|
262
|
+
A --> G["@done-coding/cli-inject"]
|
|
263
|
+
A --> H["@done-coding/cli-publish"]
|
|
264
|
+
A --> I["@done-coding/cli-template"]
|
|
265
|
+
A --> J["@done-coding/cli-utils"]
|
|
266
|
+
|
|
267
|
+
D -.-> F
|
|
268
|
+
|
|
269
|
+
style D fill:#e1f5fe
|
|
270
|
+
style F fill:#e8f5e8
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
### 包间协作关系
|
|
274
|
+
|
|
275
|
+
- **@done-coding/cli-config** → **@done-coding/cli-git**:
|
|
276
|
+
- config 包的 `merge-lint` 模块调用 git 包的 `check reverse-merge` 命令
|
|
277
|
+
- 实现工程化配置中的 git 合并规范检测
|
|
278
|
+
- **所有子包** → **@done-coding/cli-utils**:
|
|
279
|
+
- 提供通用的 CLI 工具函数和类型定义
|
|
280
|
+
- 统一的配置文件读取和命令行参数处理
|
|
281
|
+
|
|
282
|
+
### 目录结构
|
|
283
|
+
|
|
284
|
+
```
|
|
285
|
+
@done-coding/cli (主包)
|
|
286
|
+
├── create-done-coding (项目创建)
|
|
287
|
+
├── @done-coding/cli-component (组件生成)
|
|
288
|
+
├── @done-coding/cli-config (工程配置)
|
|
289
|
+
├── @done-coding/cli-extract (信息提取)
|
|
290
|
+
├── @done-coding/cli-git (Git 操作)
|
|
291
|
+
├── @done-coding/cli-inject (信息注入)
|
|
292
|
+
├── @done-coding/cli-publish (项目发布)
|
|
293
|
+
├── @done-coding/cli-template (模板处理)
|
|
294
|
+
└── @done-coding/cli-utils (工具库)
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
## 故障排除
|
|
298
|
+
|
|
299
|
+
### 常见问题
|
|
300
|
+
|
|
301
|
+
**Q: 命令找不到**
|
|
302
|
+
|
|
303
|
+
```bash
|
|
304
|
+
# 确保全局安装
|
|
305
|
+
npm list -g @done-coding/cli
|
|
306
|
+
|
|
307
|
+
# 重新安装
|
|
308
|
+
npm uninstall -g @done-coding/cli
|
|
309
|
+
npm install -g @done-coding/cli
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
**Q: 权限错误**
|
|
313
|
+
|
|
314
|
+
```bash
|
|
315
|
+
# macOS/Linux 使用 sudo
|
|
316
|
+
sudo npm install -g @done-coding/cli
|
|
317
|
+
|
|
318
|
+
# 或配置 npm 全局路径
|
|
319
|
+
npm config set prefix ~/.npm-global
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
**Q: 版本冲突**
|
|
323
|
+
|
|
324
|
+
```bash
|
|
325
|
+
# 清除缓存
|
|
326
|
+
npm cache clean --force
|
|
327
|
+
|
|
328
|
+
# 检查版本
|
|
329
|
+
DC --version
|
|
330
|
+
```
|
|
331
|
+
|
|
332
|
+
## 贡献指南
|
|
333
|
+
|
|
334
|
+
我们欢迎社区贡献!请查看各个子包的具体贡献指南:
|
|
335
|
+
|
|
336
|
+
- [项目创建工具](https://www.npmjs.com/package/create-done-coding)
|
|
337
|
+
- [组件生成工具](https://www.npmjs.com/package/@done-coding/cli-component)
|
|
338
|
+
- [更多工具](https://gitee.com/done-coding/done-coding-cli)
|
|
339
|
+
|
|
340
|
+
## 许可证
|
|
341
|
+
|
|
342
|
+
MIT © [JustSoSu](https://gitee.com/done-coding)
|
|
343
|
+
|
|
344
|
+
## 相关链接
|
|
345
|
+
|
|
346
|
+
- [Gitee 仓库](https://gitee.com/done-coding/done-coding-cli)
|
|
347
|
+
- [更新日志](./CHANGELOG.md)
|
package/es/cli.mjs
CHANGED
|
@@ -10,7 +10,7 @@ import { crateAsSubcommand as t } from "@done-coding/cli-config";
|
|
|
10
10
|
import { getRootScriptName as d, createMainCommand as i } from "@done-coding/cli-utils";
|
|
11
11
|
const m = {
|
|
12
12
|
name: "@done-coding/cli",
|
|
13
|
-
version: "0.15.
|
|
13
|
+
version: "0.15.19",
|
|
14
14
|
description: "done-coding命令行工具",
|
|
15
15
|
bin: {
|
|
16
16
|
DC: "es/cli.mjs",
|
package/es/dc-cli.mjs
CHANGED
|
@@ -10,7 +10,7 @@ import { crateAsSubcommand as t } from "@done-coding/cli-config";
|
|
|
10
10
|
import { getRootScriptName as d, createMainCommand as i } from "@done-coding/cli-utils";
|
|
11
11
|
const m = {
|
|
12
12
|
name: "@done-coding/cli",
|
|
13
|
-
version: "0.15.
|
|
13
|
+
version: "0.15.19",
|
|
14
14
|
description: "done-coding命令行工具",
|
|
15
15
|
bin: {
|
|
16
16
|
DC: "es/cli.mjs",
|
package/es/done-coding.mjs
CHANGED
|
@@ -10,7 +10,7 @@ import { crateAsSubcommand as t } from "@done-coding/cli-config";
|
|
|
10
10
|
import { getRootScriptName as d, createMainCommand as i } from "@done-coding/cli-utils";
|
|
11
11
|
const m = {
|
|
12
12
|
name: "@done-coding/cli",
|
|
13
|
-
version: "0.15.
|
|
13
|
+
version: "0.15.19",
|
|
14
14
|
description: "done-coding命令行工具",
|
|
15
15
|
bin: {
|
|
16
16
|
DC: "es/cli.mjs",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@done-coding/cli",
|
|
3
|
-
"version": "0.15.
|
|
3
|
+
"version": "0.15.19",
|
|
4
4
|
"description": "done-coding命令行工具",
|
|
5
5
|
"private": false,
|
|
6
6
|
"module": "es/cli.mjs",
|
|
@@ -55,15 +55,15 @@
|
|
|
55
55
|
"node": ">=18.0.0"
|
|
56
56
|
},
|
|
57
57
|
"dependencies": {
|
|
58
|
-
"@done-coding/cli-component": "0.4.
|
|
59
|
-
"@done-coding/cli-config": "0.1.
|
|
60
|
-
"@done-coding/cli-extract": "0.1.
|
|
61
|
-
"@done-coding/cli-git": "0.6.
|
|
62
|
-
"@done-coding/cli-inject": "0.5.
|
|
63
|
-
"@done-coding/cli-publish": "0.7.
|
|
64
|
-
"@done-coding/cli-template": "0.8.
|
|
65
|
-
"@done-coding/cli-utils": "0.8.
|
|
66
|
-
"create-done-coding": "0.11.
|
|
58
|
+
"@done-coding/cli-component": "0.4.9",
|
|
59
|
+
"@done-coding/cli-config": "0.1.12",
|
|
60
|
+
"@done-coding/cli-extract": "0.1.20",
|
|
61
|
+
"@done-coding/cli-git": "0.6.12",
|
|
62
|
+
"@done-coding/cli-inject": "0.5.20",
|
|
63
|
+
"@done-coding/cli-publish": "0.7.13",
|
|
64
|
+
"@done-coding/cli-template": "0.8.7",
|
|
65
|
+
"@done-coding/cli-utils": "0.8.1",
|
|
66
|
+
"create-done-coding": "0.11.22"
|
|
67
67
|
},
|
|
68
|
-
"gitHead": "
|
|
68
|
+
"gitHead": "0930f800167c04a86b56eae9741872dd51bec0c6"
|
|
69
69
|
}
|