-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgulpfile.js
51 lines (39 loc) · 1020 Bytes
/
gulpfile.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
49
var gulp = require('gulp'),
compiler = require('webpack'),
concat = require('gulp-concat'),
minify = require('gulp-babel-minify'),
mocha = require('gulp-mocha'),
rename = require('gulp-rename'),
webpack = require('webpack-stream');
var scriptSrc = './src/',
scriptDst = './dist/',
scriptFile = 'vector.js',
scriptFileMin = 'vector.min.js',
testsSrc = './tests/';
/*****
Run tests
*****/
gulp.task('test', function() {
return gulp.src('./tests/*.js')
.pipe(mocha())
});
/*****
Build and watch
*****/
gulp.task('build', function() {
return gulp.src(scriptSrc + '*.js')
/* .pipe(webpack({
mode: 'development'
}, compiler))
.pipe(rename(scriptFile)) */
.pipe(concat(scriptFile))
.pipe(gulp.dest(scriptDst))
.pipe(rename(scriptFileMin))
.pipe(minify({
mangle: { keepClassName: true }
}))
.pipe(gulp.dest(scriptDst));
});
gulp.task('default', gulp.series(['build']), function() {
gulp.watch(scriptSrc + '*.js', ['build']);
});