1 |
|
2 |
|
3 |
|
4 |
|
5 | var gulp = require('gulp');
|
6 | var sourcemaps = require('gulp-sourcemaps');
|
7 | var concat = require('gulp-concat');
|
8 | var uglify = require('gulp-uglify');
|
9 | var gzip = require('gulp-gzip');
|
10 | var common = require('./common');
|
11 | var fixSourcemaps = require('./rollup/fix-sourcemaps');
|
12 | var debug = require('gulp-debug');
|
13 | var _ = require('lodash');
|
14 |
|
15 | _.each(common.bundleKinds, function(kind) {
|
16 | gulp.task('fix-' + kind + '-sourcemaps-rollup-index', ['compile-' + kind], function() {
|
17 | return fixSourcemaps.distBundleRollupIndex(kind);
|
18 | });
|
19 | gulp.task('fix-' + kind + '-sourcemaps-main', ['compile-' + kind, 'fix-' + kind + '-sourcemaps-rollup-index'], function() {
|
20 | return fixSourcemaps.distBundle(kind);
|
21 | });
|
22 | gulp.task('fix-' + kind + '-sourcemaps', ['fix-' + kind + '-sourcemaps-rollup-index', 'fix-' + kind + '-sourcemaps-main']);
|
23 | });
|
24 |
|
25 | gulp.task('fix-main-build-sourcemaps', ['do-bundle-main'], function() {
|
26 | return fixSourcemaps.endBundle('main');
|
27 | });
|
28 |
|
29 | gulp.task('do-bundle-main', ['compile-main', 'templates', 'fix-main-sourcemaps'], function() {
|
30 | var prod = common.prod;
|
31 | var res = gulp.src([common.dist.main + '/templates/*.js', common.dist.main + '/' + common.bundles.main],
|
32 | { base: common.dist.main })
|
33 | .pipe(sourcemaps.init({loadMaps: true}))
|
34 | .pipe(common.replaceAll());
|
35 |
|
36 | if (prod) {
|
37 | res = res.pipe(uglify({mangle: false}));
|
38 | }
|
39 |
|
40 | res = res.pipe(concat(common.bundles.main))
|
41 | .pipe(sourcemaps.write('.', {includeContent: false, sourceRoot: '../' + common.srcDirs.main}))
|
42 | .pipe(gulp.dest('build'));
|
43 |
|
44 | if (prod) {
|
45 | res = res.pipe(gzip())
|
46 | .pipe(gulp.dest('build'));
|
47 | }
|
48 |
|
49 | return res;
|
50 | });
|
51 |
|
52 | gulp.task('bundle-main', ['do-bundle-main', 'fix-main-build-sourcemaps']);
|
53 |
|
54 | var bundleTaskDeps = ['bundle-main'];
|
55 | if (common.pkg.examples) {
|
56 | gulp.task('bundle-examples', ['compile-examples', 'fix-examples-sourcemaps']);
|
57 | bundleTaskDeps.push('bundle-examples')
|
58 | }
|
59 |
|
60 | gulp.task('bundle', bundleTaskDeps);
|
61 |
|
62 | gulp.task('bundle-tests', ['compile-tests', 'fix-tests-sourcemaps']);
|