@taskr/watch

1.1.0 • Public • Published

@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

Package Sidebar

Install

npm i @taskr/watch

Weekly Downloads

5,629

Version

1.1.0

License

MIT

Last publish

Collaborators

  • lukeed