Comparing version 0.12.0 to 0.13.0
@@ -145,4 +145,4 @@ 'use strict'; | ||
if (err) { | ||
err.app = self; | ||
err.build = build; | ||
utils.define(err, 'app', self); | ||
utils.define(err, 'build', build); | ||
self.emit('error', err); | ||
@@ -149,0 +149,0 @@ } else { |
@@ -61,4 +61,4 @@ 'use strict'; | ||
if (err) { | ||
err.task = self; | ||
err.run = run; | ||
utils.define(err, 'task', self); | ||
utils.define(err, 'run', run); | ||
self.emit('error', err); | ||
@@ -102,3 +102,3 @@ } else { | ||
// exit early when task set not to run. | ||
if (this.options.run === false) { | ||
if (skip(this)) { | ||
return cb(); | ||
@@ -141,2 +141,13 @@ } | ||
function skip(task) { | ||
if (typeof task.options.run === 'undefined' && typeof task.options.skip === 'undefined') { | ||
return false; | ||
} | ||
if (typeof task.options.run === 'boolean') { | ||
return task.options.run === false; | ||
} | ||
var names = utils.arrayify(task.options.skip); | ||
return ~names.indexOf(task.name); | ||
} | ||
/** | ||
@@ -143,0 +154,0 @@ * Export Task |
@@ -44,2 +44,7 @@ 'use strict'; | ||
utils.arrayify = function(val) { | ||
if (!val) return []; | ||
return Array.isArray(val) ? val : [val]; | ||
}; | ||
/** | ||
@@ -46,0 +51,0 @@ * Expose `utils` modules |
{ | ||
"name": "composer", | ||
"description": "API-first task runner with three methods: task, run and watch.", | ||
"version": "0.12.0", | ||
"version": "0.13.0", | ||
"homepage": "https://github.com/doowb/composer", | ||
@@ -95,5 +95,7 @@ "author": "Jon Schlinkert (https://github.com/jonschlinkert)", | ||
"composer", | ||
"verb" | ||
"verb", | ||
"base", | ||
"base-watch" | ||
] | ||
} | ||
} |
@@ -222,2 +222,84 @@ # composer [![NPM version](https://img.shields.io/npm/v/composer.svg?style=flat)](https://www.npmjs.com/package/composer) [![NPM downloads](https://img.shields.io/npm/dm/composer.svg?style=flat)](https://npmjs.org/package/composer) [![Build Status](https://img.shields.io/travis/doowb/composer.svg?style=flat)](https://travis-ci.org/doowb/composer) | ||
## History | ||
### v0.13.0 | ||
* Skip tasks by setting the `options.skip` option to the name of the task or an array of task names. | ||
* Making additional `err` properties non-enumerable to cut down on error output. | ||
### v0.12.0 | ||
* You can no longer get a task from the `.task()` method by passing only the name. Instead do `var task = app.tasks[name];` | ||
* Passing only a name and no dependencies to `.task()` will result in a `noop` task being created. | ||
* `options` may be passed to `.build()`, `.series()` and `.parallel()` | ||
* `options` passed to `.build()` will be merged onto task options before running the task. | ||
* Skip tasks by setting their `options.run` option to `false`. | ||
### v0.11.3 | ||
* Allow passing es2015 javascript generator functions to `.task()`. | ||
### v0.11.2 | ||
* Allow using glob patterns for task dependencies. | ||
### v0.11.0 | ||
* **BREAKING CHANGE**: Removed `.watch()`. Watch functionality can be added to [base](https://github.com/node-base/base) applications using [base-watch](https://github.com/node-base/base-watch). | ||
### v0.10.0 | ||
* Removes `session`. | ||
### v0.9.0 | ||
* Use `default` when no tasks are passed to `.build()`. | ||
### v0.8.4 | ||
* Ensure task dependencies are unique. | ||
### v0.8.2 | ||
* Emitting `task` when adding a task through `.task()` | ||
* Returning task when calling `.task(name)` with only a name. | ||
### v0.8.0 | ||
* Emitting `task:*` events instead of generic `*` events. See [event docs](#events) for more information. | ||
### v0.7.0 | ||
* No longer returning the current task when `.task()` is called without a name. | ||
* Throwing an error when `.task()` is called without a name. | ||
### v0.6.0 | ||
* Adding properties to `err` instances and emitting instead of emitting multiple parameters. | ||
* Adding series and parallel flows/methods. | ||
### v0.5.0 | ||
* **BREAKING CHANGE** Renamed `.run()` to `.build()` | ||
### v0.4.2 | ||
* `.watch` returns an instance of `FSWatcher` | ||
### v0.4.1 | ||
* Currently running task returned when calling `.task()` without a name. | ||
### v0.4.0 | ||
* Add session-cache to enable per-task data contexts. | ||
### v0.3.0 | ||
* Event bubbling/emitting changed. | ||
### v0.1.0 | ||
* Initial release. | ||
## Related projects | ||
@@ -227,2 +309,3 @@ | ||
* [assemble](https://www.npmjs.com/package/assemble): Assemble is a powerful, extendable and easy to use static site generator for node.js. Used… [more](https://www.npmjs.com/package/assemble) | [homepage](https://github.com/assemble/assemble) | ||
* [base-tasks](https://www.npmjs.com/package/base-tasks): base-methods plugin that provides a very thin wrapper around [https://github.com/jonschlinkert/composer](https://github.com/jonschlinkert/composer) for adding task methods to… [more](https://www.npmjs.com/package/base-tasks) | [homepage](https://github.com/jonschlinkert/base-tasks) | ||
@@ -232,3 +315,2 @@ * [generate](https://www.npmjs.com/package/generate): Fast, composable, highly extendable project generator with a user-friendly and expressive API. | [homepage](https://github.com/generate/generate) | ||
* [verb](https://www.npmjs.com/package/verb): Documentation generator for GitHub projects. Verb is extremely powerful, easy to use, and is used… [more](https://www.npmjs.com/package/verb) | [homepage](https://github.com/verbose/verb) | ||
* [assemble](https://www.npmjs.com/package/assemble): Assemble is a powerful, extendable and easy to use static site generator for node.js. Used… [more](https://www.npmjs.com/package/assemble) | [homepage](https://github.com/assemble/assemble) | ||
@@ -275,2 +357,2 @@ ## Contributing | ||
_This file was generated by [verb](https://github.com/verbose/verb), v0.9.0, on May 13, 2016._ | ||
_This file was generated by [verb](https://github.com/verbose/verb), v0.9.0, on May 25, 2016._ |
32715
13
581
354