Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 1,000,000+ packages pre-installed, including gulp-gitmodified-renamed with all npm packages installed. Try it out:

var gulpGitmodifiedRenamed = require("gulp-gitmodified-renamed")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

gulp-gitmodified-renamed v1.1.1

A plugin for Gulp to get an object stream of modified files on git. + fix for renamed ones

gulp-gitmodified

NPM version Build Status Dependency Status

gitmodified plugin for gulp

Usage

A plugin for Gulp to get an object stream of git status files on git (e.g. modified, deleted, untracked, etc).

First, install gulp-gitmodified as a development dependency:

npm install --save-dev gulp-gitmodified

Then, add it to your gulpfile.js:

var gitmodified = require('gulp-gitmodified');

var files = gulp.src('./src/*.ext')
  .pipe(gitmodified('modified'));

files.on('data', function (file) {
  console.log('Modified file:', file);
});

API

gitmodified(statusMode|options)

For statusMode, you can pass a single string value or an array of string values.

gulp-gitmodified extends the vinyl file format gulp uses to have a method for checking if file is deleted. isDeleted is true if checking for deleted files (see below), and false otherwise.

options

Options can be used to pass in gitCwd, to override from which directory git should be executed. This is handy in case you have your gulpfile in a different directory than your where your repo resides.

// Options can be the following:
{
  gitCwd: String,
  modes: statusMode
}

modes is the value from below. If not defined it will default to modified.

statusMode

Type: String || Array Default: 'modified'

What status mode to look for. From git documentation:

M = modified
A = added
D = deleted
R = renamed
C = copied
U = updated but unmerged
?? = untracked
!! = ignored

(and more if in short format (e.g. AM), see Short Format on git status man page)

Examples

// All added files
gulp.src('./**/*')
    .pipe(gitmodified('added'))
// Equal to the one before
gulp.src('./**/*')
    .pipe(gitmodified('A'))
// All added and modified files
gulp.src('./**/*')
    .pipe(gitmodified(['added', 'modified']))
// All added and modified files, from different git directory
gulp.src('./**/*')
    .pipe(gitmodified({
      modes: ['added', 'modified'],
      gitCwd: '../../differentDirectory'
    }))
// All deleted files.
gulp.src('./**/*')
    .pipe(gitmodified('deleted'))
    .on('data', function (file) {
      console.log(file.isDeleted()); //=> true
    });

License

MIT License

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free