|
|
@@ -17,30 +17,31 @@ Draft
|
|
|
6. 现有 server package 重构为使用新的基础设施包
|
|
|
7. 所有基础设施包通过单元测试和集成测试
|
|
|
8. 现有功能通过回归测试验证无影响
|
|
|
+9. 所有新包的依赖版本与 packages/server 保持一致
|
|
|
|
|
|
## Tasks / Subtasks
|
|
|
- [ ] 创建 shared-types package (AC: 1)
|
|
|
- [ ] 创建 package.json 配置
|
|
|
- [ ] 迁移通用类型定义(ApiResponse、Pagination、QueryParams等)
|
|
|
- - [ ] 配置 TypeScript 编译选项
|
|
|
+ - [ ] 配置 TypeScript 编译选项(包含 `"composite": true`)
|
|
|
- [ ] 编写基础测试(放在 tests/unit/)
|
|
|
- [ ] 创建 database-core package (AC: 2)
|
|
|
- [ ] 创建 package.json 配置
|
|
|
- [ ] 迁移数据库连接配置和基础实体
|
|
|
- [ ] 提供数据库连接管理服务
|
|
|
- - [ ] 配置 TypeScript 编译选项
|
|
|
+ - [ ] 配置 TypeScript 编译选项(包含 `"composite": true`)
|
|
|
- [ ] 编写单元测试(放在 tests/unit/)
|
|
|
- [ ] 创建 auth-core package (AC: 3)
|
|
|
- [ ] 创建 package.json 配置
|
|
|
- [ ] 迁移认证相关的核心服务
|
|
|
- [ ] 提供 JWT 令牌管理
|
|
|
- - [ ] 配置 TypeScript 编译选项
|
|
|
+ - [ ] 配置 TypeScript 编译选项(包含 `"composite": true`)
|
|
|
- [ ] 编写单元测试(放在 tests/unit/)
|
|
|
- [ ] 创建 utils-core package (AC: 4)
|
|
|
- [ ] 创建 package.json 配置
|
|
|
- [ ] 迁移通用工具函数
|
|
|
- [ ] 提供常用工具类
|
|
|
- - [ ] 配置 TypeScript 编译选项
|
|
|
+ - [ ] 配置 TypeScript 编译选项(包含 `"composite": true`)
|
|
|
- [ ] 编写单元测试(放在 tests/unit/)
|
|
|
- [ ] 配置 pnpm workspace 依赖关系 (AC: 5)
|
|
|
- [ ] 更新根目录 package.json workspace 配置
|
|
|
@@ -54,6 +55,10 @@ Draft
|
|
|
- [ ] 运行所有单元测试(tests/unit/)
|
|
|
- [ ] 运行集成测试(tests/integration/)
|
|
|
- [ ] 验证现有功能无回归
|
|
|
+- [ ] 验证依赖版本对齐 (AC: 9)
|
|
|
+ - [ ] 检查所有新包的依赖版本与 packages/server 保持一致
|
|
|
+ - [ ] 验证关键依赖版本(typeorm、hono、zod等)完全一致
|
|
|
+ - [ ] 确保开发依赖版本也保持一致
|
|
|
|
|
|
## Dev Notes
|
|
|
|
|
|
@@ -73,6 +78,9 @@ Draft
|
|
|
- 遵循现有的代码风格和命名规范
|
|
|
- 提供完整的类型定义导出
|
|
|
- 配置适当的构建脚本
|
|
|
+- **依赖版本对齐**: 所有外部依赖版本必须与 packages/server 保持一致
|
|
|
+- **TypeScript 配置**: 所有 package 的 tsconfig.json 必须设置 `"composite": true`
|
|
|
+- **Package 输出配置**: package.json 中的 `"main"`、`"types"` 和 `"exports"` 必须指向 `src` 目录(pnpm workspace 直接引用源码)
|
|
|
|
|
|
### 依赖关系设计
|
|
|
```json
|
|
|
@@ -111,6 +119,22 @@ Draft
|
|
|
}
|
|
|
```
|
|
|
|
|
|
+### 关键依赖版本对齐要求
|
|
|
+**必须与 packages/server 完全一致的依赖版本:**
|
|
|
+- `typeorm`: ^0.3.20
|
|
|
+- `hono`: ^4.8.5
|
|
|
+- `zod`: ^4.1.12
|
|
|
+- `@hono/zod-openapi`: 1.0.2
|
|
|
+- `jsonwebtoken`: ^9.0.2
|
|
|
+- `bcrypt`: ^6.0.0
|
|
|
+- `pg`: ^8.16.3
|
|
|
+- `axios`: ^1.12.2
|
|
|
+
|
|
|
+**开发依赖版本对齐:**
|
|
|
+- `typescript`: ^5.8.3
|
|
|
+- `vitest`: ^3.2.4
|
|
|
+- `@types/*` 相关依赖版本保持一致
|
|
|
+
|
|
|
### 测试标准
|
|
|
- **测试框架**: Vitest
|
|
|
- **测试位置**: 每个 package 的 `tests/` 目录(遵循现有测试策略)
|
|
|
@@ -123,6 +147,9 @@ Draft
|
|
|
| Date | Version | Description | Author |
|
|
|
|------|---------|-------------|--------|
|
|
|
| 2025-11-10 | 1.0 | 初始创建故事文档 | Bob (Scrum Master) |
|
|
|
+| 2025-11-10 | 1.1 | 添加依赖版本对齐要求 | Bob (Scrum Master) |
|
|
|
+| 2025-11-10 | 1.2 | 添加 TypeScript composite 配置要求 | Bob (Scrum Master) |
|
|
|
+| 2025-11-10 | 1.3 | 修正 Package 输出配置指向 src 目录 | Bob (Scrum Master) |
|
|
|
|
|
|
## Dev Agent Record
|
|
|
*此部分由开发代理在实现过程中填写*
|