@shuiyangsuan/cli 0.0.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/README.md ADDED
@@ -0,0 +1,226 @@
1
+ # @shuiyangsuan/cli
2
+
3
+ 一个基于 Node.js 的命令行工具集,提供高效的文件管理功能。
4
+
5
+ ## ✨ 特性
6
+
7
+ - 🚀 **快速删除** - 支持 glob 模式批量删除文件和文件夹
8
+ - 🔍 **预览模式** - dry-run 模式,删除前可预览将要删除的内容
9
+ - 🛡️ **安全保护** - 默认需要确认,防止误删
10
+ - 📦 **并行处理** - 并行执行删除操作,提升性能
11
+ - ⚡ **现代化工具栈** - 使用 TypeScript + Bun Test + Rolldown 构建
12
+
13
+ ## 📦 安装
14
+
15
+ ### 从 npm 安装(推荐)
16
+
17
+ ```bash
18
+ npm install -g @shuiyangsuan/cli
19
+ ```
20
+
21
+ ### 从源码安装
22
+
23
+ ```bash
24
+ git clone <repository-url>
25
+ cd cli
26
+ npm install
27
+ npm run build
28
+ npm link
29
+ ```
30
+
31
+ ## 🚀 使用方法
32
+
33
+ ### 基本用法
34
+
35
+ ```bash
36
+ # 删除单个文件
37
+ by delete file.txt
38
+
39
+ # 删除多个文件
40
+ by delete file1.txt file2.txt file3.log
41
+
42
+ # 删除文件夹
43
+ by delete my-folder/
44
+
45
+ # 使用别名
46
+ by rm file.txt
47
+ by del file.txt
48
+ ```
49
+
50
+ ### Glob 模式匹配
51
+
52
+ ```bash
53
+ # 删除所有 .txt 文件
54
+ by delete "*.txt"
55
+
56
+ # 删除所有 .log 文件
57
+ by delete "**/*.log"
58
+
59
+ # 删除特定前缀的文件
60
+ by delete "test-*"
61
+
62
+ # 混合使用多个模式
63
+ by delete "*.tmp" "*.cache" "dist/**"
64
+ ```
65
+
66
+ ### 选项参数
67
+
68
+ ```bash
69
+ # 强制删除,跳过确认提示
70
+ by delete "*.tmp" --force
71
+ by delete "*.tmp" -f
72
+
73
+ # 预览模式,仅查看将要删除的内容
74
+ by delete "*.tmp" --dry-run
75
+ by delete "*.tmp" -n
76
+
77
+ # 详细输出模式
78
+ by delete "*.tmp" --verbose
79
+ by delete "*.tmp" -v
80
+
81
+ # 使用配置文件中的默认设置
82
+ by delete "*.tmp" --use-defaults
83
+ by delete "*.tmp" -d
84
+ ```
85
+
86
+ ### 组合使用示例
87
+
88
+ ```bash
89
+ # 预览并详细输出
90
+ by delete "dist/**" --dry-run --verbose
91
+
92
+ # 强制删除所有临时文件
93
+ by delete "*.tmp" "*.log" --force --verbose
94
+
95
+ # 删除构建产物(先预览确认)
96
+ by delete "dist" "build" ".next" --dry-run
97
+ ```
98
+
99
+ ## 📖 命令说明
100
+
101
+ ### delete (rm, del)
102
+
103
+ 删除文件和文件夹,支持 glob 模式匹配。
104
+
105
+ **语法:**
106
+ ```bash
107
+ by delete <patterns...> [options]
108
+ ```
109
+
110
+ **参数:**
111
+ - `<patterns...>` - 要删除的文件或文件夹路径/模式(支持多个)
112
+
113
+ **选项:**
114
+ - `-f, --force` - 强制删除,不提示确认
115
+ - `-n, --dry-run` - 预览模式,仅显示将要删除的内容
116
+ - `-v, --verbose` - 详细输出模式
117
+ - `-d, --use-defaults` - 使用配置文件中的默认模式
118
+
119
+ **退出码:**
120
+ - `0` - 成功
121
+ - `1` - 失败或有错误发生
122
+
123
+ ## 🔧 开发
124
+
125
+ ### 环境要求
126
+
127
+ - Node.js >= 24.0.0
128
+ - Bun (用于测试)
129
+
130
+ ### 开发命令
131
+
132
+ ```bash
133
+ # 安装依赖
134
+ npm install
135
+
136
+ # 开发模式(监听变化自动构建)
137
+ npm run dev
138
+
139
+ # 构建生产版本
140
+ npm run build
141
+
142
+ # 运行测试
143
+ npm test
144
+ # 或
145
+ bun test
146
+
147
+ # 运行手动测试
148
+ npm run test:manual
149
+
150
+ # 调试模式
151
+ npm run test:debug
152
+
153
+ # 代码检查
154
+ npm run lint
155
+
156
+ # 代码格式化
157
+ npm run fmt
158
+ ```
159
+
160
+ ### 项目结构
161
+
162
+ ```
163
+ cli/
164
+ ├── src/
165
+ │ ├── commands/ # CLI 命令定义
166
+ │ │ ├── index.ts # 命令导出
167
+ │ │ └── delete.ts # 删除命令实现
168
+ │ ├── config/ # 配置相关
169
+ │ │ ├── index.ts # 配置加载
170
+ │ │ └── types.ts # 配置类型
171
+ │ ├── utils/ # 工具函数
172
+ │ │ ├── file.ts # 文件操作
173
+ │ │ └── logger.ts # 日志输出
174
+ │ └── index.ts # 入口文件
175
+ ├── __tests__/ # 测试文件
176
+ │ ├── delete.test.ts # 删除命令测试
177
+ │ └── utils/ # 测试工具函数
178
+ ├── dist/ # 构建输出目录
179
+ └── package.json
180
+ ```
181
+
182
+ ## 🧪 测试
183
+
184
+ 项目使用 Bun Test 进行测试,确保所有功能正常工作。
185
+
186
+ ```bash
187
+ # 运行所有测试
188
+ bun test
189
+
190
+ # 测试覆盖率(未来添加)
191
+ bun test --coverage
192
+ ```
193
+
194
+ 测试覆盖以下场景:
195
+ - ✅ 基础删除功能(单文件、多文件、文件夹)
196
+ - ✅ 预览模式(dry-run)
197
+ - ✅ 强制删除模式
198
+ - ✅ 错误处理
199
+ - ✅ 复杂场景(嵌套目录、特殊字符文件名)
200
+
201
+ ## 📝 配置
202
+
203
+ 可以通过配置文件自定义默认行为(配置功能开发中)。
204
+
205
+ ## 🤝 贡献
206
+
207
+ 欢迎提交 Issue 和 Pull Request!
208
+
209
+ ## 📄 许可证
210
+
211
+ MIT License
212
+
213
+ ## 👤 作者
214
+
215
+ yangguodong
216
+
217
+ ## 🛠️ 技术栈
218
+
219
+ - **TypeScript** - 类型安全的 JavaScript 超集
220
+ - **commander** - CLI 框架
221
+ - **fast-glob** - 快速的 glob 模式匹配
222
+ - **Rolldown** - 构建工具
223
+ - **Bun Test** - 测试框架
224
+ - **oxlint** - 代码检查
225
+ - **oxfmt** - 代码格式化
226
+ - **husky + lint-staged** - Git Hooks 管理
@@ -0,0 +1,16 @@
1
+ //#region src/config/types.d.ts
2
+ interface CliConfig {
3
+ /** 默认的 glob 模式 */
4
+ defaultPatterns?: string[];
5
+ /** 默认的删除路径 */
6
+ defaultPaths?: string[];
7
+ /** 是否强制删除不提示 */
8
+ force?: boolean;
9
+ /** 预览模式 */
10
+ dryRun?: boolean;
11
+ /** 详细日志输出 */
12
+ verbose?: boolean;
13
+ }
14
+ //#endregion
15
+ export { CliConfig };
16
+ //# sourceMappingURL=index.d.ts.map