sigil88
8/28/2017 - 7:04 PM

gulpfile - sass & js

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']);