As of gulp 4, these are two possibilities:
const { watch, series, parallel } = require('gulp');function watchTask(cb) { // this will execute all task on any changes watch(['src/**/*'], series(parallel(jsTask, htmlTask, assetTask), )); // this will run specific task based on file type or folder watch(['src/**/*.js'], series(jsTask)); watch(['src/**/*.html'], series(htmlTask)); watch(['assets/**/*'], series(assetTask));}exports.default = series(parallel(jsTask, htmlTask, assetTask), watchTask);