-
Notifications
You must be signed in to change notification settings - Fork 12
Run a command when a file add/update event occurs
License
quackingduck/wach
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
`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.`888`8.`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
About
Run a command when a file add/update event occurs
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published