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';
16 src.push('src/bottom.txt');
17 src.unshift('src/top.txt');
20 gulp.task('lint', function () {
23 .pipe(jshint.reporter(stylish));
27 gulp.task('karma-CI', function (done) {
28 var conf = require('./test/karma.common.js');
29 conf.singleRun = true;
30 conf.browsers = ['PhantomJS'];
32 karma.start(conf, done);
35 gulp.task('uglify', function () {
37 .pipe(concat('smart-table.min.js'))
38 .pipe(sourcemaps.init())
40 .pipe(sourcemaps.write('.'))
41 .pipe(gulp.dest(disFolder));
44 gulp.task('concat', function () {
45 gulp.src(src, { base: '.' })
46 .pipe(concat('smart-table.js'))
47 .pipe(gulp.dest(disFolder));
50 gulp.task('test', ['karma-CI']);
52 gulp.task('build',['test', 'uglify', 'concat'], function () {
54 var version = packageJson.version;
55 var string = '/** \n* @version ' + version + '\n* @license MIT\n*/\n';
57 gulp.src(disFolder + '*.js')
58 .pipe(insert.prepend(string))
59 .pipe(gulp.dest(disFolder));