Skip to content

A plugin for Gulp to get an object stream of modified files on git.

License

Notifications You must be signed in to change notification settings

theConscience/gulp-gitmodified-renamed

 
 

Repository files navigation

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

About

A plugin for Gulp to get an object stream of modified files on git.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%