@tianyio/quality-helper
Version:
A comprehensive quality helper tool for project scaffolding and management
244 lines (159 loc) • 5.45 kB
Markdown
# 工具包迁移规划
本文档详细说明了如何将质量相关的配置和工具迁移到 @tianyio/quality-helper 和 @tianyio/fast-util-lib 工具包中,让项目更专注于业务本身。
## 1. 可迁移至 @tianyio/quality-helper 的内容
### 1.1 代码质量工具配置
#### ESLint 配置
项目使用统一的 ESLint 配置,由 @tianyio/quality-helper 提供。
#### Prettier 配置
项目使用统一的 Prettier 配置,由 @tianyio/quality-helper 提供。
### 1.2 Git Hooks 配置
#### Commitlint 配置
项目使用统一的 Commitlint 配置,由 @tianyio/quality-helper 提供。
#### Husky 配置
项目使用 Husky 管理 Git Hooks,配置文件位于 `.husky` 目录。
### 1.3 Lint-Staged 配置
项目使用统一的 Lint-Staged 配置,配置文件为 `.lintstagedrc`。
### 1.4 CLI 工具
@tianyio/quality-helper 提供以下 CLI 命令:
```bash
# 创建项目
npx quality-helper create [project-name]
# 更新配置文件
npx quality-helper update-config
# 更新依赖
npx quality-helper update-deps
# 检查依赖状态
npx quality-helper check-deps
```
## 2. 可迁移至 @tianyio/fast-util-lib 的内容
### 2.1 工具函数
#### 事件系统
```typescript
import { useEvent } from '@tianyio/fast-util-lib'
```
#### 日志模块
```typescript
import { useLogger } from '@tianyio/fast-util-lib'
```
#### 网络模块
```typescript
import { useFetch } from '@tianyio/fast-util-lib'
```
#### 性能监控
```typescript
import { PerformanceMonitor } from '@tianyio/fast-util-lib'
```
#### 错误处理
```typescript
import { initGlobalErrorHandler } from '@tianyio/fast-util-lib'
```
## 3. 迁移计划
### 3.1 第一阶段:配置迁移
1. **ESLint 配置迁移**
- 使用 @tianyio/quality-helper 提供的统一 ESLint 配置
- 项目中无需维护复杂的 ESLint 配置文件
2. **Prettier 配置迁移**
- 使用 @tianyio/quality-helper 提供的统一 Prettier 配置
- 项目中无需维护复杂的 Prettier 配置文件
3. **Commitlint 配置迁移**
- 使用 @tianyio/quality-helper 提供的统一 Commitlint 配置
- 项目中无需维护复杂的 Commitlint 配置文件
### 3.2 第二阶段:脚本迁移
1. **Git Hooks 配置**
- 使用 Husky 管理 Git Hooks
- 配置文件位于 `.husky` 目录
2. **Lint-Staged 配置**
- 使用统一的 Lint-Staged 配置
- 配置文件为 `.lintstagedrc`
### 3.3 第三阶段:工具函数迁移
1. **事件系统迁移**
- 使用 @tianyio/fast-util-lib 提供的事件系统
- 替换项目中的自定义事件实现
2. **日志模块迁移**
- 使用 @tianyio/fast-util-lib 提供的日志模块
- 替换项目中的自定义日志实现
3. **网络模块迁移**
- 使用 @tianyio/fast-util-lib 提供的网络模块
- 替换项目中的自定义网络请求实现
## 4. 使用方式
### 4.1 安装工具包
```bash
pnpm add -D @tianyio/quality-helper
pnpm add @tianyio/fast-util-lib
```
### 4.2 配置文件使用
#### ESLint 配置
项目使用统一的 ESLint 配置,无需额外配置。
#### Prettier 配置
项目使用统一的 Prettier 配置,无需额外配置。
#### Commitlint 配置
项目使用统一的 Commitlint 配置,无需额外配置。
### 4.3 CLI 命令使用
```bash
# 创建项目
npx quality-helper create my-project
# 更新配置文件
npx quality-helper update-config
# 更新依赖
npx quality-helper update-deps
```
### 4.4 工具函数使用
```typescript
// 事件系统
import { useEvent } from '@tianyio/fast-util-lib'
// 日志模块
import { useLogger } from '@tianyio/fast-util-lib'
// 网络模块
import { useFetch } from '@tianyio/fast-util-lib'
// 性能监控
import { PerformanceMonitor } from '@tianyio/fast-util-lib'
// 错误处理
import { initGlobalErrorHandler } from '@tianyio/fast-util-lib'
```
## 5. 迁移后项目结构优化
### 5.1 简化项目配置文件
迁移后,项目中的配置文件将大大简化:
```
project/
├── eslint.config.js # 简化为扩展工具包配置
├── prettier.config.js # 简化为扩展工具包配置
├── commitlint.config.cjs # 简化为扩展工具包配置
└── .lintstagedrc # 简化为扩展工具包配置
```
### 5.2 减少脚本文件
迁移后,项目中的自定义脚本文件将减少:
```
project/
└── scripts/
└── (只保留项目特定的脚本)
```
### 5.3 集中管理质量工具
所有质量相关的工具都通过工具包统一管理:
```json
{
"devDependencies": {
"@tianyio/quality-helper": "workspace:*"
},
"dependencies": {
"@tianyio/fast-util-lib": "workspace:*"
}
}
```
## 6. 优势分析
### 6.1 降低维护成本
- 配置统一管理,一处修改多处生效
- 减少项目中的重复配置文件
- 简化项目结构
### 6.2 提高一致性
- 所有项目使用相同的质量标准
- 统一的代码风格和提交规范
- 一致的测试和构建流程
### 6.3 增强可扩展性
- 工具包提供可扩展的配置方式
- 支持项目特定的定制需求
- 易于升级和维护
### 6.4 促进团队协作
- 统一的开发规范和工具链
- 降低新成员的学习成本
- 提高代码质量和一致性
通过将质量相关的配置、文件、函数、指令等迁移到工具包中,项目可以更专注于业务逻辑的开发,同时确保代码质量和开发效率。