const { series, src, dest } = require('gulp'); const tap = require('gulp-tap'); function helloWorld(cb) { console.log('hello world'); cb(); } function helloWorldPromise() { return new Promise((resolve, reject) => { console.log('hello world promise'); resolve(); }); } function reverseTextFiles() { return src('*.txt') .pipe(tap(file => reverseText(file))) .pipe(dest('output/')); } function reverseText(file) { let reversed = file.contents.toString() .split("") .reverse() .join(""); file.contents = Buffer.from(reversed); } exports.default = helloWorld; exports.helloWorld = helloWorld; exports.helloWorldPromise = helloWorldPromise; exports.promiseFirst = series(helloWorldPromise, helloWorld); exports.reverse = reverseTextFiles;