-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgulpfile.js
More file actions
109 lines (97 loc) · 2.79 KB
/
gulpfile.js
File metadata and controls
109 lines (97 loc) · 2.79 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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
var gulp = require('gulp');
var es = require('event-stream');
var plugins = require('gulp-load-plugins')();
var pngquant = require('imagemin-pngquant');
var pkg = require('./package.json');
gulp.task('clean', function (){
return gulp.src(['.tmp', 'dist'], {read: false})
.pipe( plugins.clean() );
});
gulp.task('inject', function (){
var target = gulp.src('./default.hbs');
var source = gulp.src([
'./assets/css/**/*.css',
'./assets/js/jquery.min.js',
'./assets/js/**/*.js'
], { read: false });
return target.pipe( plugins.inject(source) )
.pipe(gulp.dest('.'));
});
gulp.task('img:optimize', function (){
return gulp.src(['./assets/img/*'])
.pipe( plugins.imagemin({
progressive: true,
svgoPlugins: [{removeViewBox: false}],
use: [pngquant()]
}))
.pipe(gulp.dest('.tmp/assets/img'));
});
gulp.task('concat:css', function (){
return gulp.src([
'./assets/css/**/*.css'
])
.pipe( plugins.concatCss('all.css') )
.pipe( plugins.cssmin() )
.pipe( plugins.rev() )
.pipe( gulp.dest('.tmp/assets/css/') )
});
gulp.task('concat:js', function (){
return gulp.src([
'./assets/js/jquery.min.js',
'./assets/js/**/*.js'
])
.pipe( plugins.concat('all.js') )
.pipe( plugins.rev() )
.pipe( gulp.dest('.tmp/assets/js') )
});
gulp.task('copy', ['clean'], function () {
gulp.src(['./assets/fonts/**/*'])
.pipe( gulp.dest( '.tmp/assets/fonts') );
gulp.src(['./package.json'])
.pipe( gulp.dest( '.tmp/') );
gulp.src(['./*.hbs'])
.pipe( gulp.dest( '.tmp/') );
});
gulp.task('inject', function (){
var target = gulp.src('./default.hbs');
var sources = gulp.src([
'./assets/css/**/*.css',
'./assets/js/jquery.min.js',
'./assets/js/**/*.js'
]);
return target.pipe( plugins.inject(sources, {
relative: true,
addRootSlash: true
}) )
.pipe(gulp.dest('.'));
});
gulp.task('inject:prod', ['concat:css', 'concat:js'], function (){
var target = gulp.src('.tmp/default.hbs');
var sources = gulp.src(['.tmp/assets/css/**/*.css', '.tmp/assets/js/**/*.js']);
return target.pipe( plugins.inject(sources, {
relative: true,
addRootSlash: true
}) )
.pipe(gulp.dest('.tmp'));
});
gulp.task('bump:major', function (){
gulp.src(['./package.json'])
.pipe( plugins.bump({type:'major'}) )
.pipe(gulp.dest('./'));
});
gulp.task('bump:minor', function (){
gulp.src(['./package.json'])
.pipe( plugins.bump({type:'minor'}) )
.pipe(gulp.dest('./'));
});
gulp.task('bump:patch', function (){
gulp.src(['./package.json'])
.pipe( plugins.bump({type:'patch'}) )
.pipe(gulp.dest('./'));
});
gulp.task('build', ['copy', 'inject:prod', 'img:optimize'], function () {
return gulp.src('.tmp/**/*')
.pipe( plugins.tar('build-latest.tar') )
.pipe( plugins.gzip() )
.pipe( gulp.dest('./dist') );
});