В общем, имеется следующая задача для сборки svg спрайта (symbols)
import gulp from 'gulp';
import svgSymbols from 'gulp-svg-symbols';
import gulpIf from 'gulp-if';
import rename from 'gulp-rename';
import plumber from 'gulp-plumber';
import errorHandler from 'gulp-plumber-error-handler';
import path from 'path';
gulp.task('icons', () => (
gulp.src('app/icons/**/*.svg')
.pipe(plumber({errorHandler: errorHandler(`Error in 'icons' task`)}))
.pipe(svgSymbols({
templates: [
path.join(__dirname, '../tasks/icon-templates/svg-symbols.svg'),
path.join(__dirname, '../tasks/icon-templates/svg-symbols.scss')
],
transformData: (svg, defaultData) => {
return {
id: defaultData.id,
width: svg.width,
height: svg.height,
name: svg.name
};
}
}))
.pipe(gulpIf(/\.scss/, gulp.dest('app/styles/base')))
.pipe(gulpIf(/\.svg$/, rename('icons.svg')))
.pipe(gulpIf(/\.svg$/, gulp.dest('dist/assets/img/')))
));
Проблема в том, что эта задача создает файлы svg и scss даже если в исходной директории нет ни одной иконки, сами файлы на выходе пустые. В чем может быть проблема? Как остановить выполнение задачи с пустым потоком?