wach
v3.0.0
Published
Run a command when a file add/update event occurs
Downloads
32
Maintainers
Readme
8.
888b ,8' .8. ,o888888o. 8 8888 8
8.
888b ,8' .888. 8888 88. 8 8888 8
8.888b ,8' :88888. ,8 8888
8. 8 8888 8
8.
888b .b ,8' . 88888. 88 8888 8 8888 8
8.888b 88b ,8' .8.
88888. 88 8888 8 8888 8
8.
888b .888b,8' .8
8. 88888. 88 8888 8 8888 8
8.888b8.
8888' .8' 8.
88888. 88 8888 8 8888888888888
8.
8888.
88' .8' 8.
88888.8 8888 .8' 8 8888 8
8.8'
8,' .888888888.
88888. 8888 ,88' 8 8888 8
8.
8' .8'
8. 88888.
8888888P' 8 8888 8
"watch changes"
Watch for changes to files within the current directory and run a command when they occur.
Wach is really fast, the command is run as soon as the file changes, no polling delay.
Comes with two executables: wach
and wachs
.
The wach
utility will run any command (or inline shell script) whenever
files in the current directory are updated.
The wachs
(there's an "s" on the end) utility does the same thing but for
commands that launch a long running process like a web server. It'll kill
the current process and launch a new one.
Requirements
Only runs on OS X >=10.7 (Lion and up)
Install
npm install wach
Examples
Run make
every time a file in the current directory is updated/added
wach make
Compile and run on every change
wach "gcc hello.c && ./a.out"
Only watch for changes to coffee files, compile the one that changed
wach -o *.coffee, coffee -c {}
Run the tests every time a ruby file changes
TEST_DIR=generators wach -o **/*.rb, bundle exec rake test
Restart a node app any time a js file changes
wachs -o *.js, node server.js
Node API
wach = require('wach'); wach('.', function(path) { return console.log("something happened to " + path + "!"); })
Contributing
Patches welcome. Especially if you'd like to re-write this in plain JavaScript. Just fork and make a pull request
Other similar projects:
Patrick Mueller's wr https://github.com/pmuellr/wr
steakout http://michael-mccracken.net/software/stakeout.tgz
steakout.rb http://www.pragmaticautomation.com/cgi-bin/pragauto.cgi/Monitor/StakingOutFileChanges.rdoc
the --watch flag for coffeescript http://jashkenas.github.com/coffee-script/#usage
unix watch http://en.wikipedia.org/wiki/Watch_(Unix)
TJ Holowaychuk's watch https://github.com/visionmedia/watch
Isaac Z. Schlueter's node-supervisor https://github.com/isaacs/node-supervisor
David Trejo's run.js https://github.com/DTrejo/run.js
Gabriel Gironda's kqfm https://github.com/gabrielg/kqfm
Mark Bao's watchdir https://github.com/markbao/watchdir