ds_builder 1.0.4 copy "ds_builder: ^1.0.4" to clipboard
ds_builder: ^1.0.4 copied to clipboard

Flutter项目构建工具,包括路由代码生成和资源R文件生成。与build_runner无缝集成。

1.0.4 - 2026-03-12 #

改进 #

  • 移除 freezed 依赖,使用普通 Dart 类替代
  • 生成的状态类使用简单的多构造函数模式和三元判断
  • 状态类支持 when 方法用于模式匹配
  • 页面模板使用 state.isLoading/isSuccess/isError 判断代替 when 调用
  • 统一导入 StateStatus 枚举,路径为 package:{packageName}/core/models/state_status.dart
  • 状态文件和仓库文件现在独立重新生成,不依赖控制器是否存在

1.0.3 - 2026-03-12 #

新功能 #

  • route_config.dart 路由项新增第 5 个布尔参数:requireLogin
  • 支持路由级登录控制:requireLogin = false 的路由将跳过登录重定向校验

改进 #

  • 兼容旧路由格式:4 个参数写法继续可用,并默认 requireLogin = true
  • 更新文档中的 routesConfig 示例与参数说明

1.0.2 - 2026-03-02 #

修复 #

  • 路由生成器在生成 StatefulShellRoute 时会引用 HomeScreen,现已在未配置自定义导入时自动补充 widgets/home_screen.dart 导入
  • 新增 HomeScreen 自动生成:当存在非 auth 分组路由且 lib/widgets/home_screen.dart 不存在时,自动创建默认实现

改进 #

  • 减少路由模板初次生成时因缺失 HomeScreen 导致的编译错误

1.1.0 - 2026-02-02 #

新功能 #

灵活的自定义导入配置

  • 添加了 customImports 配置选项,允许在 ds_builder_config.yaml 中指定自定义导入
  • 生成器现在自动检测项目的包名,无需硬编码
  • 支持多项目部署 - 相同的 builder 可以用于任何 Flutter 项目

动态包名检测

  • 移除所有硬编码的 package:ugos 引用
  • RouterBuilder 现在使用 buildStep.inputId.package 动态获取项目包名
  • 生成的文件(router.g.dart、controllers、pages)都使用正确的项目包名

改进 #

  • 修复了自定义导入的硬编码问题(package:ugos/widgets/home_screen.dart 等)
  • 改进了对多个项目的支持
  • 代码生成更加通用和可复用

修复 #

  • 修正了控制器和页面生成中的包名引用

1.0.0 - 2026-02-02 #

初始版本 #

新增功能

  • 路由构建器:从 route_config.dart 生成路由配置

    • 自动生成带有 GoRouter 设置的 router.g.dart
    • 创建 RouteNames 类以供类型安全的路由引用
    • 支持参数化和非参数化路由
    • 强制执行 Page 类命名约定
  • 资源构建器:从资源目录自动生成 R.dart 文件

    • 递归扫描资源
    • 为所有资源生成类型安全的常量
    • 将文件名转换为驼峰式变量名
    • 智能处理重复名称
  • 配置系统

    • ds_builder_config.yaml 用于自定义
    • 可配置的资源忽略目录
    • 快速设置的合理默认值
    • 每个构建器的配置支持

特性

  • 带有默认值的零配置模式
  • 无缝 build_runner 集成
  • 增量构建支持
  • 清晰的错误消息和日志记录
  • 基于 YAML 的配置

已知限制 #

  • 路由必须在 lib/route_config.dart 中定义
  • 资源目录必须在 assets/
  • 生成的 R.dart 总是输出到 lib/res/r.dart

依赖项 #

  • build: ^2.4.0
  • path: ^1.9.0
  • yaml: ^3.1.2
1
likes
130
points
214
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Flutter项目构建工具,包括路由代码生成和资源R文件生成。与build_runner无缝集成。

License

MIT (license)

Dependencies

build, path, yaml

More

Packages that depend on ds_builder