watch/CHANGELOG.md

48 lines
3.2 KiB
Markdown
Raw Permalink Normal View History

# CHANGELOG
## v1.5.4 (2026-06-27)
- **修复 Bug**: 修复了配置 `Types`(文件类型白名单)时,目录本身的创建/删除等事件未能被正确过滤的问题。
- **CLI 体验大幅升级**:
- **紧凑型 UI**: 重新设计了日志输出Banner 与 Event视觉更加紧凑专业彻底分离了应用输出与 Watch 日志。
- **智能追加参数**: 当使用 `--go` 等预设并提供自定义参数(如 `watch --go --dev`CLI 会智能判断并将其追加到默认命令(如 `go run . -- --dev`)。
- **.gitignore 支持**: 默认自动读取当前目录的 `.gitignore``.ignore` 文件并将其中的规则加入排除列表。
- **.watch 任务文件**: 支持基于 `.watch` 文件的极简任务配置(键值对格式),可无参数直接执行默认任务,或通过 `watch --taskname` 执行特定任务。
- **清屏支持**: 新增 `-c, --clear` 参数,在重启前自动清理终端。
- **手动重启**: 支持在运行时键入 `rs` + 回车强行重启服务。
- **恢复参数**: 重新暴露 `-E, --exclude-ext` 选项(原 `-exclude-type`)方便灵活排除特定后缀。
- **参数标准化**: `-path` 改为 `-w/--watch``-type` 改为 `-e/--ext``-exclude-path` 改为 `-i/--ignore` 等。
## v1.5.3 (2026-06-22)
- **新增 CLI**: 新增 `watch/watch` 子包,提供 `watch` 命令行工具,支持 `go install apigo.cc/go/watch/watch@latest` 安装。
- 支持 `-type`/`-exclude-type`/`-exclude-path` 等 watch.Start 全部配置能力。
- 预设快捷方式:`-go`/`-web`/`-js`/`-py` 对应各开发场景。
- 预设值与显式参数合并,不替换。
- 无命令时打印变更事件到 stdout。
- **依赖更新**: 新增依赖 `go/shell` v1.5.4,用于子进程生命周期管理。
## v1.5.2 (2026-06-21)
- **依赖更新**: 升级依赖 `jsmod``v1.5.3``cast``v1.5.3``rand``v1.5.3``encoding``v1.5.4``safe``v1.5.2``file``v1.5.5`
## v1.5.1 (2026-06-11)
- **版本对齐**: 基础设施全局对齐 v1.5.1。
## v1.5.0 (2026-05-10)
- **版本对齐**: 基础设施全局对齐 v1.5.0。
## v1.1.1
- **性能优化**: 将 `Types``ExcludeTypes``Events` 的过滤逻辑从 $O(n)$ 优化为 $O(1)$ 的 Map 查找。
- **基础设施对齐**: 更新依赖 `go/file` 至 v1.0.7, `go/encoding` 至 v1.0.6。
- **代码质量**: 统一变量命名规范(`watcher`, `event`),重命名内部方法 `isMatchExclude``isExcluded` 提升可读性。
- **测试增强**: 引入专门的 `bench_test.go`,补全匹配逻辑与防抖逻辑的性能基准测试。
## v1.1.0
- **核心升级**: 引入 `github.com/gobwas/glob` 引擎。
- **Gitignore 语义**: `Excludes` 现在支持 `**/node_modules/**` 等复杂路径模式,并能正确处理目录边界。
- **路径归一化**: 内部统一使用绝对路径与 `/` 分隔符进行匹配,确保跨平台表现一致。
- **事件防抖 (Debounce)**: 引入 `apigo.cc/go/timer` 的防抖能力,支持 `Debounce` 配置以合并碎片化事件。
## v1.0.0
-`@ssgo/tool/watcher` 迁移并重构。
- **基础设施对齐**: 使用 `apigo.cc/go/file` 替代标准库。
- **API 优化**: 引入 `Event` 结构体,提供 `EasyStart` 极简入口。