UNPKG

2.15 kBJavaScriptView Raw
1/**
2 * Created by Nikolay Glushchenko <nick@nickalie.com> on 08.09.2015.
3 */
4
5var gulp = require('gulp');
6var sourcemaps = require('gulp-sourcemaps');
7var concat = require('gulp-concat');
8var uglify = require('gulp-uglify');
9var gzip = require('gulp-gzip');
10var common = require('./common');
11var fixSourcemaps = require('./rollup/fix-sourcemaps');
12var debug = require('gulp-debug');
13var _ = 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
25gulp.task('fix-main-build-sourcemaps', ['do-bundle-main'], function() {
26 return fixSourcemaps.endBundle('main');
27});
28
29gulp.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
52gulp.task('bundle-main', ['do-bundle-main', 'fix-main-build-sourcemaps']);
53
54var bundleTaskDeps = ['bundle-main'];
55if (common.pkg.examples) {
56 gulp.task('bundle-examples', ['compile-examples', 'fix-examples-sourcemaps']);
57 bundleTaskDeps.push('bundle-examples')
58}
59
60gulp.task('bundle', bundleTaskDeps);
61
62gulp.task('bundle-tests', ['compile-tests', 'fix-tests-sourcemaps']);