forked from philmander/browser-bunyan
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathgulpfile.js
50 lines (42 loc) · 1.29 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
var gulp = require('gulp');
var jshint = require('gulp-jshint');
var uglify = require('gulp-uglify');
var browserify = require('browserify');
var vinylStream = require('vinyl-source-stream');
var del = require('del');
var util = require('util');
var rename = require('gulp-rename');
var insert = require('gulp-insert');
var sourceFile = './node_modules/bunyan/lib/bunyan.js'
gulp.task('clean', function () {
return del('./dist/**/*.*');
});
//package with browserify
gulp.task('package', [ 'clean' ], function() {
return browserify({
entries: sourceFile,
standalone: 'bunyan'
})
.bundle()
.pipe(vinylStream('index.js'))
.pipe(gulp.dest('.'));
});
gulp.task('minify', [ 'package' ], function() {
var packageMessageTempalte =
'/**\n' +
' * %s - %s\n' +
' * %s\n' +
' * %s\n' +
' */\n';
var meta = require('./package.json');
var packageMessage = util.format(packageMessageTempalte, meta.name, meta.version, meta.description, meta.licenses[0].type);
return gulp.src('./index.js')
.pipe(uglify())
.pipe(rename({
suffix: '.min'
}))
.pipe(uglify())
.pipe(insert.prepend(packageMessage))
.pipe(gulp.dest('.'));
});
gulp.task('default', ['minify']);