40 lines
1.0 KiB
JavaScript
40 lines
1.0 KiB
JavaScript
var gulp = require('gulp');
|
|
var cleanCSS = require('gulp-clean-css');
|
|
var sass = require('gulp-sass');
|
|
var rename = require('gulp-rename');
|
|
var uglify = require('gulp-uglify');
|
|
|
|
// SASS compilation
|
|
gulp.task('sass', function() {
|
|
return gulp.src('scss/*sidebar.scss')
|
|
.pipe(sass())
|
|
.on('error', sass.logError)
|
|
.pipe(gulp.dest('css'));
|
|
});
|
|
|
|
// Minify JS + CSS
|
|
gulp.task('minify:js', function() {
|
|
return gulp.src('js/*sidebar.js')
|
|
.pipe(rename({ suffix: '.min' }))
|
|
.pipe(uglify())
|
|
.pipe(gulp.dest('js'));
|
|
});
|
|
|
|
gulp.task('minify:css', gulp.series('sass', function() {
|
|
return gulp.src('css/*sidebar.css')
|
|
.pipe(rename({ suffix: '.min' }))
|
|
.pipe(cleanCSS({level: 2}))
|
|
.pipe(gulp.dest('css'));
|
|
}));
|
|
|
|
gulp.task('minify', gulp.parallel('minify:js', 'minify:css'));
|
|
|
|
// Watch JS + CSS Files
|
|
gulp.task('watch', gulp.series('minify', function() {
|
|
gulp.watch('js/*.js', ['minify:js']);
|
|
gulp.watch('scss/*.scss', ['minify:css']);
|
|
}));
|
|
|
|
// Default
|
|
gulp.task('default', gulp.series('minify'));
|