Watch files & Execute specified tasks on change
After initializing a Chokidar instance, specified paths will be watched and run Tasks serially in response to adding, updating, or deleting a matching filepath.
When a Task is restarted by fly.watch
, the Task's options.src
will contain the full path of the file that triggered a response.
$ npm install --save-dev fly-watch
module.exports = {
* lint(fly, opts) {
// process single file via `opts.src` if populated
yield fly.source(opts.src || "src/*.js").eslint()
},
* scripts(fly, opts) {
// process single file via `opts.src` if populated
yield fly.source(opts.src || "src/*.js").babel({ presets: ["es2015"] }).target("dist/js")
},
* styles(fly) {
yield fly.source("src/app.sass").sass().target("dist/css")
},
* default(fly) {
// watch all JS files; run 'lint' then 'scripts'
yield fly.watch("src/**/*.js", ["lint", "scripts"])
// watch multiple paths; only run "styles"
yield fly.watch(["src/foo/*.sass", "src/*.sass"], "styles")
}
}
Type: string
or array
A filepath, directory path, or glob pattern. Multiple paths must use an array
.
Type: string
or array
The task(s) to run when a matched file (from globs
) is added, changed, or deleted. Multiple tasks must use an array
and will run as a serial chain.
Type: object
Default: {}
Initial options to be passed to each Task. See fly.start
for more info.
MIT © Luke Edwards