-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathgulpfile.js
109 lines (88 loc) · 2.42 KB
/
gulpfile.js
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
const { series, parallel, src, dest } = require('gulp');
var del = require('del');
var rename = require('gulp-rename');
var uglify = require('gulp-uglify');
var merge = require('merge-stream');
var minifyCss = require('gulp-clean-css');
var replace = require('gulp-replace');
var paths = [
{
dest: 'assets/control-geocoder',
js: 'Control.Geocoder.js',
css: 'Control.Geocoder.css'
},
{
dest: 'assets/leaflet-loading',
js: 'Control.Loading.js',
css: 'Control.Loading.css'
},
{
dest: 'assets/leaflet-providers',
js: 'leaflet-providers.js'
},
{
dest: 'assets/leaflet',
css: 'leaflet.css'
},
{
dest: 'assets/leaflet-fullscreen',
css: 'Control.FullScreen.css',
js: 'Control.FullScreen.js'
}
];
function clearStyles (cb) {
var i, clear = [];
for (i = 0; i < paths.length; i++) {
if (paths[i].css) {
clear.push(paths[i].dest + '/*.min.css');
}
}
del(clear);
cb();
}
function clearScripts (cb) {
var i, clear = [];
for (i = 0; i < paths.length; i++) {
if (paths[i].js) {
clear.push(paths[i].dest + '/*.min.js');
}
}
del(clear);
cb();
}
const scripts = series(clearScripts, function (cb) {
var i, stream, streams = [];
for (i = 0; i < paths.length; i++) {
if (paths[i].js) {
stream = src(paths[i].dest + '/' + paths[i].js)
.pipe(rename(function (path) {
path.basename += '.min';
}))
.pipe(uglify())
.pipe(dest(paths[i].dest));
streams.push(stream);
}
}
merge.call(null, streams);
cb();
});
const styles = series(clearStyles, function (cb) {
var i, stream, streams = [];
for (i = 0; i < paths.length; i++) {
if (paths[i].css) {
stream = src(paths[i].dest + '/' + paths[i].css)
.pipe(rename(function (path) {
path.basename += '.min';
}))
.pipe(minifyCss())
.pipe(replace(/url\(([^"][^\)]+)\)/g, 'url(\'$1\')'))
.pipe(dest(paths[i].dest));
streams.push(stream);
}
}
merge.call(null, streams);
cb();
})
exports.scripts = scripts;
exports.styles = styles;
exports.default = parallel(scripts, styles);