gulp-diff-build
Version:
run tasks only if src files are changed
88 lines (56 loc) • 2.02 kB
Markdown

gulp module to stream files only if target files are changed.
```
$ npm install gulp-diff-build --save-dev
```
This task will keep a hash reference of target files and run defined tasks only if files changed.
File hashes will be saved in `.gulp/gulp-diff-build/hash.json`. You might like to add `.gulp` to your `.gitignore`.
```javascript
const diff = require('gulp-diff-build');
const SRC = 'src';
const DEST = 'dist';
gulp.task('default', () => {
gulp.src(SRC)
.pipe(diff())
.pipe(gulp.dest(DEST));
});
```
Type: `bool` Default value: `false`
flush hash file when running with clear option value: `true`
Type: `bool` Default value: `false`
flush all hash files when running with clearAll option value: `true`
Type: `string` or `array` Default value: `undefined`
option to filter streaming files. This task will stream only files that match given paths into the gulp stream. If it is undefined, all files will be passed.
Type: `string` Defualt value: `'hash'`
options to define filename of hash references for multi tasking or multi cache control. files of hash references will be saved as `.gulp/gulp-diff-build/[givenName].json`.
example of building sass.
gulp task watch all of sass src files and stream only `main.sass` and `main-sp.sass` into `sass()` task.
```javascript
const diff = require('gulp-diff-build');
gulp.task('default', () => {
gulp.src('src/sass/**/*.sass')
.pipe(diff({
clean: true,
dest: [
'src/sass/main.sass',
'src/sass/main-sp.sass'
],
hash: 'sass'
}))
.pipe(sass()),
.pipe(gulp.dest('dest'));
});
```
The MIT License (MIT)
Copyright 2016~ moshisora