Skip to content

feat: add --types-dir flag for custom types output directory#418

Open
jaronnie wants to merge 1 commit intomainfrom
feature/issue-406-types-dir-flag
Open

feat: add --types-dir flag for custom types output directory#418
jaronnie wants to merge 1 commit intomainfrom
feature/issue-406-types-dir-flag

Conversation

@jaronnie
Copy link
Member

@jaronnie jaronnie commented Mar 3, 2026

🎯 功能概述

添加 --types-dir flag 允许用户自定义 types 文件的输出目录,解决了 Issue #406

📝 变更内容

1. 配置增强

  • GenConfig 中添加了 TypesDir 字段
  • 默认值为 internal,保持向后兼容

2. 命令行参数

  • 添加 --types-dir flag 到 jzero gen 命令
  • 用法:jzero gen --types-dir=types
  • 默认:--types-dir=internal(保持原有行为)

3. 代码生成逻辑

  • 修改了 types.go 中硬编码的 internal/types 路径
  • 使用配置的 TypesDir 动态生成路径
  • 更新了 import 路径生成逻辑

🎯 使用场景

# 默认行为 - types 生成在 internal/types
jzero gen

# 生成到项目根目录的 types 文件夹
jzero gen --types-dir=types

# 生成到 pkg/types
jzero gen --types-dir=pkg/types

# 生成到自定义目录
jzero gen --types-dir=shared/types

✅ 测试建议

  1. ✅ 默认行为(不指定 flag)- 应该仍然输出到 internal/types
  2. ✅ 指定 --types-dir=types - 应该输出到项目根目录的 types
  3. ✅ 指定 --types-dir=pkg/types - 应该输出到 pkg/types
  4. ✅ 验证生成的 handler 和 logic 文件的 import 路径正确

🔧 向后兼容

默认值为 internal,不影响现有项目的使用。

Closes #406

- Add TypesDir field to GenConfig
- Add --types-dir flag to gen command (default: internal)
- Update types.go to use configured TypesDir instead of hardcoded internal/types
- Update import paths in generated handler and logic files

Closes #406
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

jzero gen是否可增加Flag支持指定types生成的目录,当前默认在internal下

2 participants