build/gulpfile.js (58 lines of code) (raw):
import gulp from 'gulp';
import uglify from 'gulp-uglify';
import imagemin from 'gulp-imagemin';
import minifyCSS from 'gulp-minify-css';
import connect from 'gulp-connect';
import opn from 'opn';
var src = {
scripts: '../assets/js/*',
images: '../assets/img/*',
css: '../assets/css/*',
fonts: '../assets/fonts/*',
};
var out = {
scripts: '../public/js',
images: '../public/img',
css: '../public/css',
fonts: '../public/fonts'
};
gulp.task('scripts', gulp.series(function() {
/* Minify and concat */
return gulp.src(src.scripts)
.pipe(uglify())
.pipe(gulp.dest(out.scripts))
.pipe(connect.reload());
}));
gulp.task('images', gulp.series(function() {
return gulp.src(src.images)
/* Optimize */
.pipe(imagemin({optimizationLevel: 5}))
.pipe(gulp.dest(out.images))
.pipe(connect.reload());
}));
gulp.task('css', gulp.series(function() {
return gulp.src(src.css)
.pipe(minifyCSS())
.pipe(gulp.dest(out.css))
.pipe(connect.reload());
}));
gulp.task('fonts', gulp.series(function() {
return gulp.src(src.fonts)
.pipe(gulp.dest(out.fonts))
.pipe(connect.reload());
}));
gulp.task('connect', gulp.series(function() {
connect.server({
root: '..',
port:18080,
livereload: true
});
}));
gulp.task('serve', gulp.series('connect', function () {
opn('http://localhost:8080');
}));
/* Rerun the task when a file changes */
gulp.task('watch', gulp.series(function () {
gulp.watch(src.scripts, ['scripts']);
gulp.watch(src.css, ['css']);
gulp.watch(src.images, ['images']);
gulp.watch(src.fonts, ['fonts']);
}));
/* The default task (called when you run `gulp` from cli) */
gulp.task('default', gulp.series('scripts', 'images', 'css', 'fonts', 'connect', 'watch'));