MIF_E31211879/desain/assets/node_modules/jquery-wizard-master/gulp/tasks/styles.js

69 lines
2.0 KiB
JavaScript

'use strict';
import config from '../../config';
import gulp from 'gulp';
import gulpif from 'gulp-if';
import sourcemaps from 'gulp-sourcemaps';
import sass from 'gulp-sass';
import sassUnicode from 'gulp-sass-unicode';
import handleErrors from '../util/handleErrors';
import browser from 'browser-sync';
import autoprefixer from 'gulp-autoprefixer';
import cssnano from 'gulp-cssnano';
import csscomb from 'gulp-csscomb';
import rename from 'gulp-rename';
import header from 'gulp-header';
import size from 'gulp-size';
import plumber from 'gulp-plumber';
import notify from 'gulp-notify';
import getSrcFiles from '../util/getSrcFiles';
export default function (src = config.styles.src, dest = config.styles.dest, files = config.styles.files, message = 'Styles task complete') {
const createSourcemap = config.deploy || config.styles.prodSourcemap;
return function() {
let srcFiles = getSrcFiles(src, files);
return gulp.src(srcFiles)
.on('error', handleErrors)
.pipe(plumber({errorHandler: handleErrors}))
.pipe(sass({
outputStyle: 'nested',
includePaths: config.styles.sassIncludePaths
}))
.pipe(sassUnicode())
.pipe(csscomb('.csscomb.json'))
.pipe(autoprefixer(config.styles.autoprefixer))
.pipe(header(config.banner))
.pipe(gulp.dest(dest))
.pipe(size({
title: 'styles',
showFiles: true
}))
.pipe(rename({
suffix: '.min'
}))
.pipe(gulpif(createSourcemap, sourcemaps.init()))
.pipe(cssnano({
safe: true,
autoprefixer: false
}))
.pipe(header(config.banner))
.pipe(gulpif(
createSourcemap,
sourcemaps.write(config.deploy ? './' : null))
)
.pipe(gulp.dest(dest))
.pipe(size({
title: 'minified styles',
showFiles: true
}))
.pipe(browser.stream())
.pipe(notify({
title: config.notify.title,
message: message,
onLast: true
}));
};
}