-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgulpfile.js
64 lines (55 loc) · 1.73 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
'use strict';
const { src, dest, parallel, series, watch } = require('gulp');
const autoPrefixer = require('gulp-autoprefixer');
const cleanCSS = require('gulp-clean-css');
const rename = require('gulp-rename');
const sass = require('gulp-sass');
const requiredNodeVersion = 12;
const paths = {
sass: './src/scss/styles.scss',
compiled: '../web/css'
};
function checkNodeVersion() {
let node = process.versions.node,
nodeVersionString = node.split('.')[0],
nodeVersion = Number(nodeVersionString);
if (nodeVersion < requiredNodeVersion) {
throw 'Update nodejs to 12.x';
};
};
function sassStyle() {
src(paths.sass)
.pipe(sass().on('error', sass.logError))
.pipe(autoPrefixer({
cascade: false
}))
.pipe(rename({
basename: "styles.min",
}))
.pipe(cleanCSS({compatibility: "last 10 version"}))
.pipe(dest(paths.compiled));
console.log("Generated: styles.min.css", "Generated: styles.css");
return src(paths.sass)
.pipe(sass().on('error', sass.logError))
.pipe(autoPrefixer({
cascade: false
}))
.pipe(rename({
basename: "styles",
}))
.pipe(dest(paths.compiled));
};
function sassPrint() {
return src('./src/scss/print.scss')
.pipe(sass().on('error', sass.logError))
.pipe(dest('../web/css/vendor'));
};
function watchFiles() {
watch(['./src/scss/**/*.scss'], parallel(sassStyle, sassPrint));
console.log("Watch:active for src/scss")
};
checkNodeVersion();
exports.sass = sassStyle;
exports.print = sassPrint;
exports.default = series(sassStyle, sassPrint, watchFiles);
exports.watch = watchFiles;