mcpField
W
watchexec

watchexec

官方Agent-ready
github.com开发者工具7.3kwatchexec5 天前更新
代码仓库访问官网

关于 watchexec

watchexec 在文件系统发生变化时自动执行指定命令。支持按文件类型、路径或扩展名过滤监听,并通过防抖机制避免连续触发。适用于开发工作流的自动化,如测试、构建或编译。

主要功能

  1. 01监听文件变化并触发命令执行
  2. 02按扩展名、路径或模式过滤文件监听
  3. 03可配置的防抖延迟减少重复执行

适用场景

  1. 01在代码变化时自动运行测试或构建
  2. 02为编码 Agent 实现文件变化的实时响应机制
  3. 03简化开发工作流中的重复性任务

安装

选择你的系统或包管理器,复制命令到终端运行。

$
brew install watchexec

安装完成后运行watchexec --version确认安装成功。

命令示例

常用命令按使用顺序排列。

01
watchexec npm test
02
watchexec -e ts -- npm run build

详细介绍

主分支 CI 状态

Watchexec

软件开发常常需要反复运行相同的命令。真无聊!

watchexec 是一个简单、独立的工具,会监视某个路径,并在检测到修改时运行命令。

使用场景示例:

  • 自动运行单元测试
  • 运行代码检查工具/语法检查工具
  • 重新构建构件

功能

  • 调用和使用简单,不需要使用涉及 xargs 的晦涩命令行
  • 可在 OS X、Linux 和 Windows 上运行
  • 监视当前目录及其所有子目录中的变更
  • 将多个文件系统事件合并为一个,适用于保存时会使用交换/备份文件的编辑器
  • 加载 .gitignore 和 .ignore 文件
  • 使用进程组来持续跟踪派生进程
  • 通过环境变量或 STDIN 提供发生变更的路径
  • 不需要语言运行时,不依赖任何特定语言或生态系统
  • 还有更多!

快速开始

监视当前目录及其所有子目录中的所有 JavaScript、CSS 和 HTML 文件,在检测到变更时运行 npm run build:

$ watchexec -e js,css,html npm run build

当当前目录(及其所有子目录)中的任何 Python 文件发生变更时,调用/重启 python server.py:

$ watchexec -r -e py -- python server.py

更多用法示例:参见 CLI README!

安装

打包状态

所有选项的详细说明:参见 CLI README, 在线帮助(watchexec -h、watchexec --help 或 watchexec --manual), 以及手册页。

搭配使用

Watchexec 与以下工具搭配使用效果很好:

  • checkexec:仅当源文件比目标文件新时才运行
  • just:make 的现代替代方案
  • systemfd:在开发过程中传递套接字

扩展

下游项目

watchexec 及相关 Crate 的部分下游项目:

  • cargo watch:专为 Rust/Cargo 项目打造的监视工具。
  • cargo lambda:用于 Rust 驱动的 AWS Lambda 函数的开发工具。
  • create-rust-app:Rust+React Web 应用模板。
  • devenv.sh:使用基于 nix 的声明式配置的开发环境。
  • dotter:点文件管理器。
  • ghciwatch:专为 Haskell 项目打造的监视工具。
  • tectonic:TeX/LaTeX 排版系统。

评论

支持 Markdown