UNPKG

1.39 kBJavaScriptView Raw
1var gulp = require('gulp');
2var path = require('path');
3var browserify = require('browserify');
4var babel = require('gulp-babel');
5var derequire = require('gulp-derequire');
6var insert = require('gulp-insert');
7var rename = require('gulp-rename');
8var source = require('vinyl-source-stream');
9var uglify = require('gulp-uglify');
10var convertNewline = require('gulp-convert-newline');
11
12var BUILD = 'browser';
13var DIST = './';
14var VERSION = require('./package.json').version;
15
16var FULL_HEADER = (
17 '/**\n' +
18 ' * SocketCluster JavaScript client v' + VERSION + '\n' +
19 ' */\n');
20
21gulp.task('browserify', function (done) {
22 var stream = browserify({
23 builtins: ['_process', 'events', 'buffer', 'querystring'],
24 entries: 'index.js',
25 standalone: 'socketCluster'
26 })
27 .ignore('_process')
28 .bundle();
29 return stream.pipe(source('socketcluster.js'))
30 .pipe(convertNewline({
31 newline: 'lf',
32 encoding: 'utf8'
33 }))
34 .pipe(insert.prepend(FULL_HEADER))
35 .pipe(derequire())
36 .pipe(gulp.dest(DIST));
37});
38
39gulp.task('minify', function () {
40 return gulp.src(DIST + 'socketcluster.js')
41 .pipe(babel({
42 comments: false
43 }))
44 .pipe(babel({
45 plugins: ['minify-dead-code-elimination']
46 }))
47 .pipe(uglify())
48 .pipe(insert.prepend(FULL_HEADER))
49 .pipe(rename({
50 extname: '.min.js'
51 }))
52 .pipe(gulp.dest(DIST));
53});