-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgulpfile.js
More file actions
94 lines (78 loc) · 2.5 KB
/
Copy pathgulpfile.js
File metadata and controls
94 lines (78 loc) · 2.5 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
let gulp = require('gulp')
let del = require('del')
let bowerFiles = require('main-bower-files')
let $ = require('gulp-load-plugins')({ lazy: true })
let config = require('./gulp.config')()
gulp.task('help', $.taskListing)
gulp.task('default', ['help'])
gulp.task('clean-styles', function (done) {
clean(config.css, done)
})
gulp.task('styles', ['clean-styles'], function (done) {
gulp.src(config.scss)
.pipe($.sourcemaps.init())
.pipe($.sass().on('error', $.sass.logError))
.pipe($.sourcemaps.write('.'))
.pipe(gulp.dest(config.src + 'css/'))
// .pipe($.minifyCss({
// keepSpecialComments: 0
// }))
// .pipe($.rename({ extname: '.min.css' }))
// .pipe(gulp.dest(config.src + 'css/'))
.on('end', done)
})
gulp.task('wiredep', function () {
log('Wire up the bower css/js into index.html')
var options = config.getBowerFilesDefaultOptions()
// var bowerOrdered = gulp.src(bowerFiles(options), { read: false })
// .pipe($.order(['**/*jquery.*js']))
return gulp
.src(config.index)
.pipe($.inject(gulp.src(bowerFiles(options), { read: false }), { name: 'bower', relative: true }))
.pipe(gulp.dest(config.src))
})
gulp.task('inject', ['wiredep'], function () {
log('Wire up the app css/js into index.html')
return gulp
.src(config.index)
.pipe($.inject(gulp.src(config.js, { read: false }), { relative: true }))
.pipe($.inject(gulp.src(config.css, { read: false }), { relative: true }))
.pipe(gulp.dest(config.src))
})
gulp.task('watch', ['inject'], function () {
gulp.watch(config.scss, ['styles'])
$.watch(config.css, { events: ['add', 'unlink'] }, wireAppCss)
$.watch(config.js, { events: ['add', 'unlink'] }, wireAppJs)
})
////////////////////////////
function wireAppJs() {
log('Wire up the app js into index.html')
return gulp
.src(config.index)
.pipe($.inject(gulp.src(config.js, { read: false }), { relative: true }))
.pipe(gulp.dest(config.src))
}
function wireAppCss() {
log('Wire up the app css into index.html')
return gulp
.src(config.index)
.pipe($.inject(gulp.src(config.css, { read: false }), { relative: true }))
.pipe(gulp.dest(config.src))
}
function clean(path, done) {
log('Cleaning: ' + path)
del(path).then(function () {
done && done()
})
}
function log(msg) {
if (typeof (msg) === 'object') {
for (var item in msg) {
if (msg.hasOwnProperty(item)) {
$.util.log($.util.colors.blue(msg[item]))
}
}
} else {
$.util.log($.util.colors.blue(msg))
}
}