Skip to content

Instantly share code, notes, and snippets.

@somecallmejosh
Last active February 15, 2016 02:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save somecallmejosh/9a41a75944eb0c6ea6f2 to your computer and use it in GitHub Desktop.
Save somecallmejosh/9a41a75944eb0c6ea6f2 to your computer and use it in GitHub Desktop.
JavaScript: Gulpfile Baseline #snippet
var gulp = require('gulp'),
jshint = require('gulp-jshint'),
sass = require('gulp-sass'),
imagemin = require('gulp-imagemin'),
browserify = require('browserify'),
uglify = require('gulp-uglify'),
minifyHTML = require('gulp-minify-html'),
concat = require('gulp-concat'),
rename = require('gulp-rename'),
source = require('vinyl-source-stream'),
buffer = require('vinyl-buffer'),
postcss = require('gulp-postcss'),
sourcemaps = require('gulp-sourcemaps'),
autoprefixer = require('autoprefixer');
gulp.task('jshint', function(){
return gulp.src('site/js/*.js')
.pipe(jshint())
.pipe(jshint.reporter('default'));
});
gulp.task('sass', function(){
return gulp.src('site/sass/*.sass')
.pipe(sass())
.pipe(gulp.dest('site/css'));
});
gulp.task('html', function(){
return gulp.src('site/*.html')
.pipe(minifyHTML())
.pipe(gulp.dest('build/'));
});
gulp.task('scripts', function(){
return browserify('site/js/main.js')
.bundle()
.pipe(source('app.js'))
.pipe(buffer())
.pipe(uglify())
.pipe(gulp.dest('build/js'));
});
gulp.task('autoprefixer', function(){
return gulp.src('site/css/*.css')
.pipe(sourcemaps.init())
.pipe(postcss([autoprefixer({browsers: ['last 2 versions'] }) ]))
.pipe(sourcemaps.write('.'))
.pipe(gulp.dest('build/css'));
});
gulp.task('images', function(){
return gulp.src('site/images/**/*')
.pipe(imagemin())
.pipe(gulp.dest('build/img'));
});
gulp.task('watch', function(){
gulp.watch('site/js/*.js', ['jshint']);
gulp.watch('site/sass/*.sass', ['sass']);
});
gulp.task('default', ['jshint', 'sass', 'watch']);
gulp.task('build', ['html', 'scripts', 'autoprefixer', 'images']);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment