Wondering what’s next for npm?Check out our public roadmap! »

gulp-filter-since

0.1.0 • Public • Published

Gulp Filter Since

A gulp plugin that provides Gulp 4.x since filtering to Gulp 3.x+ tasks.

Since gulp-filter-since is a plugin, it may be used with both gulp.src() and the gulp-add-src plugin. It was also developed as a companion to gulp3-last-run.

Why?

Why not use vinyl-filter-since?

vinyl-filter-since comes close to being what I needed/wanted but it wasn't quite there. As of this writting, vinyl-filter-since:

  • MUST HAVE
    • it doesn't allow for a null or undefined value to be passed to it.
  • NICE TO HAVE

gulp-filter-since was developed to provide the same experience that gulp 4.x provides, right down to the dependencies and logic used. Not allowing for null or undefined values was the significant blocker here.

In addition to leveraging filtering available to Gulp 4.x in Gulp 3.x, this plugin has the benefit of not being attached to gulp.src(), meaning it can be used with plugins like gulp-add-src. To be fair vinyl-filter-since can probably work with gulp-add-src as well.

Usage

Use gulp-filter-since in combination with Gulp 3 Last Run.

const gulp = require('gulp');
const gulp3LastRun = require('gulp3-last-run');
const gulpLoadPlugins = require('gulp-load-plugins');
 
const $ = gulpLoadPlugins();
const taskLastRun = gulp3LastRun(gulp);
 
gulp.task('scripts', function(){
  const lastRunMs = taskLastRun.retrieveThenCapture('scripts');
  return gulp.src('app/scripts/**/*.js')
    .pipe($.filterSince(lastRunMs))
    .pipe($.babel())
    .pipe(gulp.dest('dist/scripts'))
  ;
});
 
gulp.task('watch', ['scripts'], function(){
  gulp.watch('app/scripts/**/*.js', ['scripts']);
});

API

gulpFilterSince(since)

Filters files by comparing the time they were last modified against the provided time.

since

Type: Date or Number

Setting this to a Date or a time stamp will discard any files that have not been modified since the time specified.

If this is null or undefined then no filtering will take place and all files will simply be passed through.

Keywords

none

Install

npm i gulp-filter-since

DownloadsWeekly Downloads

1

Version

0.1.0

License

BSD-3-Clause

Last publish

Collaborators

  • avatar