Stuff your face with all those wonderful Gulp plugins from your Cakefile!
WARNING: This is a preview release. This branch uses
tempgulp4 as Gulp 4 has not yet officially released at the time of this writing.
cake's descriptive build task system and commandline argument parsing into gulp tasks, allowing for clean descriptive task management.
cake-gulp also includes some common gulp plugins that relate directly to coffeescript, file management, or vynil/stream management but do not directly impose any framework or specific build paradigm on you. These plugins are useful for general filesystem manipulation, flow control of streams, information and logging, or incremental builds. These plugins where chosen because of their general usefulness in just about any build process regardless of what you are doing, things that are used so often they are practically a part of Gulp.
task("name", "description", (callback) -> )
taskhas been modified to accept both a string
nameand a string
description, but other then adding the description, task is no different from undertaker task which is what Gulp4 uses for it's task manager.
async-doneis used for the callback function, and it is also fairly common to pass
gulp.parallelin instead of a
(callback) ->function to execute tasks in a series, or at the same time. cake's
optionsobject that would usually get passed in is now
gulp.optionsand is only available inside a task function.
invoke(name)runs a single task (by name string only) currently. This only invokes
caketasks and currently will not work if you use
option("-a", "--argument [ARG]", "description")is useful for commandline parsing and is cake's
gulp.optionsis where you access your commandline arguments. Because Gulp/Undertaker does not handle commandline options, these are not passed in to task functions like in cake. Keep in mind that
optionsis still only available after a task function is invoked.
Gulp Plugins and Utilities
cake-gulp comes with some common generic gulp plugins that should be useful in just about any build process. All gulp plugins are bound to the
Coffeescript and Sourcemaps
CSONis a global like
JSONbut for Coffeescript. You may also wish to use
- gulp.sourcemaps you may wish to check out this wiki for compatable sourcemap gulp plugins!
Stream Flow Control
- gulp.upon or gulp.if
Utility and Logging