93 lines
2.6 KiB
JavaScript
93 lines
2.6 KiB
JavaScript
'use strict';
|
|
|
|
import gulp from 'gulp';
|
|
const { series, src, dest, watch } = gulp;
|
|
import gulpif from 'gulp-if';
|
|
import * as dartSass from 'sass';
|
|
import gulpSass from 'gulp-sass';
|
|
const sass = gulpSass(dartSass);
|
|
import autoprefixer from 'gulp-autoprefixer';
|
|
import stripDebug from 'gulp-strip-debug';
|
|
import jsmin from 'gulp-jsmin';
|
|
import cssmin from 'gulp-cssmin';
|
|
import rename from 'gulp-rename';
|
|
import mainBowerFiles from 'main-bower-files';
|
|
import svgmin from 'gulp-svgmin';
|
|
import minimist from 'minimist';
|
|
|
|
// var shared_variables = JSON.parse(fs.readFileSync('./assets/json/shared_variables.json'));
|
|
|
|
// to get minified assets run `gulp --env=prod`
|
|
var argv = minimist(process.argv.slice(2));
|
|
console.dir(argv);
|
|
// var prod = argv.env === 'prod' ? true : false;
|
|
var prod = true;
|
|
|
|
function handleError(err) {
|
|
console.log(err.toString());
|
|
}
|
|
|
|
async function scripts() {
|
|
return src(['./assets/scripts/main.js', './assets/scripts/redirect.js']) // './assets/scripts/shared_variables.js',
|
|
// .pipe(concat('main.js'))
|
|
.pipe(gulpif(prod, stripDebug()))
|
|
.pipe(gulpif(prod, jsmin()))
|
|
.pipe(rename({suffix: '.min'}))
|
|
.pipe(dest('./assets/dist/scripts/'));
|
|
|
|
}
|
|
|
|
async function styles() {
|
|
return src(['./assets/styles/app.scss'])
|
|
.pipe(sass().on('error', sass.logError))
|
|
.pipe(autoprefixer({
|
|
browsers: ['last 2 versions'],
|
|
cascade: false
|
|
})).on('error', handleError)
|
|
// .pipe(prod ? cssmin() : util.noop())
|
|
.pipe(gulpif(prod, cssmin()))
|
|
// .pipe(cssmin())
|
|
.pipe(rename({suffix: '.min'}))
|
|
.pipe(gulp.dest('./assets/dist/styles/'));
|
|
}
|
|
|
|
async function bower(){
|
|
return src(mainBowerFiles({
|
|
"overrides":{
|
|
"masonry-layout":{
|
|
"main":"./dist/masonry.pkgd.min.js"
|
|
},
|
|
"imagesloaded":{
|
|
"main":"./imagesloaded.pkgd.min.js"
|
|
},
|
|
"jquery":{"ignore":true},
|
|
"ev-emitter":{"ignore":true},
|
|
"fizzy-ui-utils":{"ignore":true},
|
|
"get-size":{"ignore":true},
|
|
"outlayer":{"ignore":true},
|
|
}
|
|
}))
|
|
.pipe(gulp.dest('./assets/dist/bower/'));
|
|
}
|
|
|
|
async function minsvg(){
|
|
return src(['./assets/img/*.svg', '!./assets/img/edlp-loader-anim.svg'])
|
|
.pipe(svgmin())
|
|
.pipe(gulp.dest('./assets/dist/img'));
|
|
}
|
|
|
|
async function svg(){
|
|
return src('./assets/img/edlp-loader-anim.svg')
|
|
.pipe(gulp.dest('./assets/dist/img'));
|
|
}
|
|
|
|
function devwatch(){
|
|
watch('./assets/styles/*.scss', styles);
|
|
watch('./assets/styles/base/*.scss', styles);
|
|
watch('./assets/scripts/*.js', scripts);
|
|
watch('./assets/img/*.svg', svg);
|
|
}
|
|
|
|
export default series(scripts, styles, svg, minsvg);
|
|
export { devwatch }
|