Как конфигурировать произвольный 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-файла). Если ли он на самом деле?