const gulp = require('gulp'); const postcss = require('gulp-postcss'); const sass = require('gulp-sass')(require('sass')); const sourcemaps = require('gulp-sourcemaps'); const terser = require('gulp-terser'); function html() { return gulp.src('./src/index.html') .pipe(gulp.dest('./dist/')); } function css() { return gulp.src('./src/scss/*.scss') .pipe(sourcemaps.init()) .pipe(sass.sync().on('error', sass.logError)) .pipe(postcss([require("autoprefixer"), require("postcss-csso")])) .pipe(sourcemaps.write('.')) .pipe(gulp.dest('./dist/')); } function js() { return gulp.src('./src/main.js') .pipe(sourcemaps.init()) .pipe(terser({ ecma: 5 })) .pipe(sourcemaps.write('.')) .pipe(gulp.dest('./dist/')); } function static() { return gulp.src('./src/static/**/*') .pipe(gulp.dest('./dist/')); } exports.default = gulp.parallel(html, css, js, static); exports.watch = () => { gulp.watch('./src/index.pug', html); gulp.watch('./src/style/*.scss', css); gulp.watch('./src/script/index.js', js); gulp.watch('./src/static/*', static); }