// Requires const gulp = require('gulp'); const prefix = require('gulp-autoprefixer'); const sass = require('gulp-sass'); const browserSync = require('browser-sync'); /* ----------------------------------------- */ /* Compile Sass /* ----------------------------------------- */ // Small error handler helper function. function handleError(err) { console.log(err.toString()); this.emit('end'); } const SYSTEM_SCSS = ["system/styles/conf/**/*.scss"]; function compileScss() { // Configure options for sass output. For example, 'expanded' or 'nested' let options = { outputStyle: 'compressed' }; return gulp.src(SYSTEM_SCSS) .pipe( sass(options) .on('error', handleError) ) .pipe(prefix({ cascade: false })) .pipe(gulp.dest("system/styles")) .pipe(browserSync.reload({ stream: true })) } const css = gulp.series(compileScss); /* ----------------------------------------- */ /* Watch Updates /* ----------------------------------------- */ function watchUpdates() { gulp.watch("system/styles/scss/**/*.scss", css); } /* ----------------------------------------- */ /* BrowserSync /* ----------------------------------------- */ function bSync() { browserSync({ server: { baseDir: 'system/styles' }, }) } /* ----------------------------------------- */ /* Export Tasks /* ----------------------------------------- */ exports.default = gulp.series( compileScss, watchUpdates, bSync ); exports.css = css;