gulp-gitmodified

1.2.0 • Public • Published

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

gitCwd can be used 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.

stagedOnly can be used to process only staged files.

// Options can be the following:
{
  gitCwd: String,
  stagedOnly: Boolean,
  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 staged files, from different git directory
gulp.src('./**/*')
    .pipe(gitmodified({
      modes: ['added', 'modified'],
      stagedOnly: true,
      gitCwd: '../../differentDirectory'
    }))
// All deleted files.
gulp.src('./**/*')
    .pipe(gitmodified('deleted'))
    .on('data', function (file) {
      console.log(file.isDeleted()); //=> true
    });

License

MIT License

Package Sidebar

Install

npm i gulp-gitmodified

Weekly Downloads

1,349

Version

1.2.0

License

MIT

Unpacked Size

24.7 kB

Total Files

15

Last publish

Collaborators

  • mikaelb