README
gulp-git-status-filter
Filter files by git status
Getting started
ES2015, NODE 5+
To install gulp-git-status-filter
from npm, run:
npm install gulp-git-status-filter --save
Use the library:
const gulpGitStatusFilter = require('gulp-git-status-filter');
const filter = gulpGitStatusFilter(options);
const gulpGitStatusFilter = require('gulp-git-status-filter');
const filterOnlyNewUnTrackedUnStagedFiles = gulpGitStatusFilter({ type: [ 'N' ] });
gulp.task('lint', () => {
return gulp.src('**/*')
.pipe(filterOnlyNewUnTrackedUnStagedFiles)
.pipe(gulpESLint())
.pipe(filterOnlyNewUnTrackedUnStagedFiles.restore)
.pipe(doSomething())
});
// do something helpful
Options
options.enabled
Type Boolean
, Default true
If options.enabled
eq false
- filter disabled, all files will pass through
options.repoPath
Type String
, Default undefined
Absolute path to repository
options.passthough
Type Boolean
, Default true
When set to true
filtered files are restored with a PassThrough stream, otherwise, when set to false
, filtered files are restored as a Readable stream.
When the stream is Readable it ends by itself, but when PassThrough, you are responsible of ending the stream.
options.restore
Type Boolean
, Default false
Restore filtered files
options.type
Type Array|String
, Default [ 'A', 'M', 'D', 'AM', 'MM', 'AD', 'MD', 'N' ]
Each file has the following properties:
type | index | working tree |
---|---|---|
A |
added | - |
M |
modified | - |
D |
deleted | - |
AM |
added | modified |
MM |
modified | modified |
AD |
staged | deleted |
MD |
modified | deleted |
N
- new files without tracking and staging
options.tracked
Type Array|Boolean
, Default [ true, false ]
options.staged
Type Array|Boolean
, Default [ true, false ]
Enjoy!
Support
If you have any problems, you cached a bug, or you have any suggestion - please find an existing issue or create new
Contributing
If you want to develop this library do not be shy - Do that! How to contribute open-source projects