Like gulp.watch but for npm scripts.
$ npm install -D nswatch
Assuming you have an npm script build
to compile something, then drop a watch.js
in your project:
import { watch } from "nswatch";
watch("src/*.js", ["build"]);
When you run node watch
, the npm run build
will be invoked right away, and will also be invoked when file changes are detected.
Array
will be treated as parallel, String
will be treated as sequence:
// run in parallel
watch("src/a.js", ["task-a", "task-b"]);
// run in sequence
// use ! as seperator
watch("src/b.js", "task-a!task-b");
$ npm install -g nswatch
You can also use nswatch
as a command-line program:
watch
in package.json
{
"watch": {
"./src/*.js": ["build"],
"./src/*.css": "compile!minify"
}
}
Then run:
$ nswatch
Or you can pass the config via CLI arguments, this way configurations in package.json
will be ignored.
# in parallel
$ nswatch "src/*.js" --script foo --script bar
# in sequence
$ nswatch "src/*.js" --script "foo!bar"
nswatch © EGOIST, Released under the MIT License. Authored and maintained by EGOIST with help from contributors (list).
egoistian.com · GitHub @egoist · Twitter @rem_rin_rin