-
Notifications
You must be signed in to change notification settings - Fork 44
/
Copy pathgulpfile.js
73 lines (68 loc) · 2.4 KB
/
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
/* jshint node:true */
var gulp = require('gulp'),
uglify = require('gulp-uglify'),
concat = require('gulp-concat'),
jshint = require("gulp-jshint"),
lzmajs = require("gulp-lzmajs"),
del = require('del');
gulp.task('clear', function(){
del(['dist/hprose.js']);
});
gulp.task('concat', ['clear'], function() {
return gulp.src(['src/CopyRight.js',
'src/Init.js',
'src/DeviceOne.js',
'src/Base64.js',
'src/Helper.js',
'src/Polyfill.js',
'src/HarmonyMaps.js',
'src/TimeoutError.js',
'src/setImmediate.js',
'src/Future.js',
'src/BinaryString.js',
'src/StringIO.js',
'src/Tags.js',
'src/ClassManager.js',
'src/Writer.js',
'src/Reader.js',
'src/Formatter.js',
'src/ResultMode.js',
'src/Client.js',
'src/FlashHttpRequest.js',
'src/CookieManager.js',
'src/HttpClient.js',
'src/WebSocketClient.js',
'src/ChromeTcpSocket.js',
'src/APICloudTcpSocket.js',
'src/TcpClient.js',
'src/JSONRPCClientFilter.js',
'src/Loader.js'])
.pipe(concat('hprose.src.js'))
.pipe(jshint())
.pipe(jshint.reporter())
.pipe(gulp.dest('dist'));
});
gulp.task('uglify', ['concat'], function() {
return gulp.src(['dist/hprose.src.js',
'utils/regenerator-runtime.js'])
.pipe(concat('hprose.js'))
.pipe(uglify({
compress: { screw_ie8: false },
mangle: { screw_ie8: false },
output: { screw_ie8: false }
}))
.pipe(gulp.dest('dist'));
});
gulp.task('compress', ['uglify'], function() {
return gulp.src(['dist/hprose.js'])
.pipe(concat('hprose.min.js'))
.pipe(lzmajs())
.pipe(gulp.dest('dist'));
});
gulp.task('default', ['compress'], function() {
return gulp.src(['src/CopyRight.js', 'dist/hprose.js'])
.pipe(concat('hprose.js'))
.pipe(gulp.dest('dist'))
.pipe(gulp.dest('example'))
.pipe(gulp.dest('test'));
});