/
gulpfile.babel.js
68 lines (61 loc) · 1.96 KB
/
gulpfile.babel.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
import gulp from 'gulp'
import clean from 'gulp-clean'
import browserify from 'browserify'
import source from 'vinyl-source-stream'
import gutil from 'gulp-util'
import babelify from 'babelify'
import buffer from 'vinyl-buffer'
import uglify from 'gulp-uglify'
import sourcemaps from 'gulp-sourcemaps'
import rename from 'gulp-rename'
import header from 'gulp-header'
import shell from 'gulp-shell'
import jeditor from 'gulp-json-editor'
const paths = {
src: { js: './src/index.js' },
dest: { js: './dist' }
};
const pkg = require('./package.json');
const banner = ['/*********************************************************',
' * <%= pkg.name %> - <%= pkg.description %>',
' * @version v<%= pkg.version %>',
' * @link <%= pkg.homepage %>',
' * @copyright Copyright (c) 2017 <%= pkg.author %> https://www.backand.com/',
' * @license <%= pkg.license %> (http://www.opensource.org/licenses/mit-license.php)',
' * @Compiled At: ' + new Date().toLocaleDateString(),
' *********************************************************/',
''].join('\n');
gulp.task('clean', function () {
return gulp.src(paths.dest.js)
.pipe(clean({force: true}));
});
gulp.task('ts', ['clean'], ()=> {
return gulp.src('./src/index.d.ts')
.pipe(rename('backand.d.ts'))
.pipe(gulp.dest(paths.dest.js))
});
gulp.task('build', ['ts'], ()=> {
return browserify({ entries: paths.src.js, standalone: 'backand', debug: false })
.transform("babelify")
.bundle()
.pipe(source('backand.js'))
.pipe(buffer())
.pipe(header(banner, { pkg : pkg } ))
.pipe(gulp.dest(paths.dest.js))
.pipe(sourcemaps.init())
.pipe(uglify())
.pipe(rename('backand.min.js'))
.pipe(sourcemaps.write('./'))
.pipe(gulp.dest(paths.dest.js))
});
gulp.task('watch', ()=> {
gulp.watch('./src/**/*', ['build']);
});
gulp.task('bower', ()=> {
gulp.src('./bower.json')
.pipe(jeditor({
'version': pkg.version
}))
.pipe(gulp.dest('./'));
})
gulp.task('default', ['build']);