gulp-gitmodified
v1.2.0
Published
A plugin for Gulp to get an object stream of modified files on git.
Downloads
4,471
Readme
gulp-gitmodified
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
});