50 lines
1.2 KiB
JavaScript
50 lines
1.2 KiB
JavaScript
'use strict';
|
|
|
|
var uglify = require('gulp-uglify');
|
|
var stripDebug = require('gulp-strip-debug');
|
|
var rename = require('gulp-rename');
|
|
var pkg = require('../package');
|
|
var replace = require('gulp-replace');
|
|
var size = require('gulp-size');
|
|
var tap = require('gulp-tap');
|
|
var path = require('path');
|
|
|
|
module.exports = function(gulp, conf) {
|
|
gulp.task('build', function() {
|
|
function info(file){
|
|
return '/* ' + path.basename(file.path) + ' ' + pkg.version + ' */\n';
|
|
}
|
|
return gulp.src('lib/*.js')
|
|
.pipe(tap(function(file, t) {
|
|
file.contents = Buffer.concat([
|
|
new Buffer(info(file)),
|
|
file.contents
|
|
]);
|
|
}))
|
|
.pipe(stripDebug())
|
|
.pipe(replace(/void 0;/g, ''))
|
|
.pipe(size({
|
|
showFiles: true
|
|
}))
|
|
.pipe(gulp.dest('dist'))
|
|
.pipe(rename(function(file) {
|
|
file.extname = '.min.js';
|
|
}))
|
|
.pipe(uglify())
|
|
.pipe(tap(function(file, t) {
|
|
file.contents = Buffer.concat([
|
|
new Buffer(info(file)),
|
|
file.contents
|
|
]);
|
|
}))
|
|
.pipe(size({
|
|
showFiles: true
|
|
}))
|
|
.pipe(size({
|
|
showFiles: true,
|
|
gzip: true
|
|
}))
|
|
.pipe(gulp.dest('dist'));
|
|
});
|
|
};
|