gulp-piece

1.1.1 • Public • Published

Combine your gulp transform stream into a single one. Build Status

Combine transform actions (stream), just in buffer mode.

It could let you custom 'pack' your gulp's pipe. Even your 'packed' stream could include another one.

Install

$ npm install --save-dev gulp-piece

Usage

Just don't want too many pipe here.

 
var gulp = require('gulp');
var piece = require('gulp-piece');
var uglify = require('gulp-uglify');
var rev = require('gulp-rev');
 
gulp.src('**/*.js')
    .pipe(piece([
        rev(),
        uglify()
    ]))
    .pipe(gulp.dest('dist/'));
 
// Or, it would also work well whitout the array wrap []...
 
gulp.src('**/*.js')
    .pipe(piece(
        uglify()
        rev()
    ))
    .pipe(gulp.dest('dist/'));
 

Sometimes, you just want to left them in another js file, and want to invoke them in gulp code style.

task/js-process.js

 
var piece = require('gulp-piece');
var uglify = require('gulp-uglify');
var rev = require('gulp-rev');
 
module.exports = function () {
    return piece(
        uglify(),
        rev()
    );
};
 

gulpfile.js

 
var gulp = require('gulp');
var jspr = require('./task/js-process');
 
gulp.src('**/*.js')
    .pipe(jspr())
    .pipe(gulp.dest('dist/'));
 

Piece in piece ?

task/js-process.js

 
var piece = require('gulp-piece');
var uglify = require('gulp-uglify');
var filter = require('gulp-filter');
 
module.exports = function () {
    var jsFilter = filter('**/*.js', {restore: true});
    return piece(
        jsFilter,
        uglify(),
        jsFilter.restore
    );
};
 

task/css-process.js

 
var piece = require('gulp-piece');
var csso = require('gulp-csso');
var filter = require('gulp-filter');
 
module.exports = function () {
    var cssFilter = filter('**/*.css', {restore: true});
    return piece(
        cssFilter,
        csso(),
        cssFilter.restore
    );
};
 

task/process.js

 
var piece = require('gulp-piece');
var jspr = require('./task/js-process');
var csspr = require('./task/css-process');
 
module.exports = function () {
    return piece(
        jspr(),
        csspr()
    );
};
 

gulpfile.js

 
var gulp = require('gulp');
var process = require('./task/process');
 
gulp.src('**/*.(js|css)')
    .pipe(process())
    .pipe(gulp.dest('dist/'));
 

API

piece([stream...])

Returns a transform stream.

pattern

Type: array, stream

Accepts a streams array or stream-arguments.

License

MIT © Joo Wu

Package Sidebar

Install

npm i gulp-piece

Weekly Downloads

7

Version

1.1.1

License

MIT

Last publish

Collaborators

  • wuchu