Ready for Review
As a 开发者,
I want 将现有的独立模块(user-module、auth-module、file-module)改为适配器模式,重新导出 @d8d/core-module 中的代码,
so that 我们可以简化依赖关系,统一代码管理到 core-module 中,提高代码维护性。
core-module@d8d/core-modulepackages/user-module/src 目录packages/auth-module/src 目录packages/file-module/src 目录[x] 将 user-module 改为适配器模式 (AC: 1, 2, 3)
packages/user-module/src 目录中的完整代码packages/user-module/src/index.ts,重新导出 @d8d/core-module/user-modulepackages/user-module-mt/src/index.mt.ts代码示例:
// User Module Adapter Package
// 适配器包,从核心包重新导出所有接口
export * from '@d8d/core-module/user-module'
[x] 创建 packages/user-module/src/schemas/index.ts,重新导出 @d8d/core-module/user-module/schemas
参考多租户模块写法:packages/user-module-mt/src/schemas/index.mt.ts
代码示例:
// User Module Schemas Adapter
// 适配器包,从核心包重新导出schemas接口
export * from '@d8d/core-module/user-module/schemas'
[x] 更新 packages/user-module/package.json:简化依赖关系,只依赖 @d8d/core-module
[x] 将 auth-module 改为适配器模式 (AC: 1, 2, 3)
packages/auth-module/src 目录中的完整代码packages/auth-module/src/index.ts,重新导出 @d8d/core-module/auth-modulepackages/auth-module-mt/src/index.mt.ts代码示例:
// Auth Module Adapter Package
// 适配器包,从核心包重新导出所有接口
export * from '@d8d/core-module/auth-module'
[x] 创建 packages/auth-module/src/schemas/index.ts,重新导出 @d8d/core-module/auth-module/schemas
参考多租户模块写法:packages/auth-module-mt/src/schemas/index.mt.ts
代码示例:
// Auth Module Schemas Adapter
// 适配器包,从核心包重新导出schemas接口
export * from '@d8d/core-module/auth-module/schemas'
[x] 更新 packages/auth-module/package.json:简化依赖关系,只依赖 @d8d/core-module
[x] 将 file-module 改为适配器模式 (AC: 1, 2, 3)
packages/file-module/src 目录中的完整代码packages/file-module/src/index.ts,重新导出 @d8d/core-module/file-modulepackages/file-module-mt/src/index.ts代码示例:
// File Module Adapter Package
// 适配器包,从核心包重新导出所有接口
export * from '@d8d/core-module/file-module'
[x] 创建 packages/file-module/src/schemas/index.ts,重新导出 @d8d/core-module/file-module/schemas
参考多租户模块写法:packages/file-module-mt/src/schemas/index.ts
代码示例:
// File Module Schemas Adapter
// 适配器包,从核心包重新导出schemas接口
export * from '@d8d/core-module/file-module/schemas'
[x] 更新 packages/file-module/package.json:简化依赖关系,只依赖 @d8d/core-module
[x] 验证适配器模式功能正常 (AC: 4, 5)
core-modulecd packages/user-module && pnpm typecheckcd packages/auth-module && pnpm typecheckcd packages/file-module && pnpm typecheck[x] 更新文档 (AC: 6)
packages/core-module/ - 核心模块聚合包 (@d8d/core-module)user-module/, auth-module/, file-module/, system-config-module/tests/ 目录在包根目录下 [Source: architecture/testing-strategy.md#单元测试]packages/*-module/tests/unit/**/*.test.ts [Source: architecture/testing-strategy.md#单元测试]packages/*-module/tests/integration/**/*.test.ts [Source: architecture/testing-strategy.md#集成测试]cd packages/user-module && pnpm testcd packages/user-module && pnpm test:unitcd packages/auth-module && pnpm test:integrationcd packages/user-module && pnpm test:coverage当前架构:
多租户版本:
core-module-mt 中user-module-mt、auth-module-mt、file-module-mt 只是适配器,重新导出 @d8d/core-module-mt 中的代码非多租户版本(当前):
user-module、auth-module、file-module 包含完整代码目标架构:
core-module 中(通过 Story 1 创建)@d8d/core-module 中的代码packages/core-module/user-module/src/index.ts - core-module 中的用户模块入口packages/core-module/auth-module/src/index.ts - core-module 中的认证模块入口packages/core-module/file-module/src/index.ts - core-module 中的文件模块入口packages/core-module/user-module/src/schemas/index.ts - core-module 中的用户模式packages/core-module/auth-module/src/schemas/index.ts - core-module 中的认证模式packages/core-module/file-module/src/schemas/index.ts - core-module 中的文件模式packages/user-module-mt/src/index.mt.ts - 用户模块适配器入口(参考写法)
// User Module MT Adapter Package
// 适配器包,从核心包重新导出所有接口
export * from '@d8d/core-module-mt/user-module-mt'
packages/user-module-mt/src/schemas/index.mt.ts - 用户模式适配器(参考写法)
// User Module MT Schemas Adapter
// 适配器包,从核心包重新导出schemas接口
export * from '@d8d/core-module-mt/user-module-mt/schemas'
packages/auth-module-mt/src/index.mt.ts - 认证模块适配器入口(参考写法)
// Auth Module MT Adapter Package
// 适配器包,从核心包重新导出所有接口
export * from '@d8d/core-module-mt/auth-module-mt'
packages/auth-module-mt/src/schemas/index.mt.ts - 认证模式适配器(参考写法)
// Auth Module MT Schemas Adapter
// 适配器包,从核心包重新导出schemas接口
export * from '@d8d/core-module-mt/auth-module-mt/schemas'
packages/file-module-mt/src/index.ts - 文件模块适配器入口(参考写法)
// File Module MT Adapter Package
// 适配器包,从核心包重新导出所有接口
export * from '@d8d/core-module-mt/file-module-mt'
packages/file-module-mt/src/schemas/index.ts - 文件模式适配器(参考写法)
// File Module MT Schemas Adapter
// 适配器包,从核心包重新导出schemas接口
export * from '@d8d/core-module-mt/file-module-mt/schemas'
当前独立模块依赖多个包:
@d8d/shared-types@d8d/shared-utils@d8d/shared-crud改为适配器模式后,只需依赖:
@d8d/core-moduleimport { UserService } from '@d8d/user-module';tests/ 目录在包根目录下 [Source: architecture/testing-strategy.md#单元测试]cd packages/user-module && pnpm test:unitcd packages/auth-module && pnpm test:integrationcd packages/file-module && pnpm testcd packages/user-module && pnpm typecheck| Date | Version | Description | Author |
|---|---|---|---|
| 2025-12-02 | 1.0 | 初始故事创建 | Bob (Scrum Master) |
| 2025-12-02 | 1.1 | 完成适配器模式转换 | James (Dev Agent) |
This section is populated by the development agent during implementation
/tmp/module-backup-006.002/@d8d/core-module 中的对应模块@d8d/core-modulepackages/user-module/src/index.ts - 用户模块适配器入口packages/user-module/src/schemas/index.ts - 用户模块schemas适配器packages/auth-module/src/index.ts - 认证模块适配器入口packages/auth-module/src/schemas/index.ts - 认证模块schemas适配器packages/file-module/src/index.ts - 文件模块适配器入口packages/file-module/src/schemas/index.ts - 文件模块schemas适配器packages/user-module/package.json - 简化依赖和scriptspackages/auth-module/package.json - 简化依赖和scriptspackages/file-module/package.json - 简化依赖和scriptspackages/core-module/package.json - 修复导出类型定义docs/stories/006.002.convert-independent-modules-to-adapter-pattern.story.md - 更新状态和完成记录packages/user-module/tests/ - 删除测试目录packages/auth-module/tests/ - 删除测试目录packages/file-module/tests/ - 删除测试目录packages/user-module/src/entities/ - 清空原有代码packages/user-module/src/services/ - 清空原有代码packages/user-module/src/routes/ - 清空原有代码packages/auth-module/src/middleware/ - 清空原有代码packages/auth-module/src/services/ - 清空原有代码packages/auth-module/src/routes/ - 清空原有代码packages/file-module/src/entities/ - 清空原有代码packages/file-module/src/services/ - 清空原有代码packages/file-module/src/routes/ - 清空原有代码Results from QA Agent QA review of the completed story implementation