UNPKG

@tianyio/quality-helper

Version:

A comprehensive quality helper tool for project scaffolding and management

244 lines (159 loc) 5.45 kB
# 工具包迁移规划 本文档详细说明了如何将质量相关的配置和工具迁移到 @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 促进团队协作 - 统一的开发规范和工具链 - 降低新成员的学习成本 - 提高代码质量和一致性 通过将质量相关的配置、文件、函数、指令等迁移到工具包中,项目可以更专注于业务逻辑的开发,同时确保代码质量和开发效率。