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

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配置)生成配置。