Skip to content

wuchu/gulp-piece

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Make pipes into one 'pipe'.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published