const gulp = require('gulp'), clean = require('gulp-clean'), postcss = require('gulp-postcss'), cssnano = require('cssnano'), sass = require('gulp-sass')(require('sass')), zip = require('gulp-zip').default; // Clean Tasks gulp.task('clean-style', () => { return gulp.src('assets/css/*.css', { read: false, allowEmpty: true, }).pipe(clean()); }); gulp.task('clean-package', () => { return gulp.src('ogrealert.zip', { read: false, allowEmpty: true, }).pipe(clean()); }); gulp.task( 'clean', gulp.series( 'clean-style', 'clean-package' ) ); // Compile Tasks gulp.task('compile-style', () => { return gulp.src([ 'assets/sass/*.scss', ]) .pipe(sass().on('error', sass.logError)) .pipe(postcss(cssnano())) .pipe(gulp.dest('./assets/css/')); }); gulp.task( 'compile', gulp.series( 'compile-style' ) ); // Package Tasks gulp.task('package-compress', () => { return gulp.src([ 'assets/css/*', 'assets/js/*', 'assets/*.png', 'inc/**/*', 'lib/**/*', 'templates/**/*', 'ogrealert.php', 'readme.txt' ], { base: './' }) .pipe(zip('ogrealert.zip')) .pipe(gulp.dest('./')); }); gulp.task( 'package', gulp.series( 'clean', 'compile', 'package-compress' ) ); // Default Tasks gulp.task( 'default', gulp.series( 'clean', 'compile' ) );