Написать галп-плагин и воткнуть его в pipe
Каркас может быть примерно таким:
const through = require('through2');
const PLUGIN_NAME = 'my plugin ';
const myPlugin = function (options) {
return through.obj(function (file, enc, cb) {
if (file.isNull()) {
cb(null, file);
return;
}
if (file.isStream()) {
cb(new Error(PLUGIN_NAME + 'Streaming not supported'));
return;
}
try {
let content = file.contents.toString();
content = '';// ... что-то делаем
file.contents = Buffer.from(content);
} catch (err) {
this.emit('error', new Error(PLUGIN_NAME + err.message));
}
this.push(file);
cb();
});
};
Используем
function build() {
return gulp.src('./src/css/*.css')
.pipe(myPlugin)
//...
}
Если нужно фильтровать по расширению (если src считывает разные файлы), можно добавить условие
if (/\.css$/.exec(file.path) !== null) {
//...
}