Skip to content

Instantly share code, notes, and snippets.

@rabellamy
Created September 4, 2015 13:20
Show Gist options
  • Save rabellamy/574ad428836f17784560 to your computer and use it in GitHub Desktop.
Save rabellamy/574ad428836f17784560 to your computer and use it in GitHub Desktop.
'use strict';
var gulp = require('gulp');
var jshint = require('gulp-jshint');
var stylish = require('jshint-stylish');
var gulp = require('gulp');
var sass = require('gulp-sass');
var minifyCSS = require('gulp-minify-css');
var prefix = require('gulp-autoprefixer');
var concat = require('gulp-concat');
var uglify = require('gulp-uglify');
var stripDebug = require('gulp-strip-debug');
var rename = require('gulp-rename');
var browserSync = require('browser-sync');
var paths = {
css: 'css',
sass: 'sass',
images: 'img',
js: 'js',
fonts: 'fonts',
};
//////////////////////////////
// Begin Gulp Tasks
//////////////////////////////
gulp.task('lint', function () {
return gulp.src([
paths.js + '/**/*.js'
])
.pipe(jshint())
.pipe(jshint.reporter(stylish))
});
gulp.task('scripts', function() {
return gulp.src(paths.js)
// Concatenate everything within the JavaScript folder.
.pipe(concat('scripts.js'))
.pipe(gulp.dest(paths.js))
.pipe(rename('scripts.min.js'))
// Strip all debugger code out.
.pipe(stripDebug())
// Minify the JavaScript.
.pipe(uglify())
.pipe(gulp.dest(paths.js));
});
//////////////////////////////
// Sass Task
//////////////////////////////
gulp.task('sass', function () {
gulp.src(paths.sass + '/**/*.scss')
.pipe(sass().on('error', sass.logError))
.pipe(gulp.dest('./css'));
});
//////////////////////////////
// Watch
//////////////////////////////
gulp.task('watch', function () {
gulp.watch(paths.js + '/**/*.js', ['lint', 'scripts']);
gulp.watch(paths.sass + '/**/*.scss', ['sass']);
});
//////////////////////////////
// BrowserSync Task
//////////////////////////////
gulp.task('browserSync', function () {
browserSync.init({
files: [paths.css + '/**/*.css', paths.js + '/**/*.js', paths.img + '/**/*', paths.fonts + '/**/*'],
proxy: 'yourProxy',
port: 8082
});
});
//////////////////////////////
// Server Tasks
//////////////////////////////
gulp.task('default', ['scripts', 'watch', 'browserSync']);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment