apinstein / watchngo
A php-native inotify-based file watcher to easily trigger compilation. Debounces and coalesces changes to multiple files related to the same desired action.
dev-master
2013-10-22 17:35 UTC
Requires
- php: >=5.2.0
This package is not auto-updated.
Last update: 2024-09-24 01:12:30 UTC
README
A php-native inotify-based file watcher to easily trigger compilation. Debounces and coalesces changes to multiple files related to the same desired action.
背景
我们有一个大型的应用程序,包含4-5个需要“监视和重新编译”功能的不同组件(compass, coffeescript等)。
我花了很多时间尝试各种解决方案,如guard,但始终无法正确配置它们。此外,在许多情况下,它们没有注意到某些机器上的事件,我认为这可能是由于vim和TextMate等不同的保存机制。
除此之外,我对不得不使用ruby/node项目来管理PHP代码库中的任务感到厌烦,并试图帮助PHP社区获得更多健壮的工具。
- php的guard
- php的grunt
特性
- 配置您想要的任意多个“组”
- 指定要监视的文件glob
- 指定在检测到监视文件中的更改时执行的操作
- 每个组的各种监视都会合并并去抖动,这样如果您在项目中的多个文件上全部保存,操作将只运行一次,并且只有在检测到最后更改后,去抖动2秒。
状态
脚本完全可用,但显然代码很差。我只是尽可能快地测试了基本部分。
展望未来,我希望将其重构为一个带有配置文件的正确CLI应用程序,并可能添加插件,这些插件可以为常见的项目(例如,compass生成器可以检查您的compass配置并自动生成watchngo配置)生成配置。