gulpFile.js 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. var gulp = require('gulp');
  2. var concat = require('gulp-concat');
  3. var uglify = require('gulp-uglify');
  4. var karma = require('karma').server;
  5. var jshint = require('gulp-jshint');
  6. var insert = require('gulp-insert');
  7. var sourcemaps = require('gulp-sourcemaps');
  8. var stylish = require('jshint-stylish');
  9. var packageJson = require('./package.json');
  10. var pluginList = ['stSearch', 'stSelectRow', 'stSort', 'stPagination', 'stPipe'];
  11. var disFolder = './dist/';
  12. var src = (['smart-table.module', 'stConfig', 'stTable']).concat(pluginList).map(function (val) {
  13. return 'src/' + val + '.js';
  14. });
  15. src.push('src/bottom.txt');
  16. src.unshift('src/top.txt');
  17. //just as indication
  18. gulp.task('lint', function () {
  19. gulp.src(src)
  20. .pipe(jshint())
  21. .pipe(jshint.reporter(stylish));
  22. });
  23. gulp.task('karma-CI', function (done) {
  24. var conf = require('./test/karma.common.js');
  25. conf.singleRun = true;
  26. conf.browsers = ['PhantomJS'];
  27. conf.basePath = './';
  28. karma.start(conf, done);
  29. });
  30. gulp.task('uglify', function () {
  31. gulp.src(src)
  32. .pipe(concat('smart-table.min.js'))
  33. .pipe(sourcemaps.init())
  34. .pipe(uglify())
  35. .pipe(sourcemaps.write('.'))
  36. .pipe(gulp.dest(disFolder));
  37. });
  38. gulp.task('concat', function () {
  39. gulp.src(src, { base: '.' })
  40. .pipe(concat('smart-table.js'))
  41. .pipe(gulp.dest(disFolder));
  42. });
  43. gulp.task('test', ['karma-CI']);
  44. gulp.task('build',['test', 'uglify', 'concat'], function () {
  45. var version = packageJson.version;
  46. var string = '/** \n* @version ' + version + '\n* @license MIT\n*/\n';
  47. gulp.src(disFolder + '*.js')
  48. .pipe(insert.prepend(string))
  49. .pipe(gulp.dest(disFolder));
  50. });