Skip to content

Instantly share code, notes, and snippets.

@Webbist-dev
Created December 12, 2014 10:00
Show Gist options
  • Save Webbist-dev/02dc871b4f818b78bd90 to your computer and use it in GitHub Desktop.
Save Webbist-dev/02dc871b4f818b78bd90 to your computer and use it in GitHub Desktop.
Gulpfile
process.env.NODE_ENV = 'development';
var gulp = require('gulp'),
sass = require('gulp-sass'),
compass = require('gulp-compass'),
minifycss = require('gulp-minify-css'),
concat = require('gulp-concat'),
uglify = require('gulp-uglify'),
sourcemaps = require('gulp-sourcemaps'),
gulpif = require('gulp-if'),
notify = require('gulp-notify'),
clean = require('gulp-clean'),
browserSync = require('browser-sync');
var env = process.env.NODE_ENV;
// BrowserSync
gulp.task('browser-sync', function() {
browserSync({
proxy: "wellicious.dev"
});
});
// SASS tasks
gulp.task('sass', function() {
return gulp.src('scss/**/*.scss')
.pipe(compass({
config_file: 'config.rb',
css: 'css',
sass: 'scss',
bundle_exc: true
}))
.on('error', function (err) {
$.util.log(err.message);
this.emit('end');
})
.pipe(gulpif(env === 'development', sass({errLogToConsole: true})))
.pipe(gulpif(env === 'production', sass({errLogToConsole: true})))
.pipe(gulpif(env === 'production', minifycss()))
.pipe(gulp.dest('css'))
.pipe(browserSync.reload({stream:true}))
.pipe(notify({
message: 'Successfully compiled SASS in ' + env
}));
});
// JS tasks
gulp.task('js', function() {
return gulp.src([
'bower_components/foundation/js/foundation/foundation.js',
'bower_components/foundation/js/foundation/foundation.dropdown.js',
'src_js/foundation.equalizer.js',
'js/firecheckout.js',
'bower_components/foundation/js/foundation/foundation.offcanvas.js',
'bower_components/foundation/js/foundation/foundation.orbit.js',
'bower_components/foundation/js/foundation/foundation.topbar.js',
'src_js/easyResponsiveTabs.js',
'src_js/jquery.magnific-popup.js',
'src_js/jquery.zoom.js',
'src_js/jquery-ui.js',
'src_js/elevatezoom/jquery.elevatezoom.js',
'src_js/jquery.flexslider.js',
'src_js/freewall.js',
//'src_js/jquery.nested.js',
'src_js/smartresize.js',
'src_js/freewall.settings.js',
'src_js/app.js'
])
// .pipe(gulpif(env === 'development', sourcemaps.init()))
.pipe(gulpif(env === 'production', uglify()))
.pipe(concat('script.js'))
// .pipe(gulpif(env === 'development', sourcemaps.write()))
.pipe(gulp.dest('js'))
.pipe(browserSync.reload({stream:true}))
.pipe(notify({
message: 'Successfully compiled JS'
}));
});
// Clean
gulp.task('clean', function() {
return gulp.src(['css/styles.css', 'js/script.js'], {read: false})
.pipe(clean());
});
// Reload all Browsers
gulp.task('bs-reload', function () {
browserSync.reload();
});
// Watch task
gulp.task('default', ['sass', 'js'], function() {
// Watch .scss files
gulp.watch('scss/**/*.scss', ['sass']);
// Watch .js files
gulp.watch('src_js/**/*.js', ['js']);
// gulp.watch("*.html", ['bs-reload']);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment