vinyl-fork

1.0.1 • Public • Published

vinyl-fork v1.0.1

Circle CI codecov js-standard-style

Fork a vinyl stream.

Getting started

First install it:

npm install vinyl-fork

or

yarn add vinyl-fork

Then use it like the below:

const gulp = require('gulp')
const fork = require('vinyl-fork')
 
gulp.src('src/**/*.md')
  .pipe(fork(
    pipe => pipe(transform1()),
    pipe => pipe(transform2())
  ))
  .pipe(gulp.dest('dest/'))

The above is equal to the following:

gulp.src('src/**/*.md')
  .pipe(transform1())
  .pipe(gulp.dest('dest/'))
 
gulp.src('src/**/*.md')
  .pipe(transform2())
  .pipe(gulp.dest('dest/'))

More complex construction

You can chain multiple transforms (duplexes) inside the fork:

gulp.src('src/**/*.md')
  .pipe(fork(
    pipe => pipe(transform0())
      .pipe(transform1())
      .pipe(transform2()),
    pipe => pipe(transform3())
      .pipe(transform4())
      .pipe(transform5())
  ))
  .pipe(gulp.dest('dest/'))

Fork more

You can fork any number of forks inside the fork:

gulp.src('**/*.md')
  .pipe(fork(
    pipe => pipe(transform0()),
    pipe => pipe(transform1()),
    pipe => pipe(transform2()),
    pipe => pipe(transform3()),
    ...
  ))
  .pipe(gulp.dest('dest/')

Fork inside a fork

You can nest forks:

gulp.src('**/*.md')
  .pipe(fork(
    pipe => pipe(transform0())
      .pipe(fork(
        pipe => pipe(transform1()),
        pipe => pipe(transform2())
      )),
    pipe => pipe(transform3())
  ))
  .pipe(gulp.dest('dest/')

The above is equivalent of:

gulp.src('**/*.md')
  .pipe(transform0())
  .pipe(transform1())
  .pipe(gulp.dest('dest/')
 
gulp.src('**/*.md')
  .pipe(transform0())
  .pipe(transform2())
  .pipe(gulp.dest('dest/')
 
gulp.src('**/*.md')
  .pipe(transform3())
  .pipe(gulp.dest('dest/')

History

  • 2016-10-xx v1.0.0 Initial release

License

MIT

Package Sidebar

Install

npm i vinyl-fork

Weekly Downloads

0

Version

1.0.1

License

MIT

Last publish

Collaborators

  • kt3k