gulp-sugar v0.6.1
gulp-sugar - Write readable gulpfiles and share tasks
This is a wrapper for gulp making it easier to write more readable gulpfiles.
Each build is defined in a .js file and will be passed the gulp instance
which it will use as appropriate to create a gulp the set of tasks for this
build.
When running gulp tasks are searched for in directories under
node_modules, lib/ and some others. This makes it possible to write
project specific tasks as well as NPM modules containing tasks.
A few simple tasks are in gulp-sugar-simple.
Here is an example gulpfile.coffee:
gulp = require 'gulp'
sugar = require('gulp-sugar')(gulp)
sugar.task('clean',
clean:
rm: 'build')
sugar.task('build',
dir:
task: 'shell'
cmd: 'mkdir -p build'
script:
src: 'lib/*.js'
dest: 'build/script.js'
deps: 'dir'
task: 'uglify'
deps: 'script'
dest: 'build/script.min.js')This will create super tasks clean and build and build will also become
the default task.
Within each sugar.task declaration the following tasks all depend on the
previous tasks, so minify depends on script and dir and script on
dir.
Keys in the Gulpfile
Each key names a task that will be exposed by the gulpfile and may also name the task script. Some special keys may be present:
moduleThe name of the tasks innode_modulessrcThe default source for tasksdestThe default destination
Other keys name task objects that are passed to task scripts. Optional keys are
taskThe name of the build.jsfile to run for this taskdepsThe dependencies of this task
Tasks are attempted required in the following order:
- in the
gulpdirectory in the project root - in
conf.module/libdirectory innode_modules - in the project root possibly searching
NODE_PATH
For examples of tasks see gulp-sugar-simple. An example gulpfile is in gulp-sugar-test.
gulp-sugar can be used with gulpfile.js or gulpfile.coffee.