Skip to content

Instantly share code, notes, and snippets.

@BuddhikaGeasman
Last active August 19, 2016 20:45
Show Gist options
  • Select an option

  • Save BuddhikaGeasman/d1eec07a76de6216d9a318430b663d67 to your computer and use it in GitHub Desktop.

Select an option

Save BuddhikaGeasman/d1eec07a76de6216d9a318430b663d67 to your computer and use it in GitHub Desktop.
Gulp Set up
var gulp = require('gulp');
var sass = require ('gulp-sass');
var browserSync = require('browser-sync').create();
var reload = browserSync.reload;
var source = require('vinyl-source-stream');
var browserify = require('browserify');
var watchify = require('watchify');
var babel = require ('babelify');
//sass function
gulp.task('sass', ()=> {
gulp.src('sass/**/*.scss')
.pipe(sass.sync().on('error', sass.logError))
.pipe(gulp.dest('./css'));
});
//watch function
gulp.task('watch', ['browser-sync'], ()=> {
gulp.watch('./scss/*.scss', ['sass']);
gulp.watch('./dist/*.js', reload);
gulp.watch('*html', reload);
});
gulp.task('browser-sync', ()=> {
browserSync.init(['./css/**.*'], {
server: {
baseDir: "./"
}
});
});
//browserify
// gulp.task('browserify', ()=>{
// return browserify('./src/app.js')
// .transform('babelify', {presets:['es2015']})
// .bundle()
// //pass desired output filename to vinyl-source-stream
// .pipe(source('bundle.js'))
// //start piping stream to tasks
// .pipe(gulp.dest('./dist/'));
// });
function compile(es6){
var bundler = watchify(browserify('./src/app.js'))
.transform('babelify',{presets :['es2015']});
function rebundle(){
bundler.bundle()
.pipe(source('bundle.js'))
.pipe(gulp.dest('./dist/'));
}
if (es6) {
bundler.on('update', function(){
console.log('-> bundling...');
rebundle();
});
}
rebundle();
}
function es6() {
return compile(true);
}
gulp.task('build', ()=> {return compile();});
gulp.task('es6', ()=> {return es6();});
gulp.task('default',['watch']);
//better watch task
//Watch task
/*
gulp.task('default',function() {
gulp.watch('sass/**/*.scss',['styles']);
});
*/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment