Skip to content

Latest commit

 

History

History
 
 

watch

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

@taskr/watch npm

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 task.watch(), the Task's options.src will contain the full path of the file that triggered a response.

Install

$ npm install --save-dev @taskr/watch

Usage

module.exports = {
  * lint(task, opts) {
    // process single file via `opts.src` if populated
    yield task.source(opts.src || "src/*.js").eslint()
  },
  * scripts(task, opts) {
    // process single file via `opts.src` if populated
    yield task.source(opts.src || "src/*.js").babel({ presets: ["es2015"] }).target("dist/js")
  },
  * styles(task) {
    yield task.source("src/app.sass").sass().target("dist/css")
  },
  * default(task) {
    // watch all JS files; run 'lint' then 'scripts'
    yield task.watch("src/**/*.js", ["lint", "scripts"])
    // watch multiple paths; only run "styles"
    yield task.watch(["src/foo/*.sass", "src/*.sass"], "styles")
  }
}

API

.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 Taskr.start for more info.

Support

Any issues or questions can be sent to the Taskr monorepo.

Please be sure to specify that you are using @taskr/watch.

License

MIT © Luke Edwards