forked from frontend-school/Do-While
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgulpfile.js
More file actions
106 lines (80 loc) · 2.38 KB
/
gulpfile.js
File metadata and controls
106 lines (80 loc) · 2.38 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
var gulp = require('gulp'),
del = require('del'),
rename = require('gulp-rename'),
sass = require('gulp-sass'),
connect = require('gulp-connect'),
layout = require('./project-layout'),
paths = layout.paths,
patterns = layout.patterns;
gulp.task('default', ['build', 'server', 'watch']);
gulp.task('build', ['copy:bower:js', 'copy:js', 'build:scss', 'copy:img', 'copy:html']);
//region observing
gulp.task('watch', function () {
gulp.watch(patterns.src.html, ['copy:html']);
gulp.watch(patterns.src.scss, ['build:scss']);
gulp.watch(patterns.src.js, ['copy:js']);
gulp.watch(patterns.src.img, ['copy:img']);
gulp.watch(patterns.bower.js, ['copy:bower:js']);
});
gulp.task('server', ['build'], function () {
connect.server({
port: 8000,
root: paths.dist._root,
livereload: true
})
});
//endregion
//region markup copy
gulp.task('copy:html', ['clean:html'], function () {
return gulp.src(patterns.src.html)
.pipe(gulp.dest(paths.dist.html))
.pipe(connect.reload());
});
gulp.task('clean:html', function (onDone) {
del(patterns.dist.html, onDone);
});
//endregion
//region js copy
gulp.task('copy:js', ['clean:js'], function () {
return gulp.src(patterns.src.js)
.pipe(gulp.dest(paths.dist.js))
.pipe(connect.reload());
});
gulp.task('clean:js', function (onDone) {
del(patterns.dist.js, onDone);
});
//endregion
//region img copy
gulp.task('copy:img', ['clean:img'], function () {
return gulp.src(patterns.src.img)
.pipe(gulp.dest(paths.dist.img))
.pipe(connect.reload());
});
gulp.task('clean:img', function (onDone) {
del(patterns.dist.img, onDone);
});
//endregion
//region vendor js copy
gulp.task('copy:bower:js', ['clean:vendor'], function () {
return gulp.src(patterns.bower.js)
.pipe(rename({
dirname: ''
}))
.pipe(gulp.dest(paths.dist.vendor))
.pipe(connect.reload());
});
gulp.task('clean:vendor', function (onDone) {
del(patterns.dist.vendor, onDone);
});
//endregion
//region scss compile
gulp.task('build:scss', ['clean:css'], function () {
return gulp.src(paths.src.scss_main)
.pipe(sass({errLogToConsole: true}))
.pipe(gulp.dest(paths.dist.css))
.pipe(connect.reload());
});
gulp.task('clean:css', function (onDone) {
del(patterns.dist.css, onDone);
});
//endregion