v0.4.0
-
π₯ new in addition to Flyfiles, plugins can now be written in ES6/7 out of the box. To accomplish this, node's
require
is bound usingbabel-core/register
before loading plugins.Support for plugins written in any language is under discussion.
-
π₯ new Flyfiles are transpiled by default with Babel. This adds a small perf penalty when running a modified flyfile the first time, but will allow us to support more versions of node in the future.
-
π₯ new full tests! Check out
test/
. -
π₯ new instrumentation π¦ Set
DEBUG="*"
orDEBUG="fly:*"
for extensive logs. Seedebug
's documentation for advance use. -
π₯ new [Optional] plugins are now invoked with a contextualized
debug
object that can be used to add instrumentation to your plugin.this.debug
is also available, useful to debug tasks in a flyfile.
export default function (debug) {
debug("init")
//
debug("finish")
}
You are not required to instrument your plugins, but now it's very easy to do so and your users will appreciate the effort you put in making your code easier to debug.
- new
examples/watch
to illustrate a watch task. - improve tests are now written in a mix of ES5 and ES6. if you are hacking on Fly and want to run the tests yourself, you need to run
iojs
. Check outn
for an excellent version manager for node. - improve revise documentation, fix typos, simplify and add more examples.
- improve more concise comments, simplify CLI engine.
- improve simpler and friendlier shell runner
bin/index
. Full Windows support is just around the corner. - improve errors are handled in
index.js
now (they were atbin/index
before). - improve
index.js
is much simpler now. a newFly
instance is created viacli.spawn
which hides the complexity of resolving the path andcli.list
does not accept a path anymore, but a loadedflyfile
object. - change
Flypath.js
is no longer a valid name for a Flyfile. Please , name your Flyfiles eitherflyfile.js
orFlyfile.js
. - bugfix
Fly.prototype.watch
was failing due tofly-util
watch
not being correctly exported and not callingflatten
on the specified globs. - change fix an inconsistency where a
default
task with a watch would end before any tasks ran inside. This bug was resolved by returning a promise.
This affects
watch
tasks in your Flyfile. Pleaseyield
watch tasks from now:
export default function* () {
yield this.watch(globs, tasks)
}
- change
Fly.prototype.warn
was renamed to the more accuratealert
.