Gazer
Watch some files, do a thing
A simple wrapper for Shama's gaze module that performs an arbitrary command when files change. Like watchify, but for everything.
Installation
This works best as adevDependency
in the project you plan to use it
in:$ npm install --save-dev gazer
You can easily invoke
gazer
with npm run
via npm scripts that you
set up in your package.json. See the usage example below for more
details.If you want to use this everywhere, across multipe projects, you can install it globally, too:
$ npm install -g gazer
Usage
$ gazer --pattern "readme.md" echo "blorp"
[readme.md changes]
> "blorp"
Arbitrary watch tasks with npm run
If you haven't read substack's post describing lightweight build steps withnpm run
, I'll
give you a moment to get up to speed.Here's how you might use
gazer
to run a build task every time a file
changes:{
"scripts": {
"build-less": "lessc public/less/main.less public/css/main.css",
"watch-less": "gazer -p 'public/less/**/*.less' npm run build-less"
}
}
And then start the watcher:
$ npm run watch-less
Double dash
If you need to pass a -p argument to the command you're running, use--
to separate the option arguments from the positional arguments:$ gazer -p readme.md -- echo -p
This feature is provided for free by optimist.