gulp-task-builder v1.0.14
Gulp Task Builder
Node module task builder which can be configured by a JSON Object containing the relevant tasks to build.
DESCRIPTION
Node module task builder which can be configured by a JSON Object containing the relevant tasks to build. Now you dont need to write gulp tasks in javascript just feine object then thats it.
Table of Contents
Getting Started
. Features
. TODO
Setup
Install
npm install gulp-task-builder -D
Usage
var builder = require('gulp-task-builder')
var tasks = {
"task1":{src:"path/to/source/files", dest:"path/to/save"}
}
builder.loadTasks(tasks);
builder.runTasks();Examples
Basic Example
with required options
var builder = require('gulp-task-builder')
var tasks = {
"task1":{src:"./src/*.js", ext:".js", dest:"dest"},
"task2":{src:"./packages/*.js", ext:".js", dest:"dest/lib"}
}
builder.loadTasks(tasks);
builder.runTasks();Compress
Compress your files with the compress option. This function is using
- gulp-uglify for javascript
- gulp-htmlmin for html
- gulp-clean-css for css
- gulp-jsonminify for json
{src:"./src/*.js", ext:".js", dest:"dest", compress:true}
{src:"./src/*.html", ext:".html", dest:"dest", compress:{collapseWhitespace: true}}
{src:"./src/*.css", ext:".css", dest:"dest", compress:{compatibility: 'ie8'}}
{src:"./src/*.json", ext:".json", dest:"dest", compress:true}for more css options Click Here
Concatenate
Concatenate (join) your files with the concat option.
//File name will be task1.js which is the task name
task1:{src:"./src/*.js", ext:".js", dest:"dest", concat:true}
//File name will be jsbundle.js which is the task name
task1:{src:"./src/*.js", ext:".js", dest:"dest", concat:true, name:"jsbundle"}
//JSON
//File name will be jsbundle.json which is the task name
task1:{src:"./src/*.json", ext:".json", dest:"dest", concat:true, name:"jsonbundle"}Filter
Filter your source files with the filter option.
{src:"./src/*.js", ext:".js", dest:"dest", filter:'!src/vendor'}
{src:"./src/*.js", ext:".js", dest:"dest", filter:['*', '!src/vendor']}
{src:"./src/*.js", ext:".js", dest:"dest", filter:{match:['*', '!src/vendor'], options:{restore:true, passthrough:true, dot:true}}}
{src:"./src/*.js", ext:".js", dest:"dest", filter:function(file){ /*You can access file.cwd, file.base, file.path and file.contents */ }}restore and passthrough will come very soon.
Rename
Rename your destination file or path. You can provide String|Function|Object.
{src:"./src/*.js", ext:".js", dest:"dest", rename:"main/text/ciao/goodbye.md"}
{src:"./src/*.js", ext:".js", dest:"dest", rename:function (path) { path.dirname += "/ciao"; path.basename += "-goodbye"; path.extname = ".md" }}
{src:"./src/*.js", ext:".js", dest:"dest", rename:{dirname: "main/text/ciao", basename: "aloha", prefix: "bonjour-", suffix: "-hola", extname: ".md"}}Wrapper
Wrap your files or target files with the given headers and footers Object|Array.
{src:"./src/*.js", ext:".js", dest:"dest", wrapper:{header:"this will be header", footer:"this will be footer"}}
{src:"./src/*.js", ext:".js", dest:"dest", wrapper:[{header:"header1", footer:"footer1"}{header:"headerN", footer:"footerN"}]}Log contents
You can also log paths contents and other stream options. In case set to true the default value will be contents
{src:"./src/*.js", ext:".js", dest:"dest", log:true}
{src:"./src/*.js", ext:".js", dest:"dest", preLog:true}
{src:"./src/*.js", ext:".js", dest:"dest", preLog:'path'}// Console PathsDisable save
You can also disable the save option by setting save:false
{src:"./src/*.js", ext:".js", dest:"dest", save:false}Task options
Each task contains REQUIRED options which can be passed along with OPTIONALS(Flow Control, Plugins, Log Options).
REQUIRED
Required Options
- src (string) Gulp src parameter. Path of your source files. It can be also regEx. More Details.
- dest (string) Gulp dest parameter. Path where you want to save your files. More Details.
- ext (string) extension of file which is defined in
srcoption.
OPTIONALS
Flow Control
- runBefore (string|Array(string)) Define task dependencies which will run before this task.
- save (bool) Set
trueif you want to save your output. Defaulttrue. - name (string) Recommended. Define unique name of gulp task.
- order (Array(string)) Define flow of execution. Like 'log','filter','compress','concat','wrapper'.
Plugins
This package is using below pluging
| Task | Plugin | Value Type | Description | |||
|---|---|---|---|---|---|---|
| Filter | gulp-filter | Object String Array Function | To filter your files. if you are sending Object then that object should have two properties match and options. See gulp-filter for more details. | |||
| Concat | gulp-concatgulp-merge-json | StringObject | object contains two properties name and ext. | |||
| Replace | gulp-replace | Objectarray(objects) | Object can be one of these two objects {target:"", src:""} this will send to gulp-replace and second {buildName:replacement} buildName (string | RegExp) replacement (String | Array | Object). |
| Debug | --- | Boolean | true, false | Enable gulp-plumber | ||
| Wrapper | gulp-wrapper | ObjectArray | Each Object has two options header and footer. More Details | |||
| Harmony/ES2015 | --- | Boolean | Set it true if you need ES6 support too. More Details | |||
| Rename | gulp-rename | StringObjectFunction | You can edit the name or edit the path of your destination file. More Details | |||
| Compress | gulp-uglifygulp-htmlmingulp-clean-css | BooleanObject | this will use gulp-uglify if ext is .js, gulp-htmlmin if ext is .html and gulp-clean-css if css is .css |
Log Options
- log (string|bool) log/console content of stream. All options of glob-stream are supported. Default value is
contents. - preLog (bool) console stream before processing. same as
logabove. - postLog (bool) console stream just before save(
gulp.destfunction) stream. same aslogabove. - get (function) Just in case if you want to get stream.NOTE it will not effect the stream.
Todo
- Use pums instead of pipe in tasks Reason and package
- Use uglify-es instead of uglify-js-harmony
License
MIT
8 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago