-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgulpfile.js
More file actions
90 lines (70 loc) · 2.21 KB
/
gulpfile.js
File metadata and controls
90 lines (70 loc) · 2.21 KB
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
var gulp = require('gulp');
var autoprefixer = require('gulp-autoprefixer');
var browserSync = require('browser-sync').create();
var eslint = require('gulp-eslint');
var uglify = require('gulp-uglify');
var pump = require('pump');
var cleanCSS = require('gulp-clean-css');
var concat = require('gulp-concat');
var clean = require('gulp-clean');
var browserify = require('browserify');
var source = require('vinyl-source-stream');
var babelify = require('babelify');
gulp.task('default', ['browserify'], function() {
gulp.watch('**/*.html').on('change', browserSync.reload);
//gulp.watch('./src/js/indexdb/indexdb.js', ['browserify']);
});
gulp.task('browserSync', function(cb){
return browserSync.init({
server: './src/'
}, cb);
});
gulp.task('browserify', ['browserSync'], function(){
return browserify('src/js/indexdb/indexdb.js')
.transform(babelify, { presets: ["es2015"] })
.bundle()
.pipe(source('indexdb.js'))
.pipe(gulp.dest('./src/js'))
})
gulp.task('serve:dist', ['concat'], function(){
browserSync.init({
server: './dist/'
});
});
gulp.task('clean', function () {
return gulp.src(['dist/tmpl','dist/css','dist/js','src/compressed'], {read: false})
.pipe(clean());
});
gulp.task('tmpl',['clean'], function () {
return gulp.src('src/tmpl/*/')
.pipe(gulp.dest('dist/tmpl/'));
});
gulp.task('minify-css', ['tmpl'], function() {
return gulp.src('src/css/*.css')
.pipe(cleanCSS({compatibility: 'ie8'}))
.pipe(gulp.dest('dist/css'));
});
gulp.task('compress', ['minify-css'], function (cb) {
pump([
gulp.src(['src/js/*.js', 'src/controllers/*.js', 'src/app.js']),
uglify({mangle:false}),
gulp.dest('src/compressed')
],
cb
);
});
gulp.task('concat', ['compress'], function() {
return gulp.src(['./src/compressed/angular.min.js',
'./src/compressed/angular-route.min.js',
'./src/compressed/firebase.js',
'./src/compressed/angularfire.js',
'./src/compressed/jquery-3.1.1.min.js',
'./src/compressed/bootstrap.min.js',
'./src/compressed/app.js',
'./src/compressed/indexdb.js',
'./src/compressed/chat.js',
'./src/compressed/about.js',
'./src/compressed/contact.js'])
.pipe(concat('all.js'))
.pipe(gulp.dest('./dist/js'));
});