2018-08-23 15:33:13 +02:00
|
|
|
const { series, parallel, src, dest } = require('gulp');
|
|
|
|
|
|
2015-01-20 13:04:31 +01:00
|
|
|
var del = require('del');
|
|
|
|
|
var rename = require('gulp-rename');
|
|
|
|
|
var uglify = require('gulp-uglify');
|
|
|
|
|
var merge = require('merge-stream');
|
|
|
|
|
var minifyCss = require('gulp-minify-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'
|
2015-01-20 16:03:59 +01:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
dest: 'assets/leaflet-fullscreen',
|
2015-01-20 16:06:57 +01:00
|
|
|
css: 'Control.FullScreen.css',
|
|
|
|
|
js: 'Control.FullScreen.js'
|
2015-01-20 13:04:31 +01:00
|
|
|
}
|
|
|
|
|
];
|
|
|
|
|
|
2018-08-23 15:33:13 +02:00
|
|
|
function clearStyles (cb) {
|
2015-01-20 13:04:31 +01:00
|
|
|
var i, clear = [];
|
2018-08-23 15:33:13 +02:00
|
|
|
|
2015-01-20 13:04:31 +01:00
|
|
|
for (i = 0; i < paths.length; i++) {
|
|
|
|
|
if (paths[i].css) {
|
|
|
|
|
clear.push(paths[i].dest + '/*.min.css');
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2016-10-04 13:41:35 +02:00
|
|
|
del(clear);
|
2015-01-20 13:04:31 +01:00
|
|
|
|
2018-08-23 15:33:13 +02:00
|
|
|
cb();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function clearScripts (cb) {
|
2015-01-20 13:04:31 +01:00
|
|
|
var i, clear = [];
|
|
|
|
|
|
|
|
|
|
for (i = 0; i < paths.length; i++) {
|
|
|
|
|
if (paths[i].js) {
|
|
|
|
|
clear.push(paths[i].dest + '/*.min.js');
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2016-10-04 13:41:35 +02:00
|
|
|
del(clear);
|
2015-01-20 13:04:31 +01:00
|
|
|
|
2018-08-23 15:33:13 +02:00
|
|
|
cb();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const scripts = series(clearScripts, function (cb) {
|
2015-01-20 13:04:31 +01:00
|
|
|
var i, stream, streams = [];
|
|
|
|
|
|
|
|
|
|
for (i = 0; i < paths.length; i++) {
|
|
|
|
|
if (paths[i].js) {
|
2018-08-23 15:33:13 +02:00
|
|
|
stream = src(paths[i].dest + '/' + paths[i].js)
|
2015-01-20 13:04:31 +01:00
|
|
|
.pipe(rename(function (path) {
|
|
|
|
|
path.basename += '.min';
|
|
|
|
|
}))
|
|
|
|
|
.pipe(uglify())
|
2018-08-23 15:33:13 +02:00
|
|
|
.pipe(dest(paths[i].dest));
|
2015-01-20 13:04:31 +01:00
|
|
|
|
|
|
|
|
streams.push(stream);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2018-08-23 15:33:13 +02:00
|
|
|
merge.call(null, streams);
|
|
|
|
|
|
|
|
|
|
cb();
|
2015-01-20 13:04:31 +01:00
|
|
|
});
|
|
|
|
|
|
2018-08-23 15:33:13 +02:00
|
|
|
const styles = series(clearStyles, function (cb) {
|
2015-01-20 13:04:31 +01:00
|
|
|
var i, stream, streams = [];
|
|
|
|
|
|
|
|
|
|
for (i = 0; i < paths.length; i++) {
|
|
|
|
|
if (paths[i].css) {
|
2018-08-23 15:33:13 +02:00
|
|
|
stream = src(paths[i].dest + '/' + paths[i].css)
|
2015-01-20 13:04:31 +01:00
|
|
|
.pipe(rename(function (path) {
|
|
|
|
|
path.basename += '.min';
|
|
|
|
|
}))
|
|
|
|
|
.pipe(minifyCss())
|
|
|
|
|
.pipe(replace(/url\(([^"][^\)]+)\)/g, 'url(\'$1\')'))
|
2018-08-23 15:33:13 +02:00
|
|
|
.pipe(dest(paths[i].dest));
|
2015-01-20 13:04:31 +01:00
|
|
|
|
|
|
|
|
streams.push(stream);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2018-08-23 15:33:13 +02:00
|
|
|
merge.call(null, streams);
|
|
|
|
|
|
|
|
|
|
cb();
|
|
|
|
|
})
|
2015-01-20 13:04:31 +01:00
|
|
|
|
2018-08-23 15:33:13 +02:00
|
|
|
exports.scripts = scripts;
|
|
|
|
|
exports.styles = styles;
|
|
|
|
|
exports.default = parallel(scripts, styles);
|