-
Notifications
You must be signed in to change notification settings - Fork 1
/
gulpfile.js
30 lines (27 loc) · 906 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
var gulp = require('gulp');
var concat = require('gulp-concat');
var order = require('gulp-order');
var uglify = require('gulp-uglify');
var autopolyfiller = require('gulp-autopolyfiller');
var merge = require('event-stream').merge;
gulp.task('default', function () {
// Concat all required js files
var all = gulp.src('js/*.js')
.pipe(concat('all.js'));
// Generate polyfills for all files
var polyfills = all
.pipe(autopolyfiller('polyfills.js'));
// Merge polyfills and all files streams
return merge(polyfills, all)
// Order files. NB! polyfills MUST be first
.pipe(order([
'polyfills.js',
'all.js'
]))
// Make single file
.pipe(concat('all.min.js'))
// Uglify it
.pipe(uglify())
// And finally write `all.min.js` into `build/` dir
.pipe(gulp.dest('build'));
});