Have ideas to improve npm?Join in the discussion! »

    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

    33

    Version

    0.1.0

    License

    BSD-3-Clause

    Last publish

    Collaborators

    • avatar