Created
December 24, 2017 18:43
-
-
Save legomolina/9d770399171472faf8feff7ac04ed078 to your computer and use it in GitHub Desktop.
Gulpfile to compile scss, minify css, js and compress images. Development and production
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Gulp | |
var gulp = require('gulp'); | |
// Sass/CSS stuff | |
var sass = require('gulp-sass'); | |
var prefix = require('gulp-autoprefixer'); | |
var minifycss = require('gulp-minify-css'); | |
// JavaScript | |
var uglify = require('gulp-uglify'); | |
// Images | |
var svgmin = require('gulp-svgmin'); | |
var imagemin = require('gulp-imagemin'); | |
// Stats and Things | |
var size = require('gulp-size'); | |
// Livereload | |
var liveReload = require('gulp-livereload'); | |
// compile all your Sass | |
gulp.task('sass', function () { | |
/*gulp.src(['./public_html/style/css//.css']) | |
.pipe(copyTo('./dist/styles/css'));*/ | |
gulp.src(['./public_html/style/scss/style.scss']) | |
.pipe(sass({ | |
includePaths: ['./public_html/style/sass'], | |
outputStyle: 'expanded' | |
})) | |
.pipe(prefix( | |
"last 2 version", "> 1%", "ie 8", "ie 7" | |
)) | |
.pipe(sass().on("error", sass.logError)) | |
.pipe(gulp.dest('./public_html/style/css')) | |
}); | |
// Uglify JS | |
gulp.task('uglify', function () { | |
gulp.src('./public_html/scripts/**/*.js') | |
.pipe(uglify()) | |
.pipe(gulp.dest('./dist/scripts')); | |
}); | |
// Images | |
gulp.task('imagemin', function () { | |
gulp.src('./public_html/images/**/*') | |
.pipe(imagemin()) | |
.pipe(gulp.dest('./dist/images')); | |
}); | |
// Stats and Things | |
gulp.task('stats', function () { | |
gulp.src('./dist/**/*') | |
.pipe(size()) | |
.pipe(gulp.dest('./dist')); | |
}); | |
gulp.task('default', ["sass"], function () { | |
liveReload.listen(); | |
// watch me getting Sassy | |
gulp.watch("./public_html/style/scss/**/*.scss", ["sass", "stats"]); | |
//livereload | |
gulp.watch(["./app/**/*.*", "./public_html/**/*.*"]).on('change', function (file) { | |
liveReload.changed(file.path); | |
}); | |
}); | |
gulp.task('production', ["sass", "uglify", "imagemin"], function() { | |
gulp.src([ | |
'./public_html/**/*.*', | |
'./public_html/**/.*', | |
'!./public_html/{images,images/**}', | |
'!./public_html/{scripts,scripts/**}', | |
'!./public_html/style/{scss,scss/**}' | |
]) | |
.pipe(gulp.dest('./dist')); | |
gulp.src('./public_html/style/css') | |
.pipe(minifycss()) | |
.pipe(gulp.dest('./dist/style')); | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment