Skip to content

taskrjs/fly-watch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fly-watch Build Status

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.

Install

$ npm install --save-dev fly-watch

Usage

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")
  }
}

API

fly.watch(globs, tasks, [options])

globs

Type: string or array

A filepath, directory path, or glob pattern. Multiple paths must use an array.

tasks

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.

options

Type: object
Default: {}

Initial options to be passed to each Task. See fly.start for more info.

License

MIT © Luke Edwards