gulp-folder-changed
Gulp plugin to pass through files if they've changed
Install
npm install --save-dev gulp-folder-changed
Usage
Pass this into something like gulp-ignore to pass through all files in a folder if any of those files has changed.
To match against a single file, pass in the file path:
dest/
styles.css
src/
a.css
b.css
var ignore = folderChanged = ; gulp ;
If you want to match against more than one file, use a glob:
dest/
styles-1.css
styles-2.css
src/
a.css
b.css
var ignore = folderChanged = ; gulp ;
You can also match against files with the same name as the source files:
dest/
a.css
b.css
src/
a.css
b.css
gulp ;
If you sort your source files into specific folders, you can match on the parent folder instead:
dest/
folder1.css
folder2.css
src/
folder1/
a.css
b.css
folder2/
a.css
b.css
gulp ;
You can also specify matching extensions (note: :ext
includes the dot):
dest/
foo.css
foo.js
src/
bar.css
baz.js
gulp ;
Combine them to create powerful matching schemas!
dest/
foo-a.css
foo-b.css
foo-c.js
bar-a.css
bar-b.js
src/
foo/
a.css
b.css
c.js
bar/
a.css
b.js
gulp ;
If you want to do something super custom, you can pass an object with either a parentName
or parentDir
(or both!) as a second argument:
dest/
foo.css
bar.css
src/
foo/
styles/
a.css
b.css
bar/
styles/
a.css
b.css
var path = _ = ; // src/foo/styles/a.css -> foo { return _;} // foo -> src/foo/styles { return path;} gulp ;
Have fun!