gulpfile.js 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. var gulp = require('gulp');
  2. var browserify = require('browserify');
  3. var concatCss = require('gulp-concat-css');
  4. var minifyCss = require('gulp-minify-css');
  5. var sass = require('gulp-sass');
  6. var uglify = require('gulp-uglify');
  7. var buffer = require('vinyl-buffer');
  8. var source = require('vinyl-source-stream');
  9. var sourcemaps = require('gulp-sourcemaps');
  10. var merge = require('merge-stream');
  11. gulp.task('js', function() {
  12. browserify('./jet/static/jet/js/src/main.js')
  13. .bundle()
  14. .on('error', function(error) {
  15. console.error(error);
  16. })
  17. .pipe(source('bundle.min.js'))
  18. .pipe(buffer())
  19. .pipe(uglify({'mangle': false}))
  20. .pipe(gulp.dest('./jet/static/jet/js/build/'));
  21. });
  22. gulp.task('vendor-css', function() {
  23. merge(
  24. gulp.src([
  25. './node_modules/select2/dist/css/select2.css',
  26. './node_modules/jquery-ui/themes/base/all.css',
  27. './node_modules/timepicker/jquery.ui.timepicker.css'
  28. ]),
  29. gulp.src([
  30. './node_modules/perfect-scrollbar/src/css/main.scss'
  31. ])
  32. .pipe(sass())
  33. .on('error', function(error) {
  34. console.error(error);
  35. })
  36. )
  37. .pipe(minifyCss())
  38. .on('error', function(error) {
  39. console.error(error);
  40. })
  41. .pipe(concatCss('vendor.css'))
  42. .on('error', function(error) {
  43. console.error(error);
  44. })
  45. .pipe(gulp.dest('./jet/static/jet/css'));
  46. });
  47. gulp.task('scss', function() {
  48. gulp.src('./jet/static/jet/css/**/*.scss')
  49. .pipe(sourcemaps.init())
  50. .pipe(sass())
  51. .on('error', function(error) {
  52. console.error(error);
  53. })
  54. .pipe(sourcemaps.write('./'))
  55. .pipe(gulp.dest('./jet/static/jet/css'));
  56. });
  57. gulp.task('watch', function() {
  58. gulp.watch('./jet/static/jet/js/src/**/*.js', ['js']);
  59. gulp.watch('./jet/static/jet/css/**/*.scss', ['scss']);
  60. });
  61. gulp.task('default', ['js', 'scss', 'vendor-css', 'watch']);