-
Notifications
You must be signed in to change notification settings - Fork 5
/
gulpfile.js
30 lines (23 loc) · 944 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
let gulp = require('gulp');
let babel = require('gulp-babel');
let uglify = require('gulp-uglify');
let zip = require('gulp-zip');
let del = require('del');
gulp.task('clean', () => del('dist'));
function codySmash(filename) {
return gulp.src('public/' + filename)
.pipe(gulp.dest('public/dist/uncompressed'))
.pipe(babel({presets: ['@babel/env']}))
.pipe(uglify())
.pipe(gulp.dest('public/dist/compressed'));
}
gulp.task('smash-client', () => codySmash('client.js'));
gulp.task('smash-shared', () => codySmash('shared.js'));
gulp.task('smash-server', () => codySmash('server.js'));
gulp.task('smash', gulp.parallel('smash-client', 'smash-shared', 'smash-server'));
gulp.task('zip', () => {
return gulp.src(['public/dist/compressed/*', 'public/index.html'])
.pipe(zip('archive.zip'))
.pipe(gulp.dest('public/dist'));
});
gulp.task('default', gulp.series('clean', 'smash', 'zip'));