Skip to content

Instantly share code, notes, and snippets.

@tehfedaykin
Created January 13, 2015 17:05
Show Gist options
  • Save tehfedaykin/19974078a7dadb8ce17b to your computer and use it in GitHub Desktop.
Save tehfedaykin/19974078a7dadb8ce17b to your computer and use it in GitHub Desktop.
var gulp = require('gulp'),
gutil = require('gulp-util'),
clean = require('gulp-clean'),
uglify = require('gulp-uglify'),
minifyCSS = require('gulp-minify-css'),
sourcemaps = require('gulp-sourcemaps'),
wrap = require('gulp-wrap-exports'),
addsrc = require('gulp-add-src'),
concat = require('gulp-concat');
gulp.task('default', function() {
gulp.start( 'scripts', 'vendor', 'styles');
});
gulp.task('clean', function () {
return gulp.src('./frontend/dist', {read: false})
.pipe(clean());
});
gulp.task('scripts', function() {
return gulp.src([
'frontend/js/**/*.js',
'frontend/js/*.js'
])
.pipe(sourcemaps.init())
.pipe(concat('main.js'))
.pipe(uglify())
.pipe(sourcemaps.write())
.pipe(gulp.dest('./frontend/dist/scripts'))
.on('error', gutil.log);
});
gulp.task('vendor', function() {
return gulp.src('frontend/js/lib/jquery/jquery.js')
.pipe(wrap({name: '$'}))
.pipe(addsrc('frontend/js/lib/jquery/jquery-ui.min.js'))
.pipe(addsrc('frontend/js/lib/underscore/underscore.js'))
.pipe(wrap({ name: '_' }))
.pipe(addsrc('frontend/js/lib/backbone/backbone.js'))
.pipe(wrap({ name: 'Backbone' }))
.pipe(addsrc([
'frontend/js/lib/backbone/backbone.iobind.js',
'frontend/js/lib/backbone/backbone.iosync.js',
'frontend/js/lib/bootstrap/bootstrap.js',
'frontend/js/lib/bootstrap/bootstrap-popover.js',
'frontend/js/lib/scroll/scroll.js',
'frontend/js/lib/jquery/plugins.js',
'frontend/js/lib/chart/chart.js',
'frontend/js/lib/chart/canvasjs.js',
'frontend/js/lib/jquery/select.js',
'frontend/js/lib/date/moment.js',
'frontend/js/lib/date/moment-range.js',
'frontend/js/lib/number/numeral.js',
'frontend/js/lib/faye/faye.js',
'frontend/js/lib/jquery/jquery.timepicker.min.js',
'frontend/js/lib/jquery/jquery.charCount.js',
'frontend/js/lib/jquery/idle-timer.min.js'
]))
.pipe(sourcemaps.init())
.pipe(concat('vendor.js'))
.pipe(uglify())
.pipe(sourcemaps.write())
.pipe(gulp.dest('./frontend/dist/scripts'))
.on('error', gutil.log);
});
gulp.task('styles', function() {
return gulp.src('frontend/css/*.css')
.pipe(concat('styles.css'))
.pipe(minifyCSS())
.pipe(gulp.dest('./frontend/dist/styles'))
.on('error', gutil.log);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment