Skip to content

Instantly share code, notes, and snippets.

@jdgo-mars
Last active January 5, 2016 23:55
Show Gist options
  • Save jdgo-mars/6df497a4ab16107f1ab9 to your computer and use it in GitHub Desktop.
Save jdgo-mars/6df497a4ab16107f1ab9 to your computer and use it in GitHub Desktop.
/*
Import Packages
*/
var gulp = require('gulp'),
gutil = require('gulp-util'),
jshint = require('gulp-jshint'),
sass = require('gulp-sass'),
sourcemaps = require('gulp-sourcemaps'),
autoprefixer = require('gulp-autoprefixer'),
source = require('vinyl-source-stream'),
buffer = require('vinyl-buffer'),
browserify = require('browserify');
uglify = require('gulp-uglify'),
babelify = require('babelify'),
browserSync = require('browser-sync').create(),
fs = require("fs");
/*
Constants
*/
var path = {
src: './src',
dist: './public/assets'
};
// JS Build
gulp.task('build-js', function() {
var b = browserify();
b.transform(babelify.configure({
presets: ["es2015"]
}));
b.add(path.src + "/js/entry.js");
return b.bundle()
.on('error', function(err){
console.log(err.message);
this.emit('end');
})
.pipe(source('bundle.js'))
.pipe(gulp.dest(path.dist +'/js/'));
});
gulp.task('js-watch', ['build-js'], browserSync.reload);
// CSS Build
gulp.task('build-css', function() {
return gulp.src(path.src + '/scss/main.scss')
.pipe(sourcemaps.init())
.pipe(sass().on('error', sass.logError))
.pipe(autoprefixer({ browsers: ['last 2 versions'] , cascade: false }))
.pipe(sourcemaps.write('/maps', {addComment: false}))
.pipe(gulp.dest(path.dist + '/css/'))
.pipe(browserSync.stream());
});
// Static Server + watching scss/html files
gulp.task('serve', function() {
browserSync.init({
server: "./public"
});
gulp.watch(path.src + '/js/**/*.js', ['watch-js']);
gulp.watch(path.src + '/scss/**/*.scss', ['build-css']);
gulp.watch("public/*.html").on('change', browserSync.reload);
});
gulp.task('default', ['serve']);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment