Как конфигурировать произвольный Gulp-plugin в зависимости от конкретного Vynil-файла?

Стандартное использование плагина gulp-postcss:

gulp.task('default', function () {
    var plugins = [nested];
    return gulp.src('in.sss')
        .pipe(postcss(plugins, { parser: sugarss }))
        .pipe(gulp.dest('out'));
});

Помимо статической конфигурации, gulp-postcss можно конфигурировать и динамически, хоть отдельно для каждого файла:

pipe(gulpPostCSS((file: Vinyl): { plugins: Array<unknown>; } => ({
  plugins: [
    Autoprefixer,
    CSS_Nano({
      preset: [
        "default",
        {
          // Vinyl позволяет определять пользовательские свойства как "someBooleanFlag"
          discardComments: file.someBooleanFlag
        }
      ]
    })
  ]
}))).

Но вот плагин gulp-pug к примеру, такого же колбэка для динамической конфигурации не предоставляет:

declare function GulpPug(options?: GulpPug.Options): Transform;

Должен быть какой-то способ задать динамическую конфигурацию для любого Gulp-плагина, который что-то делает с файлами (в том числе в зависимости от свойств конкрутного Vynil-файла). Если ли он на самом деле?


Ответы (0 шт):