Эти два оператора не будут работать в gulp v4 (они имеют синтаксис в стиле v3):
gulp.watch('./public/scss/**/*', ['sass'])
gulp.watch('./public/js/**/*', ['webpack'])
Измените на:
gulp.watch('./public/scss/**/*', 'sass')
gulp.watch('./public/js/**/*', 'webpack')
и если у вас было несколько задач на run
gulp.watch('./public/scss/**/*', gulp.series('sass', 'otherTask'));
Также вы не можете выполнить оператор pipe
в конце:
gulp.task( 'default', gulp.series('sass', 'webpack', 'browser-sync'), ()=>{
gulp.watch('./public/scss/**/*', ['sass']) // change as per above
gulp.watch('./public/js/**/*', ['webpack']) // change as per above
.pipe(gulp.dest('./public/js')) // remove this
});
Вы не создали поток, поэтому вы не можете ничего, просто убери эту строку. Если вам нужно переместить js файлы, сделайте это в другом месте.