-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgulpfile.js
More file actions
51 lines (38 loc) · 1.08 KB
/
gulpfile.js
File metadata and controls
51 lines (38 loc) · 1.08 KB
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
var gulp = require('gulp');
var plugins = {
concat: require('gulp-concat'),
sourcemaps: require('gulp-sourcemaps'),
uglify: require('gulp-uglify'),
};
var config = {
dist: 'dist/',
serverFiles: [
'./src/lib/Object.js',
'./src/lib/Exception.js',
'./src/lib/**/*Client.js'
],
clientFiles: [
'./src/lib/Object.js',
'./src/lib/Exception.js',
'./src/lib/**/*Server.js'
]
};
function process(src, dst, compress) {
var stream = gulp.src(src);
stream = stream.pipe(plugins.sourcemaps.init())
.pipe(plugins.concat(dst));
if (compress) {
stream = stream.pipe(plugins.uglify())
}
stream
.pipe(plugins.sourcemaps.write('.'))
.pipe(gulp.dest(config.dist));
}
gulp.task('build', function () {
process(config.serverFiles, 'server.js');
process(config.clientFiles, 'neat-comet-client.js');
process(config.clientFiles, 'neat-comet-client.min.js', true);
});
gulp.task('default', function () {
gulp.watch([config.serverFiles, config.clientFiles], ['build']);
});