-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgulpfile.js
executable file
·33 lines (27 loc) · 1.19 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
/* import necessary npm packages */
var gulp = require('gulp'),
sass = require('gulp-sass'),
sourcemaps = require('gulp-sourcemaps'),
autoPrefixer = require('gulp-autoprefixer');
/* scss to css compilation */
function sassCompiler(src, dest) {
return function (done) {
gulp.src(src)
.pipe(sourcemaps.init())
.pipe(sass({outputStyle: 'expanded'}).on('error', sass.logError))
.pipe(autoPrefixer('last 10 versions'))
.pipe(sourcemaps.write('maps'))
.pipe(gulp.dest(dest));
done();
};
}
// bootstrap sass compiler
gulp.task('sass:bs', sassCompiler('public/assets/vendor_assets/css/bootstrap/bootstrap.scss', 'public/assets/vendor_assets/css/bootstrap/'));
// themes sass compiler
gulp.task('sass:theme', sassCompiler('public/assets/theme_assets/sass/style.scss', 'public/assets'));
// default gulp task
gulp.task('default', gulp.series('sass:theme', function () {
gulp.watch('public/assets/theme_assets/sass/**/*', gulp.series('sass:theme'));
gulp.watch('public/assets/vendor_assets/css/bootstrap/*.scss', gulp.series('sass:bs'));
gulp.watch('public/assets/**/*.js');
}));