I have a symlink in my images folder that points to another folder containing external images provided by a third party library (managed by bower - gotta love javascript). As part of my build process, I compress all images as follows:
gulp.task('images', function() {
return gulp.src('static/img/**/*')
.pipe(imagemin({ optimizationLevel: 3, progressive: true, interlaced: true }))
.pipe(gulp.dest('dist/img'))
});
When gulp gets to the symbolic link folder in the img folder, it returns
events.js:72
throw er; // Unhandled 'error' event
^
Error: EISDIR, read
Using gulp-debug shows that it baulks on the symlink folder. I am on Mac OSX and the symlink was created using ln -s. Any ideas?
gulp.src()
uses node-glob, which doesn't crawl symlinks:
**
If a "globstar" is alone in a path portion, then it matches zero or more directories and subdirectories searching for matches. It does not crawl symlinked directories.
Note that symlinked directories are not crawled as part of a
**
, though their contents may match against subsequent portions of the pattern. This prevents infinite loops and duplicates and the like.
I don't know if it's supposed to error or just skip them.
I was having the same problem when pointing to a symlink
folder.
The solution was simple, just used vinyl-fs package.
var vfs = require('vinyl-fs');
gulp.task('myTask', [], function() {
vfs.src('static/img/**/*')
.pipe(vfs.dest('dist/img'))
)};
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With