gulpfile - sass & js
const gulp = require('gulp');
const babel = require('gulp-babel');
const sass = require('gulp-sass');
const plumber = require('gulp-plumber');
const autoprefixer = require('gulp-autoprefixer');
const sourcemaps = require('gulp-sourcemaps');
const concat = require('gulp-concat');
const cleancss = require('gulp-clean-css');
gulp.task('sass', function () {
return gulp.src('./src/sass/*.scss')
.pipe(sass().on('error', sass.logError))
.pipe(plumber())
.pipe(sourcemaps.init())
.pipe(autoprefixer({browsers: ['last 12 versions'],cascade: false}))
.pipe(concat('all.css'))
.pipe(cleanCSS({debug: true}, function(details) {
console.log(details.name + ': ' + details.stats.originalSize);
console.log(details.name + ': ' + details.stats.minifiedSize);
}))
.pipe(sourcemaps.write('.'))
.pipe(gulp.dest('./dist/css/'))
});
gulp.task("js", function () {
return gulp.src("./src/js/*.js")
.pipe(sourcemaps.init())
.pipe(babel({
presets: ['env']
}))
.pipe(plumber())
.pipe(concat("all.js"))
.pipe(sourcemaps.write("."))
.pipe(gulp.dest("dist"));
});
gulp.task('watch', function() {
gulp.watch('./src/js/*.js', ['js']);
gulp.watch('./src/sass/*.scss', ['sass']);
});
gulp.task('default', ['watch', 'js', 'sass']);