-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgulpfile.babel.js
48 lines (42 loc) · 1.17 KB
/
gulpfile.babel.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import gulp from 'gulp';
import uglify from 'gulp-uglify';
import coveralls from 'gulp-coveralls';
import cssmin from 'gulp-cssmin';
import concat from 'gulp-concat';
import rename from 'gulp-rename';
import {server as karma} from 'karma';
const _coverage = 'coverage/**/lcov.info';
const _scripts = 'src/**/*.js';
const _styles = 'src/**/*.css';
const _script = 'n4input.js';
const _style = 'n4input.css';
const _dist = 'dist';
gulp.task('build-css', () => {
return gulp.src(_styles)
.pipe(concat(_style.toLowerCase()))
.pipe(gulp.dest(_dist))
.pipe(cssmin())
.pipe(rename({suffix: '.min'}))
.pipe(gulp.dest(_dist));
});
gulp.task('build', ['unit_test', 'build-css'], () => {
return gulp.src(_scripts)
.pipe(concat(_script.toLowerCase()))
.pipe(gulp.dest(_dist))
.pipe(uglify())
.pipe(rename({suffix: '.min'}))
.pipe(gulp.dest(_dist));
});
gulp.task('unit_test', (done) => {
let _opts = {
configFile: __dirname + '/karma.conf.js',
singleRun: true,
browsers: ['PhantomJS']
};
return karma.start(_opts, done);
});
gulp.task('coverage', ['unit_test'], () => {
return gulp
.src(_coverage)
.pipe(coveralls());
});