You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

72 lines
1.8 KiB

var gulp = require('gulp'),
less = require('gulp-less'),
jshint = require('gulp-jshint'),
uglify = require('gulp-uglify'),
KarmaServer = require('karma').Server,
rename = require('gulp-rename'),
sourcemaps = require('gulp-sourcemaps'),
runSequence = require('run-sequence');
var path = require('path');
var srcFile = 'jquery.barrating.js';
var lessFiles = [
path.join(__dirname, 'examples', 'less', 'examples.less'),
path.join(__dirname, 'examples', 'less', 'main.less'),
];
var cssPath = path.join(__dirname, 'examples', 'css'),
distPath = 'dist';
var themePath = path.join(__dirname, 'dist', 'themes');
var themeLessFiles = 'themes/*.less';
gulp.task('jshint', function() {
return gulp.src(srcFile)
.pipe(jshint())
.pipe(jshint.reporter('default'))
.pipe(jshint.reporter('fail'));
});
gulp.task('uglify', function() {
return gulp.src(srcFile)
.pipe(sourcemaps.init())
.pipe(uglify())
.pipe(rename(function(path) {
path.basename += '.min';
}))
.pipe(sourcemaps.write('.'))
.pipe(gulp.dest(distPath));
});
gulp.task('test', function(done) {
new KarmaServer({
configFile: __dirname + '/karma.conf.js'
}, done).start();
});
gulp.task('less', function() {
return gulp.src(lessFiles)
.pipe(less())
.pipe(gulp.dest(cssPath));
});
gulp.task('themes', function() {
return gulp.src([themeLessFiles, '!themes/variables.less', '!themes/mixins.less'])
.pipe(less())
.pipe(gulp.dest(themePath));
});
gulp.task('build', function() {
runSequence('jshint', 'test', 'themes', 'uglify');
});
gulp.task('watch', function() {
gulp.watch(srcFile, ['jshint']);
gulp.watch(lessFiles, ['less']);
gulp.watch(themeLessFiles, ['themes']);
});
gulp.task('default', ['build']);