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

3 years ago
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
  1. var gulp = require('gulp'),
  2. less = require('gulp-less'),
  3. jshint = require('gulp-jshint'),
  4. uglify = require('gulp-uglify'),
  5. KarmaServer = require('karma').Server,
  6. rename = require('gulp-rename'),
  7. sourcemaps = require('gulp-sourcemaps'),
  8. runSequence = require('run-sequence');
  9. var path = require('path');
  10. var srcFile = 'jquery.barrating.js';
  11. var lessFiles = [
  12. path.join(__dirname, 'examples', 'less', 'examples.less'),
  13. path.join(__dirname, 'examples', 'less', 'main.less'),
  14. ];
  15. var cssPath = path.join(__dirname, 'examples', 'css'),
  16. distPath = 'dist';
  17. var themePath = path.join(__dirname, 'dist', 'themes');
  18. var themeLessFiles = 'themes/*.less';
  19. gulp.task('jshint', function() {
  20. return gulp.src(srcFile)
  21. .pipe(jshint())
  22. .pipe(jshint.reporter('default'))
  23. .pipe(jshint.reporter('fail'));
  24. });
  25. gulp.task('uglify', function() {
  26. return gulp.src(srcFile)
  27. .pipe(sourcemaps.init())
  28. .pipe(uglify())
  29. .pipe(rename(function(path) {
  30. path.basename += '.min';
  31. }))
  32. .pipe(sourcemaps.write('.'))
  33. .pipe(gulp.dest(distPath));
  34. });
  35. gulp.task('test', function(done) {
  36. new KarmaServer({
  37. configFile: __dirname + '/karma.conf.js'
  38. }, done).start();
  39. });
  40. gulp.task('less', function() {
  41. return gulp.src(lessFiles)
  42. .pipe(less())
  43. .pipe(gulp.dest(cssPath));
  44. });
  45. gulp.task('themes', function() {
  46. return gulp.src([themeLessFiles, '!themes/variables.less', '!themes/mixins.less'])
  47. .pipe(less())
  48. .pipe(gulp.dest(themePath));
  49. });
  50. gulp.task('build', function() {
  51. runSequence('jshint', 'test', 'themes', 'uglify');
  52. });
  53. gulp.task('watch', function() {
  54. gulp.watch(srcFile, ['jshint']);
  55. gulp.watch(lessFiles, ['less']);
  56. gulp.watch(themeLessFiles, ['themes']);
  57. });
  58. gulp.task('default', ['build']);