Исключить папки из цикла foreach задачи Gulp-Zip

Я использую gulp-zip и gulp for-each, чтобы заархивировать несколько папок. Они содержат другие папки с именами _js, _css и _raw. Я хочу исключить любую папку, начинающуюся с подчеркивания, из выходных заархивированных файлов.

gulp.task("zipAll", function(){
   return gulp.src('src/*')
       .pipe(foreach(function(stream, file){
          var fileName = file.path.substr(file.path.lastIndexOf("/")+1);
          gulp.src("src/" + fileName + "/**/*")
              .pipe(zip(fileName + ".zip"))
              .pipe(gulp.dest("dist"));
          return stream;
       }));
});


person jimbouton    schedule 23.01.2018    source источник
comment
Возможный дубликат Исключение файлов/каталогов из задачи Gulp   -  person dloeda    schedule 24.01.2018


Ответы (1)


В итоге разобрался, вот мое решение:

gulp.task('zipAll', function(){
    return gulp.src('src/*')
    .pipe(foreach(function(stream, file){
        var fileName = file.path.substr(file.path.lastIndexOf('/')+1);
        gulp.src(['src/' + fileName + '/**/*', '!src/' + fileName + '/_sass{,/**}', '!src/' + fileName + '/_js{,/**}', '!src/' + fileName + '/_raw{,/**}'])
        .pipe(zip(fileName + '.zip'))
        .pipe(gulp.dest('dist'));
        return stream;
    }));
});

person jimbouton    schedule 24.01.2018