remove array and string usage from gulp.watch
gulp.watch('glob', ['task1', 'task2'])
gulp.watch('glob', 'task2')
will have to be changed to
gulp.watch('glob', gulp.parallel('task1', 'task2'))
gulp.watch('glob', gulp.task('task2'))
This makes it a lot clearer what is going on.
Lots of documentation is going to need to be updated.
Semi-related: I also think we should discourage use of a watch task and just have people do it like this
gulp.task('a', fn);
gulp.task('b', fn);
gulp.watch('glob', gulp.parallel('a', 'b'));
and if they have a flag for when to watch it can be as simple as
gulp.task('a', fn);
gulp.task('b', fn);
if (process.env.NODE_ENV !== 'production) {
gulp.watch('glob', gulp.parallel('a', 'b'));
}
I feel like this would simplify a lot of things