Skip to content

Instantly share code, notes, and snippets.

@ninetails
Created January 21, 2015 00:11
Show Gist options
  • Save ninetails/8f4182db227493d5c85e to your computer and use it in GitHub Desktop.
Save ninetails/8f4182db227493d5c85e to your computer and use it in GitHub Desktop.
another gulp attempt
var
browserSync = require('browser-sync'),
gulp = require('gulp'),
autoprefix = require('gulp-autoprefixer'),
concat = require('gulp-concat'),
filter = require('gulp-filter'),
jade = require('gulp-jade'),
sass = require('gulp-ruby-sass'),
sourcemaps = require('gulp-sourcemaps'),
traceur = require('gulp-traceur'),
uglify = require('gulp-uglify'),
reload = browserSync.reload;
gulp.task('browser-sync', function () {
browserSync({
server: {
baseDir: 'dist'
}
});
});
gulp.task('html', function () {
gulp.src('src/jade/**/*.jade')
.pipe(jade())
.pipe(gulp.dest('dist'))
.pipe(reload({stream: true}));
});
gulp.task('css', function () {
var filter_css = filter('**/*.css');
gulp.src('src/scss/**/*.scss')
.pipe(gulp.dest('dist/assets/scss'))
.pipe(sass({sourcemap: true, style: 'compressed', sourcemapPath: '/assets/scss'}))
.pipe(sourcemaps.init({loadMaps: true}))
.pipe(filter_css)
.pipe(autoprefix({browsers: ['last 2 versions', '> 1%', 'ie 8', 'ie 7']}))
.pipe(sourcemaps.write('.', {sourceRoot:'/'}))
.pipe(filter_css.restore())
.pipe(gulp.dest('dist/assets/css'))
.pipe(reload({stream: true}));
});
gulp.task('loader', function () {
gulp.src([
'bower_components/rsvp/rsvp.min.js',
'bower_components/basket.js/dist/basket.js',
'bower_components/requirejs/require.js',
'src/loader/basket-loader.js',
'src/loader/index.js'
])
.pipe(concat('loader.js'))
.pipe(uglify())
.pipe(gulp.dest('dist/assets'))
.pipe(reload({stream: true}));
});
gulp.task('vendors', function () {
gulp.src('bower_components/zeptojs/src/zepto.js')
.pipe(concat('zepto.min.js'))
.pipe(uglify())
.pipe(gulp.dest('dist/assets/vendors/zepto'));
});
gulp.task('js', function () {
gulp.src([
'src/js/**/*.js'
])
.pipe(sourcemaps.init())
.pipe(traceur())
.pipe(concat('index.js'))
.pipe(uglify())
.pipe(sourcemaps.write('.'))
.pipe(gulp.dest('dist/app'))
.pipe(reload({stream: true}));
});
gulp.task('default', ['html','loader','css','vendors','js']);
gulp.task('watch', ['browser-sync'], function () {
gulp.watch("src/jade/**/*.jade", ['html']);
gulp.watch("src/loader/**/*.js", ['loader']);
gulp.watch("src/scss/**/*.scss", ['css']);
gulp.watch("src/js/**/*.js", ['js']);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment